Repository navigation
Conversation
Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
There was a problem hiding this comment.
🟡 Changes recommended
Cached CLI selection can still bypass the required feature minimum.
2 open findings
What changed in this PR
Hardens gh-aw’s generated Copilot workflows against incompatible CLI versions and read-only metadata under Cloud Hypervisor.
Changes:
- Emits the Copilot CLI feature minimum of
1.0.35. - Makes runtime metadata writable and excludes it from directory preparation.
- Updates regression assertions, golden fixtures, and release notes.
| File | Description |
|---|---|
pkg/workflow/testdata/TestWasmGolden_CompileFixtures/with-imports.golden |
Records installer minimum. |
pkg/workflow/testdata/TestWasmGolden_CompileFixtures/smoke-copilot.golden |
Records installer minimum. |
pkg/workflow/testdata/TestWasmGolden_CompileFixtures/playwright-cli-mode.golden |
Records installer minimum. |
pkg/workflow/testdata/TestWasmGolden_CompileFixtures/basic-copilot.golden |
Records installer minimum. |
pkg/workflow/testdata/TestWasmGolden_AllEngines/copilot.golden |
Records installer minimum. |
pkg/workflow/sandbox.go |
Adds metadata write permission. |
pkg/workflow/sandbox_test.go |
Updates expected write permissions. |
pkg/workflow/copilot_installer.go |
Passes minimum for explicit versions. |
pkg/workflow/copilot_installer_test.go |
Checks emitted minimum. |
pkg/workflow/copilot_engine_installation.go |
Supplies required feature minimum. |
pkg/workflow/cloud_hypervisor_test.go |
Adds metadata policy assertions. |
pkg/workflow/awf_command_builder.go |
Excludes metadata from mkdir targets. |
pkg/constants/version_constants.go |
Defines session-selector minimum. |
pkg/constants/constants.go |
Defines runtime metadata path. |
.changeset/patch-copilot-session-id-compatibility.md |
Documents compatibility patch. |
🧠 Review effort: Max
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
| // /workspace already exists (checked out by actions/checkout) and must not be mkdir'd. | ||
| assert.NotContains(t, command, `mkdir -p "${GITHUB_WORKSPACE}"`+"\n") | ||
| assert.Contains(t, command, `mkdir -p "${GITHUB_WORKSPACE}/.awf-home" "/tmp/gh-aw/agent"`) | ||
| assert.NotContains(t, command, constants.AwInfoPath) |
There was a problem hiding this comment.
Covered in c2443410: the test includes constants.AwInfoPath, checks it is absent only from the mkdir script, and confirms it remains in the generated AWF configuration. Confirmed again after merging main in 1fc08e9.
| rootless := isArcDindTopology(workflowData) | ||
| compiledVersion := workflowData.CompiledVersion | ||
| npmSteps := generateCopilotInstallerSteps(copilotVersion, "Install GitHub Copilot CLI", rootless, compiledVersion, "", getNVXGuestLibc(workflowData)) | ||
| npmSteps := generateCopilotInstallerSteps(copilotVersion, "Install GitHub Copilot CLI", rootless, compiledVersion, string(constants.CopilotSessionIDMinVersion), getNVXGuestLibc(workflowData)) |
There was a problem hiding this comment.
Covered in c2443410: the effective minimum is passed to cached CLI selection even for latest, with regression coverage for obsolete-only and compatible caches. The regression passes after merging main in 1fc08e9.
|
@copilot address review feedback |
Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
Addressed both findings in c244341: explicit |
Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
PR Review Items
Next StepsUpdate the branch with Sous-chef state: a12fc54c1696c0f8f82efdd7caf589ec42f6d33f1731637f844ccc43612b0015
|
|
@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: 26a6d4f
|
…orkflow-compatibility Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
|
An agent should not have to write aw_info.json |
|
@copilot An agent should not have to write aw_info.json |
…orkflow-compatibility Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Merged latest main with
Fixed in c29fcdd. The harness now records model observations in its writable logs directory; only the runner post-step updates |

Copilot workflows could compile with CLI versions that lacked the harness-required
--session-idflag, while Cloud Hypervisor could makeaw_info.jsonread-only during model verification.Copilot CLI compatibility
1.0.35for pinned and dynamically resolved CLI versions.Cloud Hypervisor filesystem contract
/tmp/gh-aw/aw_info.json.mkdir -ppreparation.Regression coverage