docs(git): leg de twee ontwerpbesluiten over zegel en ink vast (#541) #702

Merged
brenno merged 1 commit from docs/zegel-en-ink-besluiten-541 into main 2026-07-22 22:12:06 +00:00
Owner

Werkt aan #541 — de twee ontwerpbesluiten uit je reactie staan nu in GIT_STORAGE.md, waar je schreef dat ze hoorden. Het issue blijft open voor de bouw.

Een besluit dat alleen in een issuereactie leeft is een besluit dat de volgende lezer niet vindt, en deze twee stonden de resterende delen van #541 in de weg.

D12 (nieuw) — een zegel hoort op een tag, niet op een tak

Met de redenering erbij: dat volgt uit wat een zegel bedoelt, en een tak biedt dat niet — die kan herschreven, gecherrypickt en geforceerd geduwd worden. Plus de twee gevolgen voor de bouw: het zegel reist in de commitset van een versie-uitgifte, en een gewone opslag naar een werkbranch weigert een verzegeld deck in plaats van er achteraf over te waarschuwen.

D7 (aangevuld) — bij ink wordt wissen een grafsteen

Inclusief waarom pure vereniging hier de verkeerde keuze is, en met de bouwvolgorde, want die is niet vrij: eerst het annotatieformaat (streekidentiteit + grafsteen, met versieverhoging en leespad voor oude bestanden), dan de driver, dan het schrijfpad.

En §9.7 draagt ze allebei

Daar stond nog dat erasure-vs-union "een keuze is die bij het annotatieformaat hoort, niet bij dit document" — precies de zin die je besluit heeft ingehaald. Met erbij waarom de twee antwoorden tegengesteld zijn, want dat is de vraag die de volgende lezer stelt: ink is werk dat twee mensen allebei kunnen toevoegen, een zegel is een uitspraak van één iemand over één exacte set bytes.

Wat er niet in zit

De bouw. Voor het zegel is dat nu een afgebakende klus (weigering bij opslag naar een tak, meereizen bij een versie-uitgifte); voor ink begint hij bij het annotatieformaat en dat is een formaatwijziging met een versieverhoging. Beide horen in een eigen ronde met de aandacht die ze vragen.

Poort

make check groen (niet door tail gepijpt). Alleen documentatie.

Werkt aan #541 — de twee ontwerpbesluiten uit je reactie staan nu in `GIT_STORAGE.md`, waar je schreef dat ze hoorden. **Het issue blijft open** voor de bouw. Een besluit dat alleen in een issuereactie leeft is een besluit dat de volgende lezer niet vindt, en deze twee stonden de resterende delen van #541 in de weg. ## D12 (nieuw) — een zegel hoort op een tag, niet op een tak Met de redenering erbij: dat volgt uit wat een zegel *bedoelt*, en een tak biedt dat niet — die kan herschreven, gecherrypickt en geforceerd geduwd worden. Plus de twee gevolgen voor de bouw: het zegel reist in de commitset van een versie-uitgifte, en een gewone opslag naar een werkbranch **weigert** een verzegeld deck in plaats van er achteraf over te waarschuwen. ## D7 (aangevuld) — bij ink wordt wissen een grafsteen Inclusief waarom pure vereniging hier de verkeerde keuze is, en met de bouwvolgorde, want die is niet vrij: **eerst** het annotatieformaat (streekidentiteit + grafsteen, met versieverhoging en leespad voor oude bestanden), **dan** de driver, **dan** het schrijfpad. ## En §9.7 draagt ze allebei Daar stond nog dat erasure-vs-union "een keuze is die bij het annotatieformaat hoort, niet bij dit document" — precies de zin die je besluit heeft ingehaald. Met erbij waarom de twee antwoorden tegengesteld zijn, want dat is de vraag die de volgende lezer stelt: **ink is werk dat twee mensen allebei kunnen toevoegen, een zegel is een uitspraak van één iemand over één exacte set bytes.** ## Wat er niet in zit De bouw. Voor het zegel is dat nu een afgebakende klus (weigering bij opslag naar een tak, meereizen bij een versie-uitgifte); voor ink begint hij bij het annotatieformaat en dat is een formaatwijziging met een versieverhoging. Beide horen in een eigen ronde met de aandacht die ze vragen. ## Poort `make check` groen (niet door `tail` gepijpt). Alleen documentatie.
docs(git): leg de twee ontwerpbesluiten over zegel en ink vast (#541)
Some checks failed
CI / Web hardening (push) Failing after 26s
CI / Gate (Linux) · Format · Analyze · Coverage (push) Failing after 27s
CI / Docs links (push) Failing after 20s
CI / Supply-chain (Trivy · advisory) (push) Failing after 22s
CI / Web hardening (pull_request) Failing after 21s
CI / Gate (Linux) · Format · Analyze · Coverage (pull_request) Failing after 23s
CI / Docs links (pull_request) Failing after 23s
CI / Supply-chain (Trivy · advisory) (pull_request) Failing after 24s
CI / Test (macos-latest) (push) Has been cancelled
CI / Test (windows-latest) (push) Has been cancelled
CI / Test (macos-latest) (pull_request) Has been cancelled
CI / Test (windows-latest) (pull_request) Has been cancelled
ad60ffe50b
Ze stonden in een reactie op het issue, met de kanttekening dat ze naar
GIT_STORAGE §14/D7 moesten "zodra ik eraan toekom". Een besluit dat alleen
in een issuereactie leeft, is een besluit dat de volgende lezer niet vindt
— en deze twee stonden de resterende twee delen van #541 in de weg.

**D12 (nieuw) — een zegel hoort op een tag, niet op een tak.** Dat volgt
uit wat een zegel bedoelt: díé bytes, dít artefact. Een tak biedt dat niet
— die kan herschreven, gecherrypickt en geforceerd geduwd worden, en een
zegel dat dat overleeft zegt niets meer. Twee gevolgen voor de bouw: het
zegel reist mee in de commitset van een versie-uitgifte, en een gewone
opslag naar een werkbranch weigert een verzegeld deck met uitleg — de
huidige waarschuwing achteraf wordt dus een weigering op het moment van
de keuze. En een zegel heeft géén merge-semantiek nodig.

**D7 (aangevuld) — bij ink wordt wissen een grafsteen.** De vereniging
blijft de merge, maar het annotatieformaat krijgt per streek een stabiele
identiteit én een gewist-markering. Pure vereniging was de voor de hand
liggende keuze en hier de verkeerde: een gewiste streek zou terugkomen, en
dat is precies het gedrag dat de notitiehelft heeft dichtgezet. "Nooit
inhoud verliezen" mag niet omslaan in "niets kan weg".

Met de bouwvolgorde erbij, want die is niet vrij: eerst het
annotatieformaat (streekidentiteit + grafsteen, mét versieverhoging en een
leespad voor oude bestanden), dán de driver, dán het schrijfpad. En de
driver moet in de app reproduceerbaar zijn, want een kloon van een ander
werktuig heeft hem niet.

§9.7 draagt beide nu ook, inclusief waarom de twee antwoorden tegengesteld
zijn: ink is werk dat twee mensen allebei kunnen toevoegen, een zegel is
een uitspraak van één iemand over één set bytes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
brenno merged commit d4c0fc0e50 into main 2026-07-22 22:12:06 +00:00
Sign in to join this conversation.
No description provided.