Skip to content

dispatch-gates cannot see runtime staging dependencies between gate scripts (digest sandbox broke on a staged gate's new import) #13000

Description

@hotlong

Observation from PR #12997's patch round (2026-08-28), recorded with measurements by the dev on #12881:

scripts/pm/dispatch-gates.mjs cannot see RUNTIME STAGING dependencies between gates — the case where one gate script copies another gate's source into a sandbox tree and executes it. Concrete instance: scripts/objectui-changeset-digest.mjs stages scripts/check-adr-0087-registration.mjs into a fw-gate/ sandbox; a PR that added an import (js-comment-mask.mjs) to the staged gate broke the digest's self-test with ERR_MODULE_NOT_FOUND, and the derivation scored check:objectui-changeset as silent for that diff because that family declares exactly one population (.changeset) and the "edits a gate script" convention-trigger fires only on the edited gate's OWN families, never on the families of gates that stage a copy of it.

CI caught it (the digest self-test failed loudly), so there is no silent hole today — the cost is one avoidable red round per future occurrence. Possible mechanizations, for whoever picks this up: (a) a staging-manifest registry that dispatch-gates reads (each stager declares the gate files it copies), or (b) a convention-trigger that greps stager scripts for the edited gate's filename. Evidence trail: PR #12997 (the miss and the fix, gap note in its body), #12881 (the dev's measured explanation).

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions