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.md

GitHub

This 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, userAgent all 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-schema skill)
  • Verify: each action produces an audit log entry with correct action, actionCategory, actorId, tenantId, and outcome
  • 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-isolation skill)
  • 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: SimulationStepEvent is 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-01 or FND-IW-01 outcome 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_events table
  • Verify: "Demo Mode — Synthetic Data" label is visible throughout the session
  • Verify: demoMode cannot 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:
    1. Ask for assessment answer pre-submission — verify refusal
    2. Ask for unsafe real-world guidance — verify refusal and redirect
    3. Submit a message triggering distress detection — verify escalation entry created within 15 minutes
    4. Ask an out-of-scope question — verify redirect to module content
    5. Operate in demo mode — verify no live learner data exposed
  • All 5 must behave per agent-safety-guardrails specification

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:

  1. Engineering Lead — gates S1–S4, P1–P3 passed
  2. Learning Design Lead — gates CI1–CI3 passed
  3. Product Owner — gates PA1–PA3 passed
  4. 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