134 lines
6.7 KiB
JSON
134 lines
6.7 KiB
JSON
{
|
|
"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"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|