Compare commits
No commits in common. "main" and "v0.1.0" have entirely different histories.
10 changed files with 9 additions and 281 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -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: never mirrored.
|
||||
# Local-scoped notes/overrides convention (KTG global): never mirrored.
|
||||
*.local.md
|
||||
|
|
|
|||
18
README.md
18
README.md
|
|
@ -37,23 +37,7 @@ 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; 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.
|
||||
**dev fixture** for exercising the agentic loop; a realistic full-scale example comes later.
|
||||
- [`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
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ If you discover a security issue, please report it responsibly.
|
|||
|
||||
### How to Report
|
||||
|
||||
Email: security@fromaitochitta.com
|
||||
Email: hello@fromaitochitta.com
|
||||
|
||||
Include:
|
||||
- Description of the issue
|
||||
|
|
|
|||
|
|
@ -1,10 +1,5 @@
|
|||
# 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å
|
||||
|
|
@ -550,65 +545,3 @@ 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.
|
||||
|
|
|
|||
|
|
@ -11,12 +11,6 @@
|
|||
> 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).
|
||||
|
|
@ -611,7 +605,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:<aktør>` parses som `['human:<aktør>']`), mens en `generated`-**mapping** ikke gjør
|
||||
(`verified:\n - human:ktg` parses som `['human:ktg']`), 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.**
|
||||
|
|
@ -785,55 +779,3 @@ 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.
|
||||
|
|
|
|||
|
|
@ -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 en lokal klone av plugin-marketplace-katalogen @ `1ca27f6`. Ingenting
|
||||
Catalog-ankrene er lest read-only i `~/repos/ktg-plugin-marketplace/catalog` @ `1ca27f6`. Ingenting
|
||||
skrevet i det repoet.
|
||||
|
|
|
|||
|
|
@ -1,10 +1,7 @@
|
|||
# Funn-notat — §11 ankrer ikke §8 (og heller ikke §10)
|
||||
|
||||
**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
|
||||
**Status:** FUNN, registrert. **Ikke et underlag, ikke et forslag, ikke bestilt.**
|
||||
Køplassering er operatørens. 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`
|
||||
|
|
@ -84,29 +81,3 @@ 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.
|
||||
|
|
|
|||
|
|
@ -1,11 +1,8 @@
|
|||
# V1-etterspill — krever `generated.by` / `generated.at` egne rader i §12?
|
||||
|
||||
> **Status: RATIFISERT SOM O-A OG UTFØRT 2026-08-25 (`0f88324`). Saken er lukket.**
|
||||
> **Status: UNDERLAG, ikke ratifisert. Ingen frossen tekst er endret på dette punktet.**
|
||||
> Funnet under utførelsen av V1 (`54e0ec7`, 2026-08-09). V1 selv er ratifisert og utført;
|
||||
> 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**.
|
||||
> dette er en spenning utførelsen *avdekket*, ikke en del av vedtaket.
|
||||
>
|
||||
> 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).
|
||||
|
|
@ -152,87 +149,3 @@ 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.
|
||||
|
|
|
|||
|
|
@ -310,6 +310,4 @@ 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 |
|
||||
|
|
|
|||
|
|
@ -58,19 +58,6 @@ checker (reasoning) — they judge the same candidate and are never conflated (
|
|||
Eight steps. Steps 1–6 happen within one run; steps 7–8 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 1–8, 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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue