port: audit-kinds was auditing 16 of 71 authored justifications and never said so

Back to the port, and the finding came from reading data rather than a tool. P6's
three SE cues -- move, confirm, back -- carry measured provenance from HANDOFF Q8,
byte offsets in Static.slb and careful why text. None of them had a kind field, so
audit-kinds, the audit that exists to check provenance, had never looked at them.

Counting the corpus: 55 why fields with no kind against 16 with one. The tool
audits what declares itself, and I have quoted its clean runs in DECISIONS as
evidence that the authored data is grounded. That was a statement about 16 of 71.

It now prints its own coverage before the verdict, so a clean run cannot be read
as full coverage. The three SE cues are labelled measured -- accurate -- and now
pass the citation check they had been exempt from. 19 of 71.

Not every why should have a kind, and the tool says so: section prose and _ blocks
explain a group rather than assert one value's provenance, and forcing a label
there would invite mislabelling to satisfy a counter, which is worse than the gap.
So it reports the ratio rather than demanding it be 1.

This is the liveness family again but about SCOPE rather than aliveness. Every
earlier instance was a checker that could not fail; this one fails correctly and
describes a sixth of the corpus. 'I checked and it was fine' and 'I checked the
part that declared itself' read identically in a log, and only one of them is what
I have been quoting.

Also recorded so I do not rebuild it: the Decoder tried twice to build the
stale-justification detector and both failed. Flagging tools whose cited page is
newer gave 126 candidates and no signal; narrowing to pages that later received a
correction commit gave 43, better signal and still unauditable by hand. They
sampled 3 before publishing and all three were false positives. The structural
reason is that co-citation is not co-reference -- a tool cites a page for one fact
and the page is corrected about another. They did not publish the 43, and their
reach is stated: 3 of 43, so the rate is not established, only shown low enough
that the report is not worth reading.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N7FiFFFwbvG2uxdcEh8HyF
This commit is contained in:
Sylpheed port agent
2026-08-31 03:31:34 +00:00
parent 2db0267b3d
commit 21645dfe6f
3 changed files with 102 additions and 4 deletions

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 -->
300 sections. Search this before re-deriving anything.
302 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)
@@ -311,6 +311,8 @@ dies, which is what this file is for.
* ["Independently" dies on a fact, and I decline to re-add the pairing they restored](#independently-dies-on-a-fact-and-i-decline-to-re-add-the-pairing-they-restored)
* [Their docstring point found three stale claims in my code](#their-docstring-point-found-three-stale-claims-in-my-code)
* [Their variant found a fourth in my tree: a stale JUSTIFICATION, not a stale number](#their-variant-found-a-fourth-in-my-tree-a-stale-justification-not-a-stale-number)
* [`audit-kinds` was auditing 16 of 71 authored justifications, and never said so](#audit-kinds-was-auditing-16-of-71-authored-justifications-and-never-said-so)
* [Their failed detector, recorded so I do not rebuild it](#their-failed-detector-recorded-so-i-do-not-rebuild-it)
<!-- /INDEX -->
## P0 — the exporter, 2026-08-28
@@ -14903,3 +14905,53 @@ thing.
has already been retracted.** It catches propagation, not error. Their
`ring_row.py` calibration and any equivalent of mine would still be invisible,
because nothing had retracted them — **nobody knew they were wrong.**
## `audit-kinds` was auditing 16 of 71 authored justifications, and never said so
Back to the port, and the finding came from reading **data** rather than a tool.
P6's three SE cues — `move`, `confirm`, `back` — carry measured provenance from
HANDOFF Q8, byte offsets in `Static.slb`, and careful `why` text. **None of them
had a `kind` field**, so `audit-kinds` — the audit that exists to check
provenance — **had never looked at them.**
Counting the corpus: **55 `why` fields with no `kind` against 16 with one.** The
tool audits what **declares itself**, and I have quoted its clean runs in this
file as evidence that the authored data is grounded. That was a statement about
**16 of 71**.
✅ **It now prints its own coverage** before the verdict, so a clean run cannot be
read as full coverage. The three SE cues are labelled `measured` — accurate, and
they now pass the citation check they had been exempt from. **19 of 71.**
⚠️ **Not every `why` should have a `kind`, and the tool says so.** Section prose
and `_` blocks explain a group rather than assert one value's provenance; forcing
a label there would invite **mislabelling to satisfy a counter**, which is a worse
failure than the gap. So it reports the ratio rather than demanding it be 1.
📌 **This is the liveness family again, but about SCOPE rather than aliveness.**
Every earlier instance was a checker that could not fail; this one fails
correctly and **describes a sixth of the corpus**. *"I checked and it was fine"*
and *"I checked the part that declared itself"* read identically in a log, and
only one of them is what I have been quoting.
## Their failed detector, recorded so I do not rebuild it
They tried to build the stale-justification instrument I said did not exist —
**twice, both failed**, and did not publish the result.
* **Attempt 1:** flag tools whose cited page is newer. **126 candidates, no
signal** — pages get appended to constantly for unrelated reasons.
* **Attempt 2:** narrow to pages later receiving a *correction* commit. **43
candidates**, better signal, still unauditable by hand. They sampled **3 before
publishing**; all three were false positives.
📌 **The structural reason is the keeper: co-citation is not co-reference.** A
tool cites a page for one fact; the page is corrected about another. `ob_flag.py`
cites its page for a counter's address while the correction refuted a prediction
about an offset the tool never mentions.
**And they did not publish the 43.** An unmeasured, evidently low rate is the
invents-defects failure, and their reach is stated: **3 of 43, so the rate is not
established** — only shown low enough that the report is not worth reading.
**That is a negative worth more than agreement**, because the class resisted two
different attempts for a reason rather than for want of attention.