Files
CASAN/AINative_OKR_CASAN5/packages/casan-harness
thanhnvandClaude Opus 4.8 d54d7f5f4c 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>
2026-07-08 00:36:06 +09:00
..

casan-harness (package skeleton)

Core CASAN harness (gate H1→H7) as a reusable package, independent of domain data. Populated incrementally by Plan-01 (Phase 0→6). During migration, files move here from .specify/ wave-by-wave; the full harness gate must stay green (PASS=64 FAIL=0) after each phase.

Layout:

  • scripts/ — bash + powershell gate logic (H1→H7), path resolver casan-paths.sh
  • security/ — filter/policy rules (prompt-filter, pii-rules, output-policy, ...)
  • governance/, agentops/ — H5/H6 code
  • level5/ — L5 config (drift/kpi/model-fallback/tool-registry YAMLs)
  • templates/, config/ — spec/plan templates, loop-policy
  • tests/ — reproducible harness test suites + integrity manifest

Runtime state (logs, audit chain, tenant state) is NOT part of this package — it stays with the app under CASAN_STATE_ROOT. Domain data (golden-runs, corpus, input) lives in apps/okr/domain/ under CASAN_DOMAIN_ROOT.