feat(ink): de tekenlaag reist mee naar git — unie, grafstenen, driver en schrijfpad (#541) #759

Merged
brenno merged 2 commits from feat/ink-naar-git-driver-541 into main 2026-07-23 15:49:19 +00:00
Owner

Deel 2 van #541 (ink); het issue blijft open voor het zegel (wacht op de D13-keuze).

D7's volgorde afgemaakt: na het formaat (#748) nu de merge en het schrijfpad.

  • Unie met grafstenen in mergeDeckVersions (_mergedAnnotations): heranker via de codec, unie op streek-id, gewist wint — ongeacht de kant. Bedient beide vlakken; de resolver schrijft zijn uitkomst over wat git's tree-merge achterliet.
  • Schrijfpad spiegelt de notities: deck.ink.json naast deck.md (ingesprongen), gedeelde aanraak-/verwijderregels via één _repoSidecarState, leespad in withRepoInk/withRepoSidecars, regel in mirrorDeckFiles, uitzondering in de delete-lus van sync_engine. Grafstenen zijn inhoud: een dia met alléén gewiste streken schrijft wél een bestand.
  • Native driver, bewust minimaal: binding in het clone-lokale .git/info/attributes (een gecommitte .gitattributes koopt niets — gemeten: een onbekende driver tekst-merged gewoon), driver als config-override op precies de merge-aanroep en altijd-falend ('false') — gemeten laat dat het bestand schoon op onze kant, zonder markers, waarna de resolver de unie schrijft.
  • De 'Niet alles gaat mee naar git'-dialoog is opgeheven — met media, grafiekdata, notities, de zegelweigering én ink was er geen ware regel meer; vijf l10n-sleutels × 31 talen mee opgeruimd.
  • Bewaker-ronde vóór deze PR: FILE_FORMAT §6.2 op de waarheid (v2-voorbeeld mét id/erased; de sidecar reist wél), de USER_GUIDE-overbelofte afgezwakt (MIAUW-dispositie reist nog niet — #756 ingediend), en twee doc-commentaren gelijkgetrokken met wat de code doet.

Bewezen tegen échte git in git_native_merge_test: twee tekenaars verenigen, en een gumbeurt overleeft de merge — het geval waar pure vereniging op stukging.

Poort: make check groen (6.028 tests), check-secrets en sast schoon.

🤖 Generated with Claude Code

Deel 2 van #541 (ink); het issue blijft open voor het zegel (wacht op de D13-keuze). D7's volgorde afgemaakt: na het formaat (#748) nu de merge en het schrijfpad. - **Unie met grafstenen** in mergeDeckVersions (_mergedAnnotations): heranker via de codec, unie op streek-id, gewist wint — ongeacht de kant. Bedient beide vlakken; de resolver schrijft zijn uitkomst over wat git's tree-merge achterliet. - **Schrijfpad** spiegelt de notities: deck.ink.json naast deck.md (ingesprongen), gedeelde aanraak-/verwijderregels via één _repoSidecarState, leespad in withRepoInk/withRepoSidecars, regel in mirrorDeckFiles, uitzondering in de delete-lus van sync_engine. Grafstenen zijn inhoud: een dia met alléén gewiste streken schrijft wél een bestand. - **Native driver, bewust minimaal**: binding in het clone-lokale .git/info/attributes (een gecommitte .gitattributes koopt niets — gemeten: een onbekende driver tekst-merged gewoon), driver als config-override op precies de merge-aanroep en altijd-falend ('false') — gemeten laat dat het bestand schoon op onze kant, zonder markers, waarna de resolver de unie schrijft. - **De 'Niet alles gaat mee naar git'-dialoog is opgeheven** — met media, grafiekdata, notities, de zegelweigering én ink was er geen ware regel meer; vijf l10n-sleutels × 31 talen mee opgeruimd. - **Bewaker-ronde vóór deze PR**: FILE_FORMAT §6.2 op de waarheid (v2-voorbeeld mét id/erased; de sidecar reist wél), de USER_GUIDE-overbelofte afgezwakt (MIAUW-dispositie reist nog niet — #756 ingediend), en twee doc-commentaren gelijkgetrokken met wat de code doet. Bewezen tegen échte git in git_native_merge_test: twee tekenaars verenigen, en een gumbeurt overleeft de merge — het geval waar pure vereniging op stukging. Poort: make check groen (6.028 tests), check-secrets en sast schoon. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
D7's volgorde afgemaakt: na het formaat (#748) nu de merge en het
schrijfpad. De unie leeft in mergeDeckVersions en bedient beide vlakken;
de resolver schrijft zijn uitkomst over wat git's tree-merge achterliet.

De native driver is bewust minimaal: de binding staat in het clone-lokale
.git/info/attributes (een gecommitte .gitattributes koopt niets — een
onbekende driver tekst-merged gewoon, gemeten), en de driver zelf gaat
als config-override mee met precies de merge-aanroep en is 'false':
altijd falen. Gemeten laat dat het bestand schoon op onze kant staan,
zonder markers, waarna de resolver de echte unie schrijft.

Het schrijfpad spiegelt de notities, met gedeelde aanraakregels
(_repoSidecarState) en één ink-eigen regel: grafstenen zijn inhoud, dus
een dia met alleen gewiste streken schrijft wél een bestand.

Daarmee had de 'Niet alles gaat mee naar git'-dialoog geen ware regel
meer en is hij opgeheven, met zijn vijf vertaalsleutels.

Bewezen tegen echte git in git_native_merge_test: twee tekenaars
verenigen, en een gumbeurt overleeft de merge.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Bewaker-bevindingen vóór de merge: FILE_FORMAT §6.2 sprak de code op twee
punten tegen (het voorbeeld toonde versie 1 zonder id/erased terwijl de
codec op 2 staat, en de vetgedrukte belofte dat een commit de sidecar
niet draagt is sinds deze tak onwaar), en 'Everything travels to git' in
de USER_GUIDE was een overbelofte zolang de MIAUW-dispositie niet
meereist — die uitzondering staat er nu bij, met #756 als reparatie.
Twee doc-commentaren beloofden meer dan de code doet (de onleesbaar-vlag
beschermt de schrijfkant niet; dat doet repoSidecarState) en zijn
gelijkgetrokken.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
brenno merged commit c56073b6e1 into main 2026-07-23 15:49:19 +00:00
Sign in to join this conversation.
No description provided.