Files
iptvnator/docs/architecture
4grayandClaude Fable 5 8c3aebecac fix(release): act on the third Codex pass
Four findings, each with a regression test:

- An empty `.changes/` directory was reported as an internal-only release.
  The realistic cause is this step running after `--consume` deleted the
  notes, which is the one ordering mistake the pipeline exists to prevent —
  calling it "internal-only" hid it and shipped no cards at all. It is now
  a hard failure naming that cause.
- A release that turned internal-only after cards were generated for the
  same version returned before the cleanup pass, leaving obsolete images in
  the output directory. Cleanup is now a named function both paths use, and
  `--dry-run` still deletes nothing.
- Nothing enforces the lowercase-slug filename convention on notes, so
  `Player_New-UI.md` produced `card-player_new-ui.png`, which
  `isOwnedCardFile` cannot match and no later run could ever remove. Card
  slugs are normalized to the character set the predicate accepts, with
  collisions from that normalization broken by a numeric suffix.
- The pipeline doc's surface table still named the old minor-scoped card
  directory while the prose below it named the new per-version one.

185 tests passing.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-27 10:03:05 +02:00
..