feat(check): the checker and the contract read a folder's reply

`okf check --payload` takes the reply to one call over a folder as well
as a single payload: every bundle's payload is held to all 19 rules on
its own, a finding is named with its bundle, one every payload carries
alike is reported once, an answer labelled with a bundle its payload
does not describe is `answer_misattributed`, and a reply with no answer
is `payload_invalid`. No rule is added, and a single payload's report is
unchanged. Contract SS 2.5.4 names the folder run and SS 8.11 fixes the
reply; the known-positive moves to 24 620 / delta 592.

The skill text follows: the working method's steps 1 and 4 name the
folder, and the generic skill says to use the server's tools first where
they are registered, with the skill as the supplement. The folder is an
instruction in both generators, never a path: the bundle's parent
written absolute named this checkout, and the test holding generated
commands to no repository path fell on it.

v1.1 order F, part F4.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-09-21 10:50:14 +02:00
commit 21f9241712
10 changed files with 240 additions and 29 deletions

View file

@ -78,8 +78,9 @@ searches — and MUST NOT state one that stops at a single run.
`withheld` near misses (§ 5.3) and § 2.2 exist so that the second run can
be aimed.
4. Where more than one bundle is in scope, it MUST tell its reader to run the
same sub-questions against each and to keep each piece of material
attributed to its bundle.
same sub-questions against each — in ONE run over the folder that holds
them where the pre-pass takes a folder (§ 8.11) — and to keep each piece of
material attributed to its bundle.
5. It MUST tell its reader to assemble ONE answer — ordered by sub-question,
stating which source holds where sources disagree and with which version,
and saying what the bundle does not cover.
@ -360,6 +361,17 @@ are permitted; the checker reads only the members this section names.
as `title` the title of the concept it stands under in the same document,
and then MUST carry the file's own title as `own_title`, so the name shown
is never mistaken for the one in the file.
11. A pre-pass MAY take a FOLDER of bundles and ask every bundle under it in
one run. Its reply is then not a payload but a list of them: `asked` (the
bundle ids, in order), `budget_per_bundle`, and `answers`, one
`{bundle_id, payload}` per bundle, each payload conformant on its own and
cut to its share of the budget; `question` or `questions` as point 9. The
reply carries no `bundle` of its own, which is how a reader tells the two
apart. The checker holds every payload to every rule, names a finding with
the bundle whose payload carries it, reports once a finding every payload
carries alike, and refuses an answer labelled with a bundle its payload
does not describe (`answer_misattributed`) — a claim is attributed to the
label — and a reply with no answer at all (`payload_invalid`).
## 9. Prohibitions