todo2code

Participant: codex (AI agent)

Understanding

The user wants new-project to control the operating logic of both humans and agents rather than merely describe it. A multi-step change must have auditable intent, bounded scope and acceptance criteria in a target-repository ticket before implementation. Once a ticket is complete, the next change receives the next ticket number. Follow-up work reuses an unfinished ticket. Human-owned participant files remain outside agent control.

The enforcement model needs layered trust: fast local feedback, deterministic CI policy checks, stack-specific verification and repository rules that prevent merging around those checks. todo2code can compare declared intent with the actual diff, but offline deterministic output—not an LLM response—must decide the required gate.

The follow-up request extends this model for concurrent agents whose local intentions may diverge but compose into a larger long-term capability. The project should not be split into repositories yet. Instead, the governance contract will model independent workstreams, non-overlapping write scopes and a ticket dependency DAG. Divergence that changes a shared contract is routed to an explicit integration ticket and fresh approval; it is never absorbed by retroactively widening one agent’s scope.

The current follow-up asks Koru to provide automated code review. This is a read-only second-AI boundary: Koru orchestrates pinned Vallm checks for the exact PR diff, produces a commit-bound attested report, and exposes a required GitHub status. It may reject a change but may not edit it, push it or impersonate a human APPROVE review.

The newest follow-up addresses the cause of repeated integration friction: work was path-scoped, but not bounded by delivery time, component count, interface risk or an accepted base SHA. The central standard should make one ticket/PR a single independently testable slice that fits within 30 minutes. Architecture, UI states, rollback and validation evidence are decided before coding. Crossing the time, outcome, workstream or contract boundary stops the slice and creates an explicit dependency instead of growing the current diff.

Current verified baseline:

Execution plan

  1. Stop at the plan-only boundary and obtain explicit human approval.
  2. In the Governance Hub, define a versioned JSON contract and JSON Schema, stable diagnostic catalog and stack-profile contract without creating any ticket/task/log there.
  3. Implement a deterministic validator with text, JSON and SARIF reporting; validate repository structure, ticket state, actor ownership, approval provenance inputs, manifest drift, diff scope, Docker and stack evidence.
  4. Add fixture-driven allow/deny tests and a pinned reusable GitHub Actions workflow with least-privilege permissions.
  5. Replace unsafe governance automation behavior relevant to the gate (unpinned host installs, swallowed validator failures) with a reproducible validation entry point, while preserving unrelated analysis generators.
  6. Adopt the pinned governance contract in todo2code: add .governance/, a persistent AGENTS.md, local commands and the required CI integration.
  7. Connect deterministic todo2code intent-vs-diff analysis as an additional gate or evidence producer; keep live LLM checks advisory/opt-in.
  8. Run central governance fixtures, target manifest checks, negative probes, application verification and Docker E2E. Record raw command output here and map every failure to a stable code/remediation.
  9. Review path-specific diffs, update acceptance evidence and report uncommitted status. Do not commit or push without a separate user request.
  10. Return to PLAN / WAIT_FOR_APPROVAL for the multi-workstream scope evolution before changing schemas, validators, CI or documentation. The user explicitly approved AC-11..AC-17 in chat; transition to EDIT.
  11. Add manifest and intent contracts for named workstreams, path ownership, dependency/conflict edges and explicit integration routing, with a deliberate v1 migration policy.
  12. Extend deterministic validation and stable diagnostics for per-workstream active-ticket limits, concrete path overlap, cycles, unmet dependencies and missing integration tickets.
  13. Add positive and negative central fixtures, then adopt the workstream map in todo2code and prove parallel non-overlap plus rejected overlap.
  14. Validate in Docker, run existing E2E gates, review only ticket-018 paths and preserve all concurrent application changes.
  15. Return to PLAN / WAIT_FOR_APPROVAL for the Koru review extension before changing workflows or external rules; record AC-18..AC-25 and the current tool/secret/ruleset baseline.
  16. Add a least-privilege pull_request plus workflow_dispatch workflow with stable check name koru / code-review, exact base/head resolution and immutable action/tool pins.
  17. Use Koru 0.1.444 loop mode for one read-only Vallm 0.1.94 round over changed supported source files, with deterministic and OpenRouter semantic checks.
  18. Generate a sanitized structured review report, upload it with bounded retention and create a GitHub provenance attestation bound to the reviewed commit.
  19. Exercise passing and failing review probes, missing-secret/provider failure, workflow validation, existing Node/Docker gates and scoped governance.
  20. Configure a main ruleset requiring governance and Koru review only after the check exists; verify direct pushes and stale evidence are rejected.
  21. Return to WAIT_FOR_APPROVAL for AC-26..AC-35; change no central or target policy/implementation files until the bounded-delivery plan is approved.
  22. In wellmanifest/new-project, add manifest and intent contracts for one outcome, accepted base SHA, XS|S/30-minute budget, architecture impact, rollback, UI risk and criterion-specific validation evidence.
  23. Add stable deterministic diagnostics and fixtures for over-budget work, unresolved architecture, actual-diff overflow, stale bases, mixed tickets and conflicting or overlapping slices.
  24. Update central documentation and templates. Require a concise architecture impact for every slice; require ADR/diagrams only when component, interface, persistence or UI-flow boundaries actually change.
  25. Adopt the published/pinned contract in todo2code governance files and AGENTS.md, without changing application source or absorbing unrelated active PRs or tickets.
  26. Run central fixtures and target governance checks, compare managed-file hashes, review each repository diff separately and record inherited blockers without weakening the new limits.

Actual changes

Planned 0.10.0 follow-up

Current blockers

Historical blockers (resolved or routed)

Approval boundary