The watcher that could not see half the sky

OrchestKit tracks Claude Code obsessively: a nightly cron, ~200 per-version snapshots, a stamped compatibility floor across 114 skills. On 2026-08-19 the Claude Platform shipped a GA wave (Skills API, Files API, browser and computer toolsets) and none of that machinery noticed, because every instrument reads exactly one feed: the CC CLI changelog. The wave was noticed via a tweet. #3627 closes the blind spot with a sibling watcher, scripts/platform-release-watch.mjs. This playground runs that watcher's actual parsing rules in your browser.

WATCHED

anthropics/claude-code CHANGELOG.md

Semver headings, nightly snapshot, LLM triage, adoption issues, staleness alarms. The muscle that already existed.

INVISIBLE UNTIL THIS PR

platform.claude.com release notes

Dated headings, served as markdown at the .md suffix. GA events, API deprecations, new toolsets. Zero instruments pointed here.

Try the parser

This is the same logic the watcher runs: ### Month D, YYYY headings open a dated section, any other ### heading closes one without opening (so prose is never misattributed), * bullets normalize to -, and dates before watch_since are ignored so the first run does not swallow the page's whole history.

Watcher exit: 0
shared/platform-adoption-gaps.json

Why the failure paths look like this

SituationBehaviorRule it encodes
Page fetch fails, or parses to zero dated headingsexit 1 + a dedup'd alarm issueCould-not-observe is never nothing-new. Silence from an instrument must not read as coverage; that is the exact failure #3627 exists to kill.
Nothing new since last runexit 0, pending entries preservedThe nothing-new and could-not-observe states print differently in every path (the "same value both ways is not evidence" guard).
Entry filed as an issuepruned on the next quiet runissues_filed_at stamping keeps the gaps file bounded, mirroring the CC lane's straggler contract.
Platform outage during the cronCC lane unaffectedThe step is non-blocking in the workflow; one feed's outage never blinds the other.

Snapshot presence on disk is the single source of truth for processed dates, the same decision cc-release-watch.mjs made after its permanently-invisible-version incident. Fixture-driven tests: tests/integration/test-platform-watch.sh (14 checks).