You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
release(v0.2.1): user-visible SessionStart banner + doctor drift signal
Two follow-up gaps from v0.2.0 that turned out to matter once the banner
shipped:
(1) The v0.2.0 banner reached Claude Code's `additionalContext` (model
context) but was INVISIBLE to the human user. Per Claude Code hooks
docs, the `systemMessage` field is the documented dual-channel
rendering — Claude Code displays it as the
`SessionStart:startup says: <line>` row in the terminal alongside
other hook output. v0.2.1 adds `systemMessage` to the JSON payload
plus `user_message` for Cursor forward-compat (Cursor docs note the
field is "accepted but not enforced" today).
(2) `supamem doctor`'s install-drift detection (per-client managed-block
version vs running CLI version) now flips the banner health flag to
⚠ in real time. Surfaces the "you upgraded supamem but your
CLAUDE.md / .cursor rules still reference the old version" failure
mode at session-open instead of waiting for the user to run doctor
manually. Cheap to compute (small text reads, never raises);
failures fall back to ✓ rather than blocking session-start.
Suppress only the user-visible row with `SUPAMEM_BANNER_QUIET=1` (keeps
context injection alive for the model). `SUPAMEM_BANNER_DISABLE=1`
still kills both channels.
302 tests pass, ruff clean, twine PEP 639 license check passes.
Refs: research-agent a5c666821a386ce71 — Claude Code hooks docs at
code.claude.com/docs/en/hooks confirm `systemMessage` is the canonical
dual-channel rendering for hook events. Cursor `user_message` is
included for forward-compat per cursor.com/docs/hooks.
Copy file name to clipboardExpand all lines: AGENTS.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -154,3 +154,7 @@ CI guard candidate: a script that fails when `README.md` changes without bumping
154
154
- New config field: extend `config.py` Pydantic schema + bump default in `share/default.toml`
155
155
- New hook target: add module under `src/supamem/hooks/<client>.py`, register in `cli.py hook` dispatcher
156
156
- Failure in network code: blanket `except Exception: pass` is correct for non-essential probes (update_check); for indexing/retrieval, surface error to user via `err_console`
157
+
158
+
# BEGIN SUPAMEM v0.2.0 MANAGED BLOCK — DO NOT EDIT
| `SUPAMEM_BANNER_DISABLE=1` | Suppress the SessionStart one-line banner. |
298
+
| `SUPAMEM_BANNER_DISABLE=1` | Suppress the SessionStart one-line banner entirely (no context injection, no user-visible status). |
299
+
| `SUPAMEM_BANNER_QUIET=1` | Suppress only the **user-visible** terminal status line; keep injecting the banner into Claude Code's `additionalContext` for the model. Use this when you want supamem context loaded but no per-session `SessionStart:supamem says: …` row in your terminal. |
- Health flag — single character right after `supamem`: `✓` healthy / `⚠` qdrant unreachable OR resolved collection is still the shipped default (legacy global-install / wrong-cwd failure mode)
88
88
- Update hint — cache-only read of `update_check.json`; never blocks session-open on network. Healing is NEVER automatic — the banner only signals; run `supamem repair` to act
89
89
- Suppress entirely with `SUPAMEM_BANNER_DISABLE=1`
90
+
- Suppress ONLY the user-visible terminal line (keep injecting context for the model) with `SUPAMEM_BANNER_QUIET=1`. v0.2.1+ emits `systemMessage` (Claude Code) and `user_message` (Cursor forward-compat) alongside `additionalContext` — Claude Code renders `systemMessage` as the `SessionStart:startup says: <line>` row in the terminal. Health flag `⚠` now also fires on per-client install drift detected by `supamem doctor` (managed-block version != running CLI version).
0 commit comments