RELEASE ACCEPTANCE PROTOCOL - SyberLabs/RISE GitHub Wiki

RISE release acceptance protocol

This protocol closes the judgments that automation cannot make. A build may be technically green while the release remains blocked. Never replace a missing human verdict with a generated value.

1. Exact-edition certification

  1. Run npm run release:prepare-certification.
  2. Review out/release/archive-certification-candidates.json, prioritizing the three Keystone editions, then completing 10–15 shelf candidates.
  3. For each edition, compare the named reference and pinned revision against RISE: opening, closing, division structure, representative internal spans, and every detector/signature disposition.
  4. Copy only completed rise.archive-certification.v1 records into src/content/archive/certifications.json, keyed by workId.
  5. Run npm run release:check. A changed edition identity must withdraw stale certification automatically.

The reviewer—not the preparation script—sets edition choice, rationale, comparison verdicts, disposition count/reviewer, detector verdict, and dates.

2. Acoustic acceptance

  1. Run npm run release:prepare-acoustic-review.
  2. Open out/release/acoustic-review/index.html and listen to every phrase.
  3. Mark a phrase Defect for clipping, boundary errors, mispronunciation, corrupt audio, or unacceptable level. Correct and regenerate the affected source before continuing; regenerated bytes create a new review identity.
  4. When all phrases pass, enter the reviewer name and export acoustic-review-evidence.json.
  5. Run npm run release:record-acoustic-review -- --input <downloaded-json>.

The recorder accepts only an exact voice/review hash, exactly one passing decision for every expected phrase, zero defects, a reviewer, and a timestamp. It writes the complete decision ledger into release-evidence.json.

3. Real-device matrix

Witness the release build on all five required families:

  • iPhone Safari;
  • Android Chrome;
  • desktop Chrome;
  • desktop Safari;
  • desktop Firefox.

For each, test landing-to-Keystone entry, cold reload and browser history, recitation and reveal independence, pause/resume, division continuation, reduced motion where available, and a complete short reading. Record passed: true, reviewer, and ISO completion time in release-evidence.json.

4. Stranger corridor

Observe at least three unprompted participants. All must understand entry, complete a reading, and understand the next action without coaching. Record the aggregate attestation, reviewer, and completion time in release-evidence.json.

5. Final admission

Using the pinned Node version and FFmpeg binary, run:

npm run test:run
npm run build
npm run test:e2e
npm run release:check

Release only when release:check reports zero blocked and zero human gates, the worktree is intentionally reviewed, and the deployed candidate is the same commit and asset set that produced the evidence.


Published from docs/RELEASE-ACCEPTANCE-PROTOCOL.md. Edits made here are overwritten on the next push to main.