provisioning-code/.ncl-cache/98551cc6ef16a71949a783c00ad8304eaffa640a5efed6950592fbbe669fd919.json

120 lines
3.9 KiB
JSON

{
"guards": [],
"id": "provisioning-coverage",
"postconditions": [
"Provider function coverage counted per provider (target: 25 functions each)",
"Taskserv completeness checked (metadata.ncl + contracts.ncl presence and validity)",
"Coverage report generated with maturity score per extension and ecosystem totals"
],
"preconditions": [
"catalog/ directory exists",
"nickel is available in PATH",
"./scripts/ontoref is executable"
],
"steps": [
{
"action": "catalog_all_providers",
"actor": "Agent",
"cmd": "ls catalog/providers/ 2>/dev/null | sort",
"depends_on": [],
"id": "list_providers",
"note": "List all provider extension directories.",
"on_error": {
"backoff_s": 5,
"max": 3,
"strategy": "Continue"
}
},
{
"action": "catalog_all_taskservs",
"actor": "Agent",
"cmd": "ls catalog/taskservs/ 2>/dev/null | sort",
"depends_on": [],
"id": "list_taskservs",
"note": "List all taskserv extension directories.",
"on_error": {
"backoff_s": 5,
"max": 3,
"strategy": "Continue"
}
},
{
"action": "verify_provider_interface_completeness",
"actor": "Agent",
"cmd": "for p in catalog/providers/*/; do echo \"--- $(basename $p)\"; rg 'fn ' $p --include='*.rs' -l | head -1 | xargs rg 'pub fn' 2>/dev/null | wc -l | xargs echo 'functions:'; done",
"depends_on": [
{
"kind": "OnSuccess",
"step": "list_providers"
}
],
"id": "check_provider_functions",
"note": "For each provider, count implemented public functions. Target: 25 functions per the provider interface contract.",
"on_error": {
"backoff_s": 5,
"max": 3,
"strategy": "Continue"
}
},
{
"action": "verify_taskserv_contracts",
"actor": "Agent",
"cmd": "for ts in catalog/taskservs/*/; do name=$(basename $ts); has_meta=$(test -f $ts/metadata.ncl && echo yes || echo NO); has_contracts=$(test -f $ts/contracts.ncl && echo yes || echo NO); echo \"$name: metadata=$has_meta contracts=$has_contracts\"; done",
"depends_on": [
{
"kind": "OnSuccess",
"step": "list_taskservs"
}
],
"id": "check_taskserv_metadata",
"note": "For each taskserv, verify it has metadata.ncl and contracts.ncl. Missing files indicate incomplete extension.",
"on_error": {
"backoff_s": 5,
"max": 3,
"strategy": "Continue"
}
},
{
"action": "typecheck_taskserv_metadata",
"actor": "Agent",
"cmd": "find catalog/taskservs -name 'metadata.ncl' | xargs -I{} sh -c 'nickel typecheck {} > /dev/null 2>&1 && echo \"OK: {}\" || echo \"INVALID: {}\"'",
"depends_on": [
{
"kind": "Always",
"step": "check_taskserv_metadata"
}
],
"id": "check_taskserv_nickel_validity",
"note": "Typecheck all taskserv metadata.ncl files. Invalid metadata cannot be used by the platform.",
"on_error": {
"backoff_s": 5,
"max": 3,
"strategy": "Continue"
}
},
{
"action": "write_coverage_output",
"actor": "Agent",
"cmd": "./scripts/ontoref describe provisioning --format coverage",
"depends_on": [
{
"kind": "Always",
"step": "check_provider_functions"
},
{
"kind": "Always",
"step": "check_taskserv_nickel_validity"
}
],
"id": "generate_coverage_report",
"note": "Generate the maturity map: provider coverage (N/25 functions), taskserv completeness, overall ecosystem coverage score.",
"on_error": {
"backoff_s": 5,
"max": 3,
"strategy": "Stop"
}
}
],
"strategy": "Override",
"trigger": "Generate a maturity map of the provisioning extension ecosystem"
}