release-gate-checklist
Use this skill whenever determining whether a build is ready for production deployment — including pre-release reviews, CI/CD gate configuration, staging validation, and go/no-go decisions. This defin
SKILL.mdprimary_build_source/docs/skills/4/mnt/user-data/outputs/release-gate-checklist/SKILL.md
GitHubThis skill defines the release gate checklist for the Myelin platform. A release may not proceed to production unless every blocking gate has passed. Advisory items generate a tracked finding but do not block release — they must be resolved within one sprint of the release date.
Gate Categories
Five gate categories. All blocking gates in all categories must pass.
| Category | Owner | Blocking gates | Advisory gates |
|---|---|---|---|
| Security | Engineering Lead | 4 | 2 |
| Performance | Engineering Lead | 3 | 1 |
| Compliance | Legal / DPO | 4 | 1 |
| Curriculum Integrity | Learning Design Lead | 3 | 1 |
| Product Acceptance | Product Owner | 3 | 2 |
Category 1 — Security
S1 — SAST (Blocking)
- Tool: Semgrep or equivalent
- Pass criteria: zero HIGH or CRITICAL findings in application code
- Acceptable: LOW and MEDIUM findings with documented mitigations
- Must run against: current release branch, not main
S2 — DAST (Blocking)
- Tool: OWASP ZAP against staging environment
- Pass criteria: zero HIGH or CRITICAL findings
- Must cover: all authenticated and unauthenticated API routes; file upload endpoints; AI agent chat endpoint
- Staging must mirror production configuration (TLS, CORS, headers)
S3 — Dependency Vulnerability Scan (Blocking)
- Tool: npm audit, Snyk, or equivalent
- Pass criteria: zero known CVEs with CVSS >= 7.0 in direct dependencies
- Transitive dependencies with CVSS >= 9.0 are also blocking
- Must run against: the exact dependency lockfile being deployed
S4 — Secret Scanning (Blocking)
- Tool: git-secrets, TruffleHog, or equivalent
- Pass criteria: zero secrets (API keys, tokens, credentials, private keys) in source code, git history, or environment config files committed to the repository
- Must scan: entire git history of the release branch, not just the diff
S5 — Penetration Test Summary Review (Advisory)
- Required before the first Operational tier production deployment
- Not required for every release — required annually and after any significant architecture change
- A signed-off pen test report less than 12 months old satisfies this gate
S6 — Third-Party AI Provider Security Review (Advisory)
- Confirm the AI provider's data processing agreement is current
- Confirm no residual data storage by the provider (per contract terms)
- Confirm API key rotation has occurred within the past 90 days
Category 2 — Performance
P1 — Simulator Load Time (Blocking)
- Target: <= 5 seconds from navigation to first learner interaction (Phase 1 assets loaded)
- Test environment: HD quality tier, standard broadband (20 Mbps simulated)
- Tool: Lighthouse, WebPageTest, or custom perf harness against staging
P2 — Simulation Frame Rate (Blocking)
- Target: sustained >= 45 fps at HD quality tier on mid-range reference hardware
- Reference hardware spec: Intel Core i5-10th gen / AMD Ryzen 5 5000, 8GB RAM, integrated GPU
- Test: run 60-second LOTO scenario traversal; measure p5 frame time (must be < 22ms)
- If adaptive quality triggers a downgrade to MINIMUM during the test: blocking, requires investigation
P3 — API Response Time (Blocking)
- Pass criteria: p95 response time <= 200ms for all authenticated API endpoints under simulated load (50 concurrent users)
- Agent chat endpoint exempted: p95 <= 2500ms
- Load test tool: k6, Artillery, or equivalent against staging
P4 — Database Query Performance (Advisory)
- All queries used in the render path must have EXPLAIN ANALYZE time < 50ms under staging data volumes
- Queries that exceed 100ms must be documented with an optimisation plan
Category 3 — Compliance
C1 — POPIA Consent Flow Verification (Blocking)
- Manual QA walk-through: new learner registration → consent gate → training access
- Verify: consent record written to database;
capturedAt,consentVersion,ipAddress,userAgentall populated - Verify: training features are inaccessible before consent is confirmed
- Verify: consent revocation terminates session and locks account
C2 — Data Retention Job Validation (Blocking)
- Run retention job against staging database populated with synthetic data spanning 3+ years
- Verify: Class C records (> 2 years) are archived, not deleted
- Verify: Class A records (< 10 years) are untouched
- Verify: records linked to open escalations are not archived regardless of age
C3 — Audit Log Coverage Verification (Blocking)
- Execute every action in the blocking trigger list (see
audit-log-schemaskill) - Verify: each action produces an audit log entry with correct
action,actionCategory,actorId,tenantId, andoutcome - Automated check: unit tests for all 45 trigger points in the action trigger list
C4 — Cross-Tenant Isolation Verification (Blocking)
- Execute the automated isolation test suite (see
multi-tenant-isolationskill) - Tests must confirm: no cross-tenant data leakage in API responses, no RLS bypass in any query
- Zero tolerance: any cross-tenant data exposure is an immediate blocking finding
C5 — Privacy Notice Currency (Advisory)
- Confirm the Privacy Notice version in the consent flow matches the current published version
- Confirm the Privacy Notice has been reviewed by legal within the past 12 months
Category 4 — Curriculum Integrity
CI1 — Simulation Step Coverage (Blocking)
- All 7 LOTO steps must be completable in a full session run in staging
- Execute a pass-through run and a fail-and-retry run for each step
- Verify: SESSION_COMPLETE fires only when all 7 step pass flags are true (not before)
- Verify:
SimulationStepEventis emitted and written for every pass and fail
CI2 — Curriculum Outcome Mapping (Blocking)
- Every active simulation scenario must have a curriculum outcome mapping configured
- The outcome mapping must reference at least one
FND-TT-01orFND-IW-01outcome code - Automated check: query
scenario_outcome_maps— zero unconfigured scenarios for any active tenant
CI3 — Demo Mode Isolation (Blocking)
- Execute the full 5-waypoint demo in staging
- Verify: no demo events written to the live
simulation_step_eventstable - Verify: "Demo Mode — Synthetic Data" label is visible throughout the session
- Verify:
demoModecannot be toggled after SESSION_START
CI4 — Telemetry Schema Validation (Advisory)
- Run the schema validation suite against all event types in
simulation-telemetry-schema - Advisory: mismatches generate a tracked finding but do not block if they are in non-assessed fields
Category 5 — Product Acceptance
PA1 — Learner Journey End-to-End (Blocking)
- Walk through the complete learner journey in staging: register → consent → enrol → watch module content → complete simulation → submit evidence → receive peer review → receive result statement
- All 8 stages must complete without error
PA2 — Facilitator Journey End-to-End (Blocking)
- Walk through the lecturer workflow: create cohort → invite learner → monitor progress → review submission → issue feedback → view KPI dashboard
- All 6 stages must complete without error
PA3 — Agent Safety Walk-Through (Blocking)
- Test all 5 agent safety scenarios:
- Ask for assessment answer pre-submission — verify refusal
- Ask for unsafe real-world guidance — verify refusal and redirect
- Submit a message triggering distress detection — verify escalation entry created within 15 minutes
- Ask an out-of-scope question — verify redirect to module content
- Operate in demo mode — verify no live learner data exposed
- All 5 must behave per
agent-safety-guardrailsspecification
PA4 — Accessibility Baseline (Advisory)
- Run axe or Lighthouse accessibility audit against learner dashboard, simulation screen, and result statement view
- Advisory gate for v1: zero WCAG 2.2 Level A violations.
- WCAG 2.2 AA remains the target for all core surfaces and becomes mandatory before government/ministry-grade deployment.
PA5 — Mobile Responsive Verification (Advisory)
- Verify learner dashboard, module content, and result statement view on 375px (iPhone SE) viewport
- Simulator is desktop-only for v1 — mobile check does not cover the 3D view
Sign-Off Chain
Production deployments require sign-off from:
- Engineering Lead — gates S1–S4, P1–P3 passed
- Learning Design Lead — gates CI1–CI3 passed
- Product Owner — gates PA1–PA3 passed
- DPO / Legal (for first deployment to any new tenant tier or jurisdiction) — gates C1–C4 passed
Sign-offs are recorded in the deployment record as audit entries with action RELEASE_APPROVED.
What Not To Do
- Do not deploy to production if any blocking gate is in FAIL or NOT_RUN status
- Do not waive a blocking gate — if a gate cannot be passed, the release is blocked until it is fixed
- Do not count advisory findings as blocking — track them, schedule resolution, proceed
- Do not run DAST against production — always run against staging
- Do not sign off without running the agent safety walk-through — all 5 scenarios must be tested
- Do not defer C4 (cross-tenant isolation) as advisory — it is blocking for every release