Roadmap
Later
Roady Cloud
Idea — not yet agreed.
Open-core boundary for a hosted product, no committed date. Intended scope:
- Hosted MCP: managed multi-tenant MCP server so teams without a per-developer install can plug their agents into a shared workspace.
- Audit log retention beyond what fits comfortably in
events.jsonl, with structured search and export. - SSO / RBAC / SCIM for enterprise IdP integrations.
- SOC 2 compliance posture for the hosted plane.
What stays open and free, forever: the full CLI and MCP server, and the .roady/ file format. If Cloud lands, opting in is a roady cloud login away; opting out is the existing local workflow with no behavioural change.
Shipped
Roady describes work done before or outside it (v0.28.0)
Trying roady on nexa and mcp-go showed where it misreads a project with history: finished work it cannot verify, planned work committed without markers, and roadmaps organised by phase rather than horizon.
Features: Work done before or outside roady (history)
Adopt roady where planning already lives elsewhere (v0.26.0)
Dogfooding on nexa (2026-09-27): roady was abandoned in June for a markdown memory system (roadmap.md Now/Next/Later, an append-only decisions log, open threads with block reasons). What was left in .roady had 89 tasks titled “done”, 36 orphans from renamed features and 140 unverified completions. Adopting roady in such a project has to be cheaper than keeping the markdown.
Features: Adopting roady in a lived-in project (adoption)
The planning tool for AI: capture, keep, prove (v0.25.0)
Roady is the plan an AI agent works from and the proof it did: capture intent at whatever size it arrives, keep the agent on it across sessions, compaction and parallel agents, and prove work done with acceptance checks and a hash-chained audit log. Everything outside that was removed.
The most useful input is field use: v0.18.0 came entirely from one person running Roady on a real 118-feature project for a day.
Features: MCP surface is learnable, trimmable and honest (mcp-surface), Trust: done means proven (trust), Capture: intent at whatever size it arrives (capture), Keep: continuity across sessions, compaction and parallel agents (keep), Focus and proof of adoption (focus)
The planning tool for AI (v0.25.0)
Capture, keep, prove. One MCP tool per CLI noun, with decisions confirmed by the user in their client; roady capture and single-task edits; goals, decisions and a ROADMAP.md rendered from them; plan import from agent plan files and hooks for Claude Code, Codex, Gemini, Cursor, OpenCode, Copilot and Kiro; task claims with expiring leases, shared across worktrees; acceptance checks, regression drift, an honest exit for impossible work, task history and local adoption stats. Billing, teams, tracker sync, messaging, debt, forecasting and dashboards were removed.
Audit verification tells history it cannot check from alteration (v0.23.0)
roady audit verify reports entries it cannot check (unhashed, or hashed before hash_algo existed) apart from evidence of alteration, with a reason on every finding.
The MCP surface mirrors the CLI (v0.22.x)
- The MCP surface mirrors the CLI. Twenty tools were renamed from
verb-first (
roady_add_feature) to noun-first (roady_spec_add), so knowledge of one surface transfers to the other. Breaking, with no aliases kept — see the table in CHANGELOG.md before upgrading a client with hardcoded names (#87). ROADY_MCP_TOOLStrims what is advertised. All ~70 tools were registered on every session and a client paid for each one in its prompt whether or not the project had a rate card or a debt ledger.ROADY_MCP_TOOLS=coreregisters 30 instead. A tool missing from the grouping fails the build, so an unclassified tool cannot silently vanish from every profile.- Error results survive strict schema validation. Every error encoded
"structuredContent": null, which matches no object schema, so a strict client rejected the whole result including the text explaining what went wrong. Fixed upstream ingo.klarlabs.de/mcpv1.24.1; roady now asserts the wire format itself so a future dependency change cannot reintroduce it invisibly (#92).
Derived-state reconciliation (v0.21.0)
- Derived-state reconciliation —
roady spec lockre-captures the drift baseline from the current spec and reconciles execution state with it, andspec validatereports when they disagree instead of answering “valid”. Found by adopting Roady in an existing project (#77).
Correctness sweep (v0.20.0)
- Correctness sweep — one audit-chain verifier instead of two that
disagreed on the same log;
roady_timelinereading the same source as the CLI; dead AI telemetry removed; and the CLI help and docs corrected to describe a Roady that calls no model.
Semantic drift (v0.19.0)
- Semantic drift —
roady drift semanticframes the question of whether an implementation still means what its requirement says; the caller’s model answers it androady_record_semantic_driftrecords divergence. - CLI/MCP parity — 69 tools; every CLI operation an agent should be able to perform is reachable over MCP.
Features: Cross-project task dependencies (cross-project-deps), Per-task subagent dispatch (subagent-dispatch), Spec-to-PR loop (spec-to-pr), Drift explainer follow-ups (drift-patch-prompt), Cross-repo planning (cross-repo-planning)
Five field-reported defects (v0.18.0)
- Five field-reported defects: id sanitisation, feature-link resolution, documentation written to the project rather than the server’s cwd, paged task listings, and MCP errors carrying the actionable message.
Features: Field-reported reliability (field-reliability)
roady_audit_trail over MCP (v0.17.0)
roady_audit_trailover MCP — the evidence trail was CLI-only, so the agents the GRC work targets could not ask “which agent worked on this, and what proves it” without shelling out. MCP schema 3.1.0.
Staleness drift (v0.16.0)
- Staleness drift —
roady drift detectreports a plan the repository has left behind, judged by commit volume rather than file timestamps. Found by running Roady on Roady: 55 commits and seven releases past a plan marked complete, reported as healthy. - Audit verification correctness — three distinct causes were all
being reported as “possible tampering”: two hash functions writing one
log, a shell script appending unhashed entries, and a hash-algorithm
change that invalidated history. Events now carry
hash_algo. plan prunecleans execution state, which it previously orphaned.
Roady runs no inference (v0.15.0)
- Roady runs no inference. The provider clients are gone. The
model-assisted operations return the assembled prompt plus the tool
that accepts the result; the caller, which already has a model, runs
it. No API key is needed for anything. See
docs/prompts.md. - MCP tool errors reach the agent. Failures are returned as results
carrying
isErrorwith a readable message, rather than as JSON-RPC protocol faults the transport replaced with “internal error”. - MCP schema 3.0.0;
pkg/sdkrequires major 3.
Coordination (v0.14.0)
- Coordination: owner-scoped task queries (
roady task mine | assigned <name> | unassigned), per-owner WIP limits (policy.max_wip_per_owner), and enforceableteam.yamlroles (policy.enforce_team_roles). - Stakeholder reporting without a UI:
roady reportrenders progress, forecast, a risk register, ownership, and a change log to Markdown, self-contained HTML, or JSON.roady notify digestpushes one chat-sized summary through configured adapters. - Removed the web dashboard (BREAKING). Agents render and update a
human-readable view from the same data through MCP Apps, and
stakeholders get a document rather than a server they must reach.
roady dashboardremains as the TUI.
Release pipeline (v0.13.x)
Dedicated release workflow, cask publishing, cleared goreleaser deprecations.
Live Kanban dashboard (v0.12.0)
Live Kanban dashboard, cross-project board, SSE updates, dashboard auth token.
Nested sub-projects (v0.11.x)
- Nested sub-projects under
.roady/projects/<name>/. One repo hosts many projects in parallel; coding agents switch context with--project / -P <name>(CLI) orproject(MCP). Existing flat.roady/repos unchanged. Seedocs/rfcs/0001-nested-projects.md. roady discoverandroady org statussurface sub-projects.
Eval harness and task provenance (v0.10.x)
- Eval harness over heuristic + AI planners + drift corpus
- Task provenance:
Origin(heuristic / ai / human) + source citations back to the doc that motivated each task - Provider streaming end-to-end (Anthropic / OpenAI / Gemini / Ollama)
with MCP progress notifications and CLI
withAIProgressintegration - MCP tool consolidation (
roady_tasksparameterised + deprecation aliases for the legacy task-listing tools) roady_cost_estimatepre-flight token + USD projection per AI op- Unified
roady notifynamespace;messagingandwebhook notifretained as deprecation aliases - AI command progress + clean SIGINT cancellation across the five AI CLI surfaces
roady demofor <1s aha;roady init --interactivedefault in TTY; empty-state ladder onroady status
Expert-review-driven refinements (v0.9.0)
Sharper onboarding, less CLI cognitive load, a pre-seeded demo, fixed empty-state UX.
Developer experience and API/SDK stability (v0.8.0)
Developer experience polish, API/SDK stability, multi-user collaboration, AI-powered workflows, interactive D3 MCP app visualizations.
Org policy inheritance and cross-project drift (v0.7.0)
Org policy inheritance, cross-project drift, plugin registry and health, Slack/realtime notifications, watch auto-sync and patterns.
Multi-repo org dashboard (v0.6.0)
Multi-repo org dashboard, plugin contracts, notification webhooks, fsnotify watch, coordinator integration into CLI/MCP with snapshot and task queries.
Horizons 5 & 6 (v0.5.0)
Horizons 5 & 6 — predictive analytics, domain hardening, event sourcing.
Out of scope
- Matching Linear / Jira feature-for-feature — No sprints, custom fields, configurable workflows, or non-engineer intake queues. Where non-engineers create and triage work daily, use a tracker.
- A web-based code editor or AI agent of our own
- Hosted general-purpose memory for non-coding workflows
- Authenticated identity — Actors and agents are asserted by the caller and never verified. Roady’s audit trail is tamper-evident about what was recorded, not proof of who acted; see docs/audit-grc.md.
- Plugin marketplace — Was on Later: a marketplace for syncers and notifiers with signed binaries and contract tests. Tracker sync, notifications and the plugin system were removed as outside capture, keep and prove.
- Interactive D3 visualizations in MCP apps — Was in the backlog (docs/backlog.md) — D3 charts embedded in MCP apps for status, plan, state, drift, spec, policy and git sync. The MCP apps were removed when the server was cut to what agents use; people read roady through the CLI and ROADMAP.md.