{ "dimensions": [ { "coupled_with": [], "current_state": "functional", "description": "Orchestrator service readiness — from functional prototype to production-grade task execution engine.", "desired_state": "production", "horizon": "Months", "id": "orchestrator-maturity", "name": "Orchestrator Maturity", "states": [], "transitions": [ { "blocker": "Cedar policy definitions stored in SurrealDB not finalized; WebSocket task status streaming not connected to NATS push consumers.", "catalyst": "Control Center JWT auth and Cedar policy evaluation wired end-to-end; solo mode auth bypass verified against ADR-015 constraints.", "condition": "All 6 SOLID enforcement layers passing, NATS streams stable, task state machine handles all error paths with rollback, formula DAG execution covers all taskserv dependency combinations.", "from": "functional", "horizon": "Months", "to": "production" } ] }, { "coupled_with": [], "current_state": "stable-v3", "description": "CLI v3 and core/nulib/ stability — the primary user interface and Nushell command library for all platform operations.", "desired_state": "stable-v3", "horizon": "Continuous", "id": "cli-maturity", "name": "CLI and Nushell Library Maturity", "states": [], "transitions": [] }, { "coupled_with": [], "current_state": "bootstrapped", "description": "Control Center service readiness — from bootstrapped to operational with live auth, Cedar policies, and WebSocket streaming.", "desired_state": "operational", "horizon": "Months", "id": "control-center-maturity", "name": "Control Center Maturity", "states": [], "transitions": [ { "blocker": "Cedar policy definitions not finalized; WebSocket streaming not connected to NATS; IaC detection and rules handlers partially commented out in router.", "catalyst": "Solo mode (ADR-015) fully tested end-to-end as staging environment for multi-user auth path.", "condition": "JWT auth middleware active in non-solo mode, Cedar policies loaded from SurrealDB and evaluated on all protected routes, WebSocket task status streaming connected to NATS push consumers.", "from": "bootstrapped", "horizon": "Months", "to": "operational" } ] }, { "coupled_with": [], "current_state": "partial", "description": "Nickel schema coverage across all configuration surfaces — from partial to comprehensive.", "desired_state": "comprehensive", "horizon": "Months", "id": "schema-coverage", "name": "Schema Coverage", "states": [], "transitions": [ { "blocker": "Some extensions still use raw TOML or KCL remnants for metadata. TypeDialog schemas cover workspace config but not all platform service configs.", "catalyst": "Extension ontology evolution (ADR-019 AI surface) requiring schema for RAG indexing.", "condition": "All provider configs, workspace configs, platform service configs, extension metadata (taskserv dependency declarations), and TypeDialog forms covered by typed Nickel schemas. Extension metadata.ncl files cover all 10 built-in taskservs.", "from": "partial", "horizon": "Months", "to": "comprehensive" } ] }, { "coupled_with": [], "current_state": "completed", "description": "Migration from KCL to Nickel — completed, continuous maintenance only.", "desired_state": "completed", "horizon": "Continuous", "id": "kcl-migration", "name": "KCL Migration", "states": [], "transitions": [] }, { "coupled_with": [], "current_state": "bootstrapped", "description": "Migration of all 37 Nushell operations from direct legacy dispatch to the three-tier fallback chain (HTTP daemon → provisioning-tool → Nushell closure). Infrastructure complete; operation wiring is the remaining work.", "desired_state": "migrated", "horizon": "Months", "id": "smart-interface-migration", "name": "Smart Interface Migration", "states": [], "transitions": [ { "blocker": "36 operations still dispatch via Nushell legacy directly; only workspace_list is wired to the fallback chain. Migration is per-operation and non-breaking.", "catalyst": "G3 contract test gates each migration — an operation can only retire its tier-3 closure after G3 passes for it. Daemon install via `just daemon install` makes tier-1 available on developer machines.", "condition": "All 37 operations call tool-call / tool-list with a real Nushell legacy closure; G3 contract test passes for each migrated operation; no handler calls the orchestrator or provider APIs directly from nulib without going through the Registry.", "from": "bootstrapped", "horizon": "Months", "to": "migrated" } ] }, { "coupled_with": [], "current_state": "capability-aware", "description": "Maturity of the extension ecosystem — from basic metadata contracts to capability-aware to ontology-aware extensions.", "desired_state": "ontology-aware", "horizon": "Months", "id": "extension-ecosystem-maturity", "name": "Extension Ecosystem Maturity", "states": [], "transitions": [ { "blocker": "Completed — B2 (schema extension) and B3 (metadata migration) done in DAG architecture session.", "catalyst": "Three-layer DAG architecture (ADR-016) requiring typed capability declarations for formula dependency resolution.", "condition": "All 10 built-in taskserv metadata.ncl files migrated with provides/requires/conflicts_with fields. provisioning-dag-integrity reflection mode runs clean. CLI `provisioning extensions capabilities` outputs correct capability table.", "from": "metadata-contracts", "horizon": "Continuous", "to": "capability-aware" }, { "blocker": "Ontology node schema not yet added to metadata.ncl contract; no tooling to validate ontology references in extension metadata.", "catalyst": "AI RAG surface (ADR-019) requiring extension ontology data for schema-aware config generation.", "condition": "Extension metadata.ncl can optionally declare ontology node IDs; orchestrator resolves extension DAG against platform ontology for impact analysis; CLI reports which ontology nodes are affected by a given workspace execution.", "from": "capability-aware", "horizon": "Months", "to": "ontology-aware" } ] } ] }