From 056b6522f15127dc58de07d42efdedd5872fee2c Mon Sep 17 00:00:00 2001 From: Kjell Tore Guttormsen Date: Mon, 20 Jul 2026 08:53:07 +0200 Subject: [PATCH] docs(okr): trinn C-tillegg til fase-4-kartlegging (adopsjonsrunden) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Deltakelse i den koordinerte OKF-adopsjonsrunden (ni repo). Varig innhold festet i eget repo per postkasse-regel 2; svaret selv ligger i den midlertidige postkassen. Nytt i §6: primitiv-hypotesen bekreftet mot egen kode, med forbehold om at orkestreringen (gate-foer-relasjoner, gate-scoping, claimed-register, per-dokument-rollback) er den dyre delen og maa foelge med som referanse- orkestrator. Flat-vs-hierarkisk indeks: format kan deles, kontrakt ikke -- to lenkekonvensjoner i samme bundle kollapser i en flat modell. Konvergens med to andre repo paa writer-primitivet (frontmatter-passthrough, som vi allerede har). Bundle-plassering: compliant, men cwd-binding flytter lekkasjeflaten uten aa fjerne den. Ingen kodeendring. Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01AGkEqS3Zxf7rVuUQHrsQG2 --- ...ingestion-okf-fase4-kartlegging-2026-07.md | 57 ++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) diff --git a/docs/llm-ingestion-okf-fase4-kartlegging-2026-07.md b/docs/llm-ingestion-okf-fase4-kartlegging-2026-07.md index d0b4e19..0633a42 100644 --- a/docs/llm-ingestion-okf-fase4-kartlegging-2026-07.md +++ b/docs/llm-ingestion-okf-fase4-kartlegging-2026-07.md @@ -153,7 +153,62 @@ layout-snapshot), og det er en spec-endring som må gå via commons/catalog. --- -## 6. Neste steg (ikke utført) +## 6. Tillegg fra adopsjonsrunden 2026-07-20 (trinn C) + +Skrevet etter deltakelse i den koordinerte runden (ni repo, postkasse `~/repos/_okf-interim/`, +midlertidig). Svaret vårt ligger i `svar/okr.md` der; det varige innholdet er dette: + +### 6.1 Primitiv-modellen er riktig — men orkestreringen er den dyre delen + +okr er allerede primitiver + én komponerende kaller: `splitConcepts`, `projectFrontmatter`, +`resolveRelations`, `writeConcepts`, `generateIndexes`, `checkBundle`, `convert`, +`isSafeBundleLink` — og `innboks-ingest.mjs` som gjør ingenting primitivene ikke eksponerer. + +Fire orkestrerings-invarianter er ikke-åpenbare og ble kjøpt dyrt (B5, B2). De må følge med +et delt bibliotek som referanse-orkestrator, ikke bare som primitiver: +1. Gate FØR relasjoner (ellers dangling lenker fra discardede dokumenter). +2. Gate scopet til kjøringens skrevne filer (ellers felles håndkuratert innhold). +3. Kryss-kilde-`claimed`-register (kollisjon er en egenskap ved kjøringen, ikke en primitiv). +4. Per-dokument-rollback (derfor returnerer `writeConcepts` `{concepts, pointers}`). + +Begrensning i vår stemme: okr har **ingen pull-sti** (no-network by design), så vi kan ikke +uttale oss om henting-som-primitiv. + +### 6.2 Flat vs. hierarkisk indeks — format deles, kontrakt gjør det ikke + +Dør A produserer flate bundles; vår form er hierarkisk. Forskjellen er ikke kosmetisk: +- **To lenkekonvensjoner i samme bundle:** index-entries er nivå-relative, body-relasjoner er + bundle-rot-relative (leading `/`). I en flat bundle kollapser de til det samme — en port + fra en flat kontrakt får dette stille galt. +- `okf_version` kun i rot-index forutsetter en rot distinkt fra andre nivåer. +- `routeLevel(type)` gjør nivået semantisk avledet; flat materialisering har ingen tilsvarende + operasjon. + +**Posisjon:** flat = degenerert hierarkisk (dybde 1). Kontrakten må formuleres som «én +`index.md` per nivå», ellers kan ikke Node konformere uten å brekke okr. Krav til +cross-runtime-fixtures: minst én hierarkisk fixture, ellers beviser parity-testing ingenting. + +### 6.3 Konvergens med to andre repo på writer-primitivet + +portfolio-optimiser-claude og ms-ai-architect ber begge om frontmatter-som-input uten +connector. **Vi har det bygget:** `writeConcepts` tar `concept.frontmatter` som ferdig +serialisert streng og skriver verbatim (`fileContent` = `frontmatter + body`, ingen +re-serialisering — dokumentert designvalg). Tre av ni konvergerer; løses F1 som en +markdown-connector i dør A, får ingen av de tre noe. + +### 6.4 Bundle-plassering — vi er compliant, men cwd-binding er en svak garanti + +Ingen bruker-eid bundle ligger i plugin-treet (`.claude/okr/` er cwd-relativ i brukerens eget +prosjekt; `~/.claude/okr/org/` er home; KB-referansene er plugin-eide og blir). Org-profil- +migreringen i 1.6.x er vår egen referanse for konfigurerbar sti-oppløsning. + +**Åpent, meldt videre:** cwd-binding flytter lekkasjeflaten, den fjerner den ikke — +`.claude/okr/` lander i hvilket som helst repo brukeren står i, inkludert offentlige. +**Grensetilfelle:** tillitsmodellen vår er asymmetrisk *innenfor* én bundle (innboks fiendtlig, +resten kuratert — derfor `kilde: innboks`-guarden). Blir hele bundlen dør C-«eksternt +innhold», må den grensen tegnes på nytt. + +## 7. Neste steg (ikke utført) 1. Operatør melder kartleggingen inn til biblioteket som kravgrunnlag (§3 er kravlisten). 2. Catalog avklarer `okf_version`-semantikken (§4) — blokkerer løftet.