sync local pi changes
This commit is contained in:
44
.pi/reviews/context-manager-task3-durable-fix-report.md
Normal file
44
.pi/reviews/context-manager-task3-durable-fix-report.md
Normal file
@@ -0,0 +1,44 @@
|
||||
# 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
|
||||
1. **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 to `session`.
|
||||
|
||||
2. **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 not` form alongside the existing `must`, `should`, `don't`, `avoid`, and `prefer` triggers.
|
||||
|
||||
3. **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.` → `branch`
|
||||
- `Avoid 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.` → extracted `constraint`
|
||||
|
||||
## 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 `subject` generation remains untouched.
|
||||
- Ambiguous file-specific instructions without explicit durable phrasing still stay `branch` scoped.
|
||||
- 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.
|
||||
Reference in New Issue
Block a user