31 lines
1.8 KiB
Markdown
31 lines
1.8 KiB
Markdown
# Context Manager Task 2 Minor Fix Report
|
|
|
|
## Status
|
|
- Completed.
|
|
- Added a deterministic exact-timestamp tie-break for same-slot candidates in `mergeCandidates()`.
|
|
- Added regression coverage for reversed input order.
|
|
|
|
## Changes
|
|
- Updated `.pi/agent/extensions/context-manager/src/ledger.ts` so same-slot candidates with identical timestamps no longer fall back to caller order.
|
|
- Added a narrow tie-break helper that compares candidate data (`text`, `sourceType`, `sourceEntryId`, then `confidence`) when timestamps match.
|
|
- Kept the public API unchanged and limited the behavior change to exact-timestamp same-slot comparisons.
|
|
- Added a regression test in `.pi/agent/extensions/context-manager/src/ledger.test.ts` that verifies the same candidate stays active regardless of input order.
|
|
|
|
## Tests
|
|
- `cd /home/alex/dotfiles/.worktrees/context-manager-extension/.pi/agent/extensions/context-manager && npx tsx --test src/ledger.test.ts` ✅
|
|
- `cd /home/alex/dotfiles/.worktrees/context-manager-extension/.pi/agent/extensions/context-manager && npm test` ✅
|
|
|
|
## Files Changed
|
|
- `.pi/agent/extensions/context-manager/src/ledger.ts`
|
|
- `.pi/agent/extensions/context-manager/src/ledger.test.ts`
|
|
- `.pi/reviews/context-manager-task2-minor-fix-report.md`
|
|
|
|
## Self-Review Findings
|
|
- The fix is narrowly scoped to same-slot exact-timestamp winner selection.
|
|
- Existing out-of-order merge coverage and same-timestamp ID-collision coverage still pass.
|
|
- The new regression test fails on the pre-fix code path and passes with the tie-break in place.
|
|
|
|
## Concerns
|
|
- None blocking.
|
|
- Same-slot collision IDs remain unique, but sequential `:2` / `:3` suffix assignment is still derived from insertion order across separate incremental merges; I left that behavior unchanged to keep this fix narrowly scoped to the requested active-item determinism issue.
|