-
Notifications
You must be signed in to change notification settings - Fork 0
Roadmap and Agentic Workflow
The roadmap is a live dependency graph, not a flat backlog. Every managed issue has one milestone, one status/priority/kind/risk, at least one area, one concurrency declaration, test/evidence criteria, documentation impact, and GitHub-native blocker relationships. Native dependencies are authoritative; each issue body mirrors them for humans.
| Phase | Outcome | Live milestone | Current state |
|---|---|---|---|
| 1 | Complete executable self-hosted behavior over the minimal kernel | Phase 1 | Required CI, the repository agent contract, and protected head-safe auto-merge are implemented; the remaining self-hosted algebra is open |
| 2 | Make coding-agent evidence reproducible and executable in-session | Phase 2 | Pilots 001–005 merged; Pilot 006 #21 claimed; adapter/controller work open |
| 3 | Compose and enforce monotonic organization/user policy | Phase 3 | Active implementation; lattice contract #29 and typed document boundary #30 are merged |
| 4 | Add safe custom syntax and presentation layouts | Phase 4 | Intentionally blocked behind Phase 3 conformance |
Priority is considered only among issues with no open native blockers and an available concurrency token.
- Phase 1 semantics: #15 general reducer evaluator is ready and its semantic-contract mutex is available.
- Phase 2 verification: #23 capability-bounded verifier runner is ready.
- Phase 3 policy: #30 strongly typed policy documents is merged; #31 canonical policy parser is now the next P0.
- Already claimed: #21 Pilot 006.
The complete delivery-safety foundation and typed policy-document boundary are now merged. The coordinator should select #31 next while the released semantic-contract token also makes #15 independently claimable.
-
status:ready: open and every native blocker is closed. -
status:claimed: authoritative issue/resource refs were atomically acquired. -
status:blocked: at least one native blocker is open. -
status:review: implementation is delivered and locks remain held through review. -
status:done: merged, verified, and closed. -
status:stale: a claim needs evidence-based recovery; it is not permission to steal a lock.
Blocked issues must not be started early. Closing a blocker promotes a dependent issue to ready only after its remaining blockers and resource capacity are rechecked.
Labels, assignment, and comments are metadata, not locks. Cross-machine exclusion uses unique remote Git refs:
-
refs/heads/codex-locks/issues/<number>— one worker per issue. -
refs/heads/codex-locks/mutex/<resource>— exclusive shared resource. -
refs/heads/codex-locks/semaphore/<resource>/<slot>— bounded capacity, slots1..Nonly.
The coordinator creates all required resource refs and the issue ref atomically, then changes the label, assigns the worker, and comments with agent/task, timestamp, branch, worktree, scope, ref paths, exact SHAs, and unique nonces. A worker keeps those refs through review.
Release is a compare-and-delete fenced by the acquired SHA. If the lease fails, ownership was lost: do not delete the newer ref. Stale recovery requires inspecting the claim comment, task, branch, worktree, PR, and recent activity, then documenting the decision.
- Select the highest-priority ready issue whose concurrency token is available.
- Atomically claim it and make the metadata match the lock.
- Work red-first where practical; keep Rust models, CDDL, SEMANTICS, README, conformance fixtures, and wiki claims aligned.
- Run formatting, Clippy with warnings denied, all tests, release build, and issue-specific evidence.
- Open a linked PR; move the issue to
status:reviewbut retain all locks. - Independently review the exact head SHA. Queue or merge only that green, unchanged head with
--squash --match-head-commit <reviewed-head-sha>; GitHub rejects author approval and failed required checks keep auto-merge blocked. - Close the issue, mark
status:done, promote newly unblocked dependents, and release only the exact held refs with fenced deletion.
The reusable project loop is now repository-configured through AGENTS.md and .codex/project-profile.md. Those files are the executable operating contract; this page summarizes them, and live native issue dependencies remain authoritative.