This document defines the minimum release gate for putting the OpenAegis pilot in front of a hospital, health system, or other regulated enterprise.
The rule is simple:
- if a required check fails, the release is a no-go
- if a required check passes, the release may proceed to the next gate only after evidence review
This gate is based on executable repository checks, not on subjective confidence.
The production gate covers:
- code correctness
- build integrity
- unit and integration tests
- end-to-end pilot behavior
- commercial proof generation
- evidence bundle integrity
It does not replace security review, architecture review, or change management. It is the release gate for the code and demo path itself.
| Check | Command | Pass condition | Evidence expected |
|---|---|---|---|
| Type correctness | npm run typecheck |
Exit code 0 | No TypeScript errors |
| Build integrity | npm run build |
Exit code 0 | All workspaces compile successfully |
| Test suite | npm run test |
Exit code 0 | All tests pass |
| Test surface validation | npm run validate:test-surface |
Exit code 0 | Every workspace package has at least one executable test file |
| Infrastructure packaging validation | npm run validate:infra |
Exit code 0 | Docker/Kubernetes/Helm artifacts are complete and internally consistent |
| Security regression gate | npm run security:regression |
Exit code 0 | docs/assets/demo/security-regression-report.json is generated with PASS status |
| Pilot smoke test | npm run smoke:pilot |
Exit code 0 | Pilot flow boots and completes the smoke scenario |
| Commercial proof | npm run proof:commercial |
Exit code 0 | docs/assets/demo/commercial-proof-report.json is generated |
| Trust-layer proof (3 examples) | npm run proof:trust-layer |
Exit code 0 | docs/assets/demo/trust-layer-proof-report.json is generated |
| Codebase line audit | npm run audit:codebase |
Exit code 0 | docs/assets/demo/codebase-line-audit-report.json is generated |
| Enterprise trust pack generation | npm run trust:pack |
Exit code 0 | docs/assets/enterprise-trust-pack/latest/manifest.json is generated |
| Enterprise trust pack audit | npm run trust:audit |
Exit code 0 | docs/assets/demo/enterprise-trust-pack-audit-report.json is generated |
| Commercial audit | npm run audit:commercial |
Exit code 0 | docs/assets/demo/commercial-audit-report.json is generated |
| Load test | npm run load:commercial |
Exit code 0 | docs/assets/demo/load-test-report.json is generated |
| Chaos drill | npm run chaos:commercial |
Exit code 0 | docs/assets/demo/chaos-report.json is generated |
| Backup drill | npm run backup:state |
Exit code 0 | Backup manifest is generated under backups/<timestamp>/manifest.json |
| Restore drill | npm run restore:state -- latest |
Exit code 0 | .volumes and docs/assets/demo are restored from backup |
| Evidence package export | npm run evidence:package |
Exit code 0 | Evidence package is generated under docs/assets/evidence-packages/<timestamp> |
| Readiness scoring gate | npm run readiness:gate |
Exit code 0 and score >= 98 | docs/assets/demo/readiness-gate-report.json is generated |
The release is only considered ready when all of the following are true:
npm run typecheckpasses.npm run buildpasses.npm run testpasses.npm run validate:test-surfacepasses.npm run validate:infrapasses.npm run security:regressionpasses.npm run smoke:pilotpasses.npm run proof:commercialpasses.npm run proof:trust-layerpasses.npm run audit:codebasepasses.npm run trust:packpasses.npm run trust:auditpasses.npm run audit:commercialpasses.npm run load:commercialpasses.npm run chaos:commercialpasses.npm run readiness:gatepasses.- The security regression report records
summary.status = PASS. - The commercial proof report records
summary.status = PASS. - The commercial proof report records
summary.failedClaims = 0. - The commercial proof report records
summary.scorePercent = 100. - The trust-layer proof report records
summary.totalExamples = 3. - The trust-layer proof report records
summary.status = PASS. - The codebase line audit report records
summary.totalFindings = 0. - The enterprise trust pack audit report records
summary.status = PASS. - The readiness gate report records
summary.scorePercent >= 98. - The readiness gate report records
summary.status = PASS.
If any one of these checks fails, the gate is closed.
Release may proceed when:
- all five commands above succeed
- proof output is regenerated in the current commit
- the report is stored in
docs/assets/demo/commercial-proof-report.json - no unresolved production blockers remain in the release ticket
Release must stop when:
- any command exits non-zero
- the proof report does not regenerate
- the proof report score drops below 100
- the report contains at least one failed claim
- a smoke or build step requires manual intervention to finish
Conditional go is allowed only when:
- the defect is documented
- the risk is explicitly accepted
- the release owner and security owner both sign off
- the release ticket points to the remediation plan
Before approving a production release, verify:
- repository build is clean
- pilot demo still runs from current source
- commercial proof report matches the current commit
- screenshots match live route-specific pages
- manuals and setup docs are current
- no new unsafe defaults were introduced
If the gate fails:
- Stop release work.
- Record the failing command and exact exit output.
- Reproduce the failure locally.
- Fix the root cause.
- Rerun the failing command.
- Rerun the full gate sequence.
Do not advance a release on partial success.
The expected evidence bundle for a gate review is:
npm run typecheckoutputnpm run buildoutputnpm run testoutputnpm run validate:test-surfaceoutputnpm run security:regressionoutputnpm run smoke:pilotoutputnpm run proof:commercialoutputnpm run proof:trust-layeroutputnpm run audit:codebaseoutputnpm run trust:packoutputnpm run trust:auditoutputnpm run audit:commercialoutputnpm run load:commercialoutputnpm run chaos:commercialoutputnpm run readiness:gateoutputdocs/assets/demo/commercial-proof-report.jsondocs/assets/demo/trust-layer-proof-report.jsondocs/assets/demo/codebase-line-audit-report.jsondocs/assets/demo/commercial-audit-report.jsondocs/assets/demo/security-regression-report.jsondocs/assets/demo/enterprise-trust-pack-audit-report.jsondocs/assets/enterprise-trust-pack/latest/manifest.jsondocs/assets/demo/load-test-report.jsondocs/assets/demo/chaos-report.jsondocs/assets/demo/readiness-gate-report.jsondocs/assets/demo/pilot-demo-output.json
The gate owner must confirm:
- the release candidate matches the evidence bundle
- the proof report was generated from the same commit under review
- there are no stale screenshots or stale demos
- any manual override is recorded with a reason and approver
This gate is intentionally strict.
For a regulated enterprise, a release is not ready because the app mostly works. It is ready because the app works, the tests prove it, and the evidence is reproducible.