Compare commits

..

10 commits

Author SHA1 Message Date
b2205b95e2 docs(plan): kø commons-shared-golden-referent Q4/§6.2 — køplassering, ikke utførelse
Ordre 20260825T081254Z-1793231864-from-.claude. Ny §11 + statusbanner i
2026-07-26-v1-generated-felt-okf-v0.2.md, mønster fra SS11 §6 / SS12 §8. Premisser
re-målt: :29-ordlyd uendret, disjunktheten mellom llm-ingestion-okf og
portfolio-optimiser-claude sine golden-fiksturer bekreftet med cmp (kjent-positiv
kontrollert) — men "fire filer"-tallet i ordreteksten var stalt for begge sider:
llm-ingestion-okf har nå fem innholdsfiler over fire caser (okf-v0-2 lagt til i
2504011, samme commit commons pinner), portfolio-optimiser-claude har fire
FOREKOMSTER over kun to caser, ikke fire filer. Q4-målingen IKKE bestilt hos
llm-ingestion-okf i denne økten. Ingen normativ spec-tekst, ingen versjonsbump.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-25 10:23:55 +02:00
ba0237d588 docs(plan): kø commons-spec-amendments (D-A 1/2/4+D-F) — køplassering, ikke utførelse
Ny §10 i amendment-underlaget + statusbanner, samme mønster som SS11 §6/SS12 §8.
Premisser re-målt: cost-baseline 0/0, nominal_feasible i §12, ankerskift +13/+5
(avvik fra ordreteksten +13/+3 meldt). S4.0-premisset oppdatert: portfolio-optimiser
lukket den lokalt og betinget, D7-speiling åpen hos portfolio-optimiser-claude for
S2.7+S3.2+S4.0. Ingen normativ spec-tekst skrevet.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-25 10:18:48 +02:00
30e1e71cdf docs(plan): kø SS11-budsjettfunnet — køplassering, ikke utførelse
Operatørbeslutning 2026-08-25 (ordre 20260825T060649Z-9004613141-from-.claude,
punkt 1): saken skal i kø, selve SS11-arbeidet (formanalysen for en
§8-og/eller-§10-rad) skal IKKE utføres. Samme mønster som SS12-køplasseringen
(e307997): banner + ny § i det eksisterende plandokumentet.

Ny §6 sier hva køen forplikter til når turen kommer: re-mål §2–§4s premisser,
skriv underlaget (hvilken form løser spenningen, om noen), legg det fram for
operatøren. I motsetning til SS12 finnes ingen ferdig formanalyse å vise til
her — §2–§4 er et funn, ikke et sett med opsjoner, så køoppføringen kan bare
peke videre, ikke oppsummere valg.

De to andre kandidatene i samme kø (commons-spec-amendments,
commons-shared-golden-referent Q4) er ikke droppet, bare ikke valgt denne
runden.

Ingen normativ tekst rørt, ingen versjonsbump, ingen tag.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-25 08:15:04 +02:00
38a117837d docs(plan): SS12-underlaget lukket — O-A ratifisert og utført (§9)
Banner: «UNDERLAG, ikke ratifisert — men KØPLASSERT» → «RATIFISERT SOM O-A OG
UTFØRT 2026-08-25 (`0f88324`)». Uten dette ville neste økt greppet et
statusfelt som påsto at saken fortsatt var åpen — nøyaktig den stale-premiss-
klassen dokumentet selv advarer mot i §8 punkt 2.

Ny §9 fører utfallet: de to radene ordrett, at O-B/O-C/erstatning er AVVIST og
ikke nedprioritert, premissene re-målt med kontroller (nevner 20 rader,
`generated` = 1, `source` + seks undernøkler = 7, method-spec §12 = 0), og
hvorfor ingen coord-melding er sendt (§8 punkt 4 gjaldt erstatnings-formen).

§1–§7 er BEVART urørt. De er underlaget beslutningen ble tatt på, ikke et
referat av den; skrives de om i etterkant, mister §9 det den viser til.
2026-08-25 06:31:24 +02:00
0f88324150 docs(spec): §12 fører generated-undernøklene by og at som egne rader (O-A)
Operatørbeslutning 25.08 (ordre 20260825T042426Z): SS12-undernøklene landes som
O-A — tilføy to rader, ikke erstatt raden, ikke snevre ingressen. O-B, O-C og
erstatnings-formen er AVVIST, ikke nedprioritert.

Underlag: `docs/plan/2026-08-09-v1-ss12-undernoekler.md`. Kort: V1 gjorde
`generated` om fra literal til inline mapping med to navngitte undernøkler, og
§12s ingress påstår fullstendighet over «every field of the machine-readable
contracts». `source` er presedensen: toppnivå-rad PLUSS en rad per undernøkkel,
selv om undernøklene er definert i §4-prosa og ikke i §4s tabell.
`ingest_manifest` er motsatsen — struktur i et STRENGformat, én rad. På den
målte aksen (navngitte nøkler i en mapping) ligger `generated` på `source`-siden.

Premissene re-målt før handling, med kontroller: §12s nevner 20 rader
(kjent-positiv), `generated` = 1 rad, `source` + seks undernøkler = 7 rader,
samme grep mot method-spec.md §12 = 0 (kjent-negativ, dokumentets §11/§12 er
ingest-spec sine). §11-sømmen «stops documenting a contract field» og
§12-ingressen ordrett-verifiserte.

Konsument-kostnaden verifisert direkte i konsumentens vakt, ikke bare antatt:
`portfolio-optimiser-claude` sin §12-vakt sjekker at hvert kontraktsfelt FINNES
som rad (`| `felt` |`) i en §12-slice, pluss at slicen ikke har degenerert.
Tilføying rører ingen av delene — `generated`-raden er byte-uendret og alle 13
sporede felt står. §7-raden er ikke rørt (deres §7-vakt keyer på at den navngir
`process:okf-ingest` og begge undernøklene).

Ingen versjonsbump, ingen tag, ingen fixture-endring, ingen endring i §5s
ordnede frontmatter-prefiks og ingen behandling av §6s redundans-funn.
2026-08-25 06:30:32 +02:00
e30799743e docs(plan): kø SS12-undernøklene — køplassering, ikke utførelse
Operatørbeslutning 24.08 (ordre 20260824T155506Z, punkt 3): saken skal i kø,
selve SS12-arbeidet skal IKKE utføres. Repoets mønster for dette er
plandokumentets statusbanner, så oppføringen bor der.

Banner: «UNDERLAG, ikke ratifisert» → «... men KØPLASSERT 2026-08-24». Ny §8
sier hva køen forplikter til: re-mål premissene, legg de FIRE formene (§5s
O-A/O-B/O-C + erstatnings-formen §5 selv fører som en fjerde) fram for
operatøren, og meld erstatning til portfolio-optimiser-claude FØR den ligger i
main — deres pull er atomisk og §12-vakta går rød på erstatning by design.
Ingen opsjon er valgt her, og §8 anbefaler ingen.

Målt mens oppføringen ble skrevet, og ført inn i den: dokumentets §11/§12 er
`ingest-spec.md` sine, ikke `method-spec.md` sine. Begge filer har §11
«load-bearing tests» og §12 «Cross-check table» med identisk ingress, og
method-spec §12 har verken `generated`- eller `source`-rad — et grep på
§-tallet uten filnavnet gir 0 og leses som «raden er borte». Underlagets to
premisser re-målt mot ingest-spec med kontroller og står: `generated` = 1 rad,
`source` + seks undernøkler = 7 rader, nevner 20 rader (kjent-positiv), samme
grep mot method-spec §12 = 0 (kjent-negativ). Sitatene fra §11-sømmen og
§12-ingressen er ordrett-verifiserte.

Ingen normativ tekst rørt, ingen versjonsbump, ingen tag.
2026-08-24 18:00:47 +02:00
22048eacd0 docs(spec): «step 0 — explore» som informativ merknad; README lover ikke lenger et manglende eksempel
To operatørbeslutninger 24.08, ingen normativ tekst endret.

method-spec.md §3: en informativ merknad mellom §3-ingressen og Step 1 om at
mandatet kan UTLEDES før løkka starter. ALDRI et niende nummerert steg — et
nummer i samme rekke arver rekkens autoritet, og aktiviteten er ikke normativ.
Merknaden bruker derfor ingen RFC 2119-nøkkelord, får ingen `###`-overskrift,
navngir ingen konkret agent-toolkit (framework-nøytralitets-vakta), legger
ingen kontraktsfelt til og berører ingen søm i §11. Den sier eksplisitt at
ingenting nedstrøms slakkes: Step 1s navigasjonsregler, Step 4s validator-gate
og verdikt-lag-eksklusjonen står uendret uansett hvordan mandatet ble til.

Ordrett «step 0» finnes nå to steder, på to akser som hver navngir sin egen:
examples/nav-golden-escape/README.md:3 («catalog's requirement that step 0's
gate…») og method-spec.md:66 («this specification defines no step zero»).

README.md: bygg-energi-mikro-bulleten lovte fortsatt «a realistic full-scale
example comes later». veglys-fv-soer og tunnel-hauglia er begge publisert og
fyller rollen; setningen peker nå på dem i stedet for å love noe som mangler.

Ordre 20260824T155506Z-3454831118-from-.claude, punkt 1 og 2.
2026-08-24 17:58:31 +02:00
7495cf6cc5 chore(privacy): fjern de tre private identifikatorene fra publiserte filer
Operatørbeslutning 24.08: scope er den SMALE klassen (brukernavn/privat
reponavn), ikke den bredere `~/repos`-klassen.

- `.gitignore`: «(KTG global)» droppet fra kommentaren
- v1-generated-felt: `human:ktg` → `human:<aktør>` (begge forekomster).
  Plassholder, ikke et konkret navn: linja gjengir OKFs måling, og et
  substitutt-navn ville påstått at de matet parseren en streng de aldri
  brukte. Formen (kolon i skalaren) er det som bæres, og den står.
- okf-versjonsakse-sjekk: privat sti droppet, ankeret `1ca27f6` beholdt

De 10 øvrige `~/repos`-forekomstene i verifiseringstabeller er URØRT — de er
reproduserbare kommandoer, og ingen kjørbar gate ville fanget en for aggressiv
sanering. Ordreteksten sa 8; målt nevner er 11 totalt, minus 1 i scopet = 10.

Ingen versjonsbump, ingen tag, CHANGELOG urørt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-24 16:47:55 +02:00
6b39f3bdee docs(readme): Contents lister alle fem eksempelbundler — veglys + tunnel var usynlige
README-ens Contents-seksjon listet tre av fem kataloger under examples/.
tunnel-hauglia og veglys-fv-soer — de to bundlene i realistisk skala — sto
ikke på første skjerm, og mangelen var ført som known limitation i den
publiserte v0.1.0-releasen.

To bullets i samme mønster som den eksisterende bygg-energi-mikro-oppføringen.
Ingen versjonsbump, ingen tag.

Verifisert: `grep -o 'examples/[a-z-]*/' README.md | sort -u` gir nå de samme
fem navnene som `ls -d examples/*/` — sett-likhet, ikke bare antall.

Ordre: 20260821T093259Z-1033122789-from-portfolio-optimiser-commons

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-23 21:26:21 +02:00
3362e82975 fix(security): sikkerhetskontakt security@, ikke hello@ (D6-konsistens)
D6-mottaksflatemåling 21.08: 4 av 23 org-repo oppga hello@ som
sikkerhetskontakt mens security@ er utpekt kanal. hello@ virker og
forblir riktig andre steder (CODE_OF_CONDUCT.md) — kun SECURITY.mds
kontaktadresse rettet.
2026-08-21 11:23:16 +02:00
10 changed files with 281 additions and 9 deletions

2
.gitignore vendored
View file

@ -4,5 +4,5 @@
# a public mirror). The guard roll-up greps STATE.md locally, so local-only is sufficient.
/STATE.md
# Local-scoped notes/overrides convention (KTG global): never mirrored.
# Local-scoped notes/overrides convention: never mirrored.
*.local.md

View file

