fix(okf-v0.2): generated.by is process:okf-ingest — the id commons decided
v0.5.0a1 shipped the one actor value the spec owner had already excluded. Caught before any pilot was notified, so it costs a tag, not a migration. Commons decided <fast id> = process:okf-ingest on 2026-07-31, on this repo's own proposal, superseding option (d) (process:llm-ingestion-okf) chosen here on 07-27. The exclusion is ingest-spec.md:7-8, frozen on the spec being framework-neutral: normalising OUR repo name into the normative id would force every other conformant implementation to write it into its own output. Verified against three independent sources before touching anything — commons' coord message 20260731T154140Z, their plan :215-216/:244, and their STATE :37. Why this had to land before the pilot notifications rather than after: actor is both the stamp written and the value owned back (OwnershipPolicy), and recognition is one-way. A pilot that had run Test A against the excluded id would hold bundles this library stops recognising the moment the id is corrected — collision_unstamped on their OWN files. That is the A-E5 failure mode, and we would have inflicted it. Worse, it would not have shown up as a failure: the plan's A-E3 expectation (:854) named the same excluded value as the code, so Test A would have PASSED and confirmed the error. Expectation and implementation agreeing is not evidence when both predate the decision. Nothing in the wild carried the old value: OKF_V0_2 did not exist at v0.4.0, so the profile has never been released. v0.5.0a1 is abandoned, not moved — a tag already on a public remote does not get force-pushed, and the history should say plainly that a1 was wrong. A-E3 now records both corrections with dates. The V1 paragraph at :1169 is superseded in place rather than rewritten: its reasoning still holds, only its outcome moved. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CVTup4v7tW9QiVyBENk2LV
This commit is contained in:
parent
af6e6afe36
commit
805a2d50d9
8 changed files with 74 additions and 22 deletions
|
|
@ -851,16 +851,34 @@ output is the baseline. Materialize it twice with the *same* explicit
|
|||
frontmatter block where the profile requires one satisfies A-E2; a diff in
|
||||
body bytes does not.
|
||||
- **A-E3** `generated` is an inline flow mapping
|
||||
`{ by: process:llm-ingestion-okf, at: <ingested_at> }` — not the string
|
||||
`{ by: process:okf-ingest, at: <ingested_at> }` — not the string
|
||||
`true` — and `at` equals the `ingested_at` argument **exactly**.
|
||||
|
||||
**Corrected 2026-07-27**, before the pilot receives the tag. The original read
|
||||
`{ by: llm-ingestion-okf/<version>, ... }`, written before V1 resolved. The
|
||||
actor now carries **no version**, which is the whole point of the change: a
|
||||
producer version inside a byte-compared golden fires regression on every
|
||||
release with no contract having changed. A pilot expectation that outlives its
|
||||
own decision is the A-E6 defect class, so this is sent to po-claude rather than
|
||||
left to surface during their run.
|
||||
**Corrected twice, both times before the pilot receives the tag.** First
|
||||
2026-07-27: the original read `{ by: llm-ingestion-okf/<version>, ... }`,
|
||||
written before V1 resolved, and the actor lost its version — a producer
|
||||
version inside a byte-compared golden fires regression on every release with
|
||||
no contract having changed.
|
||||
|
||||
Then **2026-07-31, and this one changed the actor itself.** Commons decided
|
||||
`<fast id>` = `process:okf-ingest` on our own proposal, explicitly excluding
|
||||
option (d) (`process:llm-ingestion-okf`) that we had shipped in D2. The
|
||||
exclusion is `ingest-spec.md:7-8`, frozen on the spec being framework-neutral:
|
||||
normalising *our* repo name would force every other conformant implementation
|
||||
to write it into its own output. This landed in code, in the byte-compared
|
||||
fixture, and here **before any pilot was notified** — `v0.5.0a1` carried the
|
||||
excluded id and was abandoned unused for `v0.5.0a2`.
|
||||
|
||||
Catching it late would have been expensive in a specific way worth recording:
|
||||
`actor` is both the stamp written and the value owned back
|
||||
(`OwnershipPolicy`), and recognition is one-way. A pilot that had run Test A
|
||||
against the excluded id would hold bundles this library stops recognising the
|
||||
moment the id is corrected — `collision_unstamped` on their *own* files, which
|
||||
is exactly the A-E5 failure mode, inflicted by us.
|
||||
|
||||
A pilot expectation that outlives its own decision is the A-E6 defect class,
|
||||
so both corrections are sent to po-claude rather than left to surface during
|
||||
their run.
|
||||
- **A-E4** `sources` is present as an inline flow sequence of one flow mapping —
|
||||
`[{ id: <source id>, resource: <source reference> }]` — carrying at least a
|
||||
`resource` derived from the manifest's source. **Corrected 2026-07-26** from
|
||||
|
|
@ -1164,8 +1182,16 @@ Either way the decision is the operator's via commons' queue, not ours. Our only
|
|||
ask: if (d) is ratified, we want it before freezing a v0.2 fixture carrying
|
||||
`generated`, so the regeneration happens once.
|
||||
|
||||
**Settled for OUR profile 2026-07-27 — and only for ours.** The operator chose
|
||||
(d) for `OKF_V0_2`, which shipped in D2 as
|
||||
**Settled for OUR profile 2026-07-27 — and only for ours. SUPERSEDED 2026-07-31:
|
||||
the actor is `process:okf-ingest`, and option (d) is excluded.** Commons decided
|
||||
the fixed id on our own proposal, and `ingest-spec.md:7-8` — frozen on the spec
|
||||
being framework-neutral — is what excludes (d): our repo name in the normative
|
||||
id would force every other conformant implementation to write it into its own
|
||||
output. The paragraph below is kept as written because its *reasoning* still
|
||||
holds and only its outcome moved; the ask it describes was discharged in the
|
||||
direction we control, just not at the value we first chose.
|
||||
|
||||
The operator chose (d) for `OKF_V0_2`, which shipped in D2 as
|
||||
`OwnershipPolicy(actor="process:llm-ingestion-okf")`. Keep the two apart: V1 as
|
||||
raised is about `DEFAULT`'s `generated`, and `DEFAULT` states **commons'** §5
|
||||
layer, so that half stays in their ratification queue as item 8 and is not
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue