llm-ingestion-okf/skills/okf-consume-template/references
Kjell Tore Guttormsen d077e4e064 feat(skills): a consumption-skill template with no defaults
A per-corpus skill copies this directory and fills every <PLACEHOLDER>. None of
them has a default: a corpus's budget, instrument, profile name and conditional
fields are facts about that corpus, and a default would be this repository
asserting one it has not measured.

The section headings are fixed because the checker in the next commit reads
them by name. references/example-payload.json is the known-positive that keeps
a refuse-everything checker from passing.
2026-09-02 16:06:24 +02:00
..
example-payload.json feat(skills): a consumption-skill template with no defaults 2026-09-02 16:06:24 +02:00
README.md feat(skills): a consumption-skill template with no defaults 2026-09-02 16:06:24 +02:00

References for the consumption-skill template

Two files, and they play different roles.

  • example-payload.json — a conformant payload in the shape docs/consumption-contract.md § 8 fixes. It is the known-positive for tools/okf_contract_check.py: the suite checks that this file passes, so a checker that refuses everything cannot be green. Its three excerpts carry one of each adjudication value on purpose, so that the closed set is exercised rather than asserted. The digests are real sha256 digests of the paths beside them, not of any real concept file: the example is a shape, not a bundle.
  • SKILL.md beside this directory — the template a per-corpus skill copies.

Copying the template

  1. Copy skills/okf-consume-template/ to wherever the per-corpus skill lives.
  2. Replace every <PLACEHOLDER>. None has a default; a copy with one left is unfinished, not configured.
  3. Keep every ## heading. The checker reads them by name.
  4. Point --payload at your own pre-pass output, not at this example, and run the checker in the corpus repo's test suite rather than by hand.

The checker checks shape. The division of labour (§ 2) and the prohibitions (§ 9) are properties of a run, and no static check can see them.