Machinevertaling. De Engelse tekst is leidend. English

Bewijs

Iedereen kan beweren dat een bug is opgelost. Deze pagina toont de fix, de test die hem bewaakt en het bewijs dat de test faalt als de bug terugkomt.

Gegenereerd op 2026-10-03 uit tools/prove_regressions.py · 4 van 4 regressietests aantoonbaar niet-vacuüm.

Hoe elk bewijs tot stand komt

  1. Draai de regressietest tegen de gefixte code: hij moet slagen.
  2. Pas de broncode aan om de oorspronkelijke bug terug te zetten.
  3. Draai dezelfde test opnieuw: hij moet falen, met een echte assertion failure. Een collection error telt niet: dat betekent dat de test nooit is gedraaid.
  4. Zet het bestand terug, controleer dat de SHA-256 overeenkomt met het origineel en voer opnieuw uit: het moet weer slagen.

De assistent vertelde bezoekers dat de webhook hun gesprek meestuurt. Er gaat niets van mee.

commit e027e6b · bewaakt door apps/gateway/tests/test_webhook_content_claim.py

Webhook-payloads bevatten bewust alleen de VORM van een beurt (eventnaam, tijdstempel, aantal stappen, credits) en nooit de inhoud. De assistent, gevraagd of webhooks het gesprek bevatten, antwoordde: 'Ja, elke webhook-payload bevat de volledige gespreksgeschiedenis voor die beurt.' Dat is precies het tegenovergestelde van de garantie waartegen de allow-list wordt getest. Gemeten op 2 verzinsels in 6 runs vóór de fix.

Gerepareerde code, testruns GESLAAGD 21 passed in 1.15s
Bug teruggezet, dezelfde test ONDERSCHEPT 8 failed, 13 passed in 1.20s
Bestand teruggezet, test draait GESLAAGD sha256 a8d4cb0b10787eff…

De test is niet vacuüm: hij faalt als de bug terugkomt.

We vertelden eigenaren op een dashboardkaart te klikken die niet bestaat.

commit b4a203a · bewaakt door apps/gateway/tests/test_card_names.py

De kennisbank, de docs en een starttegel vertelden eigenaren allemaal een kaart te zoeken met de naam 'Send turns to a webhook'. De echte dashboardkaart heet 'Send events to your own system'. De naam werd verzonnen toen de kennissectie werd geschreven en verspreidde zich ongecontroleerd naar drie plekken. Gemeten: 2 van 2 installatieantwoorden noemden een bedieningselement dat nooit heeft bestaan.

Gerepareerde code, testruns GESLAAGD 5 passed in 1.12s
Bug teruggezet, dezelfde test ONDERSCHEPT 3 failed, 2 passed in 1.23s
Bestand teruggezet, test draait GESLAAGD sha256 f6348e1a5bbae209…

De test is niet vacuüm: hij faalt als de bug terugkomt.

De begroeting in dark mode werd weergegeven met een contrast van 1.73:1, in feite onzichtbaar, en de controle had dit niet kunnen opvangen.

commit ca47f41 · bewaakt door apps/studio/test/themeContrast.test.mjs

Gevonden via een screenshot op een echte iPhone, niet via een test. De welkomstgroet was hardcoded op #3a3a3c, wat tegen het dark-mode-paneel uitkomt op 1.73:1, ver onder het minimum van 4.5:1 en nauwelijks leesbaar. Elke nieuwe bezoeker in dark mode zag het. De fix leidt de kleur via de themavariabele --pw-mist zodat die het paneel volgt; de guard berekent nu de werkelijke contrastverhouding voor elk thema-paar in plaats van erop te vertrouwen dat er een kleur was ingesteld.

Gerepareerde code, testruns GESLAAGD pass 5, fail 0
Bug teruggezet, dezelfde test ONDERSCHEPT pass 3, fail 2
Bestand teruggezet, test draait GESLAAGD sha256 54f8802b444b6194…

De test is niet vacuüm: hij faalt als de bug terugkomt.

Een mislukte beurt liet de bezoeker eindeloos wachten op een dode stream.

commit 4bcc691 · bewaakt door apps/studio/test/streamError.test.mjs

Toen de modelaanroep mislukte, stuurde de server correct een error-frame, maar de widget schreef het bericht in een element dat de governance-trace-tak al had verborgen, en klapte de trace nooit in. De bezoeker zag 'Reading your message' eindeloos pulseren bij een beurt die al mislukt was: geen foutmelding, geen herstel, geen manier om het te weten. De fouttekst werd correct toegewezen en nergens weergegeven. Gevonden tijdens een echte storing, toen het API-account geen tegoed meer had.

Gerepareerde code, testruns GESLAAGD pass 4, fail 0
Bug teruggezet, dezelfde test ONDERSCHEPT pass 2, fail 2
Bestand teruggezet, test draait GESLAAGD sha256 54f8802b444b6194…

De test is niet vacuüm: hij faalt als de bug terugkomt.

Operationeel verslag

Wat er achter het platform bestaat, en wat niet getest is. Alleen wat een script of een log kan aantonen.

Uit docs/ops-record.json, geschreven door de hersteloefening (docs/runbooks/db-backup.md).

Wat dit niet bewijst

Dit zijn checks die ik zelf op mijn eigen code draai. Ze laten zien dat specifieke tests specifieke bugs vangen: niet dat het systeem vrij is van andere, niet dat de audits volledig waren, en niet dat iemand onafhankelijk het heeft beoordeeld. De harness staat in de repository; de claim is te controleren door hem te draaien.

PANTHEON · Bewijs het, val het live systeem aan · Auditlog · Walkthroughs · Werk · CV