provisioning-code/.ncl-cache/93b89119194a18c86d258200c2535f98a869d4689205e313d3c169987aac7852.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"
}
]
}
]
}