Files
dotfiles/.pi/reviews/context-manager-task6-fix-2-report.md
2026-04-09 23:14:57 +01:00

2.0 KiB

Context Manager Task 6 Fix 2 Report

Status

Done. Fixed the remaining branch rehydration and /ctx-mode persistence regressions and verified them with targeted and full test runs.

Changes

  • Updated .pi/agent/extensions/context-manager/index.ts rehydration to restore the latest valid snapshot ledger as the base state and replay only tracked messages that occur after that snapshot entry.
  • Kept empty-ledger startup behavior when a branch has no valid snapshot.
  • Preserved live in-memory mode changes during turn_end so /ctx-mode aggressive wins over an older persisted snapshot mode before the next snapshot is appended.
  • Strengthened .pi/agent/extensions/context-manager/src/extension.test.ts with integration-style regressions for:
    • session_tree on a snapshot-only branch producing a hidden packet from snapshot-backed ledger state.
    • /ctx-mode aggressive persisting mode: "aggressive" and the corresponding aggressive-zone token classification on the next turn_end.

Tests

  • cd /home/alex/dotfiles/.worktrees/context-manager-extension/.pi/agent/extensions/context-manager && npx tsx --test src/extension.test.ts
  • cd /home/alex/dotfiles/.worktrees/context-manager-extension/.pi/agent/extensions/context-manager && npm test

Files Changed

  • .pi/agent/extensions/context-manager/index.ts
  • .pi/agent/extensions/context-manager/src/extension.test.ts
  • .pi/reviews/context-manager-task6-fix-2-report.md

Self-review Findings

  • Snapshot-only branches now retain snapshot ledger contents for packet injection and command inspection instead of dropping to an empty ledger.
  • Rehydration no longer replays pre-snapshot transcript entries, which avoids rebuilding stale state on top of a newer snapshot.
  • The /ctx-mode fix is narrowly scoped to turn_end; public commands and extension hook API stay unchanged.

Concerns

  • None with the fix itself.
  • The worktree still contains unrelated untracked historical review files under .pi/reviews/; they were left untouched and excluded from the focused commit.