chore: bump CLI versions and pin Docker image digests (2026-07-29) - #48794
Conversation
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
TriageCategory: chore | Risk: low | Score: 15/100
Recommended action:
|
|
🧠 Matt Pocock Skills Reviewer failed during the skills-based review. |
|
✅ Design Decision Gate 🏗️ completed the design decision gate check. No ADR enforcement needed: PR does not have the 'implementation' label and has ≤100 new lines of code in business logic directories (only 8 additions in default business directories). |
|
✅ Test Quality Sentinel completed test quality analysis. No test files were added or modified in this PR. This is a chore commit that updates CLI versions and Docker image digests. Test Quality Sentinel analysis skipped. |
|
✅ PR Code Quality Reviewer completed the code quality review. |
There was a problem hiding this comment.
Pull request overview
Updates default CLI versions, pins scanner images, and regenerates affected workflows.
Changes:
- Bumps Codex, Pi, and Playwright versions.
- Pins five Docker images by digest.
- Regenerates Codex/Pi workflows and modifies Codespaces permissions.
Show a summary per file
| File | Description |
|---|---|
pkg/constants/version_constants.go |
Updates CLI defaults. |
pkg/cli/docker_images.go |
Pins scanner images. |
.github/workflows/spec-enforcer.lock.yml |
Updates Pi runtime. |
.github/workflows/smoke-pi.lock.yml |
Updates Pi runtime. |
.github/workflows/smoke-codex.lock.yml |
Updates Codex runtime. |
.github/workflows/smoke-call-workflow.lock.yml |
Updates Codex runtime. |
.github/workflows/schema-feature-coverage.lock.yml |
Updates Codex runtime. |
.github/workflows/schema-consistency-checker.lock.yml |
Updates Pi runtime. |
.github/workflows/pr-sous-chef.lock.yml |
Updates Pi runtime. |
.github/workflows/necromancer.lock.yml |
Updates Codex runtime. |
.github/workflows/lint-monster.lock.yml |
Updates Pi runtime. |
.github/workflows/issue-monster.lock.yml |
Updates Pi runtime. |
.github/workflows/issue-arborist.lock.yml |
Updates Codex runtime. |
.github/workflows/hippo-embed.lock.yml |
Updates Pi runtime. |
.github/workflows/grumpy-reviewer.lock.yml |
Updates Codex runtime. |
.github/workflows/eslint-monster.lock.yml |
Updates Pi runtime. |
.github/workflows/duplicate-code-detector.lock.yml |
Updates Codex runtime. |
.github/workflows/dev.lock.yml |
Updates Codex runtime. |
.github/workflows/daily-observability-report.lock.yml |
Updates Codex runtime. |
.github/workflows/daily-multi-device-docs-tester.lock.yml |
Updates Pi runtime. |
.github/workflows/daily-hippo-learn.lock.yml |
Updates Pi runtime. |
.github/workflows/daily-function-namer.lock.yml |
Updates Pi runtime. |
.github/workflows/daily-evals-report.lock.yml |
Updates Codex runtime. |
.github/workflows/daily-awf-spec-compiler-surfacing.lock.yml |
Updates Pi runtime. |
.github/workflows/commit-changes-analyzer.lock.yml |
Updates Pi runtime. |
.github/workflows/codex-github-remote-mcp-test.lock.yml |
Updates Codex runtime. |
.github/workflows/chaos-pr-bundle-fuzzer.lock.yml |
Updates Pi runtime. |
.github/workflows/changeset.lock.yml |
Updates Codex runtime. |
.github/workflows/auto-triage-issues.lock.yml |
Updates Pi runtime. |
.github/workflows/ai-moderator.lock.yml |
Updates Codex runtime. |
.devcontainer/devcontainer.json |
Adds duplicate Codespaces permissions. |
Review details
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 39/39 changed files
- Comments generated: 2
- Review effort level: Medium
| "gh-aw": { | ||
| "permissions": { | ||
| "actions": "write", | ||
| "checks": "write", | ||
| "contents": "write", | ||
| "discussions": "write", | ||
| "issues": "write", | ||
| "pull-requests": "write", | ||
| "workflows": "write" | ||
| } | ||
| }, | ||
| "github/gh-aw": { |
| ZizmorImage = "ghcr.io/zizmorcore/zizmor:1.28.0@sha256:8e6b3e4fb74d1aa5d23e83ea369f386c66eced0d1fb944d32cd8b2aac100b00d" | ||
| PoutineImage = "ghcr.io/boostsecurityio/poutine:1.1.6@sha256:722a8e0999b583c1540fe2974e691032b2d9d21b9256a17965132b6bfd0081b0" | ||
| ActionlintImage = "rhysd/actionlint:1.7.12@sha256:b1934ee5f1c509618f2508e6eb47ee0d3520686341fec936f3b79331f9315667" | ||
| RunnerGuardImage = "ghcr.io/vigilant-llc/runner-guard:3.1.5@sha256:2df426ef96d21f1622e05b21329f26bd263fc46110609cefb6afe43457613ac0" |
🧪 Test Quality Sentinel Report✅ Test Quality Score: N/A — No Test Changes
📊 Analysis Summary
Verdict
|
There was a problem hiding this comment.
Review: Routine version bump — one issue found
The CLI and Docker image version bumps look correct and consistent across all lock files. One issue in the non-generated change:
.devcontainer/devcontainer.json: A new gh-aw entry was added to repositories permissions, but Codespaces requires the full owner/repo format (github/gh-aw). The bare key will be silently ignored. Since github/gh-aw already exists below with identical permissions, this entry should be removed.
🧵 Reviewed using Impeccable skills by Impeccable Skills Reviewer · sonnet46 · 33.6 AIC · ⌖ 4.6 AIC · ⊞ 5K
Comments that could not be inline-anchored
.devcontainer/devcontainer.json:9
The "gh-aw" key is missing the org prefix. Codespaces repositories permissions require the full owner/repo format. A bare "gh-aw" key will be silently ignored, making this entry a no-op.
Since "github/gh-aw" is already defined immediately below with identical permissions, this entry should be removed — or renamed to "github/gh-aw" if it was intended to replace it.
@copilot please address this.
There was a problem hiding this comment.
Verdict: COMMENT — mostly clean, one scope-creep nit
The core changes (CLI version bumps, Docker digest pinning) are mechanical, correctly generated, and the security rationale for pinning zizmor is well documented. One unrelated devcontainer.json change looks unintentional.
Review notes
pkg/constants/version_constants.go: straightforward version bumps (Codex, Pi, Playwright browser), no logic risk.pkg/cli/docker_images.go: digest-pinning zizmor/poutine/runner-guard/actionlint/yamllint is a solid security improvement over floating:latesttags..lock.ymlfiles: regenerated/compiled artifacts, consistent with the source bumps, not hand-reviewed line-by-line..devcontainer/devcontainer.json: added agh-aw(no-owner) key tocodespaces.repositoriesduplicating the existinggithub/gh-awentry — flagged as a review comment since it's unrelated to the PR's stated purpose and likely a no-op or copy-paste artifact.
No blocking correctness, security, or performance issues found in the version/digest changes themselves.
🔎 Code quality review by PR Code Quality Reviewer · sonnet50 · 26.1 AIC · ⌖ 4.39 AIC · ⊞ 7.4K
Comment /review to run again
| }, | ||
| "codespaces": { | ||
| "repositories": { | ||
| "gh-aw": { |
There was a problem hiding this comment.
Adding a bare gh-aw key alongside github/gh-aw looks unintentional and unrelated to this version-bump PR — Codespaces repo permission keys should be owner/repo, so gh-aw (no owner) likely does nothing or is silently ignored, and it duplicates the block below.
Details
The codespaces.repositories keys in devcontainer.json are documented to be full owner/repo identifiers. A key of just gh-aw does not match that schema and is dead configuration — at best a no-op, at worst confusing to future maintainers who may assume it grants permissions to some other gh-aw repo. This change is also scope creep: it has nothing to do with the CLI/Docker version bumps described in the PR body.
Suggested fix: drop the gh-aw block entirely, keeping only github/gh-aw.
|
📰 BREAKING: Smoke Copilot - AOAI (apikey) is now investigating this pull request. Sources say the story is developing... |
|
📰 BREAKING: Smoke Copilot is now investigating this pull request. Sources say the story is developing... |
Smoke Test: Gemini - 30432615305
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 ✅ PASS
|
|
Haiku Caption: Inspired by this PR's routine bump of CLI tool versions and pinning of Docker image digests for security.
|
Smoke test
Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "proxy.golang.org"See Network Configuration for more information.
|
|
Smoke test summary:
|
|
Smoke test for PRs #48792 and #48776. Warning Firewall blocked 6 domainsThe following domains were blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "accounts.google.com"
- "android.clients.google.com"
- "clients2.google.com"
- "contentautofill.googleapis.com"
- "safebrowsingohttpgateway.googleapis.com"
- "www.google.com"See Network Configuration for more information.
|
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. Warning Firewall blocked 6 domainsThe following domains were blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "accounts.google.com"
- "android.clients.google.com"
- "clients2.google.com"
- "contentautofill.googleapis.com"
- "safebrowsingohttpgateway.googleapis.com"
- "www.google.com"See Network Configuration for more information.
|
Smoke Test Run 30432614524 ResultsCore Tests: PR Review Tests: Overall: PARTIAL Warning Firewall blocked 6 domainsThe following domains were blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "accounts.google.com"
- "android.clients.google.com"
- "clients2.google.com"
- "contentautofill.googleapis.com"
- "safebrowsingohttpgateway.googleapis.com"
- "www.google.com"See Network Configuration for more information.
|
There was a problem hiding this comment.
💥 Automated smoke test review - all systems nominal!
Warning
Firewall blocked 6 domains
The following domains were blocked by the firewall during workflow execution:
accounts.google.comandroid.clients.google.comclients2.google.comcontentautofill.googleapis.comsafebrowsingohttpgateway.googleapis.comwww.google.com
To allow these domains, add them to the
network.allowedlist in your workflow frontmatter:
network:
allowed:
- defaults
- "accounts.google.com"
- "android.clients.google.com"
- "clients2.google.com"
- "contentautofill.googleapis.com"
- "safebrowsingohttpgateway.googleapis.com"
- "www.google.com"See Network Configuration for more information.
💥 [THE END] — Illustrated by Smoke Claude · sonnet46 · 70.2 AIC · ⌖ 19.3 AIC · ⊞ 6.1K
Comment /smoke-claude to run again
| PoutineImage = "ghcr.io/boostsecurityio/poutine:latest" | ||
| ActionlintImage = "rhysd/actionlint:1.7.12" | ||
| RunnerGuardImage = "ghcr.io/vigilant-llc/runner-guard:latest" | ||
| ZizmorImage = "ghcr.io/zizmorcore/zizmor:1.28.0@sha256:8e6b3e4fb74d1aa5d23e83ea369f386c66eced0d1fb944d32cd8b2aac100b00d" |
There was a problem hiding this comment.
👍 Good practice pinning the ZizmorImage to a specific digest — this prevents supply-chain attacks from floating :latest tags. Consider adding a comment noting when this digest was pinned for future auditing.
|
|
||
| // DefaultCodexVersion is the default version of the OpenAI Codex CLI | ||
| const DefaultCodexVersion Version = "0.145.0" | ||
| const DefaultCodexVersion Version = "0.146.0" |
There was a problem hiding this comment.
✅ Version bump 0.145.0 → 0.146.0 for DefaultCodexVersion looks good. Linking to release notes would help reviewers quickly verify what changed.
|
PR: chore: bump CLI versions and pin Docker image digests (2026-07-29) Warning Firewall blocked 6 domainsThe following domains were blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "accounts.google.com"
- "android.clients.google.com"
- "clients2.google.com"
- "contentautofill.googleapis.com"
- "safebrowsingohttpgateway.googleapis.com"
- "www.google.com"See Network Configuration for more information.
|
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. Warning Firewall blocked 6 domainsThe following domains were blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "accounts.google.com"
- "android.clients.google.com"
- "clients2.google.com"
- "contentautofill.googleapis.com"
- "safebrowsingohttpgateway.googleapis.com"
- "www.google.com"See Network Configuration for more information.
|
There was a problem hiding this comment.
Smoke test review submission.
Warning
Firewall blocked 6 domains
The following domains were blocked by the firewall during workflow execution:
accounts.google.comandroid.clients.google.comclients2.google.comcontentautofill.googleapis.comsafebrowsingohttpgateway.googleapis.comwww.google.com
To allow these domains, add them to the
network.allowedlist in your workflow frontmatter:
network:
allowed:
- defaults
- "accounts.google.com"
- "android.clients.google.com"
- "clients2.google.com"
- "contentautofill.googleapis.com"
- "safebrowsingohttpgateway.googleapis.com"
- "www.google.com"See Network Configuration for more information.
📰 BREAKING: Report filed by Smoke Copilot · gpt54 · 72.7 AIC · ⌖ 8.74 AIC · ⊞ 20.9K
Comment /smoke-copilot to run again
Add label smoke to run again
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Updated in 2658d97. I made the wasm golden normalization resilient to default Codex/Pi runtime churn (including versioned install/info fields) and regenerated the affected engine goldens, so digest/version bumps no longer break these snapshots. Verified with |
|
🎉 This pull request is included in a new release. Release: |
Routine version bump pass from the CLI Version Checker (run §30427598929): 3 CLI tool upgrades and 5 Docker image changes, including pinning 3 previously floating
:latesttags.CLI versions (
pkg/constants/version_constants.go)DefaultCodexVersion:0.145.0→0.146.0DefaultPiVersion:0.82.0→0.82.1DefaultPlaywrightBrowserVersion:v1.61.1→v1.62.0Docker image pins (
pkg/cli/docker_images.go):latest→1.28.0@sha256:8e6b3e4...— security-motivated pin; v1.27.0 had a credential-logging bug (GHSA-f42p-wjw5-97qh):latest→1.1.6@sha256:722a8e0...:latest→3.1.5@sha256:2df426e...1.7.12→1.7.12@sha256:b1934ee...(digest added, version unchanged):latest→:latest@sha256:5ab5eb7...(no stable semver tag upstream; digest-pinned instead)Syft v1.50.0 and Grype v0.116.1 skipped — both released 2026-07-28, within the 3-day cooldown window.
✨ PR Review Safe Output Test - Run 30432614524
Warning
Firewall blocked 6 domains
The following domains were blocked by the firewall during workflow execution:
accounts.google.comandroid.clients.google.comclients2.google.comcontentautofill.googleapis.comsafebrowsingohttpgateway.googleapis.comwww.google.comSee Network Configuration for more information.