Completed work and settled decisions are archived in archive/, one file per calendar month — this file only tracks what's still open.
Last Updated: 2026-07-22 Session ID: repo-init Active Feature: feat-001 - Project Setup
- Harness scaffolded (CLAUDE.md, feature_list.json, init.sh, etc.)
- Skills installed: gh-cli, using-git-worktrees, secret-scanning, github-actions, devops-engineer
- feat-001: no package.json / tsconfig / lint-test tooling exists yet —
./init.shwill fail until this lands- Details: initialize TypeScript project, decide on test runner (vitest recommended), wire lint/build/test scripts
- Blockers: none, just not started
- feat-001: scaffold package.json + tsconfig + lint/test config
- feat-002/feat-004: write TrackerProvider and AgentProvider interfaces before any concrete implementation
- None yet — repo has no code, only harness + docs.
- Provider abstraction is mandatory, not optional: user explicitly required TrackerProvider (GitHub now, GitLab later) and AgentProvider (Claude Code now, Codex/others later) as swappable interfaces from day one, enforced via import boundaries documented in CLAUDE.md.
- Self-hosted Node service, not Cloudflare Worker: chosen because the bot needs local filesystem clone/worktree/test-run operations, which don't fit a Worker's execution model.
- Public repo: user chose public visibility; secret-scanning skill installed to guard against committed tokens.
CLAUDE.md- added architecture constraint section (provider abstraction, secrets)feature_list.json- replaced placeholders with 12 features covering both provider interfaces, concrete implementations, and orchestration state machine
- Tests pass: not applicable yet — no code
- Type check clean: not applicable yet — no code
- Manual verification: n/a
Repo has no GitHub remote yet and no code — this session only did skill install + harness scaffold. Next: confirm repo creation with user (checkpoint), then start feat-001.