fix(skill): regenerate skills/okf-consume from the golden bundle it ships a payload for

The hand-filled skill predated `okf skill`, declared no bundle identity,
and was refused by the checker it tells its reader to run, against the
payload shipped beside it:

  NOT conformant: 16 rules over 3 excerpts and 0 withheld entries, 1 findings
    bundle_mismatch: the skill declares no readable bundle identity, ...

It is now the generator's output for
examples/ingest-golden-segmented-okf-v0-2/expected-bundle, the bundle the
payload always came from:

  conformant: 16 rules over 3 excerpts and 0 withheld entries, 0 findings

The payload's bytes do not move. --force and --example-question are both
required: without the question the payload is a different one (spent
2125 -> 1420, delivered 3 -> 2, withheld 0 -> 1) and the byte test fails.
`okf skill` writes the bundle root and the skill path absolute when --out
is not under .claude/skills/, so the checkout prefix is stripped in one
mechanical step that a test holds; the generator is unchanged.

The frontmatter name becomes b-golden-segmented-okf-v0-2-consume. Claude
Code takes a project skill's command from its directory, which stays
okf-consume, and nothing in this repository named the skill by name.
references/README.md is rewritten by hand with the full regeneration
command; living prose in README, CLAUDE.md, the test comment and the
skill.py docstring is corrected, dated journals are left as written.

Report: docs/2026-09-11-k3-runde18-konsumskillen-regenerert.md

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-09-11 02:21:35 +02:00
commit 6858ff2d35
8 changed files with 397 additions and 164 deletions

View file

@ -1159,11 +1159,10 @@ def test_every_rule_the_pre_pass_can_emit_is_named_in_the_skill() -> None:
def test_the_skill_and_a_real_payload_pass_the_checker_together(tmp_path: Path) -> None:
# A GENERATED skill, against a payload from the bundle it was generated for.
# The shipped `skills/okf-consume/SKILL.md` cannot serve here: it predates
# `okf skill` and declares no bundle identity a reader can act on, which is
# a `bundle_mismatch` finding and is recorded as one rather than worked
# around.
# A skill generated HERE, against a payload from the bundle it was generated
# for, so a generator change is caught before the shipped copy is
# regenerated. The shipped `skills/okf-consume/` pair is held by the two
# tests after the payload test below.
text, payload = okf_skill.render(GOLDEN, out=tmp_path / "skill")
assert okf_contract_check.check(text, payload).findings == ()