GENERATED VIEW · PRIVATE ARCHIVE · DO NOT SERVE
RobCo Industries · Archive Museum

Growth



STRIP-CHART RECORD · ONE CONTRIBUTOR · TWO MONTHS

Every number here is read from the application repository at generation time: line and file counts from the release tags themselves, dates from the changelog's own release markers, and check counts measured directly — each tag exported clean and its own declared runner executed, never copied from what the changelog happened to say. Each measure is charted on its own axis, in its own units, from zero. Nothing here is normalised, indexed, or scaled to fit another series — an earlier version of this exhibit plotted checks and code lines together against a single axis that applied to only one of them, which made a coincidence of scaling look like a finding.

This exhibit charts SHIPPED RELEASES ONLY, and is pinned to v2.8.5. A chart pinned to a moving branch describes a build that existed for one afternoon; pinned to a release it describes the published thing, which is the only version a reader could go and look at. Unreleased work is not hidden — the commit trace below keeps going past the pinned release's cut mark — it is simply not charted as a release until it is one.

120,045Code lines
at v2.8.5, the pinned release
050k100k150k200kCODE LINESCOMMITS/DAY10002026-06-24: 23 commits2026-06-25: 5 commits2026-06-26: 54 commits2026-06-27: 49 commits2026-06-28: 29 commits2026-06-29: 45 commits2026-06-30: 48 commits2026-07-01: 10 commits2026-07-02: 26 commits2026-07-03: 21 commits2026-07-04: 25 commits2026-07-05: 5 commits2026-07-06: 23 commits2026-07-07: 7 commits2026-07-08: 11 commits2026-07-09: 4 commits2026-07-10: 15 commits2026-07-11: 23 commits2026-07-12: 7 commits2026-07-13: 10 commits2026-07-14: 8 commits2026-07-15: 18 commits2026-07-16: 3 commits2026-07-17: 12 commits2026-07-18: 20 commits2026-07-19: 4 commits2026-07-20: 13 commits2026-07-21: 29 commits2026-07-22: 12 commits2026-07-23: 9 commits (after the pinned release — in-flight work)2026-07-24: 1 commit (after the pinned release — in-flight work)5406/2407/0407/1407/24

TAP A RELEASE CUT MARK — OR A CHIP BELOW — TO READ THAT SPAN

CHECKS ARE INVENTORY, NOT CONFIDENCE. The measured check count is how many checks executed when each tag's own declared runner was run against a clean export — nothing more. Where it differs from the changelog's hand-recorded figure, the Δ is shown: the measurement matches exactly at the early releases, then drifts at the later ones — which is the hand-synced number drifting, and is why the application retired the rule that maintained it.

FILES TRACKED IN THE APPLICATION REPOSITORY
every tracked file at each release tag, not code files only · axis in files, from zero
050100150200FILES06-2406-2506-2606-2706-2806-3007-1007-22v1.6.8 (2026-06-24, released): 28 files28v2.0.0 (2026-06-25, released): 30 files30v2.0.1 (2026-06-26, released): 32 files32v2.5.0 (2026-06-27, released): 61 files61v2.6.0 (2026-06-28, released): 63 files63v2.7.0 (2026-06-30, released): 68 files68v2.8.0 (2026-07-10, released): 79 files79v2.8.5 (2026-07-22, released): 134 files134 released unreleased (in flight)

Every point is a shipped release, measured from its tag. The series runs to v2.8.5, the release this museum is generated for. There is no in-flight point: this exhibit describes released history, not work in progress.

AUTOMATED CHECKS EXECUTED AT EACH RELEASE — MEASURED
checks that actually executed when each release tag's own declared test runner was run · axis in checks, from zero
01,2502,5003,7505,000CHECKS06-2706-2806-3007-1007-22v2.5.0 (2026-06-27, released): 747 checks747v2.6.0 (2026-06-28, released): 1,078 checks1,078v2.7.0 (2026-06-30, released): 1,543 checks1,543v2.8.0 (2026-07-10, released): 2,938 checks2,938v2.8.5 (2026-07-22, released): 3,529 checks3,529 released unreleased (in flight)

Every point is a shipped release, measured from its tag. The series runs to v2.8.5, the release this museum is generated for. There is no in-flight point: this exhibit describes released history, not work in progress.

COUNT IS INVENTORY, NOT CONFIDENCE. This is how many checks ran, and nothing more. It does not measure coverage; a large share of the counted checks are static source checks rather than behavioural tests; and a passing check is not evidence that it would catch the defect it names.

MEASURED, NOT COPIED — and the distinction is visible in the numbers. Each point is produced by exporting that release tag to a clean directory, running the runner the tag's own package.json declares, and counting the checks that executed. The changelog also records a Tests: figure per release, and the museum does not use it. Where the two disagree, the table below shows both: measurement reproduces the recorded figure exactly at the earlier releases and then diverges at the later ones — which is the hand-synced number drifting, and is the reason the application retired the rule that maintained it.

WHY MEASURING A RELEASED COUNT IS NOT THE RETIRED OBLIGATION RETURNING. On 2026-07-20 the application retired Protocol 2a, the rule that hand-synced a live test count across its documents, on the grounds that the number guarded no behaviour. What that retired was the obligation to keep a MOVING number in step across many files. It explicitly kept the frozen counts on released changelog entries, as history. These points are that same class of fact: each is measured once, about a finished release, at a commit that can never change, and is never updated again. Nothing has to be kept in step with them. There is deliberately NO in-flight point — a live count would be the retired obligation, and this exhibit does not compute one.

ReleaseDateCode linesFilesChecks — MEASUREDChecks — recorded in changelog
v2.8.5 ← PINNED2026-07-22120,0451343,529
v2.8.02026-07-1094,435792,938 Δ-132,951
v2.7.02026-06-3036,879681,543 Δ-141,557
v2.6.02026-06-2826,917631,0781,078
v2.5.02026-06-2721,80261747747
v2.0.12026-06-2613,53032— not measured258
v2.0.02026-06-2512,34630— not measured206
v1.6.82026-06-248,97528— not measured206

The last two columns are different kinds of claim and are never merged. MEASURED is produced by this build: the release tag is exported to a clean directory, the runner that tag's own package.json declares is run, and the checks that executed are counted. RECORDED is the Tests: figure a human wrote into the changelog on release day. Where they disagree the difference is shown as Δ — the measurement reproduces the recorded figure exactly at the earlier releases, which is what makes the later divergence readable as the hand-maintained number drifting rather than as a broken measurement.

A dash means the measure does not exist for that point, not zero. One check fails in every measurement run because it inspects .git/hooks/pre-commit, which a clean export does not contain — that is an environmental failure of the measurement, not a defect in the release, and it is counted in the total because a check that ran and failed still ran.

Top trace: code lines in .js/.mjs/.css/.html, measured from each release tag — own axis, from zero. Bottom trace: commits per day, all refs, from git log — own axis, every day in the window zero-filled. Span stats are git diff between consecutive tags, lockfile excluded.

STAMP · generated for RELEASE v2.8.5 commit 06e5180 (06e51801b38a) · archive input-tree hash c07fbfbdd2e1ddeb · 754 files · no wall-clock timestamp (regenerates identically when nothing changed).