fix(maestro): run child entrypoints through symlinked paths

Merged
TH
21m ago
+142-40

Summary

Maestro's private child executables compared the supplied entry path with the resolved module URL. A symlink made the guard false, so the child exited successfully without JSON.

Remove those redundant guards. Reusable VM/HTTP logic stays separate. Retain canonical/symlink executable fixtures and add protocol tests for VM output, typed HTTP refusals and fatal-input exit handling.

Five files change. This host-process repair addresses the integration defect discovered during #4393 validation. Closes #4395; refs #4368. No dependency, interface, timeout, fallback or coverage-policy change.

Validation

Head: a65d732a0bb67fd53a706c660179f53f208c41cc; merge-base: 89d63c57280116f7b09db0a2aa7d36a85a810e67.

  • All nine runnable exact-head affected checks passed; exactCommit=true, checkoutChanged=false, failOpen=false. Seven lanes retain owners. Setup passed; source stayed clean. Receipt and obligations.
  • Full Node integration: base 152 passed/one failed/13 skipped; fixed head 153 passed/zero failed/13 skipped. Unit: 18,038 passed/three skipped. Related selection ran zero tests.
  • Old-source executable fixtures fail and fixed fixtures pass. New protocol mutations each cause one failure/two passes; restoration gives three passes. Experiments removed; reviewed source preserved.
  • Focused V8 hits all five locations missing from prior CI. CI changed-line coverage passed 5/5 (100%) without a waiver, threshold change or exclusion.
  • Independent Luna reviews found no findings. Test colocation corrected with a verified pure rename. Current CI: 16 successful checks/one cache skip, including Android, Apple and Linux smoke. No open review threads or conflicts. No merge authorized.