docs(assurance): ketenkeuring Matrix-Dart-SDK — NO-GO (#976) #990

Merged
brenno merged 2 commits from chore/ketenkeuring-matrix-sdk into main 2026-07-30 12:36:32 +00:00
Owner

De toeleveringsketenkeuring die #976 vraagt, vóór spoor B (samenwerken) de netwerklaag in gaat. Levert een gedocumenteerde GO/NO-GO onder assurance/, geen code- of pubspec-wijziging.

Uitkomst: NO-GO onder het huidige beleid, door de beheerder bevestigd (2026-07-30).

Bevindingen (nagekeken tegen pub.dev en de eigen poorten):

  • matrix 9.0.0 én de verplichte cryptolaag vodozemac zijn AGPL-3.0 → valt de eigen licentiepoort (make licenses, in check-full) en herlicenseert de uitgeleverde binary de facto naar AGPL-3.0.
  • vodozemac is native Rust (flutter_rust_bridge/cargokit, geen desktop-prebuilts) → Rust verplicht op Windows/Linux/web.
  • generate_sbom leest geen Cargo.lock → de native cryptoboom ontbreekt in de CRA-inventaris.
  • De webbundel-borging (MANIFEST.json + OSV) dekt geen zelfgebouwde WASM-crypto.

Bewaker (verplicht: raakt een publieke belofte + een afhankelijkheid). De weging is in het document zelf belegd (sectie Kernwaarde-toets). Het ontwerp botst niet met de waarden — het deck blijft een draagbaar .md (P1/P2) — maar de keten wel (waarde 2/4/6: de eigen licentiebelofte, toetsbare beloftes, geen groen om de verkeerde reden). Botsing benoemd: uitwisselbaarheid/functie tegen de eigen discipline; de discipline wint, want de functie is haalbaar zónder de belofte te breken (Fase 0.5, #989).

Poorten. Markdown-poorten groen (docs_anchor_links_test, docs_registration_test, readme_docs_links_test). Geen Dart-/codewijziging, dus format/analyze/conventies/dekking zijn niet geraakt. Bewust niet gedraaid voor deze prozawijziging: make check-secrets/make sast — er staat geen code of geheim in (pakketmetadata en publieke URL's).

Vervolg: #977 (realtime-Matrix) op pauze tot een expliciet beleidsbesluit; volgende stap Fase 0.5 (WebDAV-async) belegd in #989.

Closes #976

De toeleveringsketenkeuring die #976 vraagt, vóór spoor B (samenwerken) de netwerklaag in gaat. Levert een gedocumenteerde **GO/NO-GO** onder `assurance/`, geen code- of pubspec-wijziging. **Uitkomst: NO-GO onder het huidige beleid**, door de beheerder bevestigd (2026-07-30). Bevindingen (nagekeken tegen pub.dev en de eigen poorten): - `matrix` 9.0.0 én de verplichte cryptolaag `vodozemac` zijn **AGPL-3.0** → valt de eigen licentiepoort (`make licenses`, in `check-full`) en herlicenseert de uitgeleverde binary de facto naar AGPL-3.0. - `vodozemac` is native Rust (flutter_rust_bridge/cargokit, geen desktop-prebuilts) → Rust verplicht op Windows/Linux/web. - `generate_sbom` leest geen `Cargo.lock` → de native cryptoboom ontbreekt in de CRA-inventaris. - De webbundel-borging (MANIFEST.json + OSV) dekt geen zelfgebouwde WASM-crypto. **Bewaker (verplicht: raakt een publieke belofte + een afhankelijkheid).** De weging is in het document zelf belegd (sectie *Kernwaarde-toets*). Het ontwerp botst niet met de waarden — het deck blijft een draagbaar `.md` (P1/P2) — maar de keten wel (waarde 2/4/6: de eigen licentiebelofte, toetsbare beloftes, geen groen om de verkeerde reden). Botsing benoemd: uitwisselbaarheid/functie tegen de eigen discipline; de discipline wint, want de functie is haalbaar zónder de belofte te breken (Fase 0.5, #989). **Poorten.** Markdown-poorten groen (`docs_anchor_links_test`, `docs_registration_test`, `readme_docs_links_test`). Geen Dart-/codewijziging, dus format/analyze/conventies/dekking zijn niet geraakt. Bewust niet gedraaid voor deze prozawijziging: `make check-secrets`/`make sast` — er staat geen code of geheim in (pakketmetadata en publieke URL's). Vervolg: #977 (realtime-Matrix) op pauze tot een expliciet beleidsbesluit; volgende stap Fase 0.5 (WebDAV-async) belegd in #989. Closes #976
De toeleveringsketenkeuring die #976 vraagt, vóór spoor B (samenwerken) de
netwerklaag in gaat. Gekeurd op de vier punten uit het issue: de transitieve
boom, de licenties, de SBOM-gevolgen en de native draagbaarheid over de vier
bouwtargets + web.

Bevindingen (nagekeken tegen pub.dev en de eigen poorten):
- De `matrix`-SDK (9.0.0) én zijn verplichte cryptolaag `vodozemac` zijn
  AGPL-3.0. Dat valt de eigen licentiepoort (make licenses / check-full) en
  herlicenseert de uitgeleverde binary de facto naar AGPL-3.0 — een publieke
  belofte, geen bijvangst van een pub add.
- `vodozemac` is native Rust (flutter_rust_bridge/cargokit, geen desktop-
  prebuilts); Rust wordt verplicht op Windows/Linux/web, tegen "één Flutter,
  laatste stable".
- generate_sbom leest geen Cargo.lock → de native cryptoboom ontbreekt in de
  CRA-inventaris.
- De webbundel-borging (MANIFEST.json + OSV) dekt geen zelfgebouwde WASM-crypto.

Kernwaarde-toets (bewaker): het ontwerp botst niet met de waarden (deck blijft
een draagbaar .md, P1/P2 overeind), maar de keten wel — op waarde 2/4/6.

Aanbeveling: NO-GO onder het huidige beleid; volg Fase 0.5 (WebDAV-async,
nul nieuwe deps) en stel realtime-Matrix (#977) uit tot een expliciet
beleidsbesluit. De enige weg naar GO — het licentiebeleid overrulen — ligt bij
de beheerder.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
docs(assurance): leg het bevestigde NO-GO-besluit vast (#976)
All checks were successful
scans / scans (pull_request) Successful in 3m33s
c44b34f261
De beheerder heeft de knoop doorgehakt: NO-GO, advies gevolgd. #977 op pauze,
volgende stap Fase 0.5 (WebDAV-async) belegd in #989. Beleid ongewijzigd.

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