Bevindingen
Wat wijkt af van de afspraken. Open punten stapelen; opgeloste punten verdwijnen.
Dertien open bevindingen uit de ronde van 2026-08-18. Dit is de eerste ronde van de Structuur-Wachter, dus alle bevindingen zijn nieuw en staan nul dagen open. Elke bevinding noemt het regel-ID uit 00_Systeem/Grondwet-kern.md, zodat hij naar de bron herleidbaar is.
Ik constateer en rapporteer; ik repareer niets uit mezelf. Wat hieronder staat vraagt een besluit van David.
Ernstig
A1 — Toegangstoken in platte tekst in de site-repo
Regel G2 · staat 0 dagen open · ernstig
In de repo-configuratie van /opt/data/socev-site staat een GitHub-toegangstoken in platte tekst in het adres van de remote. Naam en vindplaats zijn vastgelegd, de waarde niet — en die komt ook niet in de state-tabel of in dit rapport. Iedere aanroep die de remotes toont, echoot hem mee.
Twee dingen maken dit erger dan het lijkt. Het token geeft schrijfrechten op de repo waar deze site uit gebouwd wordt. En de secretcontrole die vlak voor het publiceren draait, slaat de configuratiemap over — die controle kan deze plek per definitie niet zien. Zie ook het oordeel B2.
Nodig: het token roteren en uit de repo-configuratie halen, bijvoorbeeld via een credential-helper of een omgevingsvariabele. Dat is een besluit van David.
A3 — Zeven skills staan nergens beschreven
Regel G5 · staat 0 dagen open · ernstig
Er staan 31 skills op schijf. Niet vermeld in Systeemoverzicht.md: contacten-opzoeken, gambia-weekreview, mailconcept-aanmaken, praktijk-werkrooster, sms-berichten, systeemrapport en whatsapp-volglijst.
Twee andere niet-treffers zijn schrijfwijze-artefacten en tellen niet mee: die staan samengevoegd in het overzicht. De kop van de skill-paragraaf zegt intussen nog altijd "12 skills, compleet per 2026-07-02".
Nodig: aanvullen, of de keuze uit oordeel B1 nemen.
A4 — 34 van de 67 actieve workflows zijn ongedocumenteerd
Regel G5 · staat 0 dagen open · ernstig
Van de 67 actieve n8n-workflows staan er 34 noch in Systeemoverzicht.md noch in n8n-wijzigingslog.md. De grootste clusters zijn 14 GroepsBrein-workflows en 9 workflows van Facturenfabriek v2. Daarnaast staan er 8 wel in het wijzigingslog maar niet in het overzicht, waaronder de WhatsApp Chat Reader, het Secret-invoerluik, het keten-attest en de Gambia-weekreview.
De workflowtabel in het overzicht draagt nog de kop "per 2026-07-02" en beschrijft er ongeveer dertig. Ongedocumenteerd bestaat het niet — en bij de volgende bouwsessie is dat precies het soort ding waar iets dubbel gebouwd wordt.
Nodig: aanvullen, of de keuze uit oordeel B1 nemen.
A6 — 56 actieve werklessen tegen een maximum van 25
Regel G10 · staat 0 dagen open · ernstig
00_Systeem/Werklessen.md telt 56 actieve lessen; het bestand stelt zelf een maximum van ongeveer 25. Het archief is leeg. Op 17-8 waren het er 53, dus de lijst groeit door.
Dit bestand wordt bij elke sessie meegelezen. Boven de 25 leest niemand ze nog werkelijk, en dan verwatert precies datgene wat correcties zou moeten laten beklijven.
Nodig: lessen die zich bewezen hebben promoveren naar AGENTS.md of een skill, en de rest archiveren. David beslist over promotie.
A8 — Geen enkel uitvoeringsoppervlak draagt het blok grondwet-kern v1
Regel G8 · staat 0 dagen open · ernstig
Van de 31 skills bevat er geen enkele het blok zelf. Twee noemen wel de versiestring: achtergrondagent draagt de instructie om het blok bij runtime vooraan de agentprompt te plakken, en systeemrapport noemt hem als controledoel. In n8n is de workflow Entiteit Labeler bekeken: twee promptvelden, geen blok.
Eerlijk over de reikwijdte: de skills zijn uitputtend gemeten, de n8n-promptvelden zijn een steekproef van één workflow. Voor de andere LLM-knopen geldt "niet vast te stellen".
Dit is geen verrassing — de uitrol staat in het bouwplan als fase 1b en wacht nog op akkoord. Maar zolang hij niet gedaan is, begint elke subagent, elke achtergrondagent en elke LLM-knoop met een lege context en zonder handboek.
Nodig: akkoord op fase 1b, of de bewuste keuze dat het zo blijft.
A9 — Van de vijf componenten heeft er één een echte backup
Regel G8 en G2 · staat 0 dagen open · ernstig
Dit is de zwaarste bevinding van deze ronde, en hij komt niet uit een conformiteitscheck maar uit het simpelweg opschrijven van wat we hebben.
| Component | Stand |
|---|---|
| n8n-workflows | gedekt — dagelijks 00:30 naar Drive, 30 dagen retentie, laatste run geslaagd |
| Podcode en config | niet vast te stellen — geen versiebeheer in de container aangetroffen |
| Supabase-schemas | niet gedekt — gratis plan, geen export |
| Sleutelkluis | niet gedekt — geen kopie buiten Supabase |
| De vault zelf | alleen bisync, en dat is synchronisatie |
Drie dingen om apart te benoemen. Bisync is geen backup: een verwijdering of overschrijving plant zich netjes voort naar de kopie, en er is geen moment in het verleden om naar terug te keren. De sync zelf is overigens gezond — rondes elke vijf minuten, geen storing in zeven dagen.
De sleutelkluis staat in een gebouw zonder brandverzekering. Regel G2 stuurt secrets naar de Supabase Vault, maar dat project heeft zelf geen backup. De aantekening bij regel 2 noemt de regel daarom pas af mét een escrow: één kopie van het sleutelregister buiten Supabase.
Ongedekt zijn onder meer 44.168 zorgdata-waarden, 516 indicatoren, 3.089 contacten en alle state-tabellen van de wachters.
Nodig: een besluit over een versiehoudende backup naast de sync, een export van de Supabase-schemas, en de escrow voor het sleutelregister.
Let op
A2 — State op twee plekken, keuze niet bekrachtigd
Regel G5 · staat 0 dagen open · let op
Drie wachters bewaren hun geheugen in n8n Data Tables (agenda_wachter_state, correspondentie_state, actie_state), twee in Supabase (concierge_state, structuur_state).
Het bouwplan legt vast dat Supabase de standaard is voor nieuwe agents en dat de drie Data Tables legacy zijn: óf migreren, óf als bewuste uitzondering vastleggen. Dat besluit staat nog open. Niet stilzwijgend laten bestaan, want dat is precies hoe drift ontstaat.
Nodig: migreren of als uitzondering vastleggen.
A5 — Twee workflows van vandaag nog niet gelogd
Regel G5 · staat 0 dagen open · let op
AI - Systeemrapport en TMP - Pod-proxy (socev.dev) zijn vandaag gewijzigd en staan nog niet in het n8n-wijzigingslog. Beide zijn inactief en ongepubliceerd, en beide zijn gebouwd voor deze Structuur-Wachter zelf.
Verzachtend: het wijzigingslog is verder goed onderhouden en loopt bij tot en met 16-8. G5 vraagt vastlegging dezelfde dag, en die dag is vandaag — dit is dus eerder een herinnering dan een verwijt.
Nodig: een regel in het wijzigingslog voor beide.
A9 — Backupdekking van de podcode is niet vast te stellen
Regel G9 · staat 0 dagen open · let op
/app bevat server.js, telegram-claude-bot.js, entrypoint.sh en run.sh, maar geen versiebeheer in de container. De werkles van 17-8 stelt dat deze code in een publieke repo met 25 commits staat; dat is deze ronde niet geverifieerd.
De status blijft daarom "niet vast te stellen" in plaats van gedekt of ongedekt. Een afwezige meting is geen bewijs van afwezigheid.
Nodig: één keer vaststellen waar die repo staat, en het in de Structuurkaart zetten.
Oordelen
Deze twee zijn geen metingen maar oordelen uit laag B. Lees ze als voorstel, niet als feit.
B1 — Het documentatiemodel schaalt niet mee met de bouwsnelheid
Oordeel · regel G5 · staat 0 dagen open · let op
A3 en A4 zijn los van elkaar geen incidenten maar hetzelfde patroon. Systeemoverzicht.md beschrijft handmatig ongeveer 30 workflows en 22 skills, terwijl er 67 respectievelijk 31 draaien, en de kop staat sinds 2026-07-02 stil. Handmatig bijwerken lost dat deze week op en is over zes weken opnieuw stuk.
Voorstel ter besluit: laat de Structuurkaart de wekelijks gegenereerde bron van waarheid zijn voor de lijsten met workflows en skills, en houd in Systeemoverzicht.md alleen het waarom en de architectuur — de dingen die een mens moet schrijven omdat een meting ze niet kan afleiden.
B2 — De eigen publicatiepoort heeft een blinde vlek
Oordeel · regel G2 · staat 0 dagen open · let op
De secretcontrole die vlak voor het publiceren draait, slaat de repo-configuratiemap over. Dat is verdedigbaar tegen ruis, maar de enige echte secretwaarde die deze ronde gevonden is, zit juist daar — zie A1. De poort zou hem dus nooit tegenhouden.
Dit is precies het risico dat het bouwplan benoemt: een wachter met een blinde vlek op zichzelf.
Voorstel ter besluit: een aparte controle op de repo-configuratie bij elke ronde, los van de poort die de push bewaakt.
Wat er goed staat
Voor de balans, want een bevindingenpagina geeft een vertekend beeld. De secretscan over de vault en de skills leverde veertien patroontreffers op die stuk voor stuk vals-positief bleken: naamvoorbeelden, verwijzingen naar omgevingsvariabelen en ingesloten afbeeldingen. Dat is een echte verbetering — het bouwplan ging nog uit van negen skills met secrets in platte tekst. Verder faalde er in 24 uur geen enkele n8n-executie, draaide de nachtketen compleet, en kende de vaultsync in zeven dagen geen enkele storing.