fix(ci): harnas-stub voor het nieuwe script, en een timeout die past bij de suite #133
No reviewers
Labels
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
janpeter/Ops-dashboard!133
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/ci-harness-stub-and-timeout"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
CI op ops-dashboard is rood sinds 2026-08-01 (laatst groen 07-31). Twee onafhankelijke oorzaken; de tweede stond er al vóór mijn werk van vandaag.
1. Mijn regressie — deterministisch, 2 tests
setup.shinstalleert sinds de deploy-trigger-PR een derde script, maar de hermetische harnas bouwt de nep-repo uit een vaste lijst en schreef alleen stubs voorrepo-contains-sha.shenupdate-operator-mcp.sh. Gevolg:setup.shviel om en de twee tests dierunSetupBoundary()gebruiken faalden — met een melding die naar/tmpwijst in plaats van naar die lijst.Toerekening gemeten, niet aangenomen: de ENOENT verschijnt precies op de runs waarvan de branch die
setup.sh-regel draagt (#87, #89, #90, #92) en is nul op #91, dat van een main zonder die commit is afgetakt. Alleen de tests op regel 900 en 935 roepenrunSetupBoundary()aan, dus de overige failures cascaderen er niet uit.2. Niet van mij — een limiet die niet past bij de suite
Gemeten in CI-run #92:
control-room-foundation.test.tscontrol-room-runner.test.tsEr stond geen
testTimeoutinvitest.config.ts, dus vitest' default van 5000 ms gold. Gemiddeld 2,9 s tegen 5 s is geen factor 2 marge, dus bij belasting kiepert er een wisselend handjevol om: 8 timeouts in run #91, 35 in run #90, over zeven verschillende testbestanden. Deze tests starten per stuk een subprocess dat echt filesystem-werk doet — de limiet paste niet bij wat ze doen.testTimeoutenhookTimeoutop 30 s. Bewust globaal: dezelfde flakiness raakte zeven bestanden, en de snelle tests (tientallen ms) komen hier nooit in de buurt. De prijs is dat een écht hangende test er 30 s over doet om te falen in plaats van 5 s.Wat hier bewust NIET in zit
Lokaal faalt
control-room-foundation.test.tsop iets heel anders:CONTROL_ROOM_FOUNDATION_FAILED: reviewed_unit_untrusted:ops-agent.service— een directe assertie, geen timeout, 65 van de 80 tests. Dat is een derde, losstaand probleem in de lokale omgeving en niet wat CI rood maakte. Ik heb het niet meegenomen om deze PR bij zijn onderwerp te houden, maar het is het melden waard: het betekent dat deze suite lokaal geen bruikbaar oracle is.Verdict: APPROVED
geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden.
Findings
test/control-room-foundation-harness.ts:445sluit aan op de bestaande lijst scripts diesetup.shtijdens de boundary-tests kopieert. De verhoogdetestTimeoutenhookTimeoutinvitest.config.ts:20zijn gemotiveerd voor subprocess- en filesystem-intensieve control-room suites en schakelen geen tests of assertions uit.Product-standaarden
Productdocs bevatten geen specifieke aanvullende norm voor deze CI/test-harnaswijziging. De diff blijft klein, hergebruikt bestaande configuratiepunten en wijkt niet zichtbaar af van de agent-guide-principes voor minimale, gerichte wijzigingen.
Verdict: APPROVED
Geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden.
Findings
Geen blokkerende of error-severity findings.
test/control-room-foundation-harness.ts:443— De extrascrum4us-deploy-trigger.shstub houdt het testharnas in lijn met de scripts diesetup.shinstalleert; dit voorkomt een misleidende ENOENT in tijdelijke testdirectories.test/control-room-foundation-harness.ts:569— Streamerrorlisteners voorkomen dat late pipe-reset errors na child-procesafsluiting Vitest laten falen terwijl de testuitkomst uitclose/exit-code komt. Dit is beperkt tot het testharnas.vitest.config.ts:20— De hogere globaletestTimeout/hookTimeoutis onderbouwd met CI-metingen voor subprocess-heavy control-room suites. De trade-off is acceptabel voor deze testset en wijzigt geen productiegedrag.