P11 (order 20260910T225652Z), NOK 0, no push. PATH okf is 0.8.1 (uv tool list, __version__, --help flags). src/ untouched. (ix) on 0.8.1 shipped: 629/623/6 and 629/620/9 - PM's predicted denominators, now measured. --no-source-quota alone gives back 629/621/8 and 629/617/12 in both arms; the exact numbers are an interaction with tie-shared-rank (both arms) and stem-prefix (open arm). --title-covered never fires here (byte- identical payload). 0.8.1 with the three new rules off reproduces the 0.7.0 payloads' delivered lists and budgets. P10 section 6 diagnosed: a bisect over okf's own history (known-positive at both ends) puts the price schedule's loss at okf 38104b7, whose only consume code change is DOCUMENT_PRIOR_EXPONENT 1.0 -> 0.5; putting that one constant back in a copy returns the old payload byte for byte. tie-shared-rank is ruled out; known_positive 10349 -> 12563 is a version marker, not the mechanism. On 0.8.1 the schedule is over_budget_after_knapsack, not below_k. okf check on 0.8.1 has 15 rules, not 16: rule 16 (bundle_mismatch) is on okf main 7cca9e0, in no tag. Run from an export of 7cca9e0 the K3-15 pair is rc 1 and the right pair rc 0 - a real cross-corpus mismatch, not an okf defect. Offer rows on four corpora: identifiers unchanged (65/50, 435, 982, 272). The P10 doc gets dated additions in sections 4 and 6; the old sentences stand. Test docstring: +2 lines naming the 0.8.1 rule count, no behaviour change. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
28 KiB
P11 — po på okf 0.8.1
Ordre 20260910T225652Z-5329131326-from-.claude, 2026-09-11. Ingen betalt kjøring. NOK 0.
Ingen push. okf på PATH: 0.8.1 (tagg v0.8.1 = 3daf983). Basen:
~/repos/portfolio-optimiser/scratchpad/s7c/k2-bundle-s7c ved ref
sha256-tree:f14872a01104e47474093611b1960c6c541e4701dc40147a00c8e1b337c8a92a. Spørsmålet
ordrett: «Finn kostnadsbesparelser i Stange skole-anbudet».
§ 0 Hva som ER målt og hva som IKKE er det
Målt:
- At PATH-okf er 0.8.1, målt på tre uavhengige måter (§ 2).
- At P10s premiss (ix), PMs forutsagte nevnere 629/623/6 og 629/620/9, holder på 0.8.1. P10s avvik skyldtes versjonen, og det er nå en måling i stedet for en forklaring (§ 3).
- Hvilken regel som bærer flyttet:
--no-source-quotaALENE gir 0.7.0-nevnerne tilbake i begge armer. De eksakte 0.8.1-tallene er et samspill med--tie-shared-rank(begge armer) og--stem-prefix(åpen arm).--title-coveredfyrer aldri på denne basen (byte-identisk payload). - At 0.8.1 med de tre nye reglene av reproduserer 0.7.0-payloadene: samme leverte liste og samme budsjett.
- Diagnosen P10 § 6 manglet: prisskjemaet ble rangert ut av ÉN produsent-konstant, nemlig
dokument-prioren
DOCUMENT_PRIOR_EXPONENT1.0 → 0.5 i okf38104b7. Funnet ved bisect over okf sin historikk og bevist med en én-variabel-test.--tie-shared-ranker utelukket, og flyttet iknown_positiveer en versjonsmarkør og ikke mekanismen. På 0.8.1 er prisskjemaet ikke lenger rangert ut. Det kuttes av budsjettet (§ 4). - Tilbudsradene over fire korpus: identifikator-tallene står uendret på 0.8.1, mens
charsflytter seg fordi payloaden er en annen (§ 5). - At
okf checkpå 0.8.1 har 15 regler, ikke 16, og at K3-15-paret er et ekte avvik mellom to korpus. Det siste er målt med 16-regel-checkeren fra okfmain(§ 6).
IKKE målt:
- Ingenting her er bekreftet mot en levende modell. Ingen betalt kjøring er gjort.
- Hva et budsjett-kuttet prisskjema koster et forslag.
- Om eksponent 0.5 er riktig for K2 generelt. okf sveipet den over 18 rader, og dette er ÉTT spørsmål.
- Hva
scratchpad/nbundler-p2/skill-n100/SKILL.mdinneholdt da N-dokumentet 2026-09-08 målte «exit 0 × 3» (§ 6).
§ 1 Premisser, med utfall per rad
| # | premiss (ordrens) | utfall | kommando |
|---|---|---|---|
| (i) | HEAD d8dadbf, to utrackede. po sin ls-remote er umålt av PM |
✅ HEAD og de to utrackede stemmer eksakt. git ls-remote origin main = d8dadbf… = HEAD, altså upushet = 0. STATE sa 4 (455d611, målt 10.09); operatøren har pushet siden |
git rev-parse --short HEAD · git status --porcelain · git ls-remote origin main |
| (ii) | STATE er 119 linjer | ✅ 119 | wc -l STATE.md |
| (iii) | arbeidstre 1 577/5, frossen eksport 1 566/5 + 11, ruff, format 199, mypy, golden | ✅ alle. Frossen eksport: 1 566 passed / 5 skipped, 1 failed + 10 errors, altså de 11 navngitte, med 18 linjer not a git repository. mypy: 37 filer. Golden ea8c534… |
uv run pytest -q · git archive d8dadbf til /tmp + uv run --frozen pytest -q · uv run ruff check src tests · uv run ruff format --check src tests · uv run mypy src · shasum -a 1 tests/golden/demo-transcript.stdout |
| (iv) | PATH-okf er 0.8.1 | ✅ på tre måter, se § 2 | § 2 |
| (v) | flaggene ordrett fra --help |
✅ ordrett. --source-quota har default 2, --stem-prefix er PÅ siden 2026-09-09 |
okf consume --help |
| (vi) | (ix) = P10 l. 39, considered/withheld/delivered | ✅ brukt som FØR-rader | — |
| (vii) | basen ved ref f14872a0… |
✅ assertert med --ref i HVER re-kutting (okf nekter ved avvik): 14 + 1 + 14 sonder, alle rc 0 |
okf consume … --ref sha256-tree:f14872a0… |
| (viii) | spørsmålet ordrett | ✅ | — |
| (ix) | P9 § 4 sine seks tilbudsrader | ✅ reprodusert eksakt på dagens kode | scratchpad/p11/measure_p11.py |
| (x) | § 6-diagnosen (PM-premiss) | ⚠️ DELVIS. «Rangert ut, ikke filtrert» ✅ på 0.7.0. «Tie-breaking utelukket» ✅. «Produsent-versjonsforskjell» ✅, nå navngitt som 38104b7. «known_positive 10 349 → 12 563» er IKKE mekanismen ❌: det tallet flytter seg ved 17c49fc og c95d189 mens den leverte lista står byte-identisk. På 0.8.1 er koden heller ikke below_k, men over_budget_after_knapsack |
§ 4 |
| (xi) | innboksen har 3 meldinger | ✅ 3, og alle er ført til terminaltilstand | find ~/.claude/coord/portfolio-optimiser/inbox -type f | wc -l → 3, deretter 0 |
| (xii) | K3-15-paret går fra rc 0 til rc 1 | ❌ AVVIK på PATH-0.8.1: fortsatt rc 0 / 15 regler. Flippen holder bare på okf main 7cca9e0, som ingen tagg inneholder |
§ 6 |
| (xiii) | foreldede «15 regler»-sitater | ✅ funnet der premisset sa (test-docstring l. 3, STATE l. 25/30). Men 15 er fortsatt riktig tall på 0.8.1. Docstringen fikk en presisering, se § 7 | git grep -n -E '15 (regler|rules)' |
| (xiv) | måleteknikk | ✅ fulgt: rc fanget direkte, --out rett til fil, --k og ikke -k |
— |
| — | «okf check med 16 regler» |
❌ 15 på PATH-0.8.1. 16 finnes bare på 7cca9e0 |
§ 6 |
| — | grep -rn 'okf check' src tests scripts gir ett treff |
✅ 1 treff, en docstring. grep rc 0 | — |
§ 2 Versjonsmålingen
uv tool list
# llm-ingestion-okf v0.8.1
# - okf
which okf
# ~/.local/bin/okf
~/.local/share/uv/tools/llm-ingestion-okf/bin/python -c "import llm_ingestion_okf as p; print(p.__version__)"
# 0.8.1
okf --version
# usage: okf [-h] {consume,check,skill,project,build} ... (rc 2: flagget finnes ikke)
git -C ~/repos/llm-ingestion-okf ls-remote origin main
# 7cca9e079edc… refs/heads/main
git -C ~/repos/llm-ingestion-okf ls-remote --tags origin 'v0.8*'
# v0.8.0^{} = 4d1f9d3… v0.8.1^{} = 3daf983…
Flagglista fra okf consume --help på 0.8.1, ordrett, ved siden av 0.7.0-lista som P10 § 3 målte:
0.7.0: --cost-vocabulary --k --limit --no-tie-shared-rank --out --question
--rarity-weight --ref --reserve-top-rank --tie-shared-rank --withheld-titles
0.8.1: --question --k --limit --cost-vocabulary --reserve-top-rank --rarity-weight
--tie-shared-rank --no-tie-shared-rank --stem-prefix --no-stem-prefix
--title-covered --no-title-covered --source-quota N --no-source-quota
--withheld-titles --out --ref
Seks flagg er nye: --stem-prefix/--no-stem-prefix («ON since 2026-09-09»),
--title-covered/--no-title-covered («ON since 2026-09-10») og --source-quota N/--no-source-quota
(«Default 2 since 2026-09-10»). --tie-shared-rank er PÅ («ON since 2026-09-10»). --help er
primærkilden for flagg, ikke okf sin CHANGELOG.
§ 3 (ix)-tabellen — 0.7.0 og 0.8.1 side om side
Alle 0.8.1-rader er kjørt med okf 0.8.1. De fire lesesidereglene --source-quota 2,
--stem-prefix, --title-covered og --tie-shared-rank er PÅ som default, og hver rad slår av det
som står i navnet. «pris» sier hvor del-ii-bilag-7-prisskjema/prissammenstilling-sheet-1 (67 245
tegn) havnet. po sin egen prepass.admit_payload mot den monterte basen gir ADMITTED på alle 18.
Default-armen (flaggløs: --k 8, --limit 120000):
| payload | okf | considered / withheld / delivered | budsjett brukt av limit | title |
pris | levert tekst (tegn) |
|---|---|---|---|---|---|---|
| s7c GAMMEL | 6776c37 |
629 / 621 / 8 | 79 440 av 120 000 | 0 av 8 | withheld below_k |
72 535 |
| p10 v2 | 0.7.0 | 629 / 621 / 8 | 54 931 av 120 000 | 8 av 8 | withheld below_k |
47 679 |
| r1 shipped | 0.8.1 | 629 / 623 / 6 | 67 011 av 120 000 | 6 av 6 | withheld below_k |
60 646 |
r2 --no-source-quota |
0.8.1 | 629 / 621 / 8 | 54 931 av 120 000 | 8 av 8 | withheld below_k |
47 679 |
r3 --no-stem-prefix |
0.8.1 | 629 / 623 / 6 | 67 011 av 120 000 | 6 av 6 | withheld below_k |
60 646 |
r4 --no-title-covered |
0.8.1 | 629 / 623 / 6 | 67 011 av 120 000 | 6 av 6 | withheld below_k |
60 646 |
r5 --no-tie-shared-rank |
0.8.1 | 629 / 621 / 8 | 73 211 av 120 000 | 8 av 8 | withheld below_k |
64 756 |
| r6 de tre nye av | 0.8.1 | 629 / 621 / 8 | 54 931 av 120 000 | 8 av 8 | withheld below_k |
47 679 |
| r7 alle fire av | 0.8.1 | 629 / 621 / 8 | 71 999 av 120 000 | 8 av 8 | withheld below_k |
63 644 |
Den åpne armen (--cost-vocabulary --k 12 --limit 160000):
| payload | okf | considered / withheld / delivered | budsjett brukt av limit | title |
pris | levert tekst (tegn) |
|---|---|---|---|---|---|---|
| s7c GAMMEL | 6776c37 |
629 / 617 / 12 | 150 249 av 160 000 | 0 av 12 | LEVERT pos. 10 | 141 470 |
| p10 v2 | 0.7.0 | 629 / 617 / 12 | 88 297 av 160 000 | 12 av 12 | withheld below_k |
76 824 |
| r1 shipped | 0.8.1 | 629 / 620 / 9 | 108 219 av 160 000 | 9 av 9 | withheld over_budget_after_knapsack |
97 772 |
r2 --no-source-quota |
0.8.1 | 629 / 617 / 12 | 85 873 av 160 000 | 12 av 12 | withheld below_k |
74 510 |
r3 --no-stem-prefix |
0.8.1 | 629 / 619 / 10 | 147 593 av 160 000 | 10 av 10 | withheld over_budget_after_knapsack |
135 343 |
r4 --no-title-covered |
0.8.1 | 629 / 620 / 9 | 108 219 av 160 000 | 9 av 9 | withheld over_budget_after_knapsack |
97 772 |
r5 --no-tie-shared-rank |
0.8.1 | 629 / 619 / 10 | 143 733 av 160 000 | 10 av 10 | LEVERT pos. 8 | 133 844 |
| r6 de tre nye av | 0.8.1 | 629 / 617 / 12 | 88 297 av 160 000 | 12 av 12 | withheld below_k |
76 824 |
| r7 alle fire av | 0.8.1 | 629 / 617 / 12 | 77 645 av 160 000 | 12 av 12 | withheld below_k |
66 696 |
Hva tabellen sier, én påstand om gangen:
- PMs forutsigelse holder på 0.8.1. Shipped gir 629/623/6 og 629/620/9. P10s avvik skyldtes altså versjonen, og det er nå målt og ikke bare forklart.
--source-quotaer den ene regelen som er NØDVENDIG i begge armer. r2 alene gir 629/621/8 og 629/617/12 tilbake. Mekanismen står iwithheld-kodene. På r1 er 209 (default) og 219 (åpen) konseptersource_quota_exceeded, fordi kvoten 2 skyver ut de mange små utdragene fra SHA-planen og romlisten (v2 har opptil 5 fra én kilde, r1 høyst 2). Plassene fylles av de neste kandidatene, som er større, og knapsacken dropper 2 og 3 av dem over budsjett. Resultatet er færre utdrag med mer tekst: budsjettet øker med 22,0 % og 22,6 %, levert tekst med 27,2 % og 27,3 %.- De eksakte tallene er et SAMSPILL, ikke én regel. I default-armen krever fallet fra 8 til 6
at også
--tie-shared-ranker på: r5, med kvote på og tie av, gir 8. I den åpne armen krever fallet fra 12 til 9 at også--stem-prefixog--tie-shared-ranker på: r3 og r5 gir 10. Ingen enkeltregel kan få æren alene. --title-coveredfyrer aldri på denne basen. r4 er byte-identisk med r1 i begge armer (shasum -a 1gir0ec7157e…ogf9346cbf…for begge par), som okf sin egen melding sa for K2.- 0.8.1 med 0.7.0s regler ER 0.7.0. r6 har samme leverte
(concept_id, text_sha256)-liste, samme budsjett og samme tekst som v2 i begge armer. Det eneste som skiller dem erbudget.known_positive(12 563 → 13 238), altså kontraktsdokumentet instrumentet måler seg selv mot. - Hvert utdrag i alle 14 nye payloads bærer
title.
§ 4 Prisskjemaet — diagnosen P10 § 6 manglet
Rang uten kutt. Sonden bruker samme flagg per rad, men --k 200 --limit 50000000, så
knapsack-kuttet aldri fyrer:
| arm | r1 | r2 | r3 | r4 | r5 | r6 | r7 |
|---|---|---|---|---|---|---|---|
| default | 193 | 193 | 192 | 193 | 194 | 193 | over 200 (below_k) |
| åpen | 20 | 20 | 21 | 20 | 20 | 21 | 20 |
rank i et utdrag er LEVERINGSPOSISJON (len(delivered) + 1 i okf consume.py), ikke
fusjonsrang. Med k = 200 leverer alle radene 200, så posisjonen blir rangen. I den åpne armen står
prisskjemaet på 20–21 under hver rad. Ingen av de fire flaggene bringer det tilbake til topp 12. I
den gamle payloaden sto det på 10.
Bisect over produsentens egen historikk, åpen arm. Hver commit er kjørt fra
git archive <commit> src tools docs under scratchpad/p11/bisect/, med okf-verktøyets egen python
og commitens egne defaults. okf-repoet er bare lest, og PATH-okf er urørt. Kjent-positiv på BEGGE
ender: 6776c37 gir den gamle payloaden og v0.7.0 gir v2, begge med identisk levert liste
(concept_id + text_sha256).
| okf-commit | åpen: considered / withheld / delivered | budsjett | known_positive |
pris | = s7c GAMMEL | = v2 |
|---|---|---|---|---|---|---|
6776c37 |
629 / 617 / 12 | 150 249 | 10 349 | LEVERT pos. 10 | ja | nei |
56ae274 · 56c1205 · 116d3e1 · a37d5ce |
629 / 617 / 12 | 150 249 | 10 349 | LEVERT pos. 10 | ja | nei |
17c49fc |
629 / 617 / 12 | 151 131 | 12 049 | LEVERT pos. 10 | ja | nei |
c95d189 · c3b645b · f6fea13 |
629 / 617 / 12 | 153 011 | 12 563 | LEVERT pos. 10 | ja | nei |
38104b7 |
629 / 617 / 12 | 77 645 | 12 563 | withheld below_k |
nei | nei |
a364ef4 |
629 / 617 / 12 | 88 297 | 12 563 | withheld below_k |
nei | ja |
v0.7.0 |
629 / 617 / 12 | 88 297 | 12 563 | withheld below_k |
nei | ja |
Budsjettet og known_positive flytter seg ved 17c49fc og c95d189 mens lista står.
38104b7 (2026-09-09, «recovery yields to declaration, and 9 % of the corpus that was in no
segment») endrer tre hunks i consume.py. Den eneste kodelinja som verken er kommentar eller
docstring er dokument-prioren: totals[document] / units[document] blir
totals[document] / units[document] ** DOCUMENT_PRIOR_EXPONENT, med konstanten satt til 0.5. En
tetthet blir sublineær, så et dokument delt i mange enheter får prioren sin tilbake. Ved 38104b7
tar romliste-teknisk 8 av 12 plasser.
Én-variabel-testen. Eksportene ligger under scratchpad/p11/exponent/, og KUN den ene linja er
endret i kopien (sed, 1 treff av 1):
| produsent | eksponent | åpen, k 12 | pris (k 12) | pris uten kutt | = s7c GAMMEL | = PATH-0.8.1 shipped |
|---|---|---|---|---|---|---|
38104b7 |
0.5 (som levert) | 629 / 617 / 12 | withheld below_k |
pos. 20 | nei | — |
38104b7 |
1.0 | 629 / 617 / 12 | LEVERT pos. 10 | pos. 10 | ja, byte-lik liste | — |
v0.8.1 |
0.5 (som levert) | 629 / 620 / 9 | withheld over_budget_after_knapsack |
pos. 20 | nei | ja (kontroll) |
v0.8.1 |
1.0 | 629 / 620 / 9 | withheld over_budget_after_knapsack |
pos. 10 | nei | nei |
Default-armen går samme vei (bisect, flaggløs). Lista er lik den gamle til og med f6fea13
(72 535 tegn). Den faller ved 38104b7 til 63 644 tegn; med eksponent 1.0 i kopien er det 72 535 og
byte-lik liste igjen. Den faller en gang til ved a364ef4, til 47 679, som er lik v2. Det andre
fallet er nøyaktig det --no-tie-shared-rank reverserer på 0.8.1: r7 (alle fire av) har samme
leverte liste som 38104b7, og r6 (tie PÅ) samme liste som a364ef4. Det er målt i begge armer.
Konklusjon, med tall:
- Prisskjemaet ble RANGERT UT, ikke filtrert, og av én produsent-konstant:
DOCUMENT_PRIOR_EXPONENT1.0 → 0.5 i okf38104b7. Satt tilbake i en kopi av den commiten gir konstanten den gamle payloaden byte-identisk tilbake, med prisskjemaet på posisjon 10. --tie-shared-ranker utelukket som årsak. Prisskjemaet var altbelow_kved38104b7, før tie-effekten kom (a364ef4), og r7 på 0.8.1 (tie av) girbelow_k. Tie-regelen bærer derimot den ANDRE halvdelen av tekstfallet i default-armen (63 644 → 47 679).known_positive10 349 → 12 563 er en versjonsmarkør, ikke mekanismen. Tallet flyttet seg ved17c49fcogc95d189mens den leverte lista sto byte-identisk.- Det finnes intet flagg for prioren. okf 0.8.1 med alle fire lesesideregler av er byte-lik
38104b7. - På 0.8.1 er diagnosen en ANNEN. Prisskjemaet er ikke lenger
below_k, fordi kvoten løfter det inn i kortlista. Det erover_budget_after_knapsack: 67 366 byte tekst mot en rest knapsacken ikke har. Med--limit 240000leveres det på posisjon 7 (11 levert). Med--no-tie-shared-rankalene leveres det på posisjon 8. Eksponent 1.0 alene på 0.8.1 gir det rang 10 uten kutt, men kuttet står.
§ 5 Tilbudsradene — fire korpus, samme instrument
Instrumentet er scratchpad/p9/measure_v070.py, kopiert til scratchpad/p11/measure_p11.py med to
endringer: absolutte stier, og id-dumpene lagt i scratchpad/p11/, så P9s egne filer ikke skrives
over. Komposisjonen er uendret: den SHIPPEDE generate.grounding_offer over
render_context(payload) pluss basens tekst, slik run_project komponerer _grounding_text.
Kjent-positiv-kontroll FØR bruk. P8s tre K2-rader, byte-identisk:
| rad | konsepter | tegn | identifikatorer | = P8 |
|---|---|---|---|---|
K2 s7c + payload-open |
630 | 1 991 597 | 50 | ✅ |
K2 s7c + payload-default |
630 | 1 970 415 | 50 | ✅ |
| K2 s7a2 (peker-armen) | 629 | 1 894 500 | 50 | ✅ |
Tilbudet, P9 og 0.8.1 side om side. Alle radene har 0 kostlinjer og derive REFUSED:
| Korpus | Bygg | Konsepter | P9-payload: tegn / id | 0.8.1-payload: tegn / id |
|---|---|---|---|---|
| K2 (uten payload) | v0.7.0-pinnen | 453 | 1 940 723 / 65 | — (ingen payload) |
| K2 + åpen | v0.7.0-pinnen | 453 | 2 037 246 / 65 | 2 043 690 / 65 |
| K2 + default | v0.7.0-pinnen | 453 | 2 016 064 / 65 | 2 005 070 / 65 |
| K2 + åpen | s7c (payloadens egen base) | 630 | 1 991 597 / 50 | 1 998 041 / 50 |
| K2 + default | s7c (payloadens egen base) | 630 | 1 970 415 / 50 | 1 959 421 / 50 |
N100 n100-2023 |
v0.7.0 (V3) | 446 | 462 041 / 435 | 461 939 / 435 |
N200 n200-2024 |
v0.7.0 (V3) | 1 133 | 1 500 962 / 982 | 1 497 743 / 982 |
N500 n500-2024 |
v0.7.0 (V3) | 270 | 408 220 / 272 | 411 188 / 272 |
P9-kolonnen er reprodusert eksakt på dagens kode. «P9-payload» er de samme filene P9 brukte
(scratchpad/s7c/payload-*.json og scratchpad/nbundler-p2/payload-n*.json). «0.8.1-payload» er
re-kuttet i denne økta (scratchpad/p11/payload-{open,default}-r1-shipped.json og
scratchpad/p11/payload-n*-081.json). N-payloadene er kuttet med P2s egen default-kommando, og
spørsmålet er LEST ut av den gamle payloaden.
Hypotesen holdt for identifikatorene, men ikke for tegnene. Ingen N-rad flytter seg i
identifikatorer, fordi hver identifikator i kuttet også står i basens tekst. chars flytter seg på
alle radene, fordi grounding_offer leser kuttet PLUSS basen, og kuttet er et annet. Rang 1 er
fortsatt det spurte kravet på alle tre (Krav 3.3.1—13, Krav 2.9.2—12, Krav 10.2—2), men rang
2–8 er andre dokumenter.
N-ablasjonen (scratchpad/p11/n-ablation/, samme seks rader som for K2). r7 (alle fire av) er
byte-lik P2-payloaden på alle tre. r2 (--no-source-quota) gir SAMME leverte liste som shipped. r3
og r5 flytter hver for seg rang 2–8. Rangflyttet bæres altså av --stem-prefix og
--tie-shared-rank, ikke av kvoten, slik --help sier («a bundle with no alternatives is
unaffected»).
En observasjon, ikke et funn mot okf. Kvoten endrer likevel payloaden på en base med én kilde:
ikke utdragene, men withheld-kodene. Alle 438, 1 125 og 262 withheld-oppføringene er
source_quota_exceeded på 0.8.1, mot below_k på P2 og på r2. «Rangert ut» og «kappet av kvoten»
er to ulike fakta, og på en base med én kilde viser payloaden bare det andre. Ingen FYI er sendt,
fordi dette er et valg av kodeprioritet og ingen målt verdi er gal.
§ 6 okf check — regelantall, nevnere og kjent-negativ
På PATH-okf 0.8.1 (scratchpad/p11/check_matrix.sh, rc fanget direkte), 24 rader:
| skill | payload | rc | rapportlinje | funn |
|---|---|---|---|---|
SKILL-k2-s7c (0.8.1, samme base) |
14 P11-payloads, r1–r7 × 2 armer | 0 × 14 | conformant: 15 rules over 6–12 excerpts og 617–623 withheld | 0 |
SKILL-k2-s7c |
p10/payload-default-v2.json |
0 | conformant: 15 rules over 8 excerpts and 621 withheld entries | 0 |
SKILL-k2-s7c |
p10/payload-open-v2.json |
0 | conformant: 15 rules over 12 excerpts and 617 withheld entries | 0 |
SKILL-k2-s7c |
s7c/payload-default.json (GAMMEL) |
1 | NOT conformant: 15 rules over 8 excerpts and 621 withheld entries | 8 × excerpt_unnamed |
SKILL-k2-s7c |
s7c/payload-open.json (GAMMEL) |
1 | NOT conformant: 15 rules over 12 excerpts and 617 withheld entries | 12 × excerpt_unnamed |
SKILL-k2-s7c |
kjent-negativ {} |
1 | NOT conformant: 15 rules over 0 excerpts and 0 withheld entries | 9 |
| P10s SKILL (0.7.0, samme base) | p10/payload-default-v2.json |
0 | conformant: 15 rules … | 0 |
K3-15: P9s SKILL (pinnen, 18ae18ab…) |
nbundler-p2/payload-n100.json (da6b8204…) |
0 | conformant: 15 rules over 8 excerpts and 438 withheld entries | 0 |
SKILL-n100 (0.8.1, generert her) |
nbundler-p2/payload-n100.json |
0 | conformant: 15 rules … | 0 |
SKILL-n100 |
p11/payload-n100-081.json |
0 | conformant: 15 rules … | 0 |
P2s skill-n100/SKILL.md |
nbundler-p2/payload-n100.json |
0 | conformant: 15 rules … | 0 |
Regelantallet på PATH-0.8.1 er 15, ikke 16, i hver av de 24 radene. Grunnen er målt i
okf-repoet, som bare er lest. rule_bundle_identity (bundle_mismatch) kom i 7cca9e0. Ingen
tagg inneholder den commiten (git tag --contains 7cca9e0 er tom), og den er ikke forfar til
v0.8.1 (git merge-base --is-ancestor 7cca9e0 v0.8.1 → rc 1). Installert contract_check.RULES =
15. Antall rule_-definisjoner: 15 i v0.8.1 og 16 i 7cca9e0.
Med 16 regler. 7cca9e0 er kjørt fra git archive under scratchpad/p11/okf-7cca9e0/, med
dens src først på PYTHONPATH til okf-verktøyets python (versjonsstreng 0.8.1, RULES 16).
PATH-okf er urørt.
| skill | payload | rc | rapportlinje | funn |
|---|---|---|---|---|
K3-15: P9s SKILL (pinnen 18ae18ab…) |
nbundler-p2/payload-n100.json (da6b8204…) |
1 | NOT conformant: 16 rules over 8 excerpts and 438 withheld entries | 1 × bundle_mismatch, på både bundle_id og ref |
riktig par: SKILL-n100 (generert for n100-2023) |
nbundler-p2/payload-n100.json |
0 | conformant: 16 rules over 8 excerpts and 438 withheld entries | 0 |
| riktig par | p11/payload-n100-081.json |
0 | conformant: 16 rules … | 0 |
SKILL-k2-s7c |
P11 r1 default / åpen · P10 v2 default / åpen | 0 × 4 | conformant: 16 rules … | 0 |
samme id, annen build: P9s SKILL (pinnen 18ae18ab…) |
p10/payload-default-v2.json (f14872a0…) |
1 | NOT conformant: 16 rules … | 1 × bundle_mismatch, på ref ALENE |
P2s skill-n100/SKILL.md |
nbundler-p2/payload-n100.json |
1 | NOT conformant: 16 rules … | 1 × bundle_mismatch: skill-en deklarerer vegnormal-n500-2024 |
SKILL-k2-s7c |
kjent-negativ {} |
1 | NOT conformant: 16 rules over 0 excerpts … | 9 |
Avgjørelsen om K3-15-paret: et EKTE avvik, ikke en okf-defekt. SKILL-en og payloaden er fra to
ulike korpus: k2-trinn1-20260903 ved 18ae18ab… mot vegnormal-n100-2023 ved da6b8204…. En
SKILL generert for N100-bundelen går rc 0 med 16 regler mot samme payload. Derfor er det ikke sendt
noen FYI om en defekt. Svaret på okf sin melding gir disse tallene.
FUNN i po sin egen scratchpad. scratchpad/nbundler-p2/skill-n100/SKILL.md deklarerer
vegnormal-n500-2024 ved 673a0c2c… (270 konsepter), altså N500. skill-n500 deklarerer det samme,
mens skill-n200 er riktig. Under 16 regler går N100-paret fra rc 0 til rc 1. N-dokumentet
2026-09-08 (§ 1, rad 6) rapporterer «exit 0 × 3» med --skill skill-n100/SKILL.md. Filene har
mtime 2026-09-09 16:55, så hva fila inneholdt da den målingen ble gjort er ikke målt og kan ikke
gjenskapes herfra. Det daterte dokumentet er urørt.
Nevneren for påstanden om at ingen po-kjøring tolker en okf check-exit som byggefeil:
grep -rn 'okf check' src tests scripts gir 1 treff (grep rc 0): docstringen i
tests/test_unnamed_excerpt_observation_loadbearing.py. Ingen skript og ingen test kaller
okf check.
§ 7 Hva som ble endret i sporede filer
src/: 0 filer. Dette er en måle- og dokumentasjonsordre, og ingen måling tvang fram en kodeendring._ground_against_inputer urørt.tests/test_unnamed_excerpt_observation_loadbearing.py: docstring, +2 linjer, ingen endret atferd. Setningen om P9 (0.7.0, 15 regler) står. Tilføyelsen sier at P11 målte 15 igjen på 0.8.1, og hvor den 16. regelen er.docs/2026-09-10-p10-konform-k2-payload.md: datert tilføyelse i § 4 og § 6. Den gamle setningen står.docs/okf-konsum-kontrakter.md: urørt. Den bærer ingen okf-versjon, ingen regeltelling og ingen konsumkommando:grep -n -E 'okf (consume|check)|regler|rules|--stem|--source-quota' docs/okf-konsum-kontrakter.mdgir 0 treff. 0.8.1 har altså ikke gjort noe tall der galt, og et flagg uten en kommando å stå i ville vært støy.STATE.md(local-only).
§ 8 Honesty limits
- Ingen betalt kjøring er gjort. NOK 0. Ingenting her er bekreftet levende. At en modell bruker et navngitt, kvote-spredt kutt bedre er ikke vist.
- En re-spilt payload er en NY måling, ikke en reparert gammel.
scratchpad/s7c/payload-{default,open}.jsonogscratchpad/p10/payload-{default,open}-v2.jsoner urørt:shasum -a 1gir1ea1c389…,c3779de9…,af113bf9…ogff7f264e…, både før og etter. Alle nye filer ligger iscratchpad/p11/. - Nevneren for konformans er ÉN bundle i ÉN build.
bundle_ididentifiserer ikke bytene: tre K2-builds bærerk2-trinn1-20260903ved tre ulike refs, og 16-regel-checkeren flagger nettopp det paret som bare skiller seg påref. Sammenlign alltidref. okf checker GULVET, aldri beviset. Alle 14 nye K2-payloads er konforme, og den åpne armen leverer likevel ikke prisskjemaet. Formen holder; innholdet er et annet.- K2-tilbudsraden sammenligner ULIKE builds: v0.7.0-pinnen (
18ae18ab…, 453 konsepter) rendret med payloads kuttet fra s7c-basen (f14872a0…, 629). Raden er gjentatt fordi P9 hadde den. De to «egen base»-radene i § 5 er den ærlige sammenligningen. - 16-regel-tallene er målt fra en
git archive-eksport av okfmain, ikke fra en installert release. Det er en utagget commit, og en fremtidig tagg kan avvike. - Bisect og én-variabel-test er kjørt med okf-verktøyets python mot eksporterte trær. Kjent-positiv på begge ender, og kontrollen der v0.8.1-eksporten er lik PATH-payloaden, gjør det til en måling av produsenten. Det er likevel ikke produsentens egen test.
- Diagnosen i § 4 gjelder ÉTT spørsmål på ÉN base. Om eksponent 0.5 er riktigere enn 1.0 for K2 er verken bekreftet eller avkreftet. okf målte sine 18 rader, og dette er én rad til.
- (A) prosa-skanningen, (B) blindsone-VALGET og (C) sporing av leverte kutt som fixturer forblir OPERATØRENS og ble ikke flyttet av denne økta.
§ 9 Reproduksjon
Skriptene ligger under scratchpad/p11/. De er utracket og følger ikke med i git archive HEAD, så
kjernekommandoene er gjengitt her.
# (ix), én rad (åpen arm, shipped)
okf consume ~/repos/portfolio-optimiser/scratchpad/s7c/k2-bundle-s7c \
--question "Finn kostnadsbesparelser i Stange skole-anbudet" \
--ref sha256-tree:f14872a01104e47474093611b1960c6c541e4701dc40147a00c8e1b337c8a92a \
--cost-vocabulary --k 12 --limit 160000 --out scratchpad/p11/payload-open-r1-shipped.json
# ablasjonen: legg til --no-source-quota | --no-stem-prefix | --no-title-covered | --no-tie-shared-rank
bash scratchpad/p11/gen_k2.sh # 14 payloads
uv run python scratchpad/p11/analyze.py # § 3
python3 scratchpad/p11/gen_n.py # tre N-payloads på 0.8.1
uv run python scratchpad/p11/measure_p11.py # § 5
bash scratchpad/p11/check_matrix.sh # § 6, 15 regler
# 16 regler, uten å røre PATH-okf:
git -C ~/repos/llm-ingestion-okf archive 7cca9e0 src | tar -x -C scratchpad/p11/okf-7cca9e0
PYTHONPATH=scratchpad/p11/okf-7cca9e0/src ~/.local/share/uv/tools/llm-ingestion-okf/bin/python \
-c 'import sys, llm_ingestion_okf.cli as c; sys.argv=["okf"]+sys.argv[1:]; sys.exit(c.main())' \
check --skill <SKILL.md> --payload <payload.json>
# bisect: for hver commit i 6776c37, git log --reverse 6776c37..v0.7.0 -- consume-stiene, og v0.7.0:
git -C ~/repos/llm-ingestion-okf archive <c> src tools docs | tar -x -C scratchpad/p11/bisect/tree-<c>
PYTHONPATH=scratchpad/p11/bisect/tree-<c>/src <okf-python> scratchpad/p11/bisect/tree-<c>/tools/okf_consume.py \
<base> --question "<spørsmålet>" --cost-vocabulary --k 12 --limit 160000 --out <fil>
# én-variabel: det samme, med DOCUMENT_PRIOR_EXPONENT = 0.5 -> 1.0 i kopiens consume.py (sed, 1 treff)