feat(forms): controle door de maker (par. 7.4) #2241

Merged
brenno merged 3 commits from feat/form-maker-check into main 2026-10-02 22:15:47 +00:00
Owner

Wat

De controle door de maker (FORM_INTAKE.md §7.4): vóór een bijdrage verschijnt ziet de maker hoe ze eruit komt te zien en zegt of ze klopt. Het is een integriteitscontrole — een anonieme inzender is niet te authenticeren (§5.7), dus alleen een antwoord vanaf het opgegeven adres bevestigt dat de bijdrage van die persoon is.

Drie commits:

  1. Pakket (form_maker_check.dart): makerAddressOf (eerste ingevulde e-mailveld) en makerCheckMailLink. Het e-mailpatroon laat ?, &, #, % door in het lokale deel; een link die dat letterlijk meenam zou een inzender een bcc/onderwerp/tekst aan het concept van de organisator laten toevoegen. Het adres wordt daarom rond de @ percent-gecodeerd (en stuurtekens worden geweigerd); onderwerp en tekst gaan met %20, nooit +.
  2. Service: compileFormBook(onlySid:) en prepareMakerCheck — het hoofdstuk van één inzending met dezelfde samensteller als het boek (de maker ziet wat er gedrukt wordt), als book/check-<begin nummer>[-n].md, nooit over een eerder heen.
  3. Inbox: Controle door de maker… met drie losse stappen — het document maken en openen, de mail schrijven (adres vooringevuld, antwoorddag standaard +14 dagen), en de status op maker-check-sent zetten. 17 zinnen × 30 talen.

Ontwerpkeuze om na te lopen

Het ontwerp zegt "exporteert als pdf via de bestaande documentexport". Die export hangt aan het documentscherm (privacyprofiel, classificatie, lettertypen, mermaid, bestandskiezer); er een tweede headless pad naast zetten zou die audited projectiegrens dupliceren. Daarom opent de organisator het controledocument en exporteert het met de gewone export; alleen de mail wordt voorbereid (een mailto: kan geen bijlage dragen, dus de pdf voeg je zelf toe). De handleiding zegt: kies het volledige profiel, want de inhoud is die van de maker zelf. Het concept staat in de interfacetaal; de organisator past het aan in het mailprogramma. Als je liever een geïntegreerde pdf-bijlage wilt, is dat een aparte, grotere stap.

Toetsing

  • 48 widget-/servicetests + 19 pakkettests; make check, check-packages, test-packages (dekkingsvloer), check-registrations, check-secrets, sast groen; branch niet achter op main.
  • Mutatietoets op alle nieuwe code: elke overlever bleek een ontbrekende test (toegevoegd: o.a. getypte tekst wint van voorinvulling via een Completer-naad, tussentoestanden, sluiten tijdens werk) of equivalent (code geschrapt).
  • Niet met het oog gekeurd in de draaiende app (computer-use is niet toegestaan in deze sessie).
## Wat De controle door de maker (FORM_INTAKE.md §7.4): vóór een bijdrage verschijnt ziet de maker hoe ze eruit komt te zien en zegt of ze klopt. Het is een **integriteitscontrole** — een anonieme inzender is niet te authenticeren (§5.7), dus alleen een antwoord vanaf het opgegeven adres bevestigt dat de bijdrage van die persoon is. Drie commits: 1. **Pakket** (`form_maker_check.dart`): `makerAddressOf` (eerste ingevulde e-mailveld) en `makerCheckMailLink`. Het e-mailpatroon laat `?`, `&`, `#`, `%` door in het lokale deel; een link die dat letterlijk meenam zou een inzender een `bcc`/onderwerp/tekst aan het concept van de organisator laten toevoegen. Het adres wordt daarom rond de `@` percent-gecodeerd (en stuurtekens worden geweigerd); onderwerp en tekst gaan met `%20`, nooit `+`. 2. **Service**: `compileFormBook(onlySid:)` en `prepareMakerCheck` — het hoofdstuk van één inzending met **dezelfde samensteller als het boek** (de maker ziet wat er gedrukt wordt), als `book/check-<begin nummer>[-n].md`, nooit over een eerder heen. 3. **Inbox**: *Controle door de maker…* met drie losse stappen — het document maken en openen, de mail schrijven (adres vooringevuld, antwoorddag standaard +14 dagen), en de status op `maker-check-sent` zetten. 17 zinnen × 30 talen. ## Ontwerpkeuze om na te lopen Het ontwerp zegt "exporteert als pdf via de bestaande documentexport". Die export hangt aan het documentscherm (privacyprofiel, classificatie, lettertypen, mermaid, bestandskiezer); er een tweede headless pad naast zetten zou die audited projectiegrens dupliceren. Daarom opent de organisator het controledocument en exporteert het met de gewone export; alleen de mail wordt voorbereid (een `mailto:` kan geen bijlage dragen, dus de pdf voeg je zelf toe). De handleiding zegt: kies het **volledige** profiel, want de inhoud is die van de maker zelf. Het concept staat in de interfacetaal; de organisator past het aan in het mailprogramma. Als je liever een geïntegreerde pdf-bijlage wilt, is dat een aparte, grotere stap. ## Toetsing - 48 widget-/servicetests + 19 pakkettests; `make check`, `check-packages`, `test-packages` (dekkingsvloer), `check-registrations`, `check-secrets`, `sast` groen; branch niet achter op main. - Mutatietoets op alle nieuwe code: elke overlever bleek een ontbrekende test (toegevoegd: o.a. getypte tekst wint van voorinvulling via een Completer-naad, tussentoestanden, sluiten tijdens werk) of equivalent (code geschrapt). - Niet met het oog gekeurd in de draaiende app (computer-use is niet toegestaan in deze sessie).
makerAddressOf kiest het eerste ingevulde e-mailveld; makerCheckMailLink codeert het adres rond de @
(het patroon laat ?, & en # door in het lokale deel, dus wat een inzender intikt kan anders een bcc of
onderwerp aan het concept van de organisator toevoegen) en schrijft een spatie als %20. Mutatietoets: de
enige overlever is equivalent (de antwoorden zijn al getrimd).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
compileFormBook krijgt onlySid: alleen die inzending, welke status ze ook heeft; ingetrokken en
verwijderde blijven eruit. prepareMakerCheck maakt met dezelfde samensteller als het boek een document
check-<begin van het nummer>[-n] in book/ en overschrijft nooit een eerder.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Drie losse stappen: het controledocument maken en openen (de pdf maakt de organisator met de gewone
export, die privacyprofiel, classificatie en lettertypen al kent), de mail schrijven aan het adres dat de
maker opgaf met de uiterste antwoorddag, en de status op maker-check-sent zetten. 17 zinnen x 30 talen.
Mutatietoets: 0 overlevers behalve equivalente.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
brenno merged commit 13cfaa2f2a into main 2026-10-02 22:15:47 +00:00
brenno deleted branch feat/form-maker-check 2026-10-02 22:15:48 +00:00
Sign in to join this conversation.
No description provided.