chapter_release_sanity_check
Validate all 18 variants of a story chapter after release, ensuring structural integrity: all language-level combos present, consistent mark UUIDs, monotonic timings, non-blank translations, and valid audio.
Instructions
Verify a chapter release — all 18 variants (9 langs × 2 levels) of one story chapter. Run this after every chapter release as the final sign-off before declaring the chapter done.
Downloads each variant zip and checks structural integrity:
All 18 (lang, level) combos present.
mark UUIDs consistent across
marks.json,mark_ids_to_translation.json, andmarks_in_milli_seconds.json.Mark timings strictly monotonic.
Each mark has exactly the 8 expected target languages.
No blank target translations (the bug class that bit Ministry of Quiet ch4).
EU↔EU pairs have non-empty
tokenAlignmentswith in-bounds ranges.CJK pairs have non-empty
tokens(no stray alignments).audio.mp3present and non-trivial in size.
Args:
publication_id: Publication UUID.
title_prefix: Title prefix that matches all 18 variants of the
story chapter (e.g. "0005 - " for Iliad ch5). Variants are
matched by title.startswith(title_prefix).
Returns the report shape (top-level ok, variants_found,
missing_combos, errors, warnings, variants[]). ok=true
means every variant passed and all 18 combos are present.
This check is structural only — it does not verify the audio
language matches the chapter language (use Whisper tiny separately
for that) or that translations are semantically correct (manual
review).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| publication_id | Yes | ||
| title_prefix | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |