8.7 KiB
D3 — status-vokabular: kanonisk token-sett for roll-up-registeret
Status: RATIFISERT 2026-07-24 — landet i ~/.claude/coord/register.md (kanonisk 7-token-sett +
de to reglene inline; active og det åpne … fjernet). Denne doken er kontrakt-kilden.
Foranledning: D2-register-form-fiksen (docs/plan/2026-07-23-d2-register-form-fix.md, c66ccc3)
landet register-formen og ble ratifisert inn i ~/.claude/coord/register.md (2026-07-23). Både
kontrakten og den globale register-fila refererer et status-token-vokabular men definerer det
ikke — begge peker eksplisitt til «D3-sporet» (register.md linje 42–44, 73; D2 §3.2). Denne doken
forfatter det vokabular-kontrakten HER (jf. driftsmodell: kontrakten forfattes i commons,
wiringen i catalog), til ratifisering inn i register-fila.
Ratifiserte valg (operatør, 2026-07-23): kanonisk 7-token-sett (active foldet inn i
in-progress); to normative regler (partial transitorisk; deferred ≠ blocked); leveranse =
denne proposal-doken (ingen unilateral global edit), speiler D2-mønsteret.
1. Gapet: vokabularet er referert, ikke definert
Roll-up-markøren har formen topic: status — prosa (utgang A / STATE.md) og topic: status
(utgang B / .rollup-carrier). Første token etter : er den maskinlesbare statusen. D2 fastslo at
token-settet trekkes fra «D3-status-vokabularet» men lot definisjonen stå åpen — register.md lister
et kandidatsett med et etterfølgende … (åpen-endet), ikke en normativ definisjon.
Ground truth (verifisert 2026-07-23): kun to tokens er i faktisk bruk på tvers av
~/repos/*/STATE.md — planned (5×) og not-applicable (1×). Resten av settet er prospektivt.
Dette er altså en definisjon før bred bruk: D3 setter den kanoniske betydningen slik at fremtidige
markører er konsistente, ikke en migrasjon av eksisterende data.
2. Kanonisk token-sett (normativt)
Syv tokens. active (i register.md-kandidatlista) droppes — det overlapper in-progress uten skarp
semantisk forskjell; en ekstra synonym svekker den maskinlesbare disiplinen.
| Token | Semantikk | Terminal? |
|---|---|---|
planned |
Avgrenset scope, ikke startet. | Nei |
in-progress |
Aktivt arbeid, én eier, forventet å nå done. |
Nei |
partial |
Transitorisk. Noen konstituerende deler ferdig, andre utestående — potensielt under ulike eiere. MÅ bære eier + neste-steg i utgang-A-prosaen (§3.1). Aldri en terminal hviletilstand. | Nei |
blocked |
Kan ikke fortsette — venter på en ekstern avhengighet. Navngir blokkereren i prosaen. | Nei |
deferred |
Bevisst utsatt — et valg om å ikke gjøre nå, ikke venting på noe. Distinkt fra blocked (§3.2). |
Nei |
done |
Fullført, ingen utestående arbeid. | Ja |
not-applicable |
Temaet gjelder ikke dette repoet (f.eks. spec-eier uten kjørbar pipeline). | Ja |
Terminal-klassifiseringen er informativ, ikke håndhevet: den skiller hviletilstander (done,
not-applicable) fra tilstander som forventer videre bevegelse. Den muliggjør en fremtidig
staleness-heuristikk (en ikke-terminal markør som ikke har endret seg på lenge fortjener tilsyn),
men denne doken innfører ingen slik gate — det finnes ingen pålitelig tidsstempel-mekanisme i
markør-formen, og å oppfinne en her ville være spekulativt scope.
3. To normative regler
3.1 partial er transitorisk — krever eier + neste-steg
partial beskriver arbeid delt i konstituerende deler med ulik framdrift, ofte ulike eiere. Uten en
eksplisitt eier + neste-steg blir det en åpen «halvferdig»-tilstand uten vei ut. Regelen:
En
partial-markør hvis utgang-A-prosa mangler både en eier og et neste-steg er malformert.
Dette er en disiplin på utgang A (STATE-prosaen), ikke utgang B. Utgang B bærer kun token-et
(topic: partial) og er offentlig-trygg per D2 §3.2 — eier/neste-steg-prosaen forlater aldri utgang
A. Regelen kolliderer derfor ikke med D2s offentlig-trygghet (V4): den håndheves der prosaen finnes.
Grounding: «form→catalog, plumbing→okf, tillit→guard, spec→commons» (fra
llm-ingestion-okf-markøren) er nettopp den fler-eier-delingen partial fanger — et tema der én
eiers del kan være ferdig mens en annens er utestående.
3.2 deferred ≠ blocked — frivillig vs. ufrivillig
blocked: arbeidet kan ikke fortsette; en ekstern avhengighet står i veien. Ufrivillig.deferred: arbeidet kunne fortsette, men er bevisst nedprioritert. Frivillig.
Skillet bærer beslutnings-informasjon: blocked inviterer «løs blokkereren»; deferred sier
«dette ligger med vilje, ikke rør». Å konflatere dem skjuler hvorvidt noen venter på noe.
Grounding (begge fra dagens økosystem):
deferred: commons' «broadcast (bærer-modus per repo) bevisst utsatt — builder tolererer fravær → ingen andre repo blokkeres» (STATE). Ingenting venter; valgt å ligge. Tekstbokdeferred.blocked: catalogs «ÅS#5-gatede STEG 0» varblockedpå D2-ratifiseringen inntil commons varslet via coord (som låste opp steget). Ekstern avhengighet, ufrivillig — tekstbokblocked.
4. Konsekvens for register.md ved ratifisering
Ratifisering erstatter register.md-kandidatlista (linje 42–44) med det kanoniske settet:
- Fjern
active(foldet inn iin-progress). - Fjern det åpen-endede
…— settet er lukket og normativt. - Legg til de to reglene (§3.1, §3.2) eller en peker til denne doken.
Ingen eksisterende markør må endres: planned og not-applicable (de eneste i bruk) er begge i det
kanoniske settet.
5. Avhengigheter og grenser
- D2 (
c66ccc3, register.md) leverer formen som konsumerer dette vokabularet. D3 fyller vokabular-referansen D2 lot stå åpen. D3 endrer ikke to-utgangs-modellen, bærer-grammatikken eller builder-modusene. - catalog eier builderens wiring. En builder KAN håndheve §3.1-gaten (regex på
partial-linjer i utgang-A-kilden) og bør avvise ukjente tokens utenfor det kanoniske settet — men det er catalog-wiring, ikke denne kontrakten. Commons rører ikke catalog-moduler. - Ingen global konvensjon endres her. Ratifisering (register.md-oppdateringen) er neste steg, etter operatør-OK.
6. Verifisering
Testbare kriterier som beviser at kontrakten er korrekt og ikke-regressiv:
- V1 (ingen regresjon): de to tokens i faktisk bruk er begge i det kanoniske settet.
grep -rhoE '^[a-z][a-z0-9-]+: (planned|not-applicable)' ~/repos/*/STATE.md→ treff; ingen eksisterende markør faller utenfor settet. - V2 (
activeer ikke i bruk — trygt å droppe):grep -rhE '^[a-z][a-z0-9-]+: active\b' ~/repos/*/STATE.md→ tomt. Bekrefter at å foldeactiveinn iin-progressikke bryter noen levende markør. Verifisert 2026-07-23: tomt. - V3 (register.md refererer, definerer ikke — gapet er reelt):
grep -n 'D3' ~/.claude/coord/register.md→ linjene som utsetter til D3-sporet (i dag 42–44, 73). Etter ratifisering skal disse erstattes av den normative definisjonen. - V4 (
partial-gaten er utgang-A-lokal, kolliderer ikke med D2 V4): enpartial-linje bærer eier + neste-steg kun i prosa (etter em-dash); utgang B (.rollup-carrier) forblir prosa-fri per D2 §3.2. Gatenpartial ⇒ prosa har eier+neste-stegog D2s gate.rollup-carrier har ingen prosagjelder to ulike utganger og kan begge holde samtidig. - V5 (
deferred/blocked-skillet er observerbart): dagensdeferred-case (commons' bevisst utsatte broadcast) ogblocked-case (catalogs ÅS#5-gatede STEG 0, nå løst) er distinkte i økosystemet (§3.2 grounding) — skillet koder reell beslutnings-informasjon, ikke en synonym.
Nøkkelantakelser — eksplisitt testet:
- «Vokabularet er referert men udefinert i register.md.» Testet:
grep -n 'D3' register.md→ linje 42–44 («D3 er eget spor; her refereres vokabularet, defineres ikke») + linje 73 («Status-vokabularet: D3-sporet»). Verifisert 2026-07-23. - «Kun
planned+not-applicableer i bruk; resten er prospektivt.» Testet:grep -rhoE ... ~/repos/*/STATE.md | sort | uniq -c→planned5×,not-applicable1×, ingen andre. Verifisert 2026-07-23. D3 er en definisjon før bred bruk, ikke en migrasjon.
7. Ratifiseringssti
Operatør-OK på dette vokabularet + de to reglene.GJORT (2026-07-23).Ratifiser inn iGJORT (2026-07-24): ny «Status-vokabular»-seksjon (tabell + regel 1/2) + kontrakt-kilde-peker; vokabular-bulleten og Eierskap-pekeren oppdatert.~/.claude/coord/register.md: erstatt kandidatlista med det kanoniske settet + reglene; fjernactiveog….- catalog kan (valgfritt, deres wiring) håndheve §3.1-gaten + avvise ukjente tokens i builderen. — GJENSTÅR (catalog-spor).