fix(lab): clear PATH_VAR/BUILD/CODE on ephemeral child + route acquire chatter to stderr #301
No reviewers
Labels
No labels
prio_critical
prio_low
type_bug
type_contact
type_issue
type_lead
type_question
type_story
type_task
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lhumina_code/hero_skills!301
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "issue-300-lab-ephemeral-env"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
crates/lab/src/service/ephemeral.rs::spawn_innernow also clearsPATH_VAR/PATH_BUILD/PATH_CODEwhen it pivots the child onto the scratchPATH_ROOT. Without that, an inheritedPATH_VAR=$HOME/hero/varmade the child'sresolve_socket_dir()bind the shared~/hero/var/sockets/<svc>/rpc.sockwhile lab waited on the scratch path, hitting the 5s deadline.stdout.logandstderr.log(read_log_tails). The Hero startup banner — which prints the resolved socket dir — lives in stdout; surfacing it would have turned the original repro into a one-line debug.acquire_binary'susing installed/installed from Forgeprogress lines route to stderr solab --start --ephemeral --jsonstdout is exactly one JSON envelope (the contracttests/src/lib.rs::spin_up_serviceparses withserde_json::from_slice).Test plan
bash scripts/lab_build.sh.lab service hero_service --start --ephemeral --jsonreturns a single-line JSON envelope on stdout (progress chatter on stderr) and the child binds the scratch socket; verified by listing/var/folders/.../lab-N/var/sockets/hero_service/rpc.sock.cargo test --workspace --test greeter_e2e -- --test-threads=1against hero_service @fe8c78ad: 5/5 green (greeter_add,greeter_concat,greeter_echo,greeter_greet,greeter_info).lab service hero_service --test layer2reaches thenuinvocation step (only failure isnunot installed on this dev box; the lab spawn path is exercised correctly)._findindexer queries return unfiltered, severalservicecataloghandlers reject seeded input) that exist in the base commit and are out of scope here.#300
WIP: fix(lab): clear PATH_VAR/BUILD/CODE on ephemeral child + route acquire chatter to stderrto fix(lab): clear PATH_VAR/BUILD/CODE on ephemeral child + route acquire chatter to stderr