Skip to content

Roadmap ​

2.0.0 published to npm — semver applies strictly (release process). What is next, and how it got here. Scope commitments are firm; dates are not promised.

Now — after 2.0 ​

  • First workflow-engine adapter for the workflow surface (Q7 — Mastra currently leads the candidate list)
  • MCP: dynamic list_changed; elicitation-based confirmation prototype behind a flag (Q4)
  • scope on the MCP adapter, if a consumer's demand shapes it (Q12)
  • Community schema-converter adoption for Valibot/ArkType (Q3)

Shipped — 2.0 "Discovery at scale" ​

Driven by a dashboard host at ~300 capabilities across six tag groups. Breaking, so it is a major (ADR-017); upgrading is one field read.

  • describe takes a scope ({ tags?, ids? }), applied before any discovery policy runs, so a route-scoped catalog stops paying for what it discards. Discovery shaping, never an authority boundary — invoke does not consult it (SI-2). @orpc-agent/ai-sdk forwards it; filter still shapes what survives
  • Breaking: capabilities.discovered carries { count, surface, digest } instead of the full id list, which at 300 capabilities was ~6 KB on every discovery. audit: { verbose: true } restores it. Migration: data.capabilityIds.length becomes data.count
  • Discovery-phase policies evaluate with bounded concurrency (defaults.policyConcurrency, 16), under a whole-discovery ceiling (defaults.discoveryBudgetMs, 30 s) that fails loudly rather than returning a short catalog

Shipped — 1.1 ​

  • @orpc-agent/ai-sdk supports ai@6: peer range widened to ^5.0.0 || ^6.0.0, one code path and no compat shim, with both majors typechecked and tested in CI. v6's own tool approval (needsApproval) is deliberately left unset — the runtime stays the single approval authority
  • @orpc-agent/mcp re-checks token expiry per request and evicts identities on session close

Shipped — 1.0 "Governance contract" ​

Runtime-level policies become part of the recorded contract (ADR-016), and the API drops its remaining choices:

  • defineGovernance({ registry, policies }) — the governed surface as one declared value, and the only form createAgentRuntime accepts. A runtime built from it cannot evaluate a policy list no exported value names, and tooling can read it without a runtime instance
  • CLI: snapshot v2 records runtime-level policies; removing one is widening. The header qualifies its own count (0 approval-gated (declared)), and --entry accepts a governance, a runtime, or a bare registry
  • orpc-agent init — interactive setup; inspect renders an Ink view in a terminal while check stays plain text with no rendering framework in its path
  • @orpc-agent/core becomes a peer dependency of the CLI: the requirement is one module instance, not one version — a duplicated copy makes an application's schema converter invisible and fabricates drift
  • Removed: the warnings flag, and the registry/policies pair on createAgentRuntime. Each was a second way to say something a configuration choice already says

Shipped — v0.3 ​

  • @orpc-agent/cli — capability inventory and CI drift gate (orpc-agent inspect | snapshot | check), with committed snapshots dogfooded on both examples (ADR-015). Core: defaultToolName becomes public, collapsing three copies into one
  • Reverses the 0.2 plan's "no CLI" exclusion deliberately; the surface name cli stays reserved for nothing — a future CLI adapter would take the surface shell

Shipped — v0.2 "Durability seams" ​

Driven by the first production consumer (an ~85-capability finance app):

  • @orpc-agent/postgres — reference ApprovalCoordinator + AuditSink over a driver-agnostic query seam; DDL as exported strings; the shared coordinator contract suite runs against in-memory, pglite, and a real server incl. a two-connection consumption race (Q8 resolved via ADR-013)
  • Core: startup footgun warnings, schema-conversion cache invalidation + descriptor isolation (ADR-014)
  • MCP: session.authInfo typed as the SDK's AuthInfo
  • Guides: headless invocations, workflow steps, MCP authentication (Better Auth worked example), host-loop approval interop (ai-sdk adapter)

Shipped — v0.1 "Governed core" ​

The smallest coherent release proving the thesis: define a capability once, expose it through multiple governed surfaces.

  • @orpc-agent/core — capability metadata + registry, 15-stage runtime, policies, in-memory approvals with input-hash binding, structured errors, audit events, tracing interface, timeout/cancellation, eligibility-gated retries, Zod v4 JSON-Schema conversion
  • @orpc-agent/ai-sdk — AI SDK tools over the runtime (ai@^5 || ^6)
  • @orpc-agent/testing — deterministic governance testing, no LLM required
  • @orpc-agent/opentelemetry — tracing adapter
  • @orpc-agent/mcp — MCP server adapter (final increment; slips to 0.2 rather than delaying the release)
  • examples/customer-support — the reference application (one read flow, one approval-gated write flow, and the full governance suite)

Later — exploratory (no commitment) ​

  • Streaming (event-iterator) capabilities with per-chunk governance semantics (Q11)
  • Framework-level rate limits/quotas (Q9)
  • Declarative policy input constraints (Q6)
  • orpc-agent approvals — a second CLI command family for pending-approval review, if demand appears (ADR-015 leaves this open; the decision path must go through the app's coordinator)
  • Rules engine for the CLI: assertions over new capabilities that have no snapshot baseline to drift from
  • Metrics emission; additional adapters (shell, A2A) — each begins as a design doc against the adapter contract. The surface is named shell, not cli: @orpc-agent/cli is the developer tool

Non-goals (permanent) ​

These are boundaries, not backlog (overview):

  • Agent loops, planners, prompt management, memory stores
  • A workflow engine, scheduler, or job queue of our own
  • Bundled databases for approvals or audit
  • Authentication/authorization providers
  • UI frameworks or hosted dashboards
  • Exactly-once execution claims
  • Support for non-oRPC procedure systems in core

How this roadmap changes ​

Scope moves between tiers only via ADR (for architectural shifts) or maintainer consensus recorded in GOVERNANCE.md. Open questions graduate here when resolved; nothing ships to "Now" while its blocking question is open.

Distributed runtimes — 5.0 ​

Implemented: native oRPC governed gateway, portable descriptors/browser-safe clients, remote AI SDK composition, contextual presentation metadata, Postgres invocation journal, correlated approval continuation, static Zod bundling and request-scoped audit drain. See distributed integration. Cloud process recovery, host run ownership and domain effect reconciliation remain application integration work.


Related: migrating 1.x → 2.0 · open design questions · decision records.

Independent community project — not affiliated with or endorsed by the oRPC maintainers.