Repository navigation
Conversation
- Add node.Runtime.RunFileWithEnv operation supporting EnvBinding env vars - Migrate run_node_http_serve_smoke from posix.Process.StartDetached + raw argv to typed node.Runtime.RunFileWithEnv with structured EnvBinding records - Eliminates heredoc argv pattern for HOST/PORT env var injection Authority: dag/gunbc/instruments/emit_host_transport.dag Dissolution: transport.argv.anemia (argv anemia coverage lens) Trigger: command_runner_dissolution_trigger advances
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f3a644f34a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| ], | ||
| stdout_file: concat(dir.path, "/server.stdout.log") as NonEmptyStr, | ||
| stderr_file: concat(dir.path, "/server.stderr.log") as NonEmptyStr | ||
| let spawn = node.Runtime.RunFileWithEnv( |
There was a problem hiding this comment.
Keep the HTTP server launch asynchronous
When emit_host_gate_passes invokes this smoke with Node available, RunFileWithEnv synchronously waits for server.js to exit, but the generated script calls server.listen(...) and has no self-termination path. Consequently the successful match arm—and therefore the readiness probe and cleanup—can never run while the server is healthy, so the gate hangs indefinitely rather than producing a smoke-test result. Launch the server through a lifecycle operation that returns while the child is running and retains a PID for termination/reaping.
Useful? React with 👍 / 👎.
- Add env support to posix.Process.StartDetached via EnvBinding - Migrate run_node_http_serve_smoke from raw argv to typed env_prefixed_args - Keeps async/detached behavior (PID + lifecycle checks) with typed env vars - Eliminates heredoc argv pattern for HOST/PORT env var injection Authority: dag/gunbc/instruments/emit_host_transport.dag Dissolution: transport.argv.anemia (argv anemia coverage lens) Trigger: command_runner_dissolution_trigger advances
- Use env_prefixed_args + env_chdir_flag for typed argv construction (no new op field) - Keeps -C dir.path chdir behavior via env_chdir_flag - Keeps async/detached behavior with lifecycle checks (kill + reap signal 15) - Eliminates heredoc argv pattern for HOST/PORT env var injection Authority: dag/gunbc/instruments/emit_host_transport.dag Dissolution: transport.argv.anemia (argv anemia coverage lens) Trigger: command_runner_dissolution_trigger advances
- Use env_path_resolved_program() for typed program identity (not hardcoded string) - Fix concat signature: concat([flag, dir], env_prefixed_args(...)) with two List<String> args - Uses existing extdeps.tools.env primitives (no parallel authority) - Keeps -C dir.path chdir behavior via env_chdir_flag - Keeps async/detached behavior with lifecycle checks (kill + reap signal 15) - Eliminates heredoc argv pattern for HOST/PORT env var injection Authority: dag/gunbc/instruments/emit_host_transport.dag Dissolution: transport.argv.anemia (argv anemia coverage lens) Trigger: command_runner_dissolution_trigger advances
- Use env_path_resolved_program().invocation for NonEmptyStr program slot (interface match)
- Use EnvSet { name, value } constructors for EnvBinding sum type (inhabit existing model)
- Fix concat signature: concat([flag, dir], env_prefixed_args(...)) with two List<String> args
- Uses existing extdeps.tools.env primitives (no parallel authority)
- Keeps -C dir.path chdir behavior via env_chdir_flag
- Keeps async/detached behavior with lifecycle checks (kill + reap signal 15)
- Eliminates heredoc argv pattern for HOST/PORT env var injection
Authority: dag/gunbc/instruments/emit_host_transport.dag
Dissolution: transport.argv.anemia (argv anemia coverage lens)
Trigger: command_runner_dissolution_trigger advances
- Use env_prefixed_command_in + argv_command + argv_words (existing builder) - No parallel authority: reuses the canonical 'env in named directory' operation - ArgvCommand projection via program.invocation + argv_words (inhabits existing model) - Keeps -C dir.path chdir behavior via env_prefixed_command_in - Keeps async/detached behavior with lifecycle checks (kill + reap signal 15) - Eliminates heredoc argv pattern for HOST/PORT env var injection Authority: dag/gunbc/instruments/emit_host_transport.dag Dissolution: transport.argv.anemia (argv anemia coverage lens) Trigger: command_runner_dissolution_trigger advances
- Add node_run_file_command production builder in extdeps.tools.node (admitted caller for argv_command) - Use node_run_file_command + env_prefixed_command_in (canonical builders, no parallel authority) - Pass prefixed_cmd.arguments directly (not argv_words which duplicates program) - Keeps -C dir.path chdir behavior via env_prefixed_command_in - Keeps async/detached behavior with lifecycle checks (kill + reap signal 15) - Eliminates heredoc argv pattern for HOST/PORT env var injection Authority: dag/gunbc/instruments/emit_host_transport.dag Dissolution: transport.argv.anemia (argv anemia coverage lens) Trigger: command_runner_dissolution_trigger advances
- Add node_run_file_command production builder in extdeps.tools.node (admitted caller for argv_command) - Keep node_eval_command for existing callers (runner_browser_toolchain, decl_ref catalog rows) - Use node_run_file_command + env_prefixed_command_in (canonical builders, no parallel authority) - Pass prefixed_cmd.arguments directly (not argv_words which duplicates program) - Keeps -C dir.path chdir behavior via env_prefixed_command_in - Keeps async/detached behavior with lifecycle checks (kill + reap signal 15) - Eliminates heredoc argv pattern for HOST/PORT env var injection Authority: dag/gunbc/instruments/emit_host_transport.dag Dissolution: transport.argv.anemia (argv anemia coverage lens) Trigger: command_runner_dissolution_trigger advances
The new production builder node_run_file_command in extdeps.tools.node must be admitted to call argv_command, alongside its sibling node_eval_command and node_version_command.
…llers The new production builder node_run_file_command in extdeps.tools.node calls cataloged_program, so it must be admitted alongside its siblings node_eval_command and node_version_command.
Authority: dag/gunbc/instruments/emit_host_transport.dag
Dissolution: transport.argv.anemia (argv anemia coverage lens)
Trigger: command_runner_dissolution_trigger advances