portfolio-optimiser/docs/plan
Kjell Tore Guttormsen c255662802 feat(ingest): P2/S1.b — innholdsgaten står, rundt materialize og ikke i den
Planens §3 sa at `ingest.materialize` er repoets ENE skrivepunkt på Door A, og
det premisset ble felt av måling FØR bygging: `materialize` er en ren delegasjon
til pinnet llm_ingestion_okf v0.3.2s `materialize_bundle`, som stager i minnet og
utfører sin egen disk-fase. Det finnes ingen callback mellom de to, så en gate
plassert der kunne bare kjørt ETTER at bytene landet — en opprydding, ikke en gate.

Sømmen ble i stedet kopier bundelen → materialiser inn i kopien → skann det som
ble generert → publiser eller forkast. Kopien er bærende, ikke bekvemmelighet:
bibliotekets §3 eierskaps-skann, kollisjonsgaten mot kuratert innhold og §6
index-merge leser alle den EKSISTERENDE bundelen. Staging i tom katalog mister
alle tre og publiserer en bundle uten kuraterte naboer — datatap forkledd som
sikkerhetsfiks.

De fire §4-beslutningene, tatt og målt: (1) ingen av guardens to preset —
Origin.EXTERNAL/AUTOMATIC, fordi trust_for utleder policy fra origin alene og
PRESET_USER_UPLOAD bærer en quarantine-semantikk Door A ikke har; (2) utfall per
BUNDLE, diagnostikk per DOKUMENT — delvis publisering ville etterlatt bundle +
index som svarer til intet manifest, men import_bundle itererer forbi første
avvisning; (3) Report til log.md, aldri konsept-frontmatter, der fire golden-suiter
pinner bytene; (4) mypy-override OG adapter, siden override alene gjør sømmen
type-blind i stedet for type-sikker.

`materialize` forblir ugatet med vilje — goldenene pinner den, og en kaller som
vil ha gaten ber om den ved navn.

Fem mutasjoner alle røde + grønn kontroll (hele suiten, ~120 s hver): detach
gaten · la den fyre ETTER publisering · Origin.INTERNAL · tom staging-katalog ·
rapporter kun første avvisning.

Målingen felte en VAKUØS test først: en hard injeksjon scorer fail_secure under
BEGGE trust-tierene, så Origin.INTERNAL-mutasjonen lot alle tre avvisningstestene
stå grønne — beslutning 1 så dekket ut uten å være testet. Båndet der tieren
faktisk avgjør er høy-entropi-innhold (quarantine_review vs warn), og testen ble
skrevet mot nøyaktig det før mutasjonen ble re-målt. Mutasjon 4 ble på sin side
felt av KUN én test; 809 andre merket ikke at bundle-kopien forsvant.

Laveste disposition er `warn`, ikke `allow` — `allow` finnes ikke i guarden. En
gate skrevet mot == allow ville avvist hvert dokument som noensinne ingestes.

Kriterium 5 står: demo-stdout er byte-identisk med tests/golden/demo-transcript.stdout,
målt både i suiten og ved eksplisitt kjøring. shared/ er urørt.

801 -> 810 passed / 4 skipped.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DDu94KoyxAmhJsG2n63X8Q
2026-08-09 22:58:00 +02:00
..
2026-06-23-incremental-plan.md docs: add cost-discipline + 90% principle as locked decisions (D5, D6) 2026-06-23 22:11:48 +02:00
2026-06-26-maalbilde-agentic-loop.md docs(maalbilde): konsolidert agentisk-loop baseline + OKF-kontekstarkitektur 2026-06-26 20:56:14 +02:00
2026-07-02-sesjonsplan.md docs(plan): session-by-session execution plan from the 2026-07-02 status analysis 2026-07-02 17:11:10 +02:00
2026-07-03-maalbilde-ingest-lag.md docs(plan): målbilde + gated sesjonsplan for ingest-programmet 2026-07-03 13:45:14 +02:00
2026-07-03-program-brief-ingest-konnektorer.md docs(plan): program-brief for ingest-lag — tools/konnektorer mot reelle datakilder 2026-07-03 11:24:24 +02:00
2026-07-03-sammenligningsprotokoll.md docs(plan): S3 — comparison protocol (pinned ref, metrics, liveness asymmetry) 2026-07-03 01:10:05 +02:00
2026-07-03-sesjonsplan-ingest.md docs(plan): ingest-rammer — Opus 4.8 xhigh alle økter, ingen Fable 5 2026-07-04 17:17:09 +02:00
2026-07-06-reell-kjoring-analyse-plan.md docs(plan): utrulling D-F–D-I — sesjonsplan (D-F–D-I i §2, S3.5/S3.6/S5.4, graf+T0), roadmap-revisjonsblokk, commons-amendment-utkast (Step-1-analyse: NEI → minimal amendment), toolkit-repo-brief 2026-07-15 05:29:41 +02:00
2026-07-10-sesjonsplan-fase2-6.md docs(repo): meet the org repo-standard gate — 0 ERROR 2026-08-03 21:56:19 +02:00
2026-07-14-commons-amendment-utkast.md docs(plan): utrulling D-F–D-I — sesjonsplan (D-F–D-I i §2, S3.5/S3.6/S5.4, graf+T0), roadmap-revisjonsblokk, commons-amendment-utkast (Step-1-analyse: NEI → minimal amendment), toolkit-repo-brief 2026-07-15 05:29:41 +02:00
2026-07-14-revisjonspakke-DF-DI.md docs(plan): utrulling D-F–D-I — sesjonsplan (D-F–D-I i §2, S3.5/S3.6/S5.4, graf+T0), roadmap-revisjonsblokk, commons-amendment-utkast (Step-1-analyse: NEI → minimal amendment), toolkit-repo-brief 2026-07-15 05:29:41 +02:00
2026-07-14-toolkit-repo-brief.md docs(plan): utrulling D-F–D-I — sesjonsplan (D-F–D-I i §2, S3.5/S3.6/S5.4, graf+T0), roadmap-revisjonsblokk, commons-amendment-utkast (Step-1-analyse: NEI → minimal amendment), toolkit-repo-brief 2026-07-15 05:29:41 +02:00
2026-07-16-llm-ingestion-guard-inclusion.md feat(ingest): P2/S1.b — innholdsgaten står, rundt materialize og ikke i den 2026-08-09 22:58:00 +02:00
2026-08-06-demo-uke-plan.md feat(step5): the falsification that informed the next hypothesis now leaves the loop 2026-08-06 15:12:06 +02:00
2026-08-06-intensjons-qa.md docs(qa): the four decisions the QA surfaced, with what constrains them 2026-08-06 13:20:52 +02:00
2026-08-07-planrevisjon-prompt.md docs(plan): six objections to the week plan, as a prompt the next session must measure before acting 2026-08-07 16:39:42 +02:00
2026-08-09-egnethetsreview-plan.md feat(simulation): P4 pkt. 3+4 — demo-transkriptet pinnet, frø-setningen avledet [skip-docs] 2026-08-09 22:12:25 +02:00
2026-08-09-fable-egnethetsreview-prompt.md docs(plan): the Fable prompt, with the feature set as its main track and quota as its output 2026-08-06 20:01:53 +02:00
2026-08-09-innholdsgate-og-aerlighet.md feat(ingest): P2/S1.b — innholdsgaten står, rundt materialize og ikke i den 2026-08-09 22:58:00 +02:00