Why
PR #1070 moved Codex and Claude lifecycle-hook behavior into the released Basic Memory core. The host plugins now correctly contain only hook registration and zero-logic launchers.
The plugin READMEs document opt-in event capture and the bm hook status / flush commands, but the setup and status skills do not expose that functionality. A user can install the integration while still having no guided way to enable capture or see whether the local inbox is healthy.
Follow-up to #1070.
Current gaps
- The Codex and Claude bm-setup skills do not ask about or persist captureEvents.
- Setup does not offer the supported redactKeys and redactPaths privacy controls.
- Setup smoke tests prove project routing, but do not run the core hook status command.
- The Codex and Claude bm-status skills do not report capture enabled state, pending and processed envelopes, last flush, Basic Memory version, or uv availability.
- Codex orientation/status still emphasizes legacy codex_session checkpoints while the new projector writes normalized session and tool_ledger notes.
- Schema ownership is inconsistent: Claude seeds session, Codex seeds codex_session, and neither plugin currently owns a tool_ledger schema.
Proposed work
Setup
Update both host-native bm-setup skills to:
- Ask whether to enable local lifecycle-event capture, defaulting to off.
- Explain that capture is local, redacted, queued, and explicitly flushed.
- Optionally collect redactKeys and redactPaths.
- Write captureEvents as a real JSON boolean in the host-native configuration.
- Run bm hook status with the appropriate harness and project directory as part of setup verification.
Status and orientation
Update both bm-status skills to invoke the core status command and report:
- capture enabled or disabled
- inbox path
- pending and processed envelope counts
- last successful flush
- resolved project mapping
- Basic Memory and uv versions
Update Codex bm-orient and bm-status recall so normalized session notes remain discoverable while legacy codex_session notes continue to work.
Schemas
Choose one canonical ownership model for normalized session and tool_ledger schemas. Prefer a shared source that both plugins seed or reference instead of maintaining divergent copies. Preserve backward compatibility for existing codex_session notes.
Verification
Add content-contract or package-validator tests proving:
- both setup skills expose captureEvents and privacy controls
- both status skills use the core hook status surface
- Codex recall includes normalized and legacy checkpoint types
- the plugins contain no duplicated hook runtime behavior
Run:
- just package-check-codex
- just package-check-claude-code
- just package-check
Acceptance criteria
- A fresh Codex or Claude setup can explicitly enable or leave event capture disabled.
- Status makes a dormant, backlogged, or never-flushed hook installation visible.
- Both hosts can find notes produced by the normalized projector.
- Schema ownership is documented and tested without duplicating core hook logic in either plugin.
- Existing users with legacy codex_session notes retain recall compatibility.
Why
PR #1070 moved Codex and Claude lifecycle-hook behavior into the released Basic Memory core. The host plugins now correctly contain only hook registration and zero-logic launchers.
The plugin READMEs document opt-in event capture and the bm hook status / flush commands, but the setup and status skills do not expose that functionality. A user can install the integration while still having no guided way to enable capture or see whether the local inbox is healthy.
Follow-up to #1070.
Current gaps
Proposed work
Setup
Update both host-native bm-setup skills to:
Status and orientation
Update both bm-status skills to invoke the core status command and report:
Update Codex bm-orient and bm-status recall so normalized session notes remain discoverable while legacy codex_session notes continue to work.
Schemas
Choose one canonical ownership model for normalized session and tool_ledger schemas. Prefer a shared source that both plugins seed or reference instead of maintaining divergent copies. Preserve backward compatibility for existing codex_session notes.
Verification
Add content-contract or package-validator tests proving:
Run:
Acceptance criteria