@ -37,7 +37,23 @@ specifications alone, without reverse-engineering the reference code.
- [`examples/bygg-energi-mikro/`](examples/bygg-energi-mikro/) — the first example knowledge
bundle (OKF / LLM-wiki): one office building, one LED-retrofit measure, with a seed expert
verdict encoding the realization gap and a golden-suite of expected validator outcomes. A small
**dev fixture** for exercising the agentic loop; a realistic full-scale example comes later.
**dev fixture** for exercising the agentic loop; the two full-scale bundles below
([`veglys-fv-soer`](examples/veglys-fv-soer/), [`tunnel-hauglia`](examples/tunnel-hauglia/))
are the realistic ones.
- [`examples/veglys-fv-soer/`](examples/veglys-fv-soer/) — an example knowledge bundle at realistic
scale: a county-road street-lighting portfolio with two candidate measures (LED replacement of
2 500 of 9 500 HPS luminaires, and adaptive control), a seed expert verdict, the IR projection
the deterministic validator reads, and the project's cost baseline. The realization gap is a
parameter error — burn hours overestimated — on a Norwegian evidence base where many
installations have no metering at all. Project layer fictional, literature layer real and cited.
Written in Norwegian.
- [`examples/tunnel-hauglia/`](examples/tunnel-hauglia/) — an example knowledge bundle at realistic
scale, same file layout as the veglys bundle: a two-tube road tunnel with two candidate measures
(3-step to 13-step dimming of the entrance and transition zones, and passive portal screening).
Its realization gap arises in operation rather than in the parameters, so the seed verdict carries
`gap_source: control-tracking-overestimation` where both bygg-energi-mikro and veglys-fv-soer
carry `hours-of-use-overestimation` — a second gap class, so a learning loop exercised here has seen
more than one cause. Project layer fictional, literature layer real and cited. Written in Norwegian.
- [`examples/nav-golden-hierarchy/`](examples/nav-golden-hierarchy/) and
[`examples/nav-golden-escape/`](examples/nav-golden-escape/) — the **nav-golden** fixture class:
`bundle/` in, `expected-read-context.md` out, exercising the navigation contract (method-spec §3

View file

@ -8,7 +8,7 @@ If you discover a security issue, please report it responsibly.
### How to Report
Email: hello@fromaitochitta.com
Email: security@fromaitochitta.com
Include:
- Description of the issue

View file

@ -1,5 +1,10 @@
# Amendment-underlag — hva frossen tekst sier i dag, per køpunkt
> **Status: KØPLASSERT 2026-08-25** (ordre `20260825T081254Z-179095031-from-.claude`).
> Underlaget under (§0§9) sto ferdig fra korreksjonene 2026-07-26/08-01; denne oppføringen
> flytter saken fra «ligger her» til «står for tur», ikke fra åpen til avgjort — ingen
> normativ spec-tekst er skrevet. Hva køen forplikter til: **§10**.
**Status:** underlag. Spec-en er IKKE endret, og dette dokumentet foreslår INGEN ny tekst.
Ny tekst er pakken operatøren ratifiserer, og den eies oppstrøms (`portfolio-optimiser`,
sammen med `portfolio-optimiser-claude`s tekstforslag). Dette dokumentet svarer bare på
@ -545,3 +550,65 @@ endres ikke uten den ratifiseringen.
| §8 logger tre felter | `ingest-spec.md:230` | «which source, when, row count» |
| `connection_ref` er env-var-NAVN | `ingest-spec.md:109`, `:117` | «the NAME of a runtime-resolved …», secret resolved at run time |
| Begge konsumenter står på `7aa53fc` | coord fra begge, uavhengig | po: `git log --grep=git-subtree-split``ef1a2c5`; po-claude: egen måling |
---
## 10. Køplassering (operatørbeslutning 2026-08-25)
Operatøren har køplassert denne saken. Ordre `20260825T081254Z-179095031-from-.claude` sier det
eksplisitt: *«KØPLASSER commons-spec-amendments (D-A 1/2/4 + D-F) — docs-only, IKKE skriv
normativ spec-tekst.»* Denne seksjonen er derfor køoppføringen, ikke utførelsen. Formanalysen
(§1, §2, §4, §5 over) står allerede ferdig; det som gjenstår er selve normeringen, og den er
IKKE gjort her.
**Premissene re-målt før denne oppføringen (2026-08-25):**
- `grep -c 'cost-baseline' method-spec.md ingest-spec.md` → fortsatt **0 / 0** (kjent-negativ,
uendret siden §4).
- `nominal_feasible` → fortsatt til stede i §12s kryssjekk-tabell, `` | `nominal_feasible`,
`p10`, `p50`, `p90` | golden (validator) | §7.2 | `` (kjent-positiv, uendret siden §1).
- Linjeankere i `method-spec.md`/`ingest-spec.md` er forskjøvet siden underlaget ble skrevet:
fire commits i `a67a243..HEAD` rørte de to filene (`54e0ec7`, `838a4b1`, `22048ea`, `0f88324`).
Målt `git diff --numstat`: `method-spec.md` **+13/0**, `ingest-spec.md` **+15/10** (netto
**+5**, ikke ordreteksten premiss om «+3»). Avviket meldes her uten å endre handlingen —
§1§7 over siterer allerede seksjon + ordrett tekst, aldri linjenummer, så skiftet berører
ingen av sitatene.
- Coord-meldingen `20260803T152040Z-416406299-from-portfolio-optimiser` (i `archive/`) lest på
nytt: 22 dager gammel per 25.08, ingen nyere melding fra dem overskriver den, og den beskriver
fortsatt deres HEAD-tilstand slik den ble ført.
**Premiss-skiftet siden underlaget ble skrevet — S4.0 er lukket LOKALT hos
`portfolio-optimiser`, ordrett fra kilden:** *«S4.0 (validator-forankring mot kostbaseline, F3/F8)
er lukket i portfolio-optimiser uten at commons-amendmentet D-A pkt. 2 kom. Vi bestemte formatet
og semantikken lokalt … `cost-baseline.json` i bundle-rota …
Validatoren avstemmer hvert `affected_item` mot baselinen som STAGE 0 … Toleranse: relativ mot
BASELINE-verdien, default 5 % … Validering, ALDRI reparasjon … Baseline-argumentet er VALGFRITT
(None = gammel oppførsel). Bundle-stien forankrer KUN når bundelen shipper fila … Vil commons
normere noe av dette i spec-teksten, er det fritt fram — vi har ikke låst noe på deres vegne,
men koden vår kjører på det som står over.»* Dette gjør §4s premiss («ubetinget baseline
kolliderer med §7:332-333») foreldet i sin opprinnelige form — deres lukking er **betinget**
(bundle-sti forankrer kun når fila finnes; road-sti forankrer alltid), ikke ubetinget som
underlaget antok da det ble skrevet 2026-07-25. §4s operatør-spørsmål («obligatorisk … eller
opsjonell med fail-fast-semantikk kun når den finnes») har dermed fått ett av sine to svar
demonstrert i produksjonskode hos en konsument, uten at det er en beslutning commons har tatt.
**D7-speiling står ÅPEN hos `portfolio-optimiser-claude` for TRE punkter SAMTIDIG:** S2.7, S3.2
og S4.0 (samme kilde som over). Dette er en reell blokkering — de venter på at spec-teksten skal
eksistere før de kan speile den. Deres egen prioritering, gjengitt som DERES vurdering, ikke som
en anbefaling commons gjør: **D-F lavest** — S3.5 er kuttet hos dem denne uka.
**Ute av pakken, med grunn (uendret fra §3 og §6, gjentatt så den ikke gjenåpnes):**
- **D-A#3** (ledende `/`) er allerede normativt i commons HEAD siden `9801d35` — drift over
pull-grensen hos konsumentene, ikke et spec-hull. Se §3.
- **D-A#5** (hovedbok-projeksjoner) har ingen eksisterende tekst å endre og mangler
story-etikett oppstrøms — egen kategori (ny seksjon, ikke amendment), ikke del av denne
pakken. Se §6.
- **S2.3** (`doc`-konnektor) ble avslått hos `portfolio-optimiser` 2026-08-03 (scope-sak) —
gater ingenting i denne pakken. Se §7.
**Hva køplasseringen IKKE utløser:** ingen normativ spec-tekst i `method-spec.md` eller
`ingest-spec.md`, ingen versjonsbump, ingen tag, ingen coord-melding sendt. Løsningen for hvert
av de fire punktene (D-A#1/#2/#4 + D-F) er fortsatt operatørens å velge blant de opsjonene §1,
§2, §4 og §5 over allerede lister — denne oppføringen legger ikke noe nytt forslag fram, den
plasserer saken i køen.

View file

@ -11,6 +11,12 @@
> anbefaling. Utløst av `llm-ingestion-okf` (coord, 2026-07-26) som spør fordi authorship er
> vår: deres DEFAULT-profil staterer ingest-spec §5, og «ingen lokale spec-endringer» er deres
> stående non-goal.
>
> **§6.2-funnet («the shared golden extractions» har ingen referent) er KØPLASSERT 2026-08-25**
> (ordre `20260825T081254Z-1793231864-from-.claude`). §6.2 selv kaller det «et selvstendig
> punkt, ikke en del av V1, ikke i køen» — den setningen er nå avløst av denne banneren, ikke
> av seksjonen under den. Fortsatt ikke et vedtak: bare flyttet fra «ligger her» til «står for
> tur». Hva køen forplikter til: **§11**.
Beslektet: `2026-07-25-amendment-underlag.md` (køen av ratifiserbare punkter — V1 hører hjemme
der hvis den ratifiseres), `2026-07-25-b1-nav-golden-normative-status.md` (samme form).
@ -605,7 +611,7 @@ V1s valg i noen retning.
Én målt ting som støtter (a)s gjennomførbarhet, gjort av okf mot guard 0.2.0 og referert som
**deres** måling: `verified` som blokkliste går allerede gjennom persist-gaten
(`verified:\n - human:ktg` parses som `['human:ktg']`), mens en `generated`-**mapping** ikke gjør
(`verified:\n - human:<aktør>` parses som `['human:<aktør>']`), mens en `generated`-**mapping** ikke gjør
det i noen form (flow feiler på `{`, blokk på nested mappings, punktnøkler på key-regexen).
Ikke et argument for (a) i seg selv — men (a)s ene nye mekanisme møter ingen vegg der v0.2s
`generated` møter en. **Ikke verifisert av oss; deres tre, deres måling.**
@ -779,3 +785,55 @@ senere. `portfolio-optimiser-claude` varsles samtidig; de vet ennå ikke at id-e
`process:okf-ingest`.
*`ingest-spec.md` er fortsatt urørt på `bfa5a9b` i det dette skrives.*
## 11. Køplassering av §6.2-funnet (operatørbeslutning 2026-08-25)
Ordre `20260825T081254Z-1793231864-from-.claude` køplasserer `:29`-referent-defekten §6.2
beskriver. Denne seksjonen er køoppføringen, ikke utførelsen: **ingen normativ spec-tekst er
skrevet, og Q4-målingen (§6.2.1) er ikke bestilt hos `llm-ingestion-okf` i denne økten.**
**To atskilte ting — ikke slå sammen i én ordre:**
- **(a) Q4-målingen** (bytte manifestene i de tre casene til et hypotetisk commons-eid sett,
kjøre conformance-suiten, telle hvilke expected-bundle-bytes endrer seg og hvilke av de elleve
sømmene som forsvinner) er ekstern og kvotekrevende. Den bestilles hos `llm-ingestion-okf`
som en egen ordre/coord-melding **derfra**, ikke i denne — commons' egen regel er at forlater
tallet repoet, bestilles målingen og føres inn som deres (samme regel §6.2.1 selv siterer).
- **(b) `:29`-referent-defekten** er commons-eid og uavhengig av (a). §6.2 kaller den «et
selvstendig punkt, ikke en del av V1, ikke i køen», mens STATE-roll-upen
(`commons-shared-golden-referent`) fører saken som `partial`. **Denne spenningen meldes her,
løses ikke:** §6.2 beskriver en tilstand (referenten mangler), roll-upen beskriver en åpen
handling (defekten er ikke rettet i teksten) — de to er ikke i konflikt så mye som de måler på
hver sin akse, og hvilken akse som skal styre STATEs status-token er operatørens valg, ikke
denne ordrens.
**Premissene i §6.2/§6.2.1, re-målt 2026-08-25 — TO avvik funnet, konklusjonen uendret:**
1. **`ingest-spec.md:29`s ordlyd er uendret** («reproduce the shared golden extractions (§11)
byte for byte», linje 29 i dag). Filen er endret tre ganger siden §6.2 ble skrevet
(`838a4b1`, `54e0ec7`, `0f88324`) — ingen av de tre endringene rørte denne linja.
2. **Disjunktheten står: alle 8 kryss-repo `index.md`-par er byte-ulike** (`cmp`, re-kjørt),
kjent-positiv-kontroll bekreftet (en fil `cmp`-et mot seg selv gir IDENTICAL), og ingen andre
filnavn enn `index.md` overlapper på tvers av repoene.
3. **Avvik 1 — `llm-ingestion-okf` har IKKE lenger fire innholdsfiler, men fem, over fire
golden-caser, ikke tre.** §6.2s tabell (skrevet 2026-07-26) lister `ingest-orders.md`,
`ingest-products.md`, `ingest-metrics.md`, `ingest-status.md` + 3 `index.md`. Målt i dag:
caset `ingest-golden-okf-v0-2/` (innholdsfil `ingest-sales.md`, + 1 `index.md`) ble lagt til
`2026-07-31` i commit `2504011`**samme commit commons selv pinner** (STATE-linja
`llm-ingestion-okf: pin 2504011`). Riktig tall i dag: 5 innholdsfiler + 4 `index.md` over 4
caser (`file`, `http`, `okf-v0-2`, `sql`). Disjunktheten er upåvirket (`ingest-sales.md` er
inkludert i cmp-sveipen over og har ingen navnetreff hos `portfolio-optimiser-claude`).
4. **Avvik 2 — ordreteksten (og forskningsunderlaget den siterer) sier «fire filer» for
`portfolio-optimiser-claude`; §6.2s egen tabell sier riktigere «`ingest-costs.md` ×2,
`ingest-edge.md`, `ingest-meta.md»` — fire FOREKOMSTER, tre unike filnavn, over TO caser
(`file`, `sql`), ikke fire.** Bekreftet mot full git-historikk (`git log --all --name-only`)
at repoet aldri har hatt flere enn disse to golden-casene. Ordreteksten er upresis der §6.2
selv ikke er.
5. **`llm-ingestion-okf`s Q4-svar er nå 30 dager gammelt** (datert 2026-07-26, i dag
2026-08-25). §6.2.1 siterer dem uendret («de står klare til å ta den neste økt»); dette er en
30 dager gammel selvvurdering fra deres side, ikke re-bekreftet her — den re-bekreftelsen
hører til (a), ikke til denne køplasseringen.
**Hva denne seksjonen ikke utløser:** ingen normativ tekst i `ingest-spec.md`, ingen
versjonsbump, ingen tag, ingen bestilling sendt til `llm-ingestion-okf`. STATE-roll-upens
`partial`-token er urørt av denne seksjonen — se punkt (b) over for hvorfor.

View file

@ -89,5 +89,5 @@ Per driftsmodellen: navngi aksen, pek på rett respondent, ikke lever en verdi v
| gaten godtar nyere upstream-versjon | `spec.md:70-72` |
| re-sjekk-plikten er plugin-eiernes | `spec.md:246-247` |
Catalog-ankrene er lest read-only i `~/repos/ktg-plugin-marketplace/catalog` @ `1ca27f6`. Ingenting
Catalog-ankrene er lest read-only i en lokal klone av plugin-marketplace-katalogen @ `1ca27f6`. Ingenting
skrevet i det repoet.

View file

@ -1,7 +1,10 @@
# Funn-notat — §11 ankrer ikke §8 (og heller ikke §10)
**Status:** FUNN, registrert. **Ikke et underlag, ikke et forslag, ikke bestilt.**
Køplassering er operatørens. Commons forbereder underlaget, operatøren ratifiserer — og vi
**Status:** FUNN, registrert — **men KØPLASSERT 2026-08-25** (operatørbeslutning, ordre
`20260825T060649Z-9004613141-from-.claude`, punkt 1). **Fortsatt ikke et underlag, ikke et
forslag, ikke bestilt** — køplasseringen flytter saken fra «ligger her» til «står for tur», ikke
fra åpen til avgjort. Hva køen forplikter til: **§6**.
Commons forbereder underlaget, operatøren ratifiserer — og vi
bestiller ikke vår egen kø, heller ikke for funn vi selv gjør.
**Foranledning:** `portfolio-optimiser` meldte 2026-08-01 (`20260801T175832Z`) at `method-spec.md`
@ -81,3 +84,29 @@ Ubesvart per 2026-08-02. Ingen purring — de sa selv at det ikke blokkerer noe
En §8-rad ville vært en endring i frossen, subtree-konsumert tekst og krever operatørens
ratifisering på lik linje med V1.
## 6. Køplassering (operatørbeslutning 2026-08-25)
Operatøren har køplassert denne saken. Ordre `20260825T060649Z-9004613141-from-.claude`, punkt 1,
sier det eksplisitt: *«Kø SS11-budsjettfunnet neste — samme mønster som SS12-køplasseringen (egen
commit/notat i det respektive plandokumentet, IKKE selve utførelsen).»* Denne seksjonen er derfor
køoppføringen, ikke utførelsen — i motsetning til SS12s §8 finnes det her INGEN ferdig
formanalyse å henvise til: §2§4 over er et funn, ikke et sett med opsjoner. Det underlaget
(hvilke(n) form(er) en eventuell §8/§10-rad skulle ta, om noen) er selve SS11-arbeidet, og er
IKKE skrevet av denne oppføringen.
**De to andre kandidatene som stod i samme kø (`commons-spec-amendments`, D-A 1/2/4 + D-F, og
`commons-shared-golden-referent` Q4) er IKKE droppet** — ordren plasserte kun SS11 først, den tok
ikke stilling til de to andre.
**Hva økten som tar denne saken skal gjøre, når turen kommer:**
1. Re-mål §2§4s premisser mot `method-spec.md` FØR den handler på dem (linjeankere er
ferskvare — sitér seksjon + ordrett tekst, ikke linjenummer).
2. Skriv selve underlaget: hvilken/hvilke form(er) løser spenningen §2 påviser (en §8-rad, en
§10-rad, begge, eller ingen — §11-tabellen kan også bevisst IKKE være enumereringen av «every»
i §1.3, og da er det ingen spenning å løse). Legg formene fram for operatøren; ikke velg selv.
3. Vent på ratifisering før `method-spec.md` røres.
**Hva køplasseringen IKKE utløser:** ingen rad i `method-spec.md`, ingen ordlyd foreslått, ingen
versjonsbump, ingen tag, ingen coord-melding. Punkt 5 over står uendret av denne oppføringen.

View file

@ -1,8 +1,11 @@
# V1-etterspill — krever `generated.by` / `generated.at` egne rader i §12?
> **Status: UNDERLAG, ikke ratifisert. Ingen frossen tekst er endret på dette punktet.**
> **Status: RATIFISERT SOM O-A OG UTFØRT 2026-08-25 (`0f88324`). Saken er lukket.**
> Funnet under utførelsen av V1 (`54e0ec7`, 2026-08-09). V1 selv er ratifisert og utført;
> dette er en spenning utførelsen *avdekket*, ikke en del av vedtaket.
> dette var en spenning utførelsen *avdekket*, ikke en del av vedtaket. Underlaget sto som
> UNDERLAG fra 09.08, ble køplassert 24.08 og ratifisert 25.08. **§1§7 er bevart slik de sto
> da beslutningen ble tatt** — de er underlaget, ikke referatet. Hva køen forpliktet til: **§8**.
> Hva som faktisk ble gjort, og hva som ble avvist: **§9**.
>
> Beslektet: `2026-07-26-v1-generated-felt-okf-v0.2.md` (V1-vedtaket),
> `2026-08-02-ss11-mangler-rad-for-ss8.md` (samme klasse: intern spenning i frossen tekst).
@ -149,3 +152,87 @@ Utførelsen flyttet tre av våre egne ankere. Ført ordrett, ikke som linjenumre
| Kryssjekk-raden for `generated` | §12 | **uendret** — dette dokumentets tema |
`generated: true` finnes ikke lenger i specen (verifisert med `grep`).
---
## 8. Køplassering (operatørbeslutning 2026-08-24)
**Merk om §-henvisninger: dokumentets §11/§12 er `ingest-spec.md`s, ikke `method-spec.md`s.**
Se punkt 1 under.
Operatøren har køplassert denne saken. Ordre `20260824T155506Z-3454831118-from-.claude`, punkt 3,
sier det eksplisitt: *«Det som mangler er ren køplassering … IKKE utfør selve SS12-arbeidet i denne
ordren.»* Denne seksjonen er derfor køoppføringen, ikke utførelsen.
**Beslutningen som fortsatt er åpen, er den samme som §5 stiller.** Ingen opsjon er valgt her, og
denne seksjonen anbefaler ingen. Utfallsrommet er fire former, ikke tre — §5s O-A/O-B/O-C pluss
**erstatnings-formen** §5 selv fører som «en fjerde opsjon underlaget ikke listet».
**Hva økten som tar denne saken skal gjøre, i rekkefølge:**
1. **Les hvilken spec §-henvisningene gjelder, FØR den måler.** Hele dette dokumentets §11 og §12
er **`ingest-spec.md`s** §11 og §12 — ikke `method-spec.md`s. Begge filer har en §11 «load-bearing
tests» og en §12 «Cross-check table» med identisk ingress, og `method-spec.md`s §12 har verken
`generated`- eller `source`-rad. Målt 2026-08-24 mens denne køoppføringen ble skrevet: å lese
§-tallet uten filnavnet gir 0 treff og ser ut som «raden er borte». Dokumentet nedenfor navngir
ikke filen; gjør det selv før du greper.
2. **Re-mål underlagets premisser før den handler på dem.** Alle tall og sitater i §1§7 er fra
2026-08-09 og er premisser, ikke fakta. Re-målt 2026-08-24 mot `ingest-spec.md`, med kontroller:
`generated` = **1 rad**, `source` + de seks undernøklene = **7 rader**, nevner **20 rader** i
tabellen (kjent-positiv); samme grep mot `method-spec.md` §12 = **0** (kjent-negativ). Begge
premissene i §1 og §2 står altså. Ankertabellen i §7 er skrevet som seksjon + ordrett tekst
nettopp for å kunne re-måles med `grep -F`. Også ordlyden er re-målt 2026-08-24: §11-sømmen
lyder ordrett «stops documenting a contract field» (`ingest-spec.md:285`) og §12-ingressen
«Every field of the machine-readable contracts …» (`ingest-spec.md:289`) — begge som sitert i
§1 og §4. Linjenumrene er ferskvare; sitatene er ankeret.
3. **Legg de fire formene fram for operatøren og få én ratifisert.** Vi forbereder underlaget,
operatøren ratifiserer — også når funnet er vårt eget.
4. **Meld formen til `portfolio-optimiser-claude` FØR den ligger i commons' main** dersom den
ratifiserte formen er erstatning. Deres §12-vakt keyer på at radens første kolonne er ordrett
`` | `generated` | `` (deres måling, ført som deres i §5): tilføying koster dem ingenting,
erstatning gjør vakten rød *by design*. Pullen deres er atomisk, så varselet må komme først.
**Hva køplasseringen IKKE utløser:** ingen versjonsbump, ingen tag, ingen endring i §5s ordnede
frontmatter-prefiks, og ingen behandling av §6s redundans-funn (`generated.at` gjentar
`ingested_at`) — §6 fører selv det som en følge av den ratifiserte formen og eksplisitt ikke oppe
til vurdering.
**Hvorfor det ikke haster, uendret fra §4:** ingen kjent implementasjon går rød av dagens tilstand.
Eksponeringen er mot §12-ingressens fullstendighets-påstand, som er en svakere binding enn
§11-sømmens «stops documenting a contract field». Køplasseringen er en beslutning om *rekkefølge*,
og skal ikke leses som at sømmen har blitt rød.
---
## 9. Utfall (operatørbeslutning 2026-08-25, utført samme dag)
Operatøren ratifiserte **O-A**: to rader tilføyd i `ingest-spec.md` §12s kryssjekk-tabell,
rett under `generated`-raden. Ordre `20260825T042426Z-7242731354-from-.claude`, utført i
`0f88324`.
```
| `by` | provenance frontmatter (`generated` subkey) | §7 |
| `at` | provenance frontmatter (`generated` subkey) | §7 |
```
**Avvist, ikke nedprioritert:** O-B (snevre ingressen), O-C (la alt stå) og erstatnings-formen.
Ordren sier det eksplisitt. §5s opsjonstabell står urørt som underlag; den beskriver
utfallsrommet slik det så ut FØR beslutningen, og skal ikke leses som fortsatt åpen.
**Premissene re-målt før handlingen, med kontroller** (25.08, mot `ingest-spec.md`): nevner
**20 rader** i §12 (kjent-positiv), `generated` = **1 rad**, `source` + de seks undernøklene =
**7 rader**; samme grep mot `method-spec.md` §12 = **0** (kjent-negativ). §11-sømmen «stops
documenting a contract field» og §12-ingressen «Every field of the machine-readable contracts …»
verifisert ordrett. Alle premissene i §1§7 står altså; ingenting ble målt annerledes enn i
køoppføringen.
**Konsument-kostnaden verifisert utenfra, ikke antatt.** §5 førte `portfolio-optimiser-claude`s
egen måling (deres §12-vakt keyer på radens første kolonne). Ved utførelsen ble vakten lest
direkte i deres kildekode: den sjekker at hvert sporet kontraktsfelt FINNES som rad i en
§12-slice, pluss at slicen ikke har degenerert til hele dokumentet. Tilføying rører ingen av
delene — `generated`-raden er byte-uendret og alle 13 sporede felt står. Derfor **ingen
coord-melding sendt**: plikten i §8 punkt 4 gjaldt erstatnings-formen, som ikke ble valgt.
**Utløste ikke:** versjonsbump, tag, fixture-endring, §5s ordnede frontmatter-prefiks, og §6s
redundans-funn (`generated.at` gjentar `ingested_at`) — §6 fører selv det som en følge av den
ratifiserte formen og eksplisitt ikke oppe til vurdering.

View file

@ -310,4 +310,6 @@ is enforced by the spec-integrity test):
| `ingested_at` | provenance frontmatter / materialization argument | §5, §7 |
| `ingest_manifest` | provenance frontmatter | §5, §7 |
| `generated` | provenance frontmatter | §3, §7 |
| `by` | provenance frontmatter (`generated` subkey) | §7 |
| `at` | provenance frontmatter (`generated` subkey) | §7 |
| `manifest.json`, `fixture/`, `ingested-at.txt`, `expected-bundle/` | golden extraction case | §11 |

View file

@ -58,6 +58,19 @@ checker (reasoning) — they judge the same candidate and are never conflated (
Eight steps. Steps 16 happen within one run; steps 78 close the learning loop across runs
separated in time.
**Informative note — exploration before the loop (deliberately unnumbered).** The loop is entered
with a **mandate**: one project, plus the objective its candidates are generated against. This
specification does not say where that mandate comes from — a consumer can be handed one, or can
*derive* one first, by asking clarifying questions, testing framings against the bundles that are
available, and settling the objective before Step 1 begins. Consumers have called that preparatory
activity *step 0 — explore*. It is not numbered here, and this specification defines no step zero:
the loop's steps are 18, a number in the same row would inherit that row's authority, and this
activity carries no conformance requirement — it adds no contract field, and no seam in §11 covers
it. It relaxes nothing downstream either: however the mandate was arrived at, Step 1's navigation
rules, Step 4's deterministic validator gate and the verdict-layer exclusion apply unchanged. The
note exists so that two implementations building the same preparatory stage recognise it as the
same stage — not so that either is required to build it.
### Step 1 — Understand the context (navigate, never stuff)
The agent read-context for a project MUST be built by **navigating** its OKF bundle with