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.