Release scoreboard

home · overnight readiness · A3

Visual management over time: one line per release run, drawn from scoreboard/releases.jsonl (1 release(s), 2 line(s)). Advisory: the Gate wins, and nothing here changes a verdict or an exit code. The same numbers are in scoreboard.json.

1. RCS per release

Against the bands: Green 90 or more, Amber 75 to 89, Red below 75. A release with no RCS (a FAIL, or nothing measured) is a gap, never a zero.

Green: 90 or moreAmber: 75 or moreRed: 0 or more0100759017.0.0-rc.117.0.0-rc.1: RCS 35
Table
releaserungateRCSband
17.0.0-rc.12WARN35Red

2. The eight dimensions

Small multiples, so a slow slide in one shows before the total moves. The dashed line is 75: two of three releases below it, or three declines in a row, is a run rule.

Claim coverage
010017.0.0-rc.117.0.0-rc.1: Claim coverage 0
Noise health
010017.0.0-rc.117.0.0-rc.1: Noise health 40
Statistical margin
010017.0.0-rc.117.0.0-rc.1: Statistical margin 90
Rehearsals
010017.0.0-rc.117.0.0-rc.1: Rehearsals 100
Test signal
010017.0.0-rc.1
Requirements traceability
010017.0.0-rc.1
Change risk
010017.0.0-rc.117.0.0-rc.1: Change risk 0
Post-deploy history
010017.0.0-rc.1
Table
releaseClaim coverageNoise healthStatistical marginRehearsalsTest signalRequirements traceabilityChange riskPost-deploy history
17.0.0-rc.104090100––0–

3. Masks, and masks that never fired

Both growing means the harness is going blind: a mask is a blind spot you chose.

masksnever fired

01817.0.0-rc.117.0.0-rc.1: masks 1817.0.0-rc.1: never fired 4
Table
releasemasksnever fired
17.0.0-rc.1184

4. Claims and stale claims

A rising stale count means changelogs are drifting from the code.

claimsstale

04317.0.0-rc.117.0.0-rc.1: claims 4317.0.0-rc.1: stale 28
Table
releaseclaimsstale
17.0.0-rc.14328

5. Hotspot recurrence

The five files touched by the most releases, of 1 with change signals. A file that appears every time is a refactor candidate.

.claude/skills/ears-gherkin-dev/references/audit-codes.md1
.claude/skills/ears-gherkin-dev/references/ears-rules.md1
.claude/skills/ears-gherkin-dev/references/vitest-cucumber.md1
.claude/skills/ears-gherkin-dev/SKILL.md1
.dependency-cruiser.cjs1

6. Per-file risk over time

The change-risk points each file cost, per release with change signals.

filepointsover releases
pnpm-lock.yaml55
.github/workflows/image-build.yml50
.github/workflows/deploy.yml30
.github/workflows/release-dispatch.yml30
apps/catalogue/README.md30
apps/reader/README.md30
apps/catalogue/svelte.config.js25
apps/reader/src/hooks.client.ts20
apps/reader/src/routes/(course-reader)/search/[courseid]/+page.svelte20
Dockerfile20
Per contributor (for trends only)

For trends and glances only, never for reviewing people: the register records countermeasures to the system, and "a person was careless" is never one.

contributorpointsover releases
Jordan Harrison200
Leigh Griffin190
Claude115
Eamonn de Leastar35

Run rules (the andon for trends)

Statistical process control over each dimension and the RCS: three consecutive declines, or two of three releases below 75. They fire on trends, not on a single bad release.

No run rule fires at the newest release.

Open countermeasures only rising: not firing.

Re-runs (each a logged deviation; the trend plots the latest run): 17.0.0-rc.1 ×2, RCS – then 35.

Harness self-health

Is the harness itself getting better? Mutants caught per week, how clean the nightly A/A runs are, and days since the last A/A failure.

57%A/A nights clean, last 30
0days since the last A/A failure
16/16mutants caught, latest week

caughtplanted

0162026-09-282026-10-052026-10-122026-10-192026-09-28: caught 102026-10-05: caught 162026-10-12: caught 162026-10-19: caught 162026-09-28: planted 102026-10-05: planted 162026-10-12: planted 162026-10-19: planted 16
Table
weekcaughtplanted
2026-09-281010
2026-10-051616
2026-10-121616
2026-10-191616