port: a reproduce recipe naming a path off this repo is not a recipe

From the Decoder's catch at shutdown, not my own. They found their Canary logger
change -- the texture content hash -- living UNCOMMITTED in /canary, a checkout
pushed nowhere. Two committed findings could not be reproduced without it: it is
the field separating "the buffer rotated" from "a frame was decoded", and its
absence is what cost two withdrawn positions on units/second in one day. They
committed it and exported it into the repo as a patch.

Their generalisation applies here too, so I audited this side at the same moment.

One real instance: DECISIONS.md cited
`/reborn/docs/re/captures/main-menu-oracle.png` as the evidence for a decision.
The capture IS in the repository, at docs/re/captures/main-menu-oracle.png --
only the path was stale, left by the monorepo move. Fixed. The other /reborn
mentions are deliberate: one warns the mount is empty, one is a table row listing
the pattern as an example of what not to do.

⚠️ tools/port/check-citations does NOT catch this class, and the gap is named
rather than quietly left: it scans for REPO paths that fail to resolve, and an
absolute path is not a repo path, so it slips through. Extending it to flag
off-repo absolutes -- especially ones whose basename does resolve in-repo, the
recoverable case -- is the obvious next increment and is deliberately NOT done
here. It was found minutes before a shutdown, and a hasty checker is worse than a
named gap.

Index regenerated.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018AHUQvXGyNcKonSEWsgWcX
This commit is contained in:
Sylpheed port agent
2026-09-01 19:57:50 +00:00
parent 975d24def2
commit 7a0318c2c0

View File

@@ -9,7 +9,7 @@ dies, which is what this file is for.
<!-- INDEX: generated by tools/port/index-decisions -- do not hand-edit -->
338 sections. Search this before re-deriving anything.
339 sections. Search this before re-deriving anything.
* [P0 — the exporter, 2026-08-28](#p0--the-exporter-2026-08-28)
* [P1 — Godot draws the screen, 2026-08-28](#p1--godot-draws-the-screen-2026-08-28)
@@ -349,6 +349,7 @@ dies, which is what this file is for.
* [🔴 Refuted: my kind census was a two-screen generalisation, one message after I criticised theirs](#refuted-my-kind-census-was-a-two-screen-generalisation-one-message-after-i-criticised-theirs)
* [🔴 Refuted: the sweeps DO run on the menu, and my instrument was measuring my own renderer](#refuted-the-sweeps-do-run-on-the-menu-and-my-instrument-was-measuring-my-own-renderer)
* [The plate's highlight is additive — and my harness poses it at the one phase where it is invisible](#the-plates-highlight-is-additive--and-my-harness-poses-it-at-the-one-phase-where-it-is-invisible)
* [🔴 A reproduce recipe that names a path off this repo is not a recipe](#a-reproduce-recipe-that-names-a-path-off-this-repo-is-not-a-recipe)
<!-- /INDEX -->
## P0 — the exporter, 2026-08-28
@@ -670,7 +671,7 @@ transparent. The keyframes say they slide (620,108)→(440,108) and (403,267)→
(583,267) while fading 0x00→0xff, and then hold that pose for their last three
keyframes including the untimed one.
`/reborn/docs/re/captures/main-menu-oracle.png`, a capture of the running game,
`docs/re/captures/main-menu-oracle.png`, a capture of the running game,
**shows them**: the bright circuit-frame bracket around the menu, with a ring at
the bottom right. Cropping the same 250×180 region from the capture and from
both renders puts the ring and its elbow trace in the port's timeline render
@@ -16556,3 +16557,34 @@ check, and it is theirs.
confirm. It disturbs only the claim that I could pose my renderer at their captured
instant by stepping units — so the vertex alpha remains the right readout, and
**inferring the phase from a frame index would have been wrong.**
---
## 🔴 A reproduce recipe that names a path off this repo is not a recipe
Recorded 2026-09-01, at shutdown, from the Decoder's catch rather than my own.
They found their Canary logger change — the **texture content hash** — living
uncommitted in `/canary`, a checkout pushed nowhere. Two committed findings could
not be reproduced without it: it is the field that separates *"the buffer
rotated"* from *"a frame was decoded"*, and its absence is what cost two withdrawn
positions on `units/second` in a single day. They committed it and exported it
into the repo as `tools/canary-patches/0001-content-hash-in-ui-draw-logger.patch`.
**Their generalisation, which applies here too:** a finding whose reproduce recipe
names a `/canary` sha — or any path outside this repository — is not reproducible.
Audited on this side at the same moment. One real instance: this file cited
`/reborn/docs/re/captures/main-menu-oracle.png` as the evidence for a decision.
**The capture is in the repository** at `docs/re/captures/main-menu-oracle.png`;
only the path was stale, left by the monorepo move. Fixed above. The other
`/reborn` mentions are deliberate — one warns that the mount is empty, one is a
table row listing the pattern as an example of what not to do.
⚠️ `tools/port/check-citations` does **not** catch this class. It scans for repo
paths that fail to resolve; an *absolute* path is not a repo path and slips
through. Extending it to flag off-repo absolutes — especially ones whose basename
does resolve in-repo, which is the recoverable case — is the obvious next
increment and is **not** done here, because it was found minutes before a
shutdown and a hasty checker is worse than a named gap.