Skip to content

Roadmap and status

The implementation order is a numbered phase list. It lives in PLAN.md, which is the authoritative record. This page summarizes it.

Phases 0–14 and Phases 16–17 are implemented and integrated. Five Phase 15 sub-phases were explicitly requested and are implemented. Every other Phase 15 item is deferred. Staging and deployment remain deferred.

Phases

Phase Scope Status
0 Architecture sanity check done
1 Deterministic vertical slice done
2 Real Copilot planner done (CopilotAgentRuntime)
3 Real specification + triage done
4 Real implementer done
5 Repository verification policy done (governance.RepositoryVerifier)
6 Tester + reviewer done (independent TestReport/ReviewReport)
7 Routing calibration done (routing.ModelRouter)
8 Research done (optional, at most once per run)
9 Scope drift done (governance.ScopeDriftPolicy)
10 Pull request creation done, opt-in (pull_request.enabled)
11 GitHub Actions observation done, opt-in (ci.enabled)
12 CI repair done, bounded by ci.repair_attempts
13 Local backlog daemon done (factory start, opt-in)
14 Parallelism done (max_concurrent_tasks 1 or 2)
15.0 Factory CI for this repository done
15.1 Tag-driven release / continuous delivery done
15.2 macOS packaging + user launchd service done
15.3 Staging environment deferred
15.4 Deployment / promotion deferred
15.5 Local monitoring and health done (factory doctor, factory status)
15.6 Docker sandboxed execution deferred
15.7 Remote workers deferred
15.8 Postgres run store deferred
15.9 Temporal / durable workflow engine deferred
15.10 Jira and other trackers deferred
15.11 Read-only local dashboard done (factory dashboard)
15.12 Kubernetes workers deferred
16 Repository capability layer + bounded post-green polish done
17 Project brief decomposition + bounded project execution done (factory project)
18 Opt-in autonomous PR/CI/merge project delivery and checkpoint recovery implemented

Known limits

  • Platform. The supported platform is macOS, native arm64 and native x86_64, with no universal2. A source checkout needs Python 3.13+. Other platforms are not tested or supported.
  • Signing. Release archives are unsigned or ad-hoc signed. Developer ID signing and notarization are deferred, so Gatekeeper quarantine is expected. See Releases.
  • Release immutability. The release workflow refuses to replace an existing release. GitHub immutability is enabled for new releases, and existing releases from v0.3.0 onward report immutable=true. Older historical releases remain mutable through the platform. Verify SHA256SUMS.
  • Billing conversion. Copilot runtime usage is persisted when reported, and missing fields remain unknown. The dashboard derives a USD usage value from nano-AIU when available, but this is not necessarily the invoice charge. Premium-request units remain separate.
  • Trackers. GitHub Issues is the only backlog provider.
  • Projects. Project plans are flat DAGs capped at 12 tasks. Local mode composes an integration branch. Opt-in merge mode delivers task PRs serially to the target. Optional GitHub issues are not labelled for daemon dispatch.
  • Delivery recovery. Explicit project resume reuses persisted delivery checkpoints. Ambiguous interrupted implementation still requires a human. Merge queues, automatic conflict resolution and branch-protection bypass are not implemented.
  • Concurrency. scheduler.max_concurrent_tasks is validated to 1 or 2.
  • Capabilities. The Researcher generates repository guidance per repository and dependency fingerprint. Web access is limited to polish.official_documentation_origins and polish.practice_reference_urls. Later runs reuse guidance from repository storage under factory.data_dir. Generation is not serialized across processes. Two concurrent first runs for the same fingerprint can each make an initial call and one bounded retry. Atomic no-clobber publication selects the single winner that both runs revalidate. Invalid output carries its bounded rejection reason into that retry. The storage key is the local Git common directory. A moved or re-cloned repository starts again at a new key. Human customization is a separate repository-skill-overlay.yaml that the factory never edits. There is no fixed built-in catalog and no repository plugin system. Guidance that cannot be generated or verified is skipped rather than failing the run.
  • Two release behaviours can only be proven in CI. Publishing a real v* tag, and the native Intel (macos-15-intel) build. Both are implemented and statically tested. The first real tag exercises them end to end.

Deliberately not planned

Deferred means "not now". These items are stronger than deferred: they are design constraints for V1:

  • unrestricted autonomous merge (the bounded opt-in exception is ADR-022)
  • autonomous deployment
  • a hosted, multi-user or networked service
  • a control plane, or any dashboard write path
  • telemetry, analytics or a metrics exporter
  • long-term semantic memory or a vector database
  • an agent swarm
  • a generic workflow DSL or plugin architecture
  • LangGraph

The read-only local dashboard is the single, documented exception to the V1 ban on web UIs. Its bounds are recorded in ADR-016.

How scope changes

The rule in AGENTS.md is strict. If implementation reveals that architecture must change, stop and describe the problem. Propose the smallest correction, update the architecture documentation, and then implement. Silent redesign is not allowed.

New decisions are recorded as ADRs in Decisions.