Skip to content

Distinguish default-disabled embeddings from explicit disable #357

Description

@coderabbitai

Summary

Add a default-disabled state to EmbeddingsStatus, or add an equivalent provenance flag. The session-start embeddings nudge must distinguish the seeded default configuration from an explicit hivemind embeddings disable opt-out.

Rationale

A fresh installation and an explicit disable currently both produce "user-disabled". The notification rule therefore cannot suppress the one-time nudge after an explicit user opt-out.

Affected areas

  • src/user-config.ts: retain whether the disabled value came from the seeded default or an explicit user action.
  • src/embeddings/disable.ts: expose the distinct status or provenance.
  • src/notifications/index.ts and src/notifications/types.ts: pass the value into NotificationContext.
  • src/notifications/rules/embeddings-nudge.ts: notify for the default-disabled case, but remain silent after explicit disable.
  • Related tests for embeddings status and the session-start notification rule.

Acceptance criteria

  • Fresh installations with the seeded disabled default can receive the embeddings nudge.
  • hivemind embeddings disable produces a state that is distinguishable from the seeded default.
  • The embeddings nudge does not emit after an explicit hivemind embeddings disable.
  • The enabled state remains silent.
  • Tests cover the default-disabled, explicit-disable, and enabled cases.

Backlinks

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions