Compiler: fix docker-sbx runtime output for TTY, CLI staging, and agentTimeout - #45554
Conversation
Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
|
Hey One thing to address before this moves out of draft:
If you'd like a hand writing that up, assign this prompt to your coding agent:
|
There was a problem hiding this comment.
Pull request overview
Fixes docker-sbx lockfile generation for engine CLI visibility, TTY handling, and runtime timeouts.
Changes:
- Stages Claude and Codex CLIs in a microVM-visible path.
- Suppresses TTY for docker-sbx.
- Emits
container.agentTimeoutwith regression tests.
Show a summary per file
| File | Description |
|---|---|
pkg/workflow/nodejs.go |
Adds docker-sbx npm staging helpers. |
pkg/workflow/docker_sbx_test.go |
Adds docker-sbx regression coverage. |
pkg/workflow/codex_engine.go |
Stages and resolves Codex for docker-sbx. |
pkg/workflow/claude_engine.go |
Stages and resolves Claude for docker-sbx. |
pkg/workflow/awf_helpers.go |
Suppresses docker-sbx TTY. |
pkg/workflow/awf_config.go |
Emits the docker-sbx agent timeout. |
Review details
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 6/6 changed files
- Comments generated: 2
- Review effort level: Medium
| " mkdir -p \"${RUNNER_TEMP}/gh-aw/mcp-cli/bin\"", | ||
| fmt.Sprintf(` npm install %s--prefix "${RUNNER_TEMP}/gh-aw/mcp-cli" %s@"${ENGINE_VERSION}"`, ignoreScriptsFlag, packageName), | ||
| fmt.Sprintf(` ln -sf "../node_modules/.bin/%s" "${RUNNER_TEMP}/gh-aw/mcp-cli/bin/%s"`, commandName, commandName), |
| timeoutMinutes, err := strconv.Atoi(rawTimeout) | ||
| if err == nil && timeoutMinutes > 0 { | ||
| return timeoutMinutes | ||
| } | ||
|
|
||
| if rawTimeout != "" { | ||
| awfConfigLog.Printf("Container section: non-numeric timeout-minutes %q (e.g. a GitHub Actions expression) cannot be emitted in integer-only agentTimeout; using default %d", rawTimeout, defaultTimeout) |
|
@copilot address the review feedback |
Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
Addressed in 5a10da8. I separated docker-sbx engine CLI staging to |
|
💫 TO BE CONTINUED... Smoke Claude failed! Our hero faces unexpected challenges... |
|
🌑 The shadows whisper... Smoke Codex failed to deliver outputs. The oracle requires further meditation... |
|
🚀 Smoke Gemini MISSION COMPLETE! Gemini has spoken. ✨ |
|
🚀 Smoke Antigravity MISSION COMPLETE! Antigravity has spoken. ✨ |
|
✅ All tools validated successfully! Agent Container Smoke Test confirms agent container is ready. |
|
🚀 Smoke Pi MISSION COMPLETE! Pi delivered. 🥧 Completed smoke test; created issue and PR comment. Label not added because tests failed. |
|
📰 BREAKING: Smoke Copilot - AOAI (apikey) is now investigating this pull request. Sources say the story is developing... |
|
📰 BREAKING: Smoke Copilot - AOAI (Entra) is now investigating this pull request. Sources say the story is developing... |
|
✅ Smoke OTEL completed successfully! |
|
✅ Smoke Copilot Small completed successfully! |
|
📰 BREAKING: Smoke Copilot is now investigating this pull request. Sources say the story is developing... |
Smoke Test: Gemini Results
Overall Status: FAIL Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "localhost"See Network Configuration for more information.
|
Agent Container Tool Check
Result: 12/12 tools available ✅ Overall Status: PASS Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "awmgmcpg"See Network Configuration for more information.
|
|
Caution agentic threat detected DetailsThe threat detection engine failed to produce results. Review the workflow run logs for details. Pull request created: #45564
|
Comment MemoryNote This comment is managed by comment memory.It stores persistent context for this thread in the code block at the top of this comment.
|
Comment MemoryNote This comment is managed by comment memory.It stores persistent context for this thread in the code block at the top of this comment.
|
There was a problem hiding this comment.
Smoke cave ran tools. Leaving short notes only.
📰 BREAKING: Report filed by Smoke Copilot · 139.4 AIC · ⌖ 4.22 AIC · ⊞ 19K
Comment /smoke-copilot to run again
Add label smoke to run again
|
Smoke Test Results: 1✅ 2✅ 3❌ 4❌ 5✅ 6✅ 7❌ 8✅ 9❌ 10❌ 11✅ 12✅ 13✅ 14✅ 15✅
|
docker-sbxworkflows were recompiling to broken lockfiles in three places: Claude runs kept--tty, npm-installed engine CLIs were only installed into host-global paths invisible to the microVM, and generated AWF config omittedcontainer.agentTimeout. This updates the compiler so docker-sbx recompiles preserve the CI-verified runtime behavior.AWF argv: suppress
--ttyfor docker-sbx--ttywhensandbox.agent.runtime: docker-sbx, avoiding the sbx pty timeout path.Engine CLI staging: install Claude/Codex into an sbx-visible path
claudeandcodexunder${RUNNER_TEMP}/gh-aw/mcp-cli.${RUNNER_TEMP}/gh-aw/mcp-cli/bin./usr/local/bin/...on the host.AWF config: emit
container.agentTimeoutfor docker-sbxtimeout-minutesinto generated AWF config for docker-sbx.Regression coverage
--ttysuppressionagentTimeoutemissionExample of the runtime-specific TTY behavior: