feat(plan-01): Phase 2 — relocate level5/agentops config + init-options to package

Move the harness-config files out of the mixed .specify/level5 and .specify/agentops
dirs (which also hold governance/domain/state) into packages/casan-harness, leaving a
per-file compat symlink at each old path. Runtime state and governance stay in place.

Moved (+ .specify symlink each):
  level5:   drift-policy.yaml kpi-schema.yaml model-fallback.yaml tool-registry.yaml
            harness-package.json project-registry.json provider-usage-sample.json
  agentops: alerts.yaml hallucination-tracking.yaml metrics.yaml rate-limits.yaml tracking.yaml
  top:      init-options.json
Stays in .specify: level5/central-governance (governance), level5/golden-runs (domain,
  Phase 3), agentops/alerts.log (state), traceability-map.json (domain, Phase 3).

Full gate: PASS=64 FAIL=0 SKIP=3 (CASAN_CI_STEP_TIMEOUT_SEC=1200).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
thanhnv
2026-07-08 00:36:06 +09:00
co-authored by Claude Opus 4.8
parent 664bd1f00c
commit d54d7f5f4c
28 changed files with 568 additions and 555 deletions
@@ -0,0 +1,33 @@
version: 1.0
description: CASAN Level 5 model/tool fallback policy
routes:
- step_pattern: "review|test|security"
primary: primary-model
fallback: verifier-model
max_attempts: 2
fallback_on:
- nonzero_exit
- empty_output
- timeout
- step_pattern: "implement|write_code|deploy"
primary: primary-model
fallback: conservative-model
max_attempts: 1
fallback_on:
- nonzero_exit
- policy_reject
governance_required: true
default_route:
primary: primary-model
fallback: fallback-model
max_attempts: 2
fallback_on:
- nonzero_exit
- empty_output
evidence:
trace_dir: .specify/logs/trace
fallback_log: .specify/logs/level5/fallback.jsonl