sync local pi changes
This commit is contained in:
30
.pi/reviews/context-manager-task2-minor-fix-report.md
Normal file
30
.pi/reviews/context-manager-task2-minor-fix-report.md
Normal file
@@ -0,0 +1,30 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user