agent-dev/
├── dev-suite/ # Stateful AI Workforce orchestrator
│ ├── src/
│ │ ├── orchestrator.py # LangGraph state machine
│ │ ├── cli.py # CLI runner (dev-suite run)
│ │ ├── agents/ # Architect, Developer, QA agents
│ │ ├── memory/ # Chroma tiered memory (L0/L1/L2)
│ │ ├── sandbox/ # E2B execution with output wrapper
│ │ └── tools/ # MCP integrations
│ ├── tests/
│ ├── pyproject.toml
│ └── .env.example
├── containers/ # MCP server containers
├── tools/ # Standalone dev tools
└── docs/ # Documentation
cd dev-suite
uv sync --extra dev
cp .env.example .env
# Fill in your API keys# All unit tests
uv run pytest tests/ -v -m "not integration"
# Integration tests (requires API keys in .env)
uv run pytest tests/ -v -m integration
# Full suite
uv run pytest tests/ -vmain— stable, all tests passingfeat/*— new features (branch from main)fix/*— bug fixeschore/*— maintenance, refactoring, docs
Follow Conventional Commits:
feat: add Langfuse tracing to orchestrator
fix: E2B SDK uses Sandbox.create() factory method
test: add integration tests for sandbox runner
docs: update README with Phase 1 progress
chore: register integration pytest marker
WARNING: Codex Reviews are currently on hold due to subscription limits. Perform your own in-depth PR reviews and merge after pushing any necessary fixes.
PRs are auto-reviewed by Codex (ChatGPT Codex Connector).
- Creating a PR auto-triggers the first Codex review — do NOT comment
@codex reviewon new PRs. - After pushing fix commits, comment
@codex reviewto trigger a re-review.
- Reply to Codex inline comments using GitHub's PR review API (COMMENT event, matching file/line).
- Do NOT use top-level issue comments for replies — Codex won't see them as threaded responses.
The GitHub MCP get_pull_request_comments tool does not return Codex's sub-comments (they're nested under review objects, not top-level PR comments). To fetch them, use the REST API:
# 1. Get review IDs
curl -s "https://api.github.com/repos/OWNER/REPO/pulls/NUM/reviews" \
-H "Accept: application/vnd.github+json"
# 2. Get sub-comments for a specific review
curl -s "https://api.github.com/repos/OWNER/REPO/pulls/NUM/reviews/REVIEW_ID/comments" \
-H "Accept: application/vnd.github+json"Never assume "no comments" from the MCP tool means a clean review. Always verify with the REST endpoint for each Codex review.
type/feature— new capabilitytype/bug— something brokentype/task— implementation worktype/docs— documentationtype/infra— CI/CD, tooling, config
priority/P0— blocking, do nowpriority/P1— important, do this sprintpriority/P2— nice to have
component/orchestratorcomponent/memorycomponent/sandboxcomponent/mcpcomponent/dashboard
phase/1-foundationphase/2-integrationphase/3-hardening
See Pro Development Stack v2.1 for the full architecture document.
Key decisions are tracked as GitHub Issues with the decision label.