Route assigned tasks through an explicit sticky runtime source so old daemon clients and AMA runners can operate concurrently without double execution. Cap pre-commit Vitest workers to avoid Miniflare port exhaustion.
Refs #219
Add Prerequisites section (gh CLI + agent runtime). Remove machine identity
from task assign route — assign is leader-only. Fix tests to use leader JWT.
Add vitest run to lefthook pre-commit.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Use --resume <id> --print --input-format stream-json for resume
- Send rejection reason via stdin instead of API message
- Close handler: code 0 always checks task status, not just resultReceived
- lefthook: use pnpm biome instead of npx (avoids download hang in worktrees)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Prettier's aggressive line-splitting (printWidth 100, single quotes) didn't
match the project's existing compact code style. Switch to Biome which
provides formatting + linting in one tool with better chain-call handling.
- Remove prettier, add @biomejs/biome
- Configure biome: double quotes, lineWidth 150, recommended lint rules
- Update lefthook pre-commit to use `biome check`
- Full codebase format pass with new config
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Adds quality gates enforced on every commit:
- Prettier formatting check on staged files
- TypeScript type checking across all packages
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>