port: close their XPR lead, and find their class in the lane I called clean
They flagged five XPR_* texture toggles as relevant since I consume textures, and my off-edge splash residual -- non-tonal, ~0.5 RMSE above quantisation, no candidate -- has the shape a subtle decode difference would produce. Closed: the toggles live in texture.rs::decode_surface, shared by from_xpr2 and cube_faces_from_xpr2, and my exporter calls neither -- sprites come from t8ad::parse. t8ad.rs reads no environment variables in its 202 lines, so the sprite path has no hidden freedom either. The candidate is eliminated with no replacement. Enumerating what my exporter reaches turned up SYLPHEED_KF_TIME_SHIFT, which they reported as absent from crates/. True on their branch, false on mine: my ui_layout.rs is the stale era and the knob is live at line 497. The pinned tag has 0 occurrences (2 of LEGACY) so export/ cannot be perturbed, but verify-screen builds its reference from the workspace, which can. Tested both directions: with the knob the reference reports rest t=12, the corrected reading, and the era guard passes; without it, t=70 and the guard refuses. So the knob is the working remedy that makes a workspace-built reference usable, and it appeared in no tool, help text or instruction in my tree -- their exact class, in the lane I had just told them was clean. The refusal message now carries the remedy. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N7FiFFFwbvG2uxdcEh8HyF
This commit is contained in:
@@ -9,7 +9,7 @@ dies, which is what this file is for.
|
||||
|
||||
<!-- INDEX: generated by tools/port/index-decisions -- do not hand-edit -->
|
||||
|
||||
214 sections. Search this before re-deriving anything.
|
||||
215 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)
|
||||
@@ -225,6 +225,7 @@ dies, which is what this file is for.
|
||||
* [Auditing headings — and my own index was amplifying the withdrawn ones](#auditing-headings--and-my-own-index-was-amplifying-the-withdrawn-ones)
|
||||
* [Ranking instructions above descriptions — swept, and the worst class is clean](#ranking-instructions-above-descriptions--swept-and-the-worst-class-is-clean)
|
||||
* [Live-but-undocumented flags — and I wrote a dead instruction while fixing dead instructions](#live-but-undocumented-flags--and-i-wrote-a-dead-instruction-while-fixing-dead-instructions)
|
||||
* [Their `XPR_*` lead traced and closed — and their class found in my own lane](#their-xpr_-lead-traced-and-closed--and-their-class-found-in-my-own-lane)
|
||||
|
||||
<!-- /INDEX -->
|
||||
## P0 — the exporter, 2026-08-28
|
||||
@@ -11312,3 +11313,47 @@ that establishes it.
|
||||
costs a reader's belief; **an instruction I get wrong hands them a null result
|
||||
that looks like a finding** — here, "`--no-hold` changes nothing", which is false
|
||||
and would have been reproducible.
|
||||
|
||||
## Their `XPR_*` lead traced and closed — and their class found in my own lane
|
||||
|
||||
They flagged five `XPR_*` texture-decode toggles as relevant *"since you consume
|
||||
textures"*, and my off-edge splash residual — non-tonal, ~0.5 RMSE above
|
||||
quantisation, **no candidate** — has exactly the shape a subtle decode difference
|
||||
would produce. So it was worth tracing rather than filing.
|
||||
|
||||
🔴 **Closed: they cannot reach my sprites.** The toggles live in
|
||||
`texture.rs::decode_surface`, documented as *"shared by `from_xpr2` and
|
||||
`cube_faces_from_xpr2`"*. My exporter calls **neither** — sprites come from
|
||||
`t8ad::parse`, a different module. And `t8ad.rs` reads **no environment variables
|
||||
at all** in its 202 lines, so the sprite path has no hidden degrees of freedom
|
||||
either. **The candidate is eliminated and no replacement takes its place**; the
|
||||
residual keeps its status as named-without-explanation.
|
||||
|
||||
### And a live undocumented remedy in my own lane, which I had called clean
|
||||
|
||||
Enumerating what my exporter can reach turned up `SYLPHEED_KF_TIME_SHIFT` — the
|
||||
variable they reported as *"removed with the record-layout fix, appears nowhere in
|
||||
`crates/`"*. ⚠️ **True on their branch, false on mine**: my `ui_layout.rs` is the
|
||||
stale era, and the knob is live at line 497. Not a contradiction — a branch
|
||||
difference, and my `Cargo.toml:66` already records it.
|
||||
|
||||
✅ **The pinned tag has 0 occurrences of it** (and 2 of `SYLPHEED_KF_TIME_LEGACY`),
|
||||
so it cannot perturb `export/`. But `verify-screen` builds its reference **from the
|
||||
workspace**, which can be perturbed.
|
||||
|
||||
Tested both directions rather than reasoned:
|
||||
|
||||
| | reference reports | era guard |
|
||||
|---|---|---|
|
||||
| `SYLPHEED_KF_TIME_SHIFT=1` | `rest t=12` — the **corrected** reading | **passes**, eras agree |
|
||||
| unset | `rest t=70` — stale | **refuses** |
|
||||
|
||||
📌 So the knob is not a debug curiosity: **it is the working remedy that makes a
|
||||
workspace-built reference usable**, and it appeared in no tool, no help text and
|
||||
no instruction anywhere in my tree. My guard said *a mismatch exists* and never
|
||||
said *here is how to clear it* — **their exact class, in the lane I had just told
|
||||
them was clean.** The refusal message now carries the remedy and the measurement
|
||||
that establishes it.
|
||||
|
||||
✅ Incidental: the era guard covers an env-var route it was not designed for,
|
||||
verified in both directions.
|
||||
|
||||
@@ -172,6 +172,13 @@ if [ -n "$ref_rest" ] && [ "$ref_rest" != "$exp_rest" ]; then
|
||||
echo " reference $CLI says pteff00 rest t=$ref_rest" >&2
|
||||
echo " export/ (built by the pinned exporter) says rest t=$exp_rest" >&2
|
||||
echo " Every row below would compare two decoder eras. Refusing." >&2
|
||||
echo "" >&2
|
||||
echo " REMEDY, verified both directions 2026-08-30: this workspace's" >&2
|
||||
echo " ui_layout.rs is the STALE era and still carries the retired" >&2
|
||||
echo " SYLPHEED_KF_TIME_SHIFT knob, which converts it to the corrected" >&2
|
||||
echo " reading. Re-run with SYLPHEED_KF_TIME_SHIFT=1 and the reference" >&2
|
||||
echo " reports rest t=12, matching the pinned exporter; without it, t=70." >&2
|
||||
echo " The knob is absent from the pinned tag, so it cannot affect export/." >&2
|
||||
exit 2
|
||||
fi
|
||||
mkdir -p "$OUT"
|
||||
|
||||
Reference in New Issue
Block a user