Changes touching this path
- loot-perf: the harness crate with fixture, measurement, and record seams (#634)
ef9fd595 · dbf3dbe6… - Record the per-land perf point as append-only docs/benchmarks/series.jsonl (#636)
7b1c78d7 · dbf3dbe6…diff - loot-perf: the CLI tier — hyperfine-timed push, receiver-counted wire bytes, raw samples and load on the record (#635)
3588811d · dbf3dbe6…diff - loot-perf: the CLI tier — hyperfine-timed push, receiver-counted wire bytes, raw samples and load on the record (#635) (conflict resolution: crates/loot-perf/src/record.rs)
6533dd77 · dbf3dbe6…diff - the pre-land perf gate: counters block at 0 percent, timing warns, and a lane pins itself (#637)
52a2341e · dbf3dbe6…diff - loot-perf: the loot arm stamps the finalized tip, never the working id finalize replaces (#713)
ceba8e06 · dbf3dbe6…diff - the perf record becomes a directory of one-file points, so two lands no longer collide on the last line, and a point names its PR (#740)
The record was the repo's worst conflict surface: every land appended to the tail
of docs/benchmarks/series.jsonl, so two lands always collided on the last line —
6 of the 38 conflict-resolution commits on main name that one file. It is now
docs/benchmarks/series/<change>.json, one file per point, so lands touch disjoint
paths. The pre-#740 jsonl stays where it is and is read as the older head of the
same series; migrating it would have been one last whole-file rewrite of exactly
the file this was about.
A point also carries the PR it landed under. A bounce recovery mints a new change
id, so one shipped thing can leave four points, each measuring a genuinely
different tree — none may be suppressed, and the PR is what says they are one
thing. It is also the record's only join back to git log: landed_change is the
durable change id, while the projected trailer carries the version id, so no id
in the record has ever matched anything in git.
The land's write is still a verbatim copy of the gate binary's stash (#712); the
stash itself stays a single-line jsonl, since it is a temp handoff merged by
nobody. The file-name rule is duplicated in loot-first, which may not link
loot-perf, and pinned by a test on both sides.
c393beef · dbf3dbe6…diff - the repo never goes public, so the anonymous download path moves to R2 (#652)
#652 recorded a gate: flipping this repo public discloses sealed
docs/pitch/zk-host.md through PR #161 surviving refs/pull/161/head, verified
live 2026-07-30. Re-swept today across 321 PR head refs (up from 242), two ways
-- still exactly one carrier, unchanged. But the gate own remedy needs GitHub
Support, is not self-service, and has no date.
ADR 0045 stops waiting. The repo stays private permanently, and the anonymous
artifact path moves to Cloudflare R2 at dl.millerbyte.com instead. Attestations
are out rather than deferred; sha256 is the integrity story by decision.
Build: #806 DNS zone move, #807 R2 artifacts, #808 installer retarget and the
smoke test back on, #809 the Install page attestation claim.
ADR 0037 is superseded in two places and docs/specs/loot-site.md in three,
marked in place with dated blocks. The comments that called #652 a temporary
gate now say permanent, and CONTEXT.md no longer calls the GitHub mirror public.
9a04ab6f · dbf3dbe6…diff - the land gate stops watching only what a run produces and starts watching what it does, because two work counters now ride the untimed batch it was already measuring so they cost no fixture, no repetition and no workload_id move and orphan no baseline, while the twelve opt-in timings stay ungated on the argument that a timing is dropped by the load policy exactly on the busy machine a land runs on, and the count feature stays off by default because turning it on in a manifest was measured to change the loot.exe a plain workspace build produces (#1602)
f641ea1d · dbf3dbe6…diff
Renames are not followed. loot's tree maps a path to an address, so a rename is a delete and an add. This list is the history of the name, not of the bytes.