feat: harden CASAN production install lifecycle

This commit is contained in:
thanhnv
2026-07-24 11:11:44 +07:00
parent c7671ab198
commit 114340c719
48 changed files with 1036 additions and 165 deletions
+12 -16
View File
@@ -7,29 +7,25 @@
"level": 1,
"package_names": ["casan-core", "casan-harness"],
"status": "implemented",
"summary": "H1-H7 harness core, security/action gates, evidence pack, audit, cost/telemetry, hardening tests, policy/config defaults, lightweight CLI.",
"summary": "Minimal H1-H7 production runtime: security/action gates, evidence pack, audit, cost/telemetry, policy/config defaults, adapters, and lightweight CLI. Source-only tests and Platform helpers are excluded.",
"target_users": ["governance-harness-only projects", "BJT initial adoption", "CI gate usage"],
"includes": [
"packages/casan-harness/scripts",
"packages/casan-harness/security",
"packages/casan-harness/governance",
"packages/casan-harness/agentops",
"packages/casan-harness/config",
"packages/casan-harness/level5",
"packages/casan-harness/memory",
"packages/casan-harness/templates",
"packages/casan-harness/tests",
"packages/casan-harness/adapters",
"packages/casan-harness/schemas",
"packages/casan-harness/init-options.json",
"packages/casan-harness/README.md",
"packages/casan-harness",
"bin/casan",
"install.sh",
"install.ps1",
"packaging/levels.json",
"packaging/runtime-layout.json",
"scripts/copy-runtime.py",
"VERSION"
],
"excludes_globs": ["**/__pycache__/**", "**/*.pyc", "**/.DS_Store"],
"excludes_globs": [
"**/__pycache__/**",
"**/*.pyc",
"**/.DS_Store",
"packages/casan-harness/tests/**",
"packages/casan-harness/level5/**"
],
"artifact": "casan-core-v{VERSION}.tar.gz",
"docker_image": "casan-harness:{VERSION}"
},
@@ -37,7 +33,7 @@
"level": 2,
"package_names": ["casan-devkit", "casan-project-kit"],
"status": "implemented",
"summary": "Level 1 + project templates, domain-pack scaffold, Gitea workflow templates, harness Dockerfile, install script, adoption/CI/domain-pack guides.",
"summary": "Level 1 + production adoption commands, project templates, domain-pack scaffold, Gitea workflow templates, and adoption/CI/domain-pack guides.",
"target_users": ["new projects adopting CASAN", "internal teams needing a repeatable setup"],
"extends": "core",
"includes": [
+57
View File
@@ -0,0 +1,57 @@
{
"schema_version": 1,
"description": "Production runtime allowlist for global CASAN installs and release bundles. Source-only tests, development tooling, and Platform helpers must not cross this boundary.",
"components": {
"harness": {
"source": "packages/casan-harness",
"exclude": [
"README.md",
"init-options.json",
"level5",
"tests",
"scripts/bash/chat-cloud-smoke.sh",
"scripts/bash/ci-harness-gate.sh",
"scripts/bash/dashboard-serve.sh",
"scripts/bash/dashboard-server.py",
"scripts/bash/guideH4-H5-H6.md",
"scripts/bash/infra-lab.sh",
"scripts/bash/local-full.sh",
"scripts/bash/security-gate.sh",
"scripts/bash/test-integrity.py"
],
"transforms": {
"config/project-registry.json": "empty_project_registry"
},
"required": [
"adapters/claude-code/claude_hook.py",
"adapters/codex/codex_hook.py",
"adapters/vscode/vscode_hook.py",
"config/project-registry.json",
"config/tool-registry.yaml",
"scripts/bash/casan-harness.sh",
"scripts/bash/project-gate.sh",
"scripts/bash/security-check.sh",
"scripts/bash/tool-registry-gate.sh",
"scripts/python/agentic_bridge.py",
"scripts/python/harness_hash.py"
]
},
"devkit": {
"source": "packages/casan-devkit",
"exclude": [
"Dockerfile.harness",
"README.md",
"install.sh",
"tests",
"windows"
],
"required": [
"casan-init.py",
"package-vscode-extension.py",
"project-scaffold.py",
"templates/domain-pack/domain-pack.yaml",
"templates/project/casan-hook.py"
]
}
}
}