docs(okf-v0.2): U8 — sources replaces the citations LIST, not the attribution
Per-claim attribution moves to a markdown footnote keyed to a sources[].id (SPEC §4.2 :224-225, §5.1 :347-360), and the shipped acme_retail bundle carries it inside a schema table. Our supersession row stated the destination and not the mechanism, so a consumer following it would migrate the list and drop the claim->source binding. Measurable at the pinned commit the whole time; surfaced by Google's launch post 2026-07-27. U1-U7 measured frontmatter in all four reference bundles and walked past the bodies. V-A1's discharge is narrowed rather than reworded: the pin holds, the reading's depth did not. Consequence outside the doc: the v0.2 exposure report sent to the wiki states the incomplete half under the heading that exists to size their cost. Correction owed, same class as A-E3.
This commit is contained in:
parent
aac765fa5a
commit
e5e574df86
1 changed files with 46 additions and 0 deletions
|
|
@ -50,6 +50,17 @@ Minor correction while pinning: `CLAUDE.md` says v0.2 shipped 2026-07-25. The
|
|||
commit dates say 2026-07-24. Not load-bearing, but it was asserted rather than
|
||||
measured.
|
||||
|
||||
**Narrowed 2026-07-27: the discharge covers frontmatter, not bodies.** U8 records
|
||||
a §5.1 mechanism — per-claim footnote attribution — that sits in the pinned
|
||||
`SPEC.md` and in the shipped bundle bodies, and that this enumeration missed. The
|
||||
heading stays "DISCHARGED" because the pin itself holds and every fact below was
|
||||
read at it; what failed was the reading's *depth*, and the correction is to say
|
||||
so rather than to quietly widen the claim. Practical rule taken forward: a bundle
|
||||
is frontmatter **and** body, and "we read the bundles" is not evidence that we
|
||||
read either half in particular. The cheapest form of this check is a local clone
|
||||
at the pin, where a grep covers the tree instead of the files we thought to
|
||||
fetch — see the runbook.
|
||||
|
||||
## Grounding against upstream's own reference bundles (2026-07-26)
|
||||
|
||||
The spec was read in session 19. **The shipped examples were not**, and reading
|
||||
|
|
@ -181,6 +192,31 @@ we could not locate in the spec sections read. It is either a v0.1 field we neve
|
|||
enumerated or an undocumented one. **Not resolved**, recorded so it is not
|
||||
mistaken for something already checked. It touches nothing in the tag.
|
||||
|
||||
### U8 — Per-claim attribution is a BODY convention, and we read only frontmatter
|
||||
|
||||
Added 2026-07-27. `sources` does not replace `# Citations` on its own: §5.1 binds
|
||||
a claim to a source with a markdown footnote whose label is a `sources[].id`, and
|
||||
`bundles/acme_retail/tables/orders.md:31-36` ships exactly that — footnote
|
||||
references inside a schema table.
|
||||
|
||||
**This was measurable at the pinned commit the whole time.** It surfaced from
|
||||
Google's launch blog post on 2026-07-27, but the blog is not the source: the
|
||||
convention is in the `SPEC.md` we had already pinned and read. U1–U7 measured
|
||||
frontmatter in all four reference bundles and walked past the bodies, so the
|
||||
enumeration was frontmatter-deep rather than complete. The runbook's rule — read
|
||||
the shipped bundles, not only the spec — was followed in letter and half in
|
||||
substance, because a bundle is frontmatter *and* body.
|
||||
|
||||
What it changes, and what it does not:
|
||||
|
||||
- **Nothing in emission.** Door A renders tables and fenced blocks and writes no
|
||||
citations at all; Door C writes bodies verbatim. There is no defect here.
|
||||
- **The exposure advice, which we had already sent.** The v0.2 exposure report to
|
||||
the wiki (2026-07-26) states the supersession as "`# Citations` → `sources`"
|
||||
under the heading that exists to size their cost. Accurate and incomplete; a
|
||||
correction is owed and is the same class as A-E3's.
|
||||
- **V-A1's discharge is narrower than it reads.** See the provenance section.
|
||||
|
||||
### What this changes
|
||||
|
||||
Tag requirement 1 was re-sized (U4 → requirement 1): the emitter turns out not to
|
||||
|
|
@ -200,6 +236,16 @@ consumer fallback (§13.1):
|
|||
| `timestamp` | `generated.at` | Consumers **MAY** fall back to legacy `timestamp` **when `generated` is absent** |
|
||||
| body `# Citations` list | `sources` frontmatter | Consumers **SHOULD** read `sources`, **MAY** still parse legacy `# Citations` |
|
||||
|
||||
**The `# Citations` row states where provenance goes, and that is only half the
|
||||
supersession.** Per-claim attribution moves to a **markdown footnote in the body
|
||||
whose label is a `sources[].id`** (§4.2 `:224-225`, §5.1 `:347-360`), and the
|
||||
labels are keyed rather than positional precisely because agents rewrite these
|
||||
documents — a positional index misattributes silently the moment the list is
|
||||
reordered. So a consumer who moves a `# Citations` list into `sources` and stops
|
||||
there has migrated the list and dropped the claim→source binding. No RFC-2119
|
||||
keyword attaches to the footnote form itself; §13.1's SHOULD/MAY governs the
|
||||
supersession. Recorded 2026-07-27 — see U8.
|
||||
|
||||
Additive, all optional upstream (§5) — and all in scope for us under the standing
|
||||
policy: `sources` (per-source credibility signals — `author`, `usage_count`,
|
||||
`last_modified`, framed by `usage_window`), `generated { by, at }`,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue