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
- Run
npm run release:prepare-certification. - Review
out/release/archive-certification-candidates.json, prioritizing the three Keystone editions, then completing 10–15 shelf candidates. - For each edition, compare the named reference and pinned revision against RISE: opening, closing, division structure, representative internal spans, and every detector/signature disposition.
- Copy only completed
rise.archive-certification.v1records intosrc/content/archive/certifications.json, keyed byworkId. - 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
- Run
npm run release:prepare-acoustic-review. - Open
out/release/acoustic-review/index.htmland listen to every phrase. - 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.
- When all phrases pass, enter the reviewer name and export
acoustic-review-evidence.json. - 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.