# Testverslag Jesse’s Codex–ChatGPT–GitHub-lus — 20 september 2026

**Resultaat: functionele test geslaagd; afgerond.**

De controller stuurde gewone ChatGPT-chats aan. ChatGPT las de private testrepo via de GitHub-koppeling en publiceerde zelf de reviews als PR-comments. De controller accepteerde alleen daadwerkelijk teruggelezen GitHub-comments met de juiste sessie, request, auteur, ronde en exacte commit-SHA. Bram hoefde geen reviewtekst over te nemen.

Repository: https://github.com/brvale97/codex-webchat-loop-test-20260920
Sessie: `4065d0bff481c5d1`. Afgerond (UTC): `2026-09-20T19:47:50.935023+00:00`.

## Resultaten

| Scenario | Uitkomst | Uitgevoerde tests na afloop |
| --- | --- | --- |
| A: positief/negatief/nul | Reviewer vond ontbrekend nulgeval; regressietest faalde eerst; fix opnieuw goedgekeurd | 3 geslaagd |
| B: delen door nul | Reviewer vond onjuist retourresultaat; regressietest faalde eerst; ValueError-fix opnieuw goedgekeurd | 3 testmethoden, waaronder 9 nuldelersubtests, geslaagd |
| C: even/oneven | Correcte code zonder wijziging goedgekeurd; daarna twee verse chats met eigen broncontrole | 5 geslaagd |

De oorspronkelijke tests voor A en B waren groen ondanks de ingebouwde fouten. De reviews vonden deze fouten zonder aanwijzing naar de bedoelde fout. Regressietests bevestigden de bevindingen vóór de reparatie. C had geen ingebouwde fout.

## Controleerbaar reviewbewijs

- [A-R1](https://github.com/brvale97/codex-webchat-loop-test-20260920/pull/2#issuecomment-5752076272): `changes_requested`, SHA `6264fec8d9eda0b5ad200a3822aeb903ef19625e`.
- [A-R2](https://github.com/brvale97/codex-webchat-loop-test-20260920/pull/2#issuecomment-5752101502): `approved`, SHA `b117f26a175f7833f741c6d348e1cc4b6b203999`.
- [B-R1](https://github.com/brvale97/codex-webchat-loop-test-20260920/pull/3#issuecomment-5752134174): `changes_requested`, SHA `57b1ab581c809bc924ac7734a562ce6baff3b3b6`.
- [B-R3](https://github.com/brvale97/codex-webchat-loop-test-20260920/pull/3#issuecomment-5752161423): `approved`, SHA `46d7a268a194f9ff262a6204bf296940b6b333bb`.
- [C-R1](https://github.com/brvale97/codex-webchat-loop-test-20260920/pull/4#issuecomment-5752173981): `approved`, SHA `1ca8d3bdf1aa80d0e0dde78cd21b7694c1324500`.
- [C-CHECK-1](https://github.com/brvale97/codex-webchat-loop-test-20260920/pull/4#issuecomment-5752188718): `approved`, SHA `1ca8d3bdf1aa80d0e0dde78cd21b7694c1324500`.
- [C-CHECK-2](https://github.com/brvale97/codex-webchat-loop-test-20260920/pull/4#issuecomment-5752216707): `approved`, SHA `1ca8d3bdf1aa80d0e0dde78cd21b7694c1324500`.

B-R2 is op Brams verzoek gestopt tijdens de overstap van Pro naar Extra High; er is geen B-R2-review gepubliceerd.

## Commits

- A, PR #2: initieel `6264fec8d9eda0b5ad200a3822aeb903ef19625e`; definitief `b117f26a175f7833f741c6d348e1cc4b6b203999`.
- B, PR #3: initieel `57b1ab581c809bc924ac7734a562ce6baff3b3b6`; definitief `46d7a268a194f9ff262a6204bf296940b6b333bb`.
- C, PR #4: initieel `1ca8d3bdf1aa80d0e0dde78cd21b7694c1324500`; definitief `1ca8d3bdf1aa80d0e0dde78cd21b7694c1324500`.

## Model en onafhankelijke checks

A-R1, A-R2 en B-R1 draaiden vóór de correctie op de zichtbare instelling **6 Pro**. Op expliciet verzoek van Bram is daarna **Extra High (xhigh)** gekozen. B-R3, C-R1 en beide verse eindcontroles draaiden op die instelling. De controller-modelinstelling en toerekening aan abonnement/API-budget zijn niet onafhankelijk vastgesteld.

De twee extra eindcontroles gebruikten afzonderlijke nieuwe chats en dezelfde definitieve C-commit. Zij kregen expliciet de opdracht zelf criteria, broncode en tests te beoordelen en eerdere goedkeuringen niet als bewijs te gebruiken. Dit is geen bewijs van statistische onafhankelijkheid; de eerdere PR-comments waren wel toegankelijk. De review-auteur is dezelfde gekoppelde account `brvale97`, geen afzonderlijke cryptografische reviewersidentiteit.

- [C-CHECK-1-chat](https://chatgpt.com/c/6ab036a9-5688-83eb-9ad0-c0d025d7593f)
- [C-CHECK-2-chat](https://chatgpt.com/c/6ab037cc-5250-83eb-b7d2-f242502ec217)

## Autorisatie en veiligheid

Bram heeft zelf op GitHub ingelogd en Install & Authorize bevestigd. Daarna is gecontroleerd dat ChatGPT Codex Connector van OpenAI alleen deze geselecteerde private repo heeft. Installatiebewijs staat in `evidence/installation-verified.json`. De eerdere 404-blokkade was daarmee opgelost; historische diagnose staat in `evidence/setup-history.md`.

Bij elke publicatie is de concrete comment en doelrepo/PR bekeken en alleen Allow once gebruikt. Bij C-CHECK-1 waarschuwde de interface voor metadata/status-instructies in de comment. Inspectie bevestigde dat dit precies de afgesproken reviewmarker en beoordeling waren; de eenmalige publicatie bleef binnen de opdracht.

De synthetische Python-code is uitgevoerd met bubblewrap zonder netwerk, host-home, Git-gegevens of schrijfbare broncode, met tijd- en resourcelimieten. De isolatiecheck en preflight slaagden. Vijf protocoltests slaagden, waaronder afwijzing van verkeerde/oude SHA’s, auteur, PR, dubbele of ongeldige markers. Logbestanden staan in `evidence/`.

De controller en browser blijven onderdeel van de bestaande host-/accountomgeving. De bestaande controllercredential is niet technisch tot deze repo ingeperkt. Dit is dus geen volledige VM-isolatie van de agent. De GitHub-app heeft een breder vast rechtenpakket binnen de geselecteerde repo dan alleen comments schrijven. Zie [SAFETY.md](SAFETY.md).

ChatGPT deed statische codebeoordeling; alleen de lokale sandbox voerde tests uit. Er waren geen CI-runs. Deze kleine synthetische proef bewijst dat de lus functioneert, niet dat willekeurige productiecode veilig of foutloos wordt.

## Eindcontrole en opruimen

PR’s #1–#4 zijn gesloten, zonder merge. De private repository en bewijsbranches blijven bewaard. `main` staat nog exact op `d0ab0589101a342e2bddba6226d618521927a36b`; de lokale werkboom is schoon. Er zijn geen deployments of workflows toegevoegd. Geen achtergrondlus draait door. Zie `evidence/final-audit.json` en `state.json`.

De projectfeiten en Brams expliciete modelkeuze voor deze run zijn hier vastgelegd; er is geen algemene modelvoorkeur uit afgeleid.
