Keep forgotten projects out of app snapshots - #48
Conversation
Why: Retained project-scoped audit events could recreate an inactive project after project forget removed its registration, leaving a ghost card with no leases or pins. Changed: - Let recent events enrich only project summaries already seeded by current registration, active lease, or active pin state. - Extend the direct CLI forget regression through acquire and release while proving audit events remain visible. Verification: - node --test --test-name-pattern="project forget removes an inactive registration" client/test/simbroker.test.mjs (fails before fix; passes after fix) - npm run test:broker-core (294 pass) - npm run test:client (258 pass) - npm test (pass, including 172 macOS app tests) - npm run agent:verify -- --profile implementation --paths broker-core/index.mjs client/test/simbroker.test.mjs --session-dir task-sessions/project-forget-read-model-20260901.KOGb15 (pass) - npm run verify:public-surface (pass) - current-source public release audit (pass) - independent diff review (no P1/P2/P3 findings) Affected: Projects read-model summarization and the focused project-forget CLI regression. Event storage, retention, transport, host configuration, leases, pins, and simulator lifecycle are unchanged. Refs: #47 Session: task-sessions/project-forget-read-model-20260901.KOGb15
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
@codex review |
|
Codex Review: Didn't find any major issues. Chef's kiss. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
|
Reviewed top-level PR feedback and left the current code unchanged. These items were posted as PR review bodies or conversation comments rather than unresolved review threads, so this acknowledgement is recorded on the PR timeline.
|
Summary
Reliability boundary
The failure required catalog deletion and retained historical events to interact during snapshot summarization. This change removes that coupling at the read-model boundary without deleting history or adding tombstones, migrations, or a second source of truth.
Verification
Closes #47