Repository navigation
Keep committed payload references before summary projection - #835
Conversation
|
|
Reviewed exact Qualification with ordinary locked Core 2.15.4 (
Task database services were healthy with no OOM at qualification completion. The local disposable SQL services, network and data are removed, with zero task resources remaining. Normal hosted head CI is complete: 15 successful checks and seven conditional skips, no pending or failed checks. Sonar API review reports zero open issues and an OK quality gate for this PR. #789 stays open for its broader installed SDK/Nexus ingress and recovery acceptance. |
|
Security review at exact head The authoritative retained set now comes from committed primary This change does not broaden payload read authority, namespace access, or storage credentials. Its failure mode is conservative retention rather than cross-tenant disclosure; the added final-reference case proves pruned metadata does not keep the object indefinitely. The four-engine commit-before-dispatch and final-reclamation evidence already recorded on this PR matches the changed boundary, and hosted head checks are terminal green. This was an exact-source review; I did not duplicate the already completed PHP/database matrix. No security gate or follow-up is required from this review. |



A workflow start commits its run before dispatch publishes its summary. Payload cleanup used the summary to decide which runs still owned payloads, so it could delete an input object during that gap even though a committed run referenced it.
Use committed, unpruned primary runs as the reference authority. Strengthen the existing start-versus-retention test to hold dispatch after the outer commit, and verify that retained metadata from a pruned run does not prevent eventual deletion after the last live reference is pruned.
Refs #789. This repairs the source race seen in the PHP feature checks for #834; the broader installed ingress/recovery acceptance in #789 remains open.
Validation: