Files
DeepSeek-Reasonix/docs/superpowers/audits
SivanCola 6f94970a64 feat(goal): make Goal the sole long-task runtime
Problem:
AutoResearch still had active write paths, protocol injection, and desktop
surfaces after Goal already owned long-task lifecycle, which left dual
completion gates and upgrade ambiguity.

Root cause:
The previous host-managed AutoResearch runtime remained wired into store
writes, Compose, turn orchestration, evaluator evidence, and Wails/TS APIs
instead of being reduced to read-only archive recovery.

Fix:
- Keep Goal as the only state machine for budgets, pause/resume, receipts,
  update_goal, Delivery readiness, and completion.
- Shrink internal/autoresearch to a fail-closed read-only archive reader.
- Restore explicit legacy task paths and old sidecars as ordinary research
  Goals without mutating archive contents or persisting autoResearchTaskID.
- Remove AutoResearch runtime/evidence protocol and desktop API surfaces.
- Treat Finding.kind as an opaque string; stop enum rejection on write.
- Centralize simple/write/research budget selection in taskintent.
- Update docs/site and cache-impact coverage for Goal prompt construction.

Verification:
- go test ./internal/control ./internal/autoresearch ./internal/taskintent ./internal/goaleval ./internal/agent
- go test -race ./internal/control ./internal/agent
- cd desktop && go test ./...
- cd desktop/frontend && pnpm typecheck && pnpm test:all && pnpm build
- go run ./tools/repolint
- scripts/cache-guard.sh
- scripts/check-cache-impact.sh

Cache-impact: low - ordinary Goal prefixes stay stable; research Goals only
drop the old AutoResearch protocol block; provider-visible tool schema and
default tool order remain byte-stable.
2026-08-08 17:29:08 +08:00
..