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
|
commit dates say 2026-07-24. Not load-bearing, but it was asserted rather than
|
||||||
measured.
|
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)
|
## Grounding against upstream's own reference bundles (2026-07-26)
|
||||||
|
|
||||||
The spec was read in session 19. **The shipped examples were not**, and reading
|
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
|
enumerated or an undocumented one. **Not resolved**, recorded so it is not
|
||||||
mistaken for something already checked. It touches nothing in the tag.
|
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
|
### What this changes
|
||||||
|
|
||||||
Tag requirement 1 was re-sized (U4 → requirement 1): the emitter turns out not to
|
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** |
|
| `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` |
|
| 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
|
Additive, all optional upstream (§5) — and all in scope for us under the standing
|
||||||
policy: `sources` (per-source credibility signals — `author`, `usage_count`,
|
policy: `sources` (per-source credibility signals — `author`, `usage_count`,
|
||||||
`last_modified`, framed by `usage_window`), `generated { by, at }`,
|
`last_modified`, framed by `usage_window`), `generated { by, at }`,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue