docs(okf): STEG 4 — tighten §3 on okf_version/okf_layout (non-enforcing)
§3's okf_version MUST now states the value is the upstream OKF version alone; a plugin's own layout revision belongs in the optional okf_layout marker (§12). Marked explicitly NOT YET ENFORCED — no checker validates the value's shape, so an emitter still carrying a layout string conforms today. No convention version bump: §12 ties a bump to a change in the §3 floor, and the set of conforming bundles is unchanged (a clarification, deliberately inert). Non-enforcing is the deliberate shape. okr ratified the split and owns the migration, but their scripts/okf-* are file-fenced frozen through the 1.8.0 consolidation. Enforcing okf_layout presence now would redden the STEG 3 parity gate on okr with nothing they could do until that ships. Enforcement is a separate scoped step after their migration lands. log.md records the round's other settled items, each verified against ground truth rather than accepted as asserted: the roll-up carrier is a no-op for the public-mirror class (builder tolerates absence by design); the catalog runs no index.md generator (read-side only), so commons' inherited item is stale; the okf_version ruling already existed in §12; and the catalog's okf-check.mjs is NOT byte-identical to okr's (141 differing lines), so parity here is behavioural over the §3 floor in default read-mode via check-okf-parity.mjs — never byte identity. Verified: suite 73/73, check-okf-parity 8/8 exit 0, check-versions 11 OK/0 WARN/ 0 ERROR. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CPHvLhn2U3j2XD3Cn8zeYa
This commit is contained in:
parent
d0dbf8e4f7
commit
9ca2c8bdaf
2 changed files with 33 additions and 1 deletions
|
|
@ -206,6 +206,35 @@ protocol; 🟢 is reserved for the independent gate-verified step (operator veri
|
|||
nav-golden set (future cases additive, non-moving); Q2 the goldens derive from settled §3 Step 1.
|
||||
Verified: `check-nav-golden` 10/10; gate CLI → exit 0 (2 fixtures PASS — hierarchy 5 concepts / escape 1,
|
||||
`okf_version` 0.1, goldens present); full suite **73/73** across the six test files. _(catalog session.)_
|
||||
- **2026-07-25** — **STEG 4: §3 tightened (non-enforcing) on the `okf_version` / `okf_layout` split.**
|
||||
§3's `okf_version` MUST now states the value is the **upstream version alone**, with a plugin's own
|
||||
layout revision belonging in the optional `okf_layout` marker (§12) — and marks itself **not yet
|
||||
enforced**: no checker validates the value's shape, so an emitter still carrying a layout string
|
||||
conforms today. **No convention version bump** — §12 ties a bump to a change in the §3 *floor*, and
|
||||
the set of conforming bundles is unchanged (a clarification, deliberately non-enforcing).
|
||||
**Why non-enforcing (okr's answer, received via coord):** okr ratified the split and owns the
|
||||
migration, but `scripts/okf-*` is file-fenced **frozen** through their 1.8.0 consolidation (Wave 4/6);
|
||||
the migration runs as scoped work right after release. It is an **ETA, not an open blocker** — their
|
||||
field is pure echo text with no validation semantics, so they do not fail the gate meanwhile. Making
|
||||
§3 *enforce* `okf_layout` presence now would redden the STEG 3 parity gate on okr with nothing they
|
||||
could do until 1.8.0 ships. Enforcement is therefore a separate scoped step, after their migration.
|
||||
**Also settled this round (all verified against ground truth, not accepted as asserted):**
|
||||
(a) **D2 roll-up carrier is a no-op for the public-mirror class** — `build-rollup-register.mjs`
|
||||
defaults `carrierMode` to `absent` and only `committed` reaches output B, so okr, ms-ai-architect and
|
||||
claude-code-llm-wiki are excluded **by design**, never reported as missing/malformed; no code change.
|
||||
(b) **The catalog runs no `index.md` generator** — read-side only (`okf-check.mjs:45`,
|
||||
`check-nav-golden.mjs:48`); commons' inherited "catalog regenerates index.md" item (ingest-spec §6)
|
||||
is **stale** and needs no §6 ruling. (c) **`okf_version` ruling already existed** — spec §12 (lines
|
||||
174–186) settled it; llm-ingestion-okf was pointed at the written text rather than issued a new one.
|
||||
(d) **Correction issued to llm-ingestion-okf:** their premise that the catalog's `okf-check.mjs` is
|
||||
"vendored byte-identical from okr" — and thus their Phase 4 conformance oracle — is **false**
|
||||
(141 diff lines; okr's copy adds `strictIngest`, `files` scoping, `innboks`/dot-dir exclusion and
|
||||
`lib/` deps). Parity here is **behavioural on the §3 floor in default read-mode**, gated by
|
||||
`check-okf-parity.mjs`, never byte identity; their impl's real entry point is that gate's n-way
|
||||
`IMPLS` registry behind `available()`, not a catalog `ref` (they are not a marketplace plugin, and
|
||||
`check-versions.mjs`/`release-plugin.mjs` operate only over `marketplace.json` entries).
|
||||
Verified: full suite **73/73** across the six test files; `check-versions` 11 OK · 0 WARN · 0 ERROR.
|
||||
_(catalog session.)_
|
||||
|
||||
## Distilled architecture notes (OKF round, 2026-07)
|
||||
|
||||
|
|
|
|||
|
|
@ -44,7 +44,10 @@ file path minus `.md`.
|
|||
- **MUST** — every directory level has an `index.md` (directory enumeration, **no frontmatter**,
|
||||
carries progressive-disclosure prose).
|
||||
- **MUST** — the bundle-root `index.md` carries an `okf_version` marker (the upstream OKF version the
|
||||
bundle targets, currently `0.1`).
|
||||
bundle targets, currently `0.1`). The value is the **upstream version alone**; a plugin's own layout
|
||||
revision belongs in the optional `okf_layout` marker (§12), never here. **Not yet enforced** — no
|
||||
checker validates the value's shape, so an emitter still carrying a layout string here conforms
|
||||
today. Enforcement waits until the emitters have migrated (`log.md`, STEG 4).
|
||||
- **MUST (consumers)** — preserve unknown frontmatter keys, tolerate unknown `type` values, tolerate
|
||||
broken cross-links.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue