# PREREG — "The move" · PUBLIC RENDITION

The registered file is sha-pinned AS WRITTEN (its sha in PREREG-INDEX covers the
unredacted text, which names internal machines). This public copy substitutes
hardware classes for internal names — every substitution marked [class] — and
changes nothing else: no figure, rule, date, or clause differs.

Registered before any scored call. Two instruments, one story: the same serving
bench the chair trials ran against the laptop era, re-run against the VPS era —
plus the app's own banked timing receipts, which neither era knew were being
collected for this purpose (they were collected because the debug law says every
derived value keeps its provenance).

## Instrument A — the C6 serving bench, re-run (BINDING)

- **Golden asks:** `golden/c6-asks.json`, sha256 `31817ea02bb5f107…` (this copy
  must equal the chair trials' frozen set byte-for-byte; assert before running).
- **Pattern, verbatim from PREREG-C6:** the drip (10 asks at ~10 s cadence), the
  game-night burst, the concurrent pair, the cold visitor. Same cadences, same
  ask order, same public hostname.
- **Zero adaptations — the instrument runs VERBATIM.** c6_drip.py has always
  measured POST -> wait page -> poll -> redirect to /ruling/N -> ruling bytes in
  hand; wall_s never counted a POST acknowledgment as an answer. v0.154.0 changed
  the wait page's internals (streaming render), and the instrument is indifferent
  to that: completion is the ruling redirect in both eras. Verified against the
  live app before registration (the wait page still 302s to /ruling on
  completion). This makes the wall-time comparison direct, not caveated — the
  jar-era note shrinks to a footnote about the wait page's cosmetics.
- **Per-ask record:** wall-to-ruling, the app's own timing strip (search /
  queue-wait / generation / ask / total ms), HTTP codes, the GPU box [class] warm/cold state at
  send (from /api/ps, read-only).
- **Window:** a QUIET window — the matching criterion is quiet, not clock hour.
  AMENDED 2026-08-13T20:0xZ, before any scored call: originally registered as a
  matched evening window; the operator's ruling moved it to a weekday afternoon
  because these apps' real users arrive in the evenings and on weekends (games
  and walks), so an afternoon run is both quieter and kinder. The hour, and the
  co-resident load as found, are recorded with the run. The bench box is
  the bench client [class], the same client the 08-12 run used.
- **What binds:** completion rate (every ask lands a ruling page) and the
  registered tie language: wall-time differences under 15% read TIED; search-arm
  differences under 15% read TIED. No floors — this leg describes a move, it
  does not rank one.

## Instrument B — the banked receipts (DESCRIPTIVE)

- **Artifact:** `results/ruling-debug-timings-asof-20260813.csv`, sha256
  `fbaf744b92de119a…`, 2,894 rows, 2026-07-09 → 2026-08-13, extracted read-only
  from the production `ruling_debug` table on 2026-08-13.
- **Era cut:** rows with `created_at < 2026-08-13T14:48Z` are the laptop era
  (2,878); rows at or after are the VPS era (16 at extraction; the write-up
  re-extracts at authoring time and states the new count and date).
- **Counting rules:** medians and p10/p90 per era per column; the search_ms
  distribution is the headline (the retrieval leg is jar-independent); ask_ms /
  generation_ms comparisons carry the sync→async caveat and the the GPU box [class]-path note
  (generation crossed a LAN in the laptop era, a private tunnel [class] now). Rows with
  NULL in a column are excluded from that column's statistics and counted in a
  printed exclusions line. No row is deleted from the artifact.
- **Honesty line:** these are as-served receipts, not a controlled experiment —
  different questions, different days, different loads. They ride BESIDE the
  controlled re-run, never inside it.

## The write-up (registered intentions)

Fold dialect + units law from birth. The memoir thread as ruled by the operator
2026-08-13: the retiring server named as a mobile RTX 4070 ("8 GB" on paper,
~6 GB usable; the exact naming phrase goes to the redaction allowlist with the
authorization cited), the spillover era, the voice trials' era-one tie-back, the
accidental production years (Postgres on a home LAN, dev box and prod box at
once), the handoff. Machine-readable kit (both instruments' rows), CC BY 4.0.
Hostile-reader form everywhere else: hardware classes and network shapes, never
box names or addresses.
