2.2 KiB
CASAN Enterprise / Governed Agent Console (Level 4) · FUTURE / structure-only
Status: FUTURE. Documented + scaffolded, NOT implemented in this task.
package-release.sh enterpriserefuses to build (no fake-complete package) — several building blocks already exist inside the core harness, but the governed console itself does not. Do not ship this as a product yet.
Enterprise governed AI-SDLC console. Packages: casan-enterprise, casan-governed-console.
Building blocks that ALREADY exist (in core harness, reusable)
| Capability | Where |
|---|---|
| RBAC | packages/casan-harness/scripts/bash/rbac-check.py |
| Tenant isolation | tenant-store.sh, tenant-paths.sh, tenant-registry-verify.sh, tenant-crypt.sh |
| Approval workflow | approval-verify.sh, approval-sign.sh, approval-jwt-mint.py |
| KMS | vault-kms.sh |
| WORM ledger | worm-ledger.py |
| Kill-switch / quota | kill-switch.sh, cost-spike-detect.sh |
| Loop governance | Plan-17 loop primitives (loop-*.py) |
Components still to build (NOT in this task)
- Managed enterprise deployment with enterprise OIDC, CA, network policy and production secret/KMS enforcement
- HA/DR, RPO/RTO, lifecycle compatibility, support/SLA and independent security review
- Production immutable object storage and external evidence verification operations
The Platform Preview already contains the Governed Chat/Prompt Router/Operator/ Codegen and agent/skill/model-selection MVPs, plus the Evidence Pack Viewer. They are not evidence that an Enterprise edition has shipped.
Why it refuses to package
Per the packaging principle, a level that isn't implemented must fail clearly rather
than emit a fake-complete artifact. Enterprise is status: future in
packaging/levels.json, so scripts/package-release.sh enterprise exits non-zero with an
explanation. When the console is built, flip its status to preview/implemented.
To implement later
Sequence: finish the paid-PoC evidence/Gitea flow → enterprise deployment and
operations controls → independent review → production readiness. Reuse the existing
blocks above instead of re-writing them. See
EDITION_FEATURE_LIMITATION_MATRIX.md.