Files
Codewalkers/CLAUDE.md
Lukas May 988160b2b7 fix: Patch full-flow test timeouts and driveToCompletion polling loop
- driveToCompletion() now catches inner waitForAgentAttention timeouts
  instead of letting them propagate — long-running execute/detail agents
  (>3 min without transitioning to waiting_for_input) no longer crash the
  polling loop; the outer deadline handles termination correctly
- Switch execute stage from waitForAgentCompletion to driveToCompletion
  so any clarifying questions get auto-answered
- Increase DETAIL_TIMEOUT_MS 8→15 min, PLAN_TIMEOUT_MS 8→12 min,
  EXECUTE_TIMEOUT_MS 10→20 min — architect agents are variable in
  practice; these are upper bounds not expectations
- Raise FULL_FLOW_TIMEOUT 30→60 min to cover worst-case stacking
- Update CLAUDE.md test command with correct --test-timeout=3600000

Verified: full pipeline (discuss→plan→detail→execute) passes in ~499s
2026-03-02 17:15:12 +09:00

3.4 KiB

Codewalk District

Multi-agent workspace for orchestrating multiple AI coding agents working in parallel on a shared codebase.

Architecture: docs/architecture.md — system diagram, module map, entity relationships, tech stack.

Quick Reference

Module Docs Path
Agent (lifecycle, providers, accounts) docs/agent.md src/agent/
Database (schema, repositories) docs/database.md src/db/
Server & API (tRPC procedures) docs/server-api.md src/server/, src/trpc/, src/coordination/
Frontend (React UI) docs/frontend.md packages/web/
CLI & Config docs/cli-config.md src/cli/, src/config/
Dispatch & Events docs/dispatch-events.md src/dispatch/, src/events/
Git, Process, Logging docs/git-process-logging.md src/git/, src/process/, src/logger/, src/logging/
Preview (Docker deployments) docs/preview.md src/preview/
Testing docs/testing.md src/test/
Database Migrations docs/database-migrations.md drizzle/
Logging Guide docs/logging.md src/logger/

Pre-implementation design docs are archived in docs/archive/.

Key Rules

  • Database: Never use raw SQL for schema initialization. Use drizzle-kit generate and the migration system. See docs/database-migrations.md.
  • Logging: Use createModuleLogger() from src/logger/index.ts. Keep console.log for CLI user-facing output only.
  • Hexagonal architecture: Repository ports in src/db/repositories/*.ts, Drizzle adapters in src/db/repositories/drizzle/*.ts. All re-exported from src/db/index.ts.
  • tRPC context: Optional repos accessed via require*Repository() helpers in src/trpc/routers/_helpers.ts.

UI Patterns

  • Shift+click to skip confirmation: Destructive actions (delete task, etc.) show a window.confirm() dialog on click. Holding Shift bypasses the dialog and executes immediately. Apply this pattern to all new destructive buttons.

Build

npm run build && npm link

Run after any change to server-side code (src/**).

Testing

npm test                                                                         # Unit + E2E tests (no API cost)
CW_CASSETTE_RECORD=1 npm test -- <test-file>                                    # Record new cassettes locally
REAL_CLAUDE_TESTS=1 npm test -- src/test/integration/real-providers/ --test-timeout=300000  # Real provider tests (~$0.50)
FULL_FLOW_TESTS=1 npm test -- src/test/integration/full-flow/ --test-timeout=3600000        # Full end-to-end test (~$2-5)

See docs/testing.md for details, including the cassette system for pipeline integration tests that run without API costs.

Documentation Maintenance

After every code change, update the relevant docs/ file. Documentation must stay in sync with implementation. When adding a new module, table, tRPC procedure, component, or CLI command, update the corresponding doc. When refactoring, update affected docs and remove stale information.

Committing

After completing & verifying changes always commit the changes.