1.1 KiB
1.1 KiB
Repo Guidelines
Scope
This repo implements the subagent pi extension in index.ts.
Key Behavior
- Parent-facing tool:
subagent. - Internal child-only tool:
subagent_finalize. - Never register
subagent_finalizein the parent context; only whenPI_SUBAGENT_CHILD=1. - Subagent sessions are sticky and persisted at:
~/.pi/subagent-sessions/<cwd-hash>/<agent>_<sessionId>.jsonl. - Omitting
sessionIdcreates a new UUID-backed session. - Passing
sessionIdresumes the same agent/cwd child session.
Validation
- Child agents must finish by calling
subagent_finalize. - Valid success:
status=SUCCESSwith non-emptyresult. - Valid error:
status=ERRORwith non-emptyerror;resultis optional partial findings. - If finalization is missing/invalid, retry by continuing the same sticky session, capped by
MAX_FINALIZE_RETRIES.
Commands
- Typecheck:
npm run typecheck - Lint:
npm run lint
Style
- Keep the extension simple; avoid debug metadata unless needed.
- Do not expose retry internals to the parent by default.
- Prefer precise tool/context isolation over prompt-only enforcement.