docs(okr): trinn C-tillegg til fase-4-kartlegging (adopsjonsrunden)
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) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AGkEqS3Zxf7rVuUQHrsQG2
This commit is contained in:
parent
29401bcd60
commit
056b6522f1
1 changed files with 56 additions and 1 deletions
|
|
@ -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.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue