Files
张宗平 e1b1469a4e chore: comet archive goal-driven-loop change
Comet lifecycle complete: open → design → build → verify → archive
All 44 unit tests passing, 16 E2E tests passing.
2026-06-10 20:43:28 +08:00

29 lines
2.0 KiB
Markdown

## Why
Long-running coding sessions drift. The user states a goal, the agent works on it, gets sidetracked, and loses sight of the original target. When context compaction occurs, the goal may be forgotten entirely. Pure skill-only designs force user interaction at every checkpoint, which breaks the "set and forget" intent.
## What Changes
- Add a Pi skill `goal-driven-loop` that detects goal-setting phrases (Chinese, English, other languages), persists goal + acceptance criteria to `.agents/goal/GOAL.md`, and runs an instruction-based loop iterating until all criteria pass or genuine stagnation is detected
- Add a Pi extension `goal-driven-loop` that automates trigger detection, state injection on every agent turn (resists context compaction), context tension detection via `ctx.getContextUsage()`, timed auto-default confirms (eliminates user-interaction hang-ups), and automatic delegation to comet for coarse-grained goals
- Auto-generate verifiable acceptance criteria when not provided by the user
- Per-iteration exponential backoff retry (10 retries, ~37min coverage) for transient failures
- Dual-signal stagnation detection with auto-recovery injection before user notification
- Deslop pass and clean exit on completion
## Capabilities
### New Capabilities
- `goal-driven-loop`: Goal persistence and iteration loop with acceptance criteria verification, trigger/anti-trigger detection, state injection, and automatic retry/recovery
### Modified Capabilities
<!-- No existing capabilities modified -->
## Impact
- New files: `.pi/skills/goal-driven-loop/` (skill instructions + error-handling reference), `.pi/extensions/goal-driven-loop/` (4 TypeScript modules + package.json)
- Runtime: Extension subscribes to `input` and `before_agent_start` events
- State: `.agents/goal/GOAL.md` created per-project during active goals, deleted on completion
- Dependencies: Pi Extension API (`@earendil-works/pi-coding-agent`), node:fs, node:path
- Integration: Delegates to `comet-open` for coarse-grained goals; no changes to comet itself