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
Summary
Add a
default-disabledstate toEmbeddingsStatus, or add an equivalent provenance flag. The session-start embeddings nudge must distinguish the seeded default configuration from an explicithivemind embeddings disableopt-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.tsandsrc/notifications/types.ts: pass the value intoNotificationContext.src/notifications/rules/embeddings-nudge.ts: notify for the default-disabled case, but remain silent after explicit disable.Acceptance criteria
hivemind embeddings disableproduces a state that is distinguishable from the seeded default.hivemind embeddings disable.Backlinks