fix(ci): stabilize temporary Git cleanup and require dispatch integration #146
No reviewers
Labels
No labels
severity/s2
severity/s3
severity/s4
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
janpeter/scrum4me-mcp!146
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "codex/ci-dispatch-20260920"
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?
Git 2.55 starts detached maintenance inside temporary repositories, racing cleanup and turning confirmed publication into failure. Disable maintenance only for those Git commands and use bounded cleanup that preserves primary errors and receipts. Real Git/HTTP fixtures retain all assertions and have bounded 30-second timeouts.
Candidate and main CI now provision a fresh dispatch database from exact Scrum4Me schema 6dc581d and run the restricted-role integration suite. Existing databases, invalid hosts and dirty schema sources fail closed. Release guards remain unchanged.
Exact head
777861bfce: Forgejo run163 SUCCESS with 198 dispatch integration tests and 1716 unit/PPE tests passed (34 existing skips), plus typechecks and candidate metadata. Independent review GO, no findings. Linux Git2.55 original fixture fails2/4, maintenance-only intervention passes4/4, final targeted tests17/17 on Linux/macOS.Targets the existing IDEA-213 feature branch (PR144); that shared branch was not updated. No merge/deployment performed.
REQUEST_CHANGES
geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden.
Findings
scripts/run-dispatch-ci.mjs:20: de nieuwe gate weigert te draaien zodras4m_dispatch_testal bestaat, maar dezelfde CI-workflow roeptscripts/run-dispatch-ci.mjstwee keer aan: eerst voor candidate en later opnieuw voor final-release. Omdat het script de vaste database na afloop niet dropt, zal de tweede gate in dezelfde PostgreSQL-service eindigen metDISPATCH_TEST_DATABASE_ALREADY_EXISTS. Dat maakt de verplichte final-release gate onuitvoerbaar en botst met de productafspraak dat disposable DB-resources een begrensde levensduur hebben en dat candidate én final-release de dispatch-integratiegate moeten doorlopen.Verdict
REQUEST_CHANGES — de PR introduceert een blokkerende CI-regressie. Los dit op door de disposable database levenscyclus per gate af te ronden, bijvoorbeeld met een veilige cleanup/drop van uitsluitend de eigen testdatabase, of door per run een unieke disposable database te gebruiken met dezelfde strikte target-guards.