Product: turn the upstream coverage audit into our own automated check. - scripts/report_render/upstream_coverage.py maps 140 upstream topics to our zh/en sections and checks presence, real content, key columns (transit sign, yoga participants, Shadbala components, Kala Chakra signs) and degraded markers. NOT_CARRIED records the 4 topics we do not ship and why. It also runs as a CLI on any exported report. - tests/test_report_upstream_coverage_contract.py runs it on two fictional charts in both editions, checks the contract itself, and proves it flags a bad report. The 2026-11-05 export gives 15 findings; today's gives 0. - Fixes the contract found: Shattrimshatsama gets the opt-in reference table like the other conditional dashas; a year without a Tajika yoga keeps its section with one sentence instead of dropping it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DbBXoyeZrYn6ryNcSe5Y2Y