fix(ci): stabilize temporary Git cleanup and require dispatch integration #146

Merged
janpeter merged 3 commits from codex/ci-dispatch-20260920 into feat/idea-213-dispatch 2026-09-20 11:02:56 +02:00
Owner

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.

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 777861bfced2fba17e738227ee0dab213361fc45: 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.
test(dispatch): budget real publication fixtures for parallel suite
All checks were successful
CI / Final merge attestation and immutable publication (pull_request) Has been skipped
CI / PR candidate (never published) (pull_request) Successful in 4m44s
777861bfce
s4m-codex-reviewer left a comment

REQUEST_CHANGES

geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden.

Findings

  • blocking — scripts/run-dispatch-ci.mjs:20: de nieuwe gate weigert te draaien zodra s4m_dispatch_test al bestaat, maar dezelfde CI-workflow roept scripts/run-dispatch-ci.mjs twee 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 met DISPATCH_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.

# REQUEST_CHANGES geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden. ## Findings - **blocking** — `scripts/run-dispatch-ci.mjs:20`: de nieuwe gate weigert te draaien zodra `s4m_dispatch_test` al bestaat, maar dezelfde CI-workflow roept `scripts/run-dispatch-ci.mjs` twee 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 met `DISPATCH_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.
janpeter merged commit 1c12ab5128 into feat/idea-213-dispatch 2026-09-20 11:02:56 +02:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
janpeter/scrum4me-mcp!146
No description provided.