2.7 KiB
2.7 KiB
Context Manager Task 3 Durable Constraint Fix Report
Status
- Done
- Fixed the remaining durable-constraint extraction gaps in the context-manager extractor.
- Kept the change narrowly scoped and preserved the earlier source-stable subject behavior plus the narrowed ambiguous-scope behavior.
Changes
-
Allowed explicit durable file-specific constraints to remain session-scoped in
.pi/agent/extensions/context-manager/src/extract.ts- Updated
inferConstraintScope()so branch-local cues still win first. - Checked durable session-wide phrasing before falling back to file-path-based branch scoping.
- This keeps ambiguous file-specific lines branch-scoped while allowing explicit durable lines such as
Avoid touching docs/extensions.md across the whole session.to resolve tosession.
- Updated
-
Expanded the constraint trigger in
.pi/agent/extensions/context-manager/src/extract.ts- Introduced a shared
CONSTRAINT_RE. - Added support for the spelled-out
do notform alongside the existingmust,should,don't,avoid, andprefertriggers.
- Introduced a shared
-
Added regression coverage in
.pi/agent/extensions/context-manager/src/extract.test.ts- Extended the user-constraint scope test with both:
Avoid touching docs/extensions.md.→branchAvoid touching docs/extensions.md across the whole session.→session
- Added a dedicated regression test for:
Do not add new LLM-facing tools across the whole session.→ extractedconstraint
- Extended the user-constraint scope test with both:
Tests
cd /home/alex/dotfiles/.worktrees/context-manager-extension/.pi/agent/extensions/context-manager && npx tsx --test src/extract.test.ts- Result: 5 tests passed, 0 failed
cd /home/alex/dotfiles/.worktrees/context-manager-extension/.pi/agent/extensions/context-manager && npm test- Result: 16 tests passed, 0 failed
Files Changed
- Modified:
.pi/agent/extensions/context-manager/src/extract.ts - Modified:
.pi/agent/extensions/context-manager/src/extract.test.ts - Created:
.pi/reviews/context-manager-task3-durable-fix-report.md
Self-Review Findings
- The fix is limited to constraint detection and scope inference; no public APIs or ledger merge behavior changed.
- Source-stable
subjectgeneration remains untouched. - Ambiguous file-specific instructions without explicit durable phrasing still stay
branchscoped. - Explicit durable session-wide wording now correctly overrides file-path presence for constraint scope.
Concerns
- Constraint extraction remains heuristic-based by design, so contradictory phrasing that mixes branch-local and session-wide cues will still resolve conservatively to
branch. - No additional blocking concerns found after the targeted and full test runs.