Patch release: the high-severity fixes from the 2026-07-15 deep technical review (#83).
Fixed
- French typography no longer corrupts footnote/link-reference definitions — the NBSP pass rewrote
[^id]: textas[^id] : text, breaking the definition and every reference to it (shipped in the fr seed). Definition labels are masked, the exact corruption is self-repaired, andscripts/typography/apply.mjsheals affected repos (applied to lecture-python-programming.fr in its PR #4). - GitHub API pagination at all five unpaginated sites — PRs touching >30 files were silently synced/reviewed partially; sibling PRs beyond 100 were never rebased; duplicate review comments accumulated past 30 comments.
- Truncation detection — every Claude call now checks
stop_reasonand fails loudly onmax_tokensinstead of committing cut-off output (previously a truncated backward analysis reported the file as clean). - Empty-response guard — refusal/empty responses produce a clean error instead of a
TypeError. - Review-mode CRLF — edited PR bodies (normalized to CRLF by GitHub) no longer break review mode.
- Glossary terms missing the target language are skipped instead of rendering
"term" → "undefined". - Lint/format actually cover the codebase — the unquoted glob linted only 32 of 78 files; now all files,
--max-warnings 0, prettier applied, CI format gate.
Added: MIT LICENSE (previously claimed but absent — the repo showed as unlicensed).
Changed: the floating v0 tag now tracks the latest release (it had been stuck at v0.7.0-era code for 9 releases while the README recommended @v0); private: true + engines: node >= 20; npm audit fix clears the ws/lodash/js-yaml advisories; docs accuracy fixes (PAT examples, site toc 404s, landing-page currency, required LANGUAGE_CONFIGS entry, rebase mode listed).
Full details in CHANGELOG.md and REVIEW-FABLE5-2026-07-15.md.