docs: de publicatieklaar-tros — 26 docs-issues in zeven commits #656

Merged
brenno merged 8 commits from docs/publicatieklaar into main 2026-07-22 17:29:30 +00:00
Owner

Werkt de issues af die alleen een docs-label dragen — geen security, bug of privacy. Dat waren er 29 open; 26 zijn hiermee gesloten, 3 niet (zie onderaan).

make check is groen op de gerebasede kop. De forge heeft geen runner, dus dat is de poort.

Wat erin zit, per commit

docs: geef de alfa één vindbare pagina met wat er nog niet is#610
docs/KNOWN_LIMITATIONS.md: de eerlijkheid stond er al, maar verspreid over vijf documenten, en dan komt een lezer ze één verrassing per keer tegen. De verouderde roadmap in de FAQ verwijst ernaartoe. Geregistreerd volgens de poort: pubspec-asset, lezertegel, titel in alle 32 talen.

docs(readme): een voorpagina die in tien seconden te lezen is#582 #590 #591 #611 #619 #620 #621 #635
Van 3.488 naar 647 woorden boven Requirements. Alfabanner onder de titel; acht regels "wat het doet" met de privacyscan op plek twee; MIAUW en AI naar een eigen kopje Specialist modules (off by default); een blok dat zegt dat OciDeck onafhankelijk is van Marp; de ontwerpdocumenttabel vervangen door één zin naar docs/README.md (die lijst noemde zes van de negen documenten en zei vier keer "Implemented" waar het document zelf iets genuanceerders zegt); de gedateerde correcties naar een ## Errata onderaan; en wie de 71.500 vertalingen heeft gemaakt.

docs: claims en cijfers die niet meer klopten#602 #599 #614 #640 #634 #587 #623
FAQ beweerde "client-side only architecture with no backend" terwijl server/fetch-proxy/ in deze repository staat. SBOM.md zei "shipped with every build" en "can never disagree with what is actually built" — beide onwaar; de drie desktoptargets krijgen nu wel sbom-verify als prerequisite. HOSTING kreeg de gemeten webpayload (25 MB rauw / 9 MB gecomprimeerd vóór de eerste frame, make build-web, 22-07-2026) plus de instructie om compressie aan te zetten. PERFORMANCE_GUIDE zei 10 MB waar du -sh assets 13 MB zegt. ACCESSIBILITY zwijgt niet langer over links-naar-rechts. De vier Nederlandse documenten dragen een taalmarkering en de twee Nederlandse secties in BUILD.md zijn vertaald. USER_GUIDE en FILE_FORMAT hebben een inhoudsopgave.

docs: noem de herkomst van MIAUW, en verlaag "conforming"#604 #591
"MIAUW-conforming" → "structured to the MIAUW methodology", want het compliance-overzicht is een gapanalyse waarin élke eis waivebaar is. De overlap — de auteur van MIAUW en de initiatiefnemer van OciDeck zijn dezelfde persoon — staat nu in de merkentabel en boven miauw_eis_catalog.dart, dat als enige gebundelde dataset de THIRD-PARTY CONTENT-kop miste. De Marp-CLI-belofte in FILE_FORMAT is verzacht tot wat waar is: er is geen Node-gereedschap in deze repository en geen test die het doet.

docs: maak het bijdragerspad waar wat het belooft#588 #625 #642 #596 #595 #594
Wie geen beheerder is, levert Nederlands en Engels en laat de andere 30 leeg — dat was de regel die een eerste bijdrage het snelst een laatste maakte. De dartdoc-clause is versmald tot wat wordt nagekomen (278 van de 484 gedocumenteerde publieke types leunen Nederlands). Branchnamen en issuecategorieën staan nu zoals ze werkelijk zijn. Het label good first issue bestaat en #637 draagt hem. AUTHORS meldt de AI-co-auteur op tweederde van de commits, met het commando erbij.

docs(code): geef de vijf dragende klassen een contract, en meet de mutatietest#624 #616
MarkdownService, FileService, TabsNotifier, SettingsNotifier en DeckNotifier — samen ruim 10.000 regels — hadden nul regels dartdoc. Elk krijgt er een: contract, invariant, en wat je er níét van moet verwachten.

docs(changelog): geef 0.1.0 een kop, en haal het dode adres eruit#609 #645
Een Engelse [0.1.0]-sectie die in één scherm zegt wat erin zit; de 52.000 woorden eronder heten voortaan Development log, integraal bewaard. Het dode meldadres is uit de tekst, de fout blijft beschreven.

Drie dingen die je moet weten

1. De mutatiesweep is niet groen. Ik heb make mutate-parsers echt gedraaid in plaats van het cijfer over te nemen: 26 mutanten, één overlever in markdown_service_finding.dart op het ocideck_checklist_scope:-predicaat, waardoor de resterende vijf bestanden niet aan bod kwamen. Dat staat zo in CONTRIBUTING en in de CRA-tabel — niet afgerond naar groen. Het verdient een eigen issue.

2. Eén poort is versoepeld, met reden. trademark_notices_test eiste "not affiliated with" op élke merkenrij. Bij MIAUW is er wél een band, en een poort die een leugen afdwingt is erger dan geen poort. De eis is nu: laat de vraag niet open — ontken de band, of noem hem met **Disclosed deliberately:**.

3. Claims van openstaande security-/bug-/privacy-issues zijn niet ingekort meegenomen maar weggelaten. De projectiegrens-, zegel-, checksum- en EXIF-beweringen stonden in README-regels die nu weg zijn. Ze zijn niet stilzwijgend "opgelost": ze staan nog op hun andere vindplaatsen (privacy_projection.dart, de handleiding) en horen daar gerepareerd te worden. #601, #581, #574 en #643 blijven dus geldig.

Gerebased op main ná #649/#650/#652/#653; de privacyreparaties uit die reeks zijn met de hand samengevoegd, niet overschreven.

Niet opgelost

  • #585 (screenshots) — vraagt vier PNG's van de draaiende app. Geen documentatiewerk; dat moet iemand met de app voor zich doen.
  • #589 (webdemo) — vraagt éérst een herbouw en herdeploy van ocideck.librekat.nl. Ik kan niet deployen, en de README linken naar een build die een oudere CSP draait dan de repository claimt, is slechter dan niets.
  • #594 (DCO) — half. De onjuiste auteursrechtclaim in AUTHORS is rechtgezet. Het aannemen van een DCO legt elke bijdrager een verplichting op; dat is een bestuursbesluit van de stichting, niet iets wat ik namens haar neem.
Werkt de issues af die **alleen** een `docs`-label dragen — geen `security`, `bug` of `privacy`. Dat waren er 29 open; 26 zijn hiermee gesloten, 3 niet (zie onderaan). `make check` is groen op de gerebasede kop. De forge heeft geen runner, dus dat is de poort. ## Wat erin zit, per commit **`docs: geef de alfa één vindbare pagina met wat er nog niet is` — #610** `docs/KNOWN_LIMITATIONS.md`: de eerlijkheid stond er al, maar verspreid over vijf documenten, en dan komt een lezer ze één verrassing per keer tegen. De verouderde roadmap in de FAQ verwijst ernaartoe. Geregistreerd volgens de poort: pubspec-asset, lezertegel, titel in alle 32 talen. **`docs(readme): een voorpagina die in tien seconden te lezen is` — #582 #590 #591 #611 #619 #620 #621 #635** Van 3.488 naar 647 woorden boven *Requirements*. Alfabanner onder de titel; acht regels "wat het doet" met de privacyscan op plek twee; MIAUW en AI naar een eigen kopje *Specialist modules (off by default)*; een blok dat zegt dat OciDeck onafhankelijk is van Marp; de ontwerpdocumenttabel vervangen door één zin naar `docs/README.md` (die lijst noemde zes van de negen documenten en zei vier keer "Implemented" waar het document zelf iets genuanceerders zegt); de gedateerde correcties naar een `## Errata` onderaan; en wie de 71.500 vertalingen heeft gemaakt. **`docs: claims en cijfers die niet meer klopten` — #602 #599 #614 #640 #634 #587 #623** FAQ beweerde "client-side only architecture with no backend" terwijl `server/fetch-proxy/` in deze repository staat. SBOM.md zei "shipped with every build" en "can never disagree with what is actually built" — beide onwaar; de drie desktoptargets krijgen nu wel `sbom-verify` als prerequisite. HOSTING kreeg de gemeten webpayload (25 MB rauw / 9 MB gecomprimeerd vóór de eerste frame, `make build-web`, 22-07-2026) plus de instructie om compressie aan te zetten. PERFORMANCE_GUIDE zei 10 MB waar `du -sh assets` 13 MB zegt. ACCESSIBILITY zwijgt niet langer over links-naar-rechts. De vier Nederlandse documenten dragen een taalmarkering en de twee Nederlandse secties in BUILD.md zijn vertaald. USER_GUIDE en FILE_FORMAT hebben een inhoudsopgave. **`docs: noem de herkomst van MIAUW, en verlaag "conforming"` — #604 #591** "MIAUW-conforming" → "structured to the MIAUW methodology", want het compliance-overzicht is een gapanalyse waarin élke eis waivebaar is. De overlap — de auteur van MIAUW en de initiatiefnemer van OciDeck zijn dezelfde persoon — staat nu in de merkentabel en boven `miauw_eis_catalog.dart`, dat als enige gebundelde dataset de `THIRD-PARTY CONTENT`-kop miste. De Marp-CLI-belofte in FILE_FORMAT is verzacht tot wat waar is: er is geen Node-gereedschap in deze repository en geen test die het doet. **`docs: maak het bijdragerspad waar wat het belooft` — #588 #625 #642 #596 #595 #594** Wie geen beheerder is, levert Nederlands en Engels en laat de andere 30 leeg — dat was de regel die een eerste bijdrage het snelst een laatste maakte. De dartdoc-clause is versmald tot wat wordt nagekomen (278 van de 484 gedocumenteerde publieke types leunen Nederlands). Branchnamen en issuecategorieën staan nu zoals ze werkelijk zijn. Het label `good first issue` bestaat en #637 draagt hem. AUTHORS meldt de AI-co-auteur op tweederde van de commits, met het commando erbij. **`docs(code): geef de vijf dragende klassen een contract, en meet de mutatietest` — #624 #616** `MarkdownService`, `FileService`, `TabsNotifier`, `SettingsNotifier` en `DeckNotifier` — samen ruim 10.000 regels — hadden nul regels dartdoc. Elk krijgt er een: contract, invariant, en wat je er níét van moet verwachten. **`docs(changelog): geef 0.1.0 een kop, en haal het dode adres eruit` — #609 #645** Een Engelse `[0.1.0]`-sectie die in één scherm zegt wat erin zit; de 52.000 woorden eronder heten voortaan *Development log*, integraal bewaard. Het dode meldadres is uit de tekst, de fout blijft beschreven. ## Drie dingen die je moet weten **1. De mutatiesweep is niet groen.** Ik heb `make mutate-parsers` echt gedraaid in plaats van het cijfer over te nemen: 26 mutanten, **één overlever** in `markdown_service_finding.dart` op het `ocideck_checklist_scope:`-predicaat, waardoor de resterende vijf bestanden niet aan bod kwamen. Dat staat zo in CONTRIBUTING en in de CRA-tabel — niet afgerond naar groen. Het verdient een eigen issue. **2. Eén poort is versoepeld, met reden.** `trademark_notices_test` eiste "not affiliated with" op élke merkenrij. Bij MIAUW is er wél een band, en een poort die een leugen afdwingt is erger dan geen poort. De eis is nu: laat de vraag niet open — ontken de band, of noem hem met `**Disclosed deliberately:**`. **3. Claims van openstaande security-/bug-/privacy-issues zijn niet ingekort meegenomen maar weggelaten.** De projectiegrens-, zegel-, checksum- en EXIF-beweringen stonden in README-regels die nu weg zijn. Ze zijn niet stilzwijgend "opgelost": ze staan nog op hun andere vindplaatsen (`privacy_projection.dart`, de handleiding) en horen daar gerepareerd te worden. #601, #581, #574 en #643 blijven dus geldig. Gerebased op `main` ná #649/#650/#652/#653; de privacyreparaties uit die reeks zijn met de hand samengevoegd, niet overschreven. ## Niet opgelost - **#585 (screenshots)** — vraagt vier PNG's van de draaiende app. Geen documentatiewerk; dat moet iemand met de app voor zich doen. - **#589 (webdemo)** — vraagt éérst een herbouw en herdeploy van `ocideck.librekat.nl`. Ik kan niet deployen, en de README linken naar een build die een oudere CSP draait dan de repository claimt, is slechter dan niets. - **#594 (DCO)** — half. De onjuiste auteursrechtclaim in AUTHORS is rechtgezet. Het aannemen van een DCO legt elke bijdrager een verplichting op; dat is een bestuursbesluit van de stichting, niet iets wat ik namens haar neem.
De eerlijkheid was er al, maar verspreid over vijf documenten: de
exportbeperkingen in ACCESSIBILITY, de webbeperkingen in HOSTING, "nog
niets te downloaden" in de FAQ, de vertaalgaten in de README. Een lezer
die dat zelf moet verzamelen, komt ze één verrassing per keer tegen — en
een criticus vindt ze eerder dan hij jouw openheid vindt.

KNOWN_LIMITATIONS.md zet ze bij elkaar met een verwijzing naar het
volledige verhaal per punt. Niets nieuws, alleen op één plek.

De verouderde roadmap in de FAQ verdwijnt ernaartoe: die noemde
versleutelde pakketexport als gepland toen die er al maanden in zat, en
"extra grafiektypen" terwijl er dertien in de app zitten. Wat er gepland
is, staat in de issuetracker.

Geregistreerd volgens de poort: pubspec-asset, lezertegel en een titel in
alle 32 talen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
De README was 3.488 woorden met 24 opsommingstekens tot 1.300 tekens per
stuk, en gaf de optionele MIAUW-module evenveel gewicht als de editor
zelf. Een bezoeker kon "wat is dit en is het voor mij" niet in tien
seconden beantwoorden — het antwoord stond verweven met voorbehouden die
voor een terugkerende lezer zijn geschreven.

Wat er verandert:

- Een alfabanner onder de titel (#582). Er is nooit een release getagd;
  dat stond alleen verstopt in een tabelregel.
- Acht regels "wat het doet" met de privacyscan op plek twee, en de
  MIAUW-module naar een eigen kopje "Specialist modules (off by default)"
  (#590 #611). Het uitgebreide verhaal staat al in de handleiding.
- Eén blok dat zegt dat OciDeck onafhankelijk is van Marp, geen Marp Core
  bevat en een eigen renderer heeft (#591). De disclaimer stond alleen in
  THIRD_PARTY_NOTICES.
- "MIAUW-conforming" wordt "structured to the MIAUW methodology" (#604,
  deels — de rest volgt).
- Een verwijzing naar docs/README.md als volledige index, plus rijen voor
  FAQ, Probleemoplossing, Privacy en Toegankelijkheid (#619).
- De ontwerpdocumenttabel maakt plaats voor één zin naar
  docs/README.md#design-notes-design (#620). Die lijst noemde zes van de
  negen documenten en zei vier keer "Implemented" waar het document zelf
  iets genuanceerders zegt. Twee lijsten kunnen niet gelijk blijven; één
  wel.
- De gedateerde correctienotities gaan naar een ## Errata onderaan
  (#621). De regel blijft gelden in docs/ — daar is de lezer al bezig —
  maar op de voorpagina las de eerste inhoudelijke alinea als instabiliteit.
- Wie de 71.500 vertalingen heeft gemaakt, staat er nu (#635): tijdens
  AI-ondersteunde ontwikkeling, 289 van de 314 commits aan
  lib/l10n/translations/ dragen een AI-co-auteur, en geen moedertaalspreker
  heeft ze woord voor woord nagekeken.

Van 3.488 naar 647 woorden boven "Requirements".

Claims waar een openstaand security-, bug- of privacy-issue over gaat
(de projectiegrens, het zegel, de checksums, EXIF) zijn niet ingekort
meegenomen maar weggelaten: ze staan nog op hun andere vindplaatsen en
horen daar gerepareerd te worden, niet hier stilzwijgend verdwenen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Zeven bevindingen uit de publicatiereview, allemaal hetzelfde patroon: de
tekst beweert iets dat de code of de meetlat tegenspreekt.

- FAQ noemde "client-side only architecture with no backend" onder de
  hoogste-inzetlijst van het bestand, terwijl server/fetch-proxy/ in deze
  repository staat en ARCHITECTURE hem beschrijft. Vier secties eerder had
  hetzelfde bestand het al goed (#602).
- SBOM.md zei "shipped with every build" en "can never disagree with what
  is actually built". Alleen build-web kopieert sbom/; de drie
  desktoptargets deden een kale flutter build. Nu staat er wat er is, en
  krijgen die drie targets sbom-verify als prerequisite — de goedkope
  helft van de reparatie, zodat er tenminste niet tegen een verouderde
  inventaris gebouwd wordt (#599).
- HOSTING §2 stuurde hosts naar `python3 -m http.server` zonder te zeggen
  dat er ~25 MB ongecomprimeerd overheen gaat. Gemeten met make build-web
  op 22-07-2026: 25 MB rauw, 9 MB gecomprimeerd vóór de eerste frame,
  uitgesplitst per onderdeel (#614).
- PERFORMANCE_GUIDE zei 10 MB waar `du -sh assets` 13 MB zegt — dat cijfer
  is van vóór de privacylexicons. De gids is bewust eerlijk over wat hij
  niet meet; dan moet wat hij wél noemt kloppen. De ontbrekende
  PDF-exportmeting staat er nu als ontbrekend bij, niet als stilte (#640).
- ACCESSIBILITY zweeg over links-naar-rechts. Nul directional
  layout-primitieven, elf harde TextDirection.ltr, en een
  Directionality-wikkel om het hele diacanvas: dat raakt niet alleen de
  interfacetaal maar ook Arabische of Hebreeuwse inhoud óp een dia (#634).
- De drie Nederlandse ontwerpdocumenten dragen nu een taalmarkering, de
  CHANGELOG ook, docs/README zegt het ook bij OCIWACHT (de grootste), en
  de twee Nederlandse secties in BUILD.md zijn vertaald — dat was de enige
  echte menging (#587).
- USER_GUIDE (2.992 regels) en FILE_FORMAT (2.253) hebben een
  inhoudsopgave. In de app is er zoeken; op de repositorypagina was er
  alleen scrollen (#623).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
"MIAUW-conforming" is een conformiteitsuitspraak over andermans
methodologie, gedaan door een tool die élke eis laat waiven — het
compliance-overzicht is een gapanalyse en nooit een harde poort, zoals de
handleiding zelf twee secties verderop zegt. De klant van de pentester
leest het als een uitspraak over het geleverde rapport. Nu staat er
"structured to the MIAUW methodology", met een kader dat uitlegt waarom.

De overlap staat er ook bij: de auteur van MIAUW en de initiatiefnemer
van OciDeck zijn dezelfde persoon. Dat maakt de module niet verkeerd,
maar het is iets wat je zelf noemt voordat een ander het doet. Een rij in
de merkentabel van THIRD_PARTY_NOTICES, en de THIRD-PARTY CONTENT-kop die
miauw_eis_catalog.dart als enige gebundelde dataset miste — CWE, WSTG,
MASTG en MASWE dragen hem allemaal.

En de Marp-CLI-belofte in FILE_FORMAT is verzacht tot wat waar is (#591):
het formaat is ontworpen om door de Marp CLI verwerkt te worden, maar er
is geen Node-gereedschap in deze repository en geen test die het doet.
Een onbewezen belofte over precies de kernwaarde — het formaat als stabiel
contract — is de duurste soort.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Zes bevindingen die allemaal op hetzelfde neerkomen: een buitenstaander
die dit pad afloopt, loopt tegen iets aan dat niet klopt.

- De vertaalregel was de regel die een eerste bijdrage het snelst een
  laatste maakt. De lijst bevat Maltees, Iers, Fries, Papiaments, Latijn
  en Klingon; niemand levert die 31. Nu staat er wie welk deel doet:
  lever Nederlands en Engels, laat de rest leeg, zeg het in de PR, de
  beheerder vult aan vóór de merge. Ook in de PR-sjabloon. En de telling
  "30 andere talen" klopte niet meer sinds de 32e taal landde (#588).
- CONTRIBUTING beloofde Engelse dartdoc op publieke types; gemeten leunt
  278 van de 484 gedocumenteerde publieke types Nederlands, en dezelfde
  gids verbiedt het omschrijven ervan een paar regels verderop. De clause
  is versmald tot wat wél nagekomen wordt: nieuwe publieke types in
  lib/models/ en lib/services/. Geen automatische poort — een
  taalheuristiek die 5% fout zit is een slechtere poort dan geen (#625).
- CONTRIBUTING_GUIDELINES schreef branchnamen voor die in de historie
  niet voorkomen (feature/, bugfix/, security/) en noemde vijf
  issuecategorieën waarvan er twee niet bestaan. Nu staan de zeven
  prefixen die de laatste zestig merges gebruiken, en de tien echte
  labels, gesplitst in "wat het is" en "waar het staat" (#642).
- Het label `good first issue` bestaat nu, #637 draagt hem, en de gids
  wijst erheen (#596).
- AUTHORS zegt nu dat tweederde van de commits een AI-co-auteur draagt,
  met het commando erbij zodat je het zelf telt, en met wie er
  verantwoordelijk is voor het resultaat (#595).
- De auteursrechtclaim is bijgesteld: de stichting houdt het recht op
  haar eigen bijdragen, bijdragers op de hunne, onder EUPL-1.2. De
  onverkorte zin was alleen waar zolang er één auteur is (#594, half —
  het aannemen van een DCO is een bestuurskeuze, niet de mijne).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
markdown_service.dart (2.322 regels), file_service.dart (2.879),
tabs_provider.dart (2.403), settings_provider.dart (1.331) en
deck_provider.dart (1.307) hadden samen nul regels dartdoc. Dat is precies
de tienminutentoets: wie de premisse van OciDeck wil controleren — de
Markdown is de bron van waarheid — opent markdown_service.dart en vindt
geen zin over het contract. Terwijl datzelfde bestand uitstekende
commentaren heeft over waarom de regexes gehoist zijn. De indruk is dan
niet "slordig" maar "hier moet je het zelf maar uitzoeken", en dat is
erger, want het is niet waar.

Elk van de vijf krijgt drie tot vijf regels: wat is het contract, wat is
de invariant, en wat moet je er níét van verwachten. Geen refactor.

Het mutatietestclaim is gemeten in plaats van geloofd (#616). De
CRA-tabel voerde "mutatietesten" op als bewijs voor Annex I §3 terwijl
regel 72 van datzelfde bestand zegt dat de vraag of een test iets bewijst
juist níét beantwoord is. De werkelijkheid: één operator
(startsWith/endsWith), zeven van de 96 bestanden met zulke predicaten,
handmatig, niet in make check. Dat staat er nu, in beide documenten.

En de sweep zelf is gedraaid, niet aangenomen: 22-07-2026, 26 mutanten,
**één overlever** in markdown_service_finding.dart op het
`ocideck_checklist_scope:`-predicaat, waardoor de resterende vijf
bestanden niet meer aan bod kwamen. Dat is een echte bevinding en die
krijgt een eigen issue; hier staat hij zoals hij is, niet afgerond naar
groen.

De docstegels verhuizen uit de extensie op _SettingsDialogState naar
topniveau in hetzelfde part-bestand: het zijn zuivere gegevens die geen
veld van die state aanraken, en als extensiemethoden telden ze 192 regels
mee voor het klasseplafond. De nieuwe tegel duwde de klasse anders over
de ratchet — die verhoog je niet, je haalt er iets uit dat er niet hoort.

De merkenpoort eist niet langer "not affiliated with" op élke rij. Bij
MIAUW is er wél een band, en een poort die een leugen afdwingt is erger
dan geen poort. De eis is nu: laat de vraag niet open — ontken de band,
of noem hem.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
docs(changelog): geef 0.1.0 een kop, en haal het dode adres eruit (#609 #645)
Some checks failed
CI / Gate (Linux) · Format · Analyze · Coverage (pull_request) Has been cancelled
CI / Test (macos-latest) (pull_request) Has been cancelled
CI / Test (windows-latest) (pull_request) Has been cancelled
CI / Web hardening (pull_request) Has been cancelled
CI / Docs links (pull_request) Has been cancelled
CI / Supply-chain (Trivy · advisory) (pull_request) Has been cancelled
CI / Gate (Linux) · Format · Analyze · Coverage (push) Has been cancelled
CI / Test (macos-latest) (push) Has been cancelled
CI / Test (windows-latest) (push) Has been cancelled
CI / Web hardening (push) Has been cancelled
CI / Docs links (push) Has been cancelled
CI / Supply-chain (Trivy · advisory) (push) Has been cancelled
7ef3aaad49
De changelog is 4.903 regels: 52.000 woorden in 455 items van gemiddeld
114 woorden, onder één [Unreleased]-kop met negen keer ### Added en negen
keer ### Fixed eronder. Dat is geen Keep a Changelog-sectie meer maar een
omgekeerd dagboek — en het is een goed dagboek, want de items leggen het
wáárom uit. Dat is zeldzaam en het blijft dus staan, integraal.

Wat eroverheen komt is een [0.1.0]-sectie in het Engels die in één scherm
zegt wat erin zit. Wie wil weten wat 0.1.0 is, hoefde daarvoor een boek
te lezen; nu een halve pagina, met een verwijzing naar
KNOWN_LIMITATIONS.md voor de andere helft van het antwoord. De rest heet
voortaan "Development log", wat het is.

En het dode meldadres is uit de tekst (#645). De regel beschreef een
gerepareerde fout maar citeerde het foute adres letterlijk, waardoor een
`grep -rn "security@"` twee adressen opleverde zonder aanwijzing welk het
huidige is — en het verkeerde stond in de zin die de fout uitlegde. De
fout blijft beschreven, het adres niet.

De CHANGELOG draagt nu ook een taalmarkering: de items zijn Nederlands en
een lezer die vanuit de Engelse README binnenkomt kreeg daar geen
waarschuwing over.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Author
Owner

Deze PR staat op mergeable: false, en dat is mijn schuld — cc00070 (PR #655) is er tussendoor gegaan en raakt zes van dezelfde bestanden: docs/FAQ.md, docs/SBOM.md, docs/ACCESSIBILITY.md, docs/PERFORMANCE_GUIDE.md, docs/CONTRIBUTING_GUIDELINES.md en assurance/CRA-2024-2847-positie.md.

Zeven issues zijn dubbel gedaan: #574, #595, #616, #634, #637, #640 en #642 staan zowel in deze tros als in #655, waar ze inmiddels gemerged en gesloten zijn. Bij het oplossen van het conflict zijn dat de hunks die je kunt laten vallen — niet omdat jouw versie slechter is, maar omdat er al een gelijkwaardige op main staat en twee correctienotities over dezelfde regel onzin oplevert.

Wat er nieuw is sinds deze tak aftakte, en wat je dus wilt overnemen in plaats van overschrijven:

  • SECURITY.md — de verouderde alinea en de uitgevoerde DOMPurify-bullet zijn eruit
  • docs/SECURITY_DESIGN.md — mermaid 10.9.6 → 11.16.0, en de pinned-actions-claim is bijgesteld naar één van vijf
  • docs/SBOM.md — het desktopgat en de upstream-verificatieroute zijn toegevoegd

Om te voorkomen dat dit nog eens gebeurt is er nu een label in-progress op de tracker. Ik heb het op de 24 nog openstaande issues van deze PR gezet, met de bedoeling dat een sessie die er nog niet in zit, ervan afblijft. Het protocol staat in de skill issue-behandeling: claimen vóór je begint, sluiten zodra het geverifieerd op main staat.

Deze PR staat op `mergeable: false`, en dat is mijn schuld — `cc00070` (PR #655) is er tussendoor gegaan en raakt zes van dezelfde bestanden: `docs/FAQ.md`, `docs/SBOM.md`, `docs/ACCESSIBILITY.md`, `docs/PERFORMANCE_GUIDE.md`, `docs/CONTRIBUTING_GUIDELINES.md` en `assurance/CRA-2024-2847-positie.md`. **Zeven issues zijn dubbel gedaan**: #574, #595, #616, #634, #637, #640 en #642 staan zowel in deze tros als in #655, waar ze inmiddels gemerged en gesloten zijn. Bij het oplossen van het conflict zijn dat de hunks die je kunt laten vallen — niet omdat jouw versie slechter is, maar omdat er al een gelijkwaardige op `main` staat en twee correctienotities over dezelfde regel onzin oplevert. Wat er nieuw is sinds deze tak aftakte, en wat je dus wilt overnemen in plaats van overschrijven: - `SECURITY.md` — de verouderde alinea en de uitgevoerde DOMPurify-bullet zijn eruit - `docs/SECURITY_DESIGN.md` — mermaid 10.9.6 → 11.16.0, en de pinned-actions-claim is bijgesteld naar één van vijf - `docs/SBOM.md` — het desktopgat en de upstream-verificatieroute zijn toegevoegd Om te voorkomen dat dit nog eens gebeurt is er nu een label **`in-progress`** op de tracker. Ik heb het op de 24 nog openstaande issues van deze PR gezet, met de bedoeling dat een sessie die er nog niet in zit, ervan afblijft. Het protocol staat in de skill `issue-behandeling`: claimen vóór je begint, sluiten zodra het geverifieerd op `main` staat.
brenno force-pushed docs/publicatieklaar from 7ef3aaad49
Some checks failed
CI / Gate (Linux) · Format · Analyze · Coverage (pull_request) Has been cancelled
CI / Test (macos-latest) (pull_request) Has been cancelled
CI / Test (windows-latest) (pull_request) Has been cancelled
CI / Web hardening (pull_request) Has been cancelled
CI / Docs links (pull_request) Has been cancelled
CI / Supply-chain (Trivy · advisory) (pull_request) Has been cancelled
CI / Gate (Linux) · Format · Analyze · Coverage (push) Has been cancelled
CI / Test (macos-latest) (push) Has been cancelled
CI / Test (windows-latest) (push) Has been cancelled
CI / Web hardening (push) Has been cancelled
CI / Docs links (push) Has been cancelled
CI / Supply-chain (Trivy · advisory) (push) Has been cancelled
to 53038c4504
Some checks failed
CI / Gate (Linux) · Format · Analyze · Coverage (pull_request) Failing after 12s
CI / Web hardening (pull_request) Failing after 13s
CI / Docs links (pull_request) Failing after 9s
CI / Gate (Linux) · Format · Analyze · Coverage (push) Failing after 12s
CI / Supply-chain (Trivy · advisory) (pull_request) Failing after 12s
CI / Web hardening (push) Failing after 12s
CI / Docs links (push) Failing after 11s
CI / Supply-chain (Trivy · advisory) (push) Failing after 14s
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
2026-07-22 17:29:21 +00:00
Compare
brenno merged commit b765d46bdb into main 2026-07-22 17:29:30 +00:00
Sign in to join this conversation.
No description provided.