fix(maestro): run child entrypoints through symlinked paths
Merged
TH
1h ago+142+142+012345678901234567890123456789-40-40-01234567890123456789
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.