Local and cloud capability contract
Canonical Octonode repository documentation.
Local and cloud capability contract
GET /api/capabilities is the authority for deployment mode and feature availability. Studio,
CLI, MCP, and tests consume this typed document; clients must not infer mode from a hostname,
deployment global, or a deliberately failing operation.
The modes are:
trusted-local: a local server with no configured cloud control plane.configured-local-cloud: a local server authenticated to cloud workspace services.hosted: the production server running inside the hosted workspace Sandbox.
Unavailable capabilities use stable reasons: not_implemented, requires_cloud_configuration,
requires_hosted_runtime, provider_not_configured, disabled_by_policy, missing_entitlement,
or missing_permission.
Conformance matrix
yes means the capability is implemented in that mode today. Other cells contain the reason
returned by the contract.
| Capability | Trusted local | Configured local-cloud | Hosted | Owning authority |
|---|---|---|---|---|
workspace_identity | yes | yes | yes | Local server identity or authenticated cloud principal |
workspace_social | requires_cloud_configuration | yes | yes | Cloudflare workspace Durable Objects |
task_management | requires_cloud_configuration | yes | yes | Cloudflare workspace Durable Object task tables |
workspace_admin | requires_cloud_configuration | yes | yes | Cloudflare D1 membership and policy records |
workflow_execution | yes | yes | yes | Current workspace server and canonical project source |
billing | requires_cloud_configuration | yes | yes | Stripe authority with Cloudflare D1 projections and usage stop-loss limits |
design_review | not_implemented | not_implemented | not_implemented | Planned shared review service |
design_preview | not_implemented | not_implemented | not_implemented | Planned isolated preview runtime |
architecture | yes | yes | yes | Read-only projection derived from project and capability authorities |
github | requires_cloud_configuration | yes | yes | GitHub App plus cloud installation records |
slack | requires_cloud_configuration | yes | yes | Slack OAuth v2, explicit channel bindings, signed Events API, and durable chat outbox |
google | not_implemented | not_implemented | not_implemented | Product decision pending; provider authority follows approval |
meta | not_implemented | not_implemented | not_implemented | Product decision pending; provider authority follows approval |
qwen | not_implemented | not_implemented | not_implemented | Planned Qwen provider connection |
workflow_agents | requires_cloud_configuration | provider_not_configured | provider_not_configured | Private chat service plus existing workflow, social, and evaluation authorities |
cloud_terminal | not_implemented | not_implemented | not_implemented | Planned dedicated terminal Sandbox |
mcp_catalog | not_implemented | not_implemented | not_implemented | Planned generated MCP and skill descriptors |
monitoring | yes | yes | yes | OpenTelemetry-compatible monitoring pipeline |
agent_monitoring | not_implemented | not_implemented | not_implemented | Planned content-free correlated trace records |
backup_restore | yes | yes | yes | Mode-selected filesystem or cloud recovery authority |
write_authority | yes | yes | yes | Canonical source/store locally; workspace cloud stores remotely |
community_read | requires_cloud_configuration | rollout | rollout | Marketplace D1, publication API, and immutable community R2 revisions |
community_authoring | requires_cloud_configuration | rollout | rollout | Personal Design Docs copied through the publication API |
community_publishing | requires_cloud_configuration | rollout | rollout | Moderation policy and append-only audit records |
workflow_templates | requires_cloud_configuration | rollout | rollout | Moderated immutable public workflow snapshots |
Community rollout uses OCTONODE_COMMUNITY_ROLLOUT=off|read|submit|publish|all; omitted values fail
closed to read. The Worker uses the matching COMMUNITY_ROLLOUT stage. Enable reading first,
then submissions, and only then moderator publishing and workflow templates.
Capability parity is not state synchronization
Conformance means the same supported operation has the same contract and observable result in each mode unless the matrix declares a difference. It does not make local and cloud stores replicas.
Backup, restore, import, and export are explicit point-in-time transfer or recovery operations. They do not continuously synchronize state. Each record remains owned by the persistence authority defined in ADR-001, and restore still follows the validation and empty-target rules in Backup and restore.