medlab / family
Invariants
Cases in the observatory's Invariants family.
cases10
-
2026-10-24
Cutting between words preserves a sentence's meaning
now fails loudly Regression tests require the full selected context and its governing modal to survive cloze construction.
InvariantsTest EffectivenessRuntime InvariantsMutation Testing
-
2026-10-16
An OAuth session renews itself before its refresh token lapses
now fails loudly The harness renews its model-provider refresh token before it lapses (or lengthens the token's TTL), and a probe alerts when the token nears expiry, so the daily expiry boundary no longer emits an ERROR span.
-
2026-10-11
Every exported error occurrence warrants a separate incident task
now fails loudly regression tests reject historical exports and consumer tool errors, group repeated failures, and enforce a persisted rolling delivery budget
-
2026-10-11
A queued notification can run with another channel's tools
now fails loudly a queue regression requires different channel origins to remain queued for their own turns while same-origin follow-ups still fold
-
2026-10-11
A CI runner carries the same tools as a developer's machine
now fails loudly make test preflights the suite's declared Python dependencies and fails before the demos when one is missing
-
2026-10-10
An Ubuntu host label was safe on a macOS runner
now fails loudly runner-label-check reads active runner config and pages when a Darwin host runner lacks a matching macOS :host label
-
2026-10-10
The token file was assumed to update the running service
now fails loudly switchboard-watch restarts on /metrics 401, retries authentication, pages if the retry fails, and clears blind-alert state after a successful scrape
-
2026-10-07
A running worker is assumed to be listening to its queue
now fails loudly a scheduled liveness check alarms within minutes when a queue's oldest pending item has gone unclaimed by its owning worker past a short limit
RuntimeInvariantsSynthetic MonitoringResource TelemetryRuntime Invariants
-
2026-09-24
A restart policy that fires on exit restarts a hung worker
now fails loudly a per-harness run timeout now bounds a persistent worker's lifetime, killing and respawning a wedged process and re-arming the timeout every lifetime
-
2026-09-12
Renaming a repo and updating its topology entry is one operation
now fails loudly The deploy gate refuses when the topology file and the filesystem disagree about which repos exist; a worker with a schedule attached is not a worker — it is skipped by collect and never rendered as down.
ChangeInvariantsPre-Promotion Invariant GatesStatically Checked Invariants