Repository navigation
Fix Pi streaming logs on ARC/DinD runners - #71228
Conversation
Move Pi streaming logs into the writable agent logs mount and align summary parsing, session export, reconstruction, and artifacts. Preserve historical artifact ingestion and regenerate affected Pi workflow locks. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Use GH_AW_AGENT_OUTPUT instead of a positional argument, preserve ARC/DinD path rewriting, and cover unset and configured export paths. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
🟡 Changes recommended
The sandbox-disabled ARC/DinD path mismatch and stale Pi compiler golden fixture still need correction.
2 open issues
What changed in this PR
This PR addresses #69406 by relocating Pi streaming logs to gh-aw’s writable agent-log directory and updating the consumers used for summaries, exports, and session artifacts.
Changes:
- Create the log directory before Pi CLI, SDK, or RPC execution and select ARC/DinD-compatible paths.
- Preserve session reconstruction from historical root-level logs.
- Add regression coverage, document the log location, and regenerate affected workflow locks.
| File | Description |
|---|---|
pkg/workflow/pi_streaming_log_test.go |
Test log paths across topologies and execution modes. |
pkg/workflow/pi_engine.go |
Relocate logs, create their directory, and pass the export path. |
pkg/workflow/compiler_yaml_ai_execution.go |
Rewrite Pi summary paths for ARC/DinD. |
pkg/cli/sessions_download_test.go |
Cover current and historical artifact layouts. |
pkg/cli/session_parser_test.go |
Cover the relocated Pi log. |
docs/src/content/docs/reference/engines/pi.md |
Document log paths and compatibility. |
actions/setup/js/unified_session.cjs |
Recognize relocated and historical logs. |
actions/setup/js/pi_session_pipeline.test.cjs |
Verify summary and session publication. |
actions/setup/js/pi_session_export.test.cjs |
Test compiler-selected export paths. |
actions/setup/js/pi_session_export.cjs |
Accept an explicit streaming-log path. |
actions/setup/js/nvx_assets.test.cjs |
Verify collection of the relocated log. |
.github/workflows/weekly-safe-outputs-spec-review.lock.yml |
Regenerate Pi log setup and consumers. |
.github/workflows/weekly-network-domains-audit.lock.yml |
Regenerate Pi log setup and consumers. |
.github/workflows/weekly-issue-summary.lock.yml |
Regenerate Pi log setup and consumers. |
.github/workflows/video-analyzer.lock.yml |
Regenerate Pi log setup and consumers. |
.github/workflows/terminal-stylist.lock.yml |
Regenerate Pi log setup and consumers. |
.github/workflows/super-linter.lock.yml |
Regenerate Pi log setup and consumers. |
.github/workflows/smoke-test-tools.lock.yml |
Regenerate Pi log setup and consumers. |
.github/workflows/smoke-temporary-id.lock.yml |
Regenerate Pi log setup and consumers. |
.github/workflows/smoke-service-ports.lock.yml |
Regenerate Pi log setup and consumers. |
.github/workflows/smoke-pi.lock.yml |
Regenerate Pi log setup and consumers. |
.github/workflows/smoke-pi-sub-agents.lock.yml |
Regenerate Pi log setup and consumers. |
.github/workflows/smoke-pi-routed.lock.yml |
Regenerate Pi log setup and consumers. |
.github/workflows/smoke-pi-routed-claude.lock.yml |
Regenerate Pi log setup and consumers. |
.github/workflows/smoke-pi-auto.lock.yml |
Regenerate Pi log setup and consumers. |
.github/workflows/smoke-azure-pi.lock.yml |
Regenerate Pi log setup and consumers. |
.github/workflows/research.lock.yml |
Regenerate Pi log setup and consumers. |
.github/workflows/repo-tree-map.lock.yml |
Regenerate Pi log setup and consumers. |
.github/workflows/refactoring-cadence.lock.yml |
Regenerate Pi log setup and consumers. |
.github/workflows/necromancer.lock.yml |
Regenerate Pi log setup and consumers. |
.github/workflows/hippo-embed.lock.yml |
Regenerate Pi log setup and consumers. |
.github/workflows/engine-conformance-pi.lock.yml |
Regenerate Pi log setup and consumers. |
.github/workflows/dev.lock.yml |
Regenerate Pi log setup and consumers. |
.github/workflows/daily-performance-summary.lock.yml |
Regenerate Pi log setup and consumers. |
.github/workflows/daily-credit-limit-test.lock.yml |
Regenerate Pi log setup and consumers. |
.github/workflows/cli-version-checker.lock.yml |
Regenerate Pi log setup and consumers. |
Review effort: Max
Refresh the Pi compiler golden to reflect the writable agent log directory, its creation, and matching summary and artifact paths. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
…ibble Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Keep unsandboxed ARC/DinD execution and summary parsing on the same log path, cover all Pi execution modes, and document the opt-out behavior. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
@copilot address the following outstanding work in one pass:
Push the necessary fixes, reply to each listed review thread and resolve it when addressed. Ignore feedback already answered or resolved. Use the pr-finisher skill and stop when only human review or CI remains; do not trigger CI. Sous-chef head: cc0d7a5
|
…ibble Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
… pelikhan-potential-tribble Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
Merged the latest |
Integrate upstream fallback-manifest and AgentRx dependency-lock test fixes. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Retain upstream modular debugging assertions and the concurrent registry-independent policy flag test. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Addressed #71228 (comment): merged main at 7a41104 and preserved the concurrent bot test fixes in pushed HEAD 5877b53; the fallback-manifest and AgentRx failures are fixed upstream. make build, make recompile (346/346), make fmt, focused Go regressions, and make agent-report-progress-no-test passed; CI on the new HEAD remains unverified, and no workflow was dispatched or CI rerun requested. |
|
🎉 This pull request is included in a new release. Release: |

Summary
Fixes #69406.
/tmp/gh-aw/sandbox/agent/logs/pi-streaming.jsonl, using the existing writable engine-log directory. Create that directory before the stream starts; ARC/DinD rewrites it inside the existing${RUNNER_TEMP}/gh-aw/sandbox/agent:rwmount without extra mounts or user pre-steps.pi-streaming.jsonlartifacts.Validation
Passed:
make build,make fmt,make recompile, andPATH="/opt/homebrew/bin:$PATH" make check-workflow-drift— all 346 workflows compile and all generated locks are in sync.go test ./pkg/workflow -run '^(TestCompilePiStreamingLogPaths|TestPiEngine|TestArcDindPostAgentStepsUseRunnerTempPaths)' -count=1go test ./pkg/cli -run '^(TestSessionParserEngines|TestSessionsDownloadWithoutEngineMetadata|TestSessionsDownloadPreviousVersions)$' -count=1actions/setup/js:npm run typecheck --silentandnpx vitest run pi_session_export.test.cjs pi_session_pipeline.test.cjs unified_session.test.cjs nvx_assets.test.cjs— 259 passed; 34 Linux-only NVX tests skipped on macOS.golangci-lint run --allow-parallel-runners --timeout 15m --new-from-rev=HEAD ./pkg/cli ./pkg/workflow— zero issues.make agent-report-progressimpacted tests and schema checks passed. The finalmake agent-report-progress-no-testalso passed custom Go lint, JavaScript lint (three existing exporter warnings), and schema checks; its standard Go-lint invocation remains blocked by another session's global linter lock. The standalone parallel-safe Go lint above passed instead.No live workflow dispatch or ARC/DinD cluster execution was performed. Runtime acceptance is supported by compilation/mount regressions and local summary/session/artifact tests, not a new live ARC run.