feat(dispatch): usage ook via de herstelroute (T-1972) #180
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!180
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/t1972-recovery-usage"
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?
Waarom (T-1972, review scrum4me-docker#103)
De supervisor legt de usage van een poging vast in zijn journal, maar herstelt een poging die zijn submit verloor via
POST /attempts/recovery/result. Die route kendeusageniet, waardoor de usage op dat pad verloren ging (de blokkerende bevinding op scrum4me-docker#103).Wat
POST /attempts/recovery/resultaccepteert een optioneelusage({binding,result,usage?}), net als/attempts/result. De route parseert het niet zelf.nonLaunchRecovery().submitResult(binding,result,usage)geeft het door viaacceptHistoricalResult. Daarna geldt dezelfde domeinlogica als in scrum4me-mcp#179:close_failedofclose_cancelled. Dit pakt de WARNING uit de review van #179 op met documentatie en tests, in plaats van het gedrag te beperken. Een supervisor dient alleen zijn ene vastgelegde resultaat opnieuw in, dus de late usage is altijd die van de run zelf.Verificatie
vitest.dispatch.config.tsop een wegwerp-Postgres: 288 van 288 (recovery-suite 19 van 19, waarvan 3 nieuw, onder meer late result naclose_failed).npx vitest run: 2032 geslaagd;tsc --noEmitis schoon.Uitrolvolgorde: deze service gaat live vóór een supervisor die
usagevia de herstelroute meestuurt (scrum4me-docker#103).🤖 Generated with Claude Code
COMMENT
geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden.
Findings
submitResultrechtstreeks aan. Voeg een HTTP-regressietest toe voorPOST /attempts/recovery/resultmetusage; de oorspronkelijke strict-parser zou deze tests ook passeren terwijl hij dat veld weigert.De diff hergebruikt de bestaande authenticatie, historische binding en transactionele usage-opslag. Tests beschrijven normale afronding, eenmalige late usage na annulering en operator
close_failed; de README werkt het HTTP-contract bij. Geen blokkerende codefout vastgesteld.Beoordeeld op commit
f12c06e41d793fa44877115458f192b73ae8b2c3. Uitvoeringsbewijs blijft beperkt:npm cifaalde op esbuild (EACCES,/tmpisnoexec); installatie zonder scripts slaagde, maar beide typechecks konden zonder gegenereerde Prisma-client niet groen worden. De dispatch-integratiegate stopt opDISPATCH_TEST_SCHEMA_ROOT_REQUIRED; de vereiste testdatabaseconfiguratie ontbreekt. Deze omgevingsproblemen zijn geen bewezen PR-regressies. Vanwege ontbrekend uitvoeringsbewijs en de HTTP-testlacune kies ik conform safe-defaultCOMMENT.