You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
refactor(replay): pass runtime hosts through replay and device selection - #3827
Pass the owning host and explicit environment through replay-port, maestro, ad-script, plugins, and device selection. Required daemon callers and fixtures are included: 68 files, 816 gross lines.
Second layer, based on #3826. #3823 remains the top gate layer. The rebase preserves the original cleanup changes and includes #3818/#3820 from main.
Coverage failures were fixture races: 7e2cae20ed replaces a directory-order assumption with explicit files; 288e6cceae waits for bridge evidence contents rather than file creation. Both fixes are inherited by all layers. Upper patches are unchanged by range-diff.
Prior full-check and Android daemon/provider evidence stays attributed to e223d37244 in #3823’s review-response comment. This round changes only test fixtures and ancestry. Full coverage and GitHub-owned lanes remain CI obligations.
Coverage follow-up: 7e2cae20ed fixes the daemon progress fixture by passing explicit files; the failing assertion assumed filesystem directory order. Restacked this unchanged replay patch to 51d5a75793; range-diff is identical. Foreground check:affected passed at 51d5a75793 (run-cdxM2Z, exactCommit=true). CI is running on the pushed head.
Second coverage fix: 288e6cceae polls the detached bridge’s expected cwd contents; the shell creates the evidence file before writing it, and CI read an empty file (run 39289751890). Head efb9788689 inherits both this fix and 7e2cae20ed; upper-layer range-diff is unchanged. Foreground check:affected passed (run-sfbw1g, exactCommit=true). Cold self-review found no issue in the test-only diff. CI is running on this head.
The code in efb9788 looks ready: I found no problems that need a change before merge, and I did not run the tests myself. CI on this head was still pending when I looked, so Integration, Coverage and Smoke must finish green, since they exercise the replay, device-selection and daemon handler routes this PR touches. There are no conflicts. I did not review the stacked base #3826, which supplies sessionStore.host and the handler host, so #3826 must land first; I assumed both carry the same daemon host environment, based on the reads in request-router.ts. Live device evidence is not needed, because the env value is unchanged. Not blocking, and you can take or leave these: the updated tests all pass process.env as the host env, so a wrong env at a production call site would go unnoticed, and one router-level test with a distinct env (for example an AD_VAR_* entry) would pin the wiring; includePathKey in engine-flow.ts now uses dirname(flow.sourcePath) instead of process.cwd() for a sourceless runFlow, which fixes the cycle key quietly and has no test; and handlers read the host from two places (sessionStore.host.env versus params.host.env or args.host in doctor, lease and session-open), where the handler host parameter would be the better single source.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ready-for-humanValid work that needs human implementation, judgment, or maintainer merge
1 participant
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Part of #3753. Part of #3747.
Pass the owning host and explicit environment through replay-port, maestro, ad-script, plugins, and device selection. Required daemon callers and fixtures are included: 68 files, 816 gross lines.
Second layer, based on #3826. #3823 remains the top gate layer. The rebase preserves the original cleanup changes and includes #3818/#3820 from main.
Validation
Head
efb97886892ab3342970a2560883e34dd82d22e1.pnpm check:affected --run --base chore/process-globals-daemon --head efb97886892ab3342970a2560883e34dd82d22e1passed; receiptrun-sfbw1g,exactCommit=true.Coverage failures were fixture races:
7e2cae20edreplaces a directory-order assumption with explicit files;288e6cceaewaits for bridge evidence contents rather than file creation. Both fixes are inherited by all layers. Upper patches are unchanged by range-diff.Prior full-check and Android daemon/provider evidence stays attributed to
e223d37244in #3823’s review-response comment. This round changes only test fixtures and ancestry. Full coverage and GitHub-owned lanes remain CI obligations.