feat: onboard service desk as second CASAN project
This commit is contained in:
@@ -137,6 +137,7 @@ run "phase-sec24-supplychain" bash "$TESTS/phase-sec24-tests.sh"
|
||||
run "phase-sec25-attestation" bash "$TESTS/phase-sec25-tests.sh"
|
||||
run "phase-production-handoff" bash "$TESTS/phase-production-preflight-tests.sh"
|
||||
run "phase-release-provenance" bash "$TESTS/phase-release-provenance-tests.sh"
|
||||
run "phase-service-desk-onboard" bash "$TESTS/phase-service-desk-onboard-tests.sh"
|
||||
|
||||
# Plan-17 loop engineering (Agentic Loop Governance) — each primitive fail-closed.
|
||||
run "phase-loop-governor" bash "$TESTS/phase-loop-governor-tests.sh"
|
||||
|
||||
@@ -11,6 +11,7 @@ PACKAGE="$CASAN_HARNESS_ROOT/level5/harness-package.json"
|
||||
|
||||
python - "$REGISTRY" "$PACKAGE" <<'PY'
|
||||
import json
|
||||
import os
|
||||
import sys
|
||||
registry = json.load(open(sys.argv[1], encoding="utf-8"))
|
||||
package = json.load(open(sys.argv[2], encoding="utf-8"))
|
||||
@@ -18,9 +19,22 @@ name = package["package"]
|
||||
version = package["version"]
|
||||
projects = [
|
||||
p for p in registry["projects"]
|
||||
if p.get("harness_package") == name and p.get("harness_version") == version
|
||||
if p.get("status") == "active"
|
||||
and p.get("harness_package") == name and p.get("harness_version") == version
|
||||
]
|
||||
if len(projects) < 2:
|
||||
raise SystemExit(f"HARNESS_REUSE_INSUFFICIENT package={name} version={version} count={len(projects)}")
|
||||
print(f"HARNESS_REUSE_VALID package={name} version={version} project_count={len(projects)}")
|
||||
roots = set()
|
||||
required = ("domain-pack.yaml", "input", "golden-runs", "corpus", "traceability-map.json")
|
||||
hub = os.path.abspath(os.path.join(os.path.dirname(registry_path := sys.argv[1]), "..", "..", ".."))
|
||||
for project in projects:
|
||||
root = project.get("domain_root", "")
|
||||
if not root or root in roots:
|
||||
raise SystemExit(f"HARNESS_REUSE_INVALID_DOMAIN_ROOT project={project.get('project_id')} root={root}")
|
||||
roots.add(root)
|
||||
full = os.path.join(hub, root)
|
||||
missing = [entry for entry in required if not os.path.exists(os.path.join(full, entry))]
|
||||
if missing:
|
||||
raise SystemExit(f"HARNESS_REUSE_DOMAIN_INCOMPLETE project={project.get('project_id')} missing={','.join(missing)}")
|
||||
print(f"HARNESS_REUSE_VALID package={name} version={version} project_count={len(projects)} active_projects={','.join(p['project_id'] for p in projects)}")
|
||||
PY
|
||||
|
||||
Reference in New Issue
Block a user