Skip to content

chore: bump CLI tool versions (Claude Code, Copilot, Codex, MCP Server, MCP Gateway) + fix comment memory rendering + fix Claude install#28200

Merged
pelikhan merged 6 commits intomainfrom
copilot/update-cli-tools-versions-another-one
Apr 24, 2026
Merged

chore: bump CLI tool versions (Claude Code, Copilot, Codex, MCP Server, MCP Gateway) + fix comment memory rendering + fix Claude install#28200
pelikhan merged 6 commits intomainfrom
copilot/update-cli-tools-versions-another-one

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 24, 2026

Routine version bumps for 5 CLI tools across the agentic workflow stack. MCP Gateway v0.3.0 includes a security-relevant DIFC integrity mapping change: author_association: NONE now maps to unapproved instead of none.

Additionally fixes comment memory content being invisible in GitHub-rendered comments, and fixes Claude Code installation by removing --ignore-scripts.

Version changes

Tool Previous New Risk
Claude Code 2.1.112 2.1.119 Low
GitHub Copilot CLI 1.0.21 1.0.35 Medium
OpenAI Codex 0.121.0 0.124.0 Low
GitHub MCP Server v1.0.0 v1.0.2 Low
MCP Gateway v0.2.30 v0.3.0 Medium

Files changed

  • pkg/constants/version_constants.go — updated the 5 version constants
  • pkg/workflow/testdata/TestWasmGolden_CompileFixtures/*.golden — regenerated golden files to reflect new versions
  • .github/workflows/*.lock.yml — all 201 workflows recompiled
  • actions/setup/js/comment_memory.cjs — changed body builder to use code-fence-as-container (no XML tags); findManagedComment now detects both new and legacy formats
  • actions/setup/js/comment_memory_helpers.cjs — added buildCodeFenceOpener() helper; extractCommentMemoryEntries parses new code-fence format with backward compat for legacy XML format
  • actions/setup/md/comment_memory_disclosure_note.md — updated to reference "code block" and "backtick fences" instead of the now-removed XML block
  • pkg/workflow/claude_engine.go — removed --ignore-scripts from Claude Code npm install (Claude Code requires post-install scripts for native binaries)

Comment memory fix

The <gh-aw-comment-memory> XML tags (and their contents, including the backtick code fences) were being stripped by GitHub's HTML sanitizer, making the memory text invisible in rendered comments.

Before (invisible — GitHub strips the XML block and its contents):

### Comment Memory

<gh-aw-comment-memory id="default">

memory content here

</gh-aw-comment-memory>
```

**After** (visible — GitHub renders the code block):
````
### Comment Memory

``````gh-aw-comment-memory:default
memory content here

Existing comments in the legacy XML format are still parsed correctly (backward compatible).

## Claude Code installation fix

Claude Code 2.1.119 requires post-install scripts to compile and install its native binaries. The `--ignore-scripts` flag was preventing these scripts from running, breaking Claude Code installation. The Claude engine install now runs:

```
npm install -g @anthropic-ai/claude-code@2.1.119
```

---

---
✨ PR Review Safe Output Test - Run 24891531297

> 💥 *[THE END] — Illustrated by [Smoke Claude](https://github.com/github/gh-aw/actions/runs/24891531297)* · ● 289K · [◷](https://github.com/search?q=repo%3Agithub%2Fgh-aw+%22gh-aw-workflow-call-id%3A+github%2Fgh-aw%2Fsmoke-claude%22&type=pullrequests)

<!-- gh-aw-agentic-workflow: Smoke Claude, engine: claude, model: auto, id: 24891531297, workflow_id: smoke-claude, run: https://github.com/github/gh-aw/actions/runs/24891531297 -->

…0.124.0, MCP Server v1.0.2, MCP Gateway v0.3.0)"

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/6152c9b5-1fe1-4f72-81fe-1da642bca81c

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Update CLI tools to latest versions chore: bump CLI tool versions (Claude Code, Copilot, Codex, MCP Server, MCP Gateway) Apr 24, 2026
Copilot AI requested a review from pelikhan April 24, 2026 04:50
@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot recompile

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 24, 2026

💫 TO BE CONTINUED... Smoke Claude failed! Our hero faces unexpected challenges...

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 24, 2026

⚠️ Smoke Crush failed. Crush encountered unexpected challenges...

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 24, 2026

⚠️ Smoke Gemini failed. Gemini encountered unexpected challenges...

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 24, 2026

🚀 Smoke OpenCode MISSION COMPLETE! OpenCode delivered. 🔥

@github-actions
Copy link
Copy Markdown
Contributor

📰 BREAKING: Smoke Copilot is now investigating this pull request. Sources say the story is developing...

@github-actions github-actions Bot removed the smoke label Apr 24, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 24, 2026

✨ The prophecy is fulfilled... Smoke Codex has completed its mystical journey. The stars align. 🌟

@github-actions

This comment has been minimized.

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 24, 2026

@copilot recompile

Recompiled — all 201 workflows compiled successfully (201/201 ✅). Lock files were already up to date from the previous commit (51f5866), so no new changes were needed.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/graphql
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw (http block)
  • https://api.github.com/repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq [.object.sha, .object.type] | @tsv (http block)

If you need me to access, download, or install something from one of these locations, you can either:

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions
Copy link
Copy Markdown
Contributor

🤖 Smoke Test: Copilot — 24872847276

Test Status
GitHub MCP
MCP Scripts GH CLI
Serena CLI
Playwright
Web Fetch
File Writing
Bash Tool
Discussion Interaction
Build gh-aw
Upload artifact
Discussion Creation
Workflow Dispatch
PR Review
Comment Memory

Overall: ✅ PASS

PR author: @pelikhan | Assignees: @pelikhan, @Copilot

📰 BREAKING: Report filed by Smoke Copilot · ● 1.3M ·

@github-actions
Copy link
Copy Markdown
Contributor

Comment Memory

`````` # Smoke Test Memory

Tests run, bots awake
Code flows through electric veins
Green lights all the way

</gh-aw-comment-memory>

> [!NOTE]
> This comment is managed by comment memory.
>
> <details>
> <summary>What this comment does</summary>
>
> It stores persistent context for this thread in the `<gh-aw-comment-memory>` block at the top of this comment.
> Edit only the text in that block; workflow metadata and the footer are regenerated automatically.
> </details>




> 📰 *BREAKING: Report filed by [Smoke Copilot](https://github.com/github/gh-aw/actions/runs/24872847276)* · ● 1.3M · [◷](https://github.com/search?q=repo%3Agithub%2Fgh-aw+%22gh-aw-workflow-call-id%3A+github%2Fgh-aw%2Fsmoke-copilot%22&type=issues)

<!-- gh-aw-agentic-workflow: Smoke Copilot, engine: copilot, version: 1.0.35, model: auto, id: 24872847276, workflow_id: smoke-copilot, run: https://github.com/github/gh-aw/actions/runs/24872847276 -->

Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Smoke test review ✅ — routine version bumps for 5 CLI tools. The MCP Gateway v0.3.0 DIFC integrity mapping change is security-relevant and worth a closer look.

📰 BREAKING: Report filed by Smoke Copilot · ● 1.3M

@@ -32,17 +32,17 @@ func (v Version) IsValid() bool {
type ModelName string

// DefaultClaudeCodeVersion is the default version of the Claude Code CLI.
const DefaultClaudeCodeVersion Version = "2.1.112"
const DefaultClaudeCodeVersion Version = "2.1.119"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Version bump noted — 2.1.119 is the new Claude Code default. Looks good! 🤖

@@ -79,7 +79,7 @@ const AWFAllowHostPortsMinVersion Version = "v0.25.24"
const CopilotNoAskUserMinVersion Version = "1.0.19"

// DefaultMCPGatewayVersion is the default version of the MCP Gateway (gh-aw-mcpg) Docker image
const DefaultMCPGatewayVersion Version = "v0.2.30"
const DefaultMCPGatewayVersion Version = "v0.3.0"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MCP Gateway bumped to v0.3.0 — note this includes the security-relevant DIFC integrity mapping change (author_association: NONEunapproved instead of none). Worth verifying downstream behavior.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed — the unapproved mapping is security-relevant. The smoke test bot noticed this too! 🤖

📰 BREAKING: Report filed by Smoke Copilot · ● 682.4K

…ost-install scripts)

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/3a809369-ae1c-4566-9542-c5dca0daea7b

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 24, 2026

@copilot fix Claude installation by removing --ignore-scripts

...

Fixed in b67f445. Claude Code's GetInstallationSteps now passes runInstallScripts=true to GenerateNpmInstallSteps, so the install command no longer includes --ignore-scripts:

npm install -g @anthropic-ai/claude-code@2.1.119

57 Claude workflow lock files were recompiled to reflect the change.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/graphql
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw ki/_Il4yvUclavlVimage (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw --with-filename -- git tion�� --show-toplevel (http block)
  • https://api.github.com/repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq [.object.sha, .object.type] | @tsv (http block)
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq [.object.sha, .object.type] | @tsv re --log-level=error r $name) { hasDiscussionsEnabled } } (http block)
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq [.object.sha, .object.type] | @tsv re --log-level=error (http block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI changed the title chore: bump CLI tool versions (Claude Code, Copilot, Codex, MCP Server, MCP Gateway) + fix comment memory rendering chore: bump CLI tool versions (Claude Code, Copilot, Codex, MCP Server, MCP Gateway) + fix comment memory rendering + fix Claude install Apr 24, 2026
@github-actions github-actions Bot mentioned this pull request Apr 24, 2026
@pelikhan pelikhan added the smoke label Apr 24, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 24, 2026

⚠️ Smoke Crush failed. Crush encountered unexpected challenges...

@github-actions
Copy link
Copy Markdown
Contributor

📰 BREAKING: Smoke Copilot is now investigating this pull request. Sources say the story is developing...

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 24, 2026

⚠️ Smoke Gemini failed. Gemini encountered unexpected challenges...

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 24, 2026

🚀 Smoke OpenCode MISSION COMPLETE! OpenCode delivered. 🔥

@github-actions github-actions Bot removed the smoke label Apr 24, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 24, 2026

🎬 THE ENDSmoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 24, 2026

✨ The prophecy is fulfilled... Smoke Codex has completed its mystical journey. The stars align. 🌟

@github-actions
Copy link
Copy Markdown
Contributor

Agent Container Tool Check

Tool Status Version
bash 5.2.21
sh available
git 2.53.0
jq 1.7
yq 4.52.5
curl 8.5.0
gh 2.89.0
node 20.20.2
python3 3.12.3
go 1.24.13
java 10.0.201
dotnet NOT FOUND

Result: 11/12 tools available ⚠️

Overall Status: FAILdotnet (.NET runtime) is not installed in this container.

🔧 Tool validation by Agent Container Smoke Test · ● 118.5K ·

@github-actions
Copy link
Copy Markdown
Contributor

🚀 Smoke Test Results — run §24891531350

Test
GitHub MCP
MCP Scripts GH CLI
Serena CLI
Playwright
File Writing
Build gh-aw
Artifact Upload

Overall: ✅ PASS@pelikhan, @Copilot

📰 BREAKING: Report filed by Smoke Copilot · ● 682.4K ·

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 24, 2026

Comment Memory

memory content here

Circuits sip first light
Branch shadows drift through silent checks
Morning merges breathe

Note

This comment is managed by comment memory.

It stores persistent context for this thread in the code block at the top of this comment.
Edit only the text inside the backtick fences; workflow metadata and the footer are regenerated automatically.

Warning

⚠️ Firewall blocked 2 domains

The following domains were blocked by the firewall during workflow execution:

  • ab.chatgpt.com
  • chatgpt.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "ab.chatgpt.com"
    - "chatgpt.com"

See Network Configuration for more information.

🔮 The oracle has spoken through Smoke Codex ·

Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Version bump PR looks good. Two notes: (1) the version constant could use an inline comment linking to the changelog; (2) the MCP Gateway v0.3.0 DIFC integrity mapping change (NONEunapproved) is worth verifying downstream.

📰 BREAKING: Report filed by Smoke Copilot · ● 682.4K

@@ -79,7 +79,7 @@ const AWFAllowHostPortsMinVersion Version = "v0.25.24"
const CopilotNoAskUserMinVersion Version = "1.0.19"

// DefaultMCPGatewayVersion is the default version of the MCP Gateway (gh-aw-mcpg) Docker image
const DefaultMCPGatewayVersion Version = "v0.2.30"
const DefaultMCPGatewayVersion Version = "v0.3.0"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MCP Gateway v0.3.0 introduces a behavioral change: author_association: NONE now maps to unapproved instead of none. Downstream consumers relying on the old none value may need updates.

@@ -32,17 +32,17 @@ func (v Version) IsValid() bool {
type ModelName string

// DefaultClaudeCodeVersion is the default version of the Claude Code CLI.
const DefaultClaudeCodeVersion Version = "2.1.112"
const DefaultClaudeCodeVersion Version = "2.1.119"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Version constant bump looks correct. Consider adding a brief comment documenting the changelog entry for this version bump to make it easier to correlate constants with release notes.

@github-actions
Copy link
Copy Markdown
Contributor

📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤

@github-actions
Copy link
Copy Markdown
Contributor

Smoke test: Codex
PRs: #28195 fix: disallow --name flag when adding multiple workflows at once), #28194 [docs] docs: remove duplicated code block and redundant paragraph in concurrency reference
✅ GitHub MCP
✅ Serena
✅ Playwright
❌ Web fetch
✅ File write/read, build, comment memory
Overall: FAIL

Warning

⚠️ Firewall blocked 2 domains

The following domains were blocked by the firewall during workflow execution:

  • ab.chatgpt.com
  • chatgpt.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "ab.chatgpt.com"
    - "chatgpt.com"

See Network Configuration for more information.

🔮 The oracle has spoken through Smoke Codex ·

@pelikhan pelikhan marked this pull request as ready for review April 24, 2026 13:24
Copilot AI review requested due to automatic review settings April 24, 2026 13:24
@pelikhan pelikhan merged commit 9238671 into main Apr 24, 2026
184 of 186 checks passed
@pelikhan pelikhan deleted the copilot/update-cli-tools-versions-another-one branch April 24, 2026 13:24
@github-actions
Copy link
Copy Markdown
Contributor

💥 Smoke Test 24891531297 — Claude Engine

Test Result
1 GitHub MCP
5 Playwright
10 AW MCP
14 Review Cmt
18 Push Branch

Overall: PARTIAL (1 fail: AW MCP status tool)

💥 [THE END] — Illustrated by Smoke Claude · ● 289K ·

Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💥 Automated smoke test review — all systems nominal! Run 24891531297 verified: build ✅, Serena ✅, Playwright ✅, Tavily ✅, safe outputs ✅.

💥 [THE END] — Illustrated by Smoke Claude · ● 289K

@@ -0,0 +1,5 @@
---
"gh-aw": patch
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Changeset entry correctly categorized as patch — version bumps for CLI tools are non-breaking changes. Good practice to include a descriptive message for the changelog. (Smoke test review — Run 24891531297)

@@ -1,5 +1,5 @@
# gh-aw-metadata: {"schema_version":"v3","frontmatter_hash":"8955ee270578c68e1b90ccda262a02f9b608013552d51884c06a20f9fdbd98ed","agent_id":"copilot"}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Lock file metadata looks correct — schema_version: v3 matches the expected format. The manifest hash will be validated during compilation. (Smoke test review — Run 24891531297)

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Bumps pinned versions for several agentic workflow CLI tools and updates the comment-memory storage format to remain visible in GitHub-rendered comments, while also fixing Claude Code installation by allowing required post-install scripts.

Changes:

  • Updated default versions for Claude Code, GitHub Copilot CLI, Codex, GitHub MCP Server, and MCP Gateway and regenerated golden/lock artifacts.
  • Migrated comment memory from XML tags to a code-fence container with backward-compatible parsing and managed-comment detection.
  • Updated Claude Code install steps to remove --ignore-scripts and added/updated related tests.
Show a summary per file
File Description
pkg/constants/version_constants.go Bumps default versions for the 5 tools.
pkg/workflow/claude_engine.go Updates Claude install logic to allow post-install scripts and respect config version.
pkg/workflow/claude_engine_test.go Updates expectations and adds assertions to prevent --ignore-scripts for Claude.
pkg/workflow/engine_includes_test.go Aligns lock-file assertions with the new Claude install command.
actions/setup/js/comment_memory.cjs Switches managed comment memory container to code-fence format; supports legacy marker scanning.
actions/setup/js/comment_memory_helpers.cjs Adds code-fence opener helper and parses new format with legacy fallback.
actions/setup/js/comment_memory.test.cjs Updates tests for new code-fence memory region and managed-comment detection.
actions/setup/js/comment_memory_helpers.test.cjs Adds unit tests for helper + parsing behaviors (new + legacy).
actions/setup/js/setup_comment_memory_files.test.cjs Updates tests to cover new format and preserve backward compatibility.
actions/setup/md/comment_memory_disclosure_note.md Updates disclosure note to reference code blocks/backtick fences instead of XML tags.
pkg/workflow/testdata/TestWasmGolden_CompileFixtures/basic-copilot.golden Regenerates golden output to reflect bumped versions/images.
pkg/workflow/testdata/TestWasmGolden_CompileFixtures/with-imports.golden Regenerates golden output to reflect bumped versions/images.
.github/workflows/test-workflow.lock.yml Recompiled lock workflow; updates versions and referenced container tags.
.github/workflows/smoke-opencode.lock.yml Recompiled lock workflow; updates referenced container tags.
.github/workflows/smoke-gemini.lock.yml Recompiled lock workflow; updates referenced container tags.
.github/workflows/smoke-crush.lock.yml Recompiled lock workflow; updates referenced container tags.
.github/workflows/smoke-ci.lock.yml Recompiled lock workflow; updates versions and referenced container tags.
.github/workflows/schema-consistency-checker.lock.yml Recompiled lock workflow; updates Claude install and container tags.
.github/workflows/metrics-collector.lock.yml Recompiled lock workflow; updates versions and referenced container tags.
.github/workflows/hippo-embed.lock.yml Recompiled lock workflow; updates versions and referenced container tags.
.github/workflows/github-remote-mcp-auth-test.lock.yml Recompiled lock workflow; updates versions and referenced container tags.
.github/workflows/github-mcp-tools-report.lock.yml Recompiled lock workflow; updates Claude install and referenced container tags.
.github/workflows/firewall.lock.yml Recompiled lock workflow; updates versions and referenced container tags.
.github/workflows/example-permissions-warning.lock.yml Recompiled lock workflow; updates versions and referenced container tags.
.github/workflows/daily-malicious-code-scan.lock.yml Recompiled lock workflow; updates versions and referenced container tags.
.github/workflows/copilot-pr-merged-report.lock.yml Recompiled lock workflow; updates versions and referenced container tags.
.github/workflows/commit-changes-analyzer.lock.yml Recompiled lock workflow; updates Claude install and referenced container tags.
.github/workflows/codex-github-remote-mcp-test.lock.yml Recompiled lock workflow; bumps Codex and referenced MCP Gateway tag.
.github/workflows/changeset.lock.yml Recompiled lock workflow; bumps Codex/MCP images and referenced container tags.
.github/workflows/bot-detection.lock.yml Recompiled lock workflow; updates versions and referenced container tags.
.github/workflows/approach-validator.lock.yml Recompiled lock workflow; updates Claude install and referenced container tags.
.github/workflows/ace-editor.lock.yml Recompiled lock workflow; updates versions and referenced container tags.
.changeset/patch-bump-cli-tool-versions.md Adds a patch changeset describing the version bumps and integrity mapping note.

Copilot's findings

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 81/214 changed files
  • Comments generated: 0

@github-actions
Copy link
Copy Markdown
Contributor

🧪 Test Quality Sentinel Report

Test Quality Score: 89/100

Excellent test quality

Metric Value
New/modified tests analyzed 50 (of ~55 total; sampling applied)
✅ Design tests (behavioral contracts) 48 (96%)
⚠️ Implementation tests (low value) 2 (4%)
Tests with error/edge cases 36 (72%)
Duplicate test clusters 0
Test inflation detected No
🚨 Coding-guideline violations None

Test Classification Details

View all 50 test classifications
Test File Classification Notes
sanitizes valid memory IDs comment_memory.test.cjs ✅ Design Behavioral contract on ID sanitization
rejects invalid memory IDs comment_memory.test.cjs ✅ Design Error path covered
builds managed comment body with code-fence memory region comment_memory.test.cjs ✅ Design Verifies output format
builds managed comment body with footer when enabled comment_memory.test.cjs ✅ Design Verifies ordering + content
throws E001 for invalid memory ID in managed body builder comment_memory.test.cjs ✅ Design Error contract
finds only managed comments with provenance marker comment_memory.test.cjs ✅ Design Behavioral contract (provenance filtering)
finds legacy xml-format managed comments with provenance marker comment_memory.test.cjs ✅ Design Backward-compat coverage
builds code-fence opener with memory id comment_memory_helpers.test.cjs ✅ Design Observable output
extracts managed memory entries from new code-fence format comment_memory_helpers.test.cjs ✅ Design Core parsing contract
extracts multiple entries from new code-fence format comment_memory_helpers.test.cjs ✅ Design Multiple entry edge case
extracts managed memory entries from legacy xml format comment_memory_helpers.test.cjs ✅ Design Backward-compat
supports legacy memory entries without code fence markers comment_memory_helpers.test.cjs ✅ Design Edge case
prefers new code-fence format over legacy xml for same memory id comment_memory_helpers.test.cjs ✅ Design Format precedence contract
rejects unsafe memory IDs in new code-fence format comment_memory_helpers.test.cjs ✅ Design Security contract
keeps fenced text unchanged when trailing content exists comment_memory_helpers.test.cjs ✅ Design Behavioral edge case
keeps fenced text unchanged when closing fence is missing comment_memory_helpers.test.cjs ✅ Design Error edge case
keeps malformed fenced text unchanged comment_memory_helpers.test.cjs ✅ Design Error edge case
strips valid fenced text with extra newlines before content comment_memory_helpers.test.cjs ✅ Design Whitespace handling
strips valid fenced text when content contains six-backtick lines comment_memory_helpers.test.cjs ✅ Design Nested fence edge case
keeps fenced text unchanged when closing fence has no leading newline comment_memory_helpers.test.cjs ✅ Design Format contract
rejects unsafe memory IDs in legacy xml format comment_memory_helpers.test.cjs ✅ Design Security + warning callback
allows memory IDs up to 128 characters comment_memory_helpers.test.cjs ✅ Design Boundary condition
extracts memory entries from new code-fence format setup_comment_memory_files.test.cjs ⚠️ Implementation Duplicates comment_memory_helpers.test.cjs coverage
extracts memory entries from legacy xml format setup_comment_memory_files.test.cjs ⚠️ Implementation Duplicates comment_memory_helpers.test.cjs coverage
writes comment memory files and injects prompt guidance setup_comment_memory_files.test.cjs ✅ Design End-to-end integration of file writing
continues scanning past initial pages without entries setup_comment_memory_files.test.cjs ✅ Design Pagination edge case
rejects cross-repo comment-memory setup when no allowlist is configured setup_comment_memory_files.test.cjs ✅ Design Security error contract
rejects cross-repo comment-memory setup when target repo is not in allowlist setup_comment_memory_files.test.cjs ✅ Design Security error contract
allows cross-repo comment-memory setup when target repo is in allowlist setup_comment_memory_files.test.cjs ✅ Design Happy path with allowlist
treats target-repo as same repo when slug differs only by case setup_comment_memory_files.test.cjs ✅ Design Case-insensitive equality edge case
TestClaudeEngine claude_engine_test.go ✅ Design Verifies engine ID, display name, description
TestClaudeEngineWithOutput claude_engine_test.go ✅ Design Installation steps + execution step content
TestClaudeEngineAllowsMountedMCPCLICommandsInRestrictedBash claude_engine_test.go ✅ Design Behavioral security contract
TestClaudeEnginePermissionMode claude_engine_test.go ✅ Design Table-driven; covers acceptEdits/bypassPermissions
TestClaudeEngineConfiguration claude_engine_test.go ✅ Design Config options coverage
TestClaudeEngineWithVersion claude_engine_test.go ✅ Design Version pinning contract
TestClaudeEngineWithoutVersion claude_engine_test.go ✅ Design Default version fallback
TestClaudeEngineWithNilConfig claude_engine_test.go ✅ Design Nil-safe edge case
TestClaudeEngineWithMCPServers claude_engine_test.go ✅ Design MCP server integration
TestClaudeEngineWithSafeOutputs claude_engine_test.go ✅ Design Safe outputs integration
TestClaudeEngineNoDoubleEscapePrompt claude_engine_test.go ✅ Design Escaping correctness
TestClaudeEngineDoesNotSupportNativeAgentFile claude_engine_test.go ✅ Design Capability contract
TestClaudeEngineAWFWithAgentFileReadsPromptTxt claude_engine_test.go ✅ Design File-reading behavior
TestClaudeEngineSkipInstallationWithCommand claude_engine_test.go ✅ Design Skip-install contract
TestClaudeEngineEnvOverridesTokenExpression claude_engine_test.go ✅ Design Env override precedence
TestClaudeEngineWithExpressionVersion claude_engine_test.go ✅ Design Expression-based version
TestEngineInheritanceFromIncludes engine_includes_test.go ✅ Design Include resolution contract
TestEngineConflictDetection engine_includes_test.go ✅ Design Error path: conflicting engines
TestEngineObjectFormatInIncludes engine_includes_test.go ✅ Design Include object format
TestNoEngineSpecifiedAnywhere engine_includes_test.go ✅ Design Error path: no engine

Minor Observations (Not Flagged)

i️ Minor duplication in setup_comment_memory_files.test.cjs

The two tests extracts memory entries from new code-fence format and extracts memory entries from legacy xml format in setup_comment_memory_files.test.cjs repeat extraction cases already covered in comment_memory_helpers.test.cjs. These are classified as implementation tests (they test an internal helper re-exported from the module) but the duplication does not reach the 3-test threshold for a duplicate cluster. Not flagged.


Language Support

Tests analyzed:

  • 🐹 Go (*_test.go): 26 tests — unit (//go:build !integration)
  • 🟨 JavaScript (*.test.cjs): 29 tests (vitest)

⚠️ Sampling applied — analyzed the first 50 of ~55 test functions. Prioritized newly added tests.


Verdict

Check passed. 4% of new tests are implementation tests (threshold: 30%). All coding guidelines are satisfied: build tags present, no mock libraries used in Go, assertion messages present. The JavaScript tests provide strong behavioral coverage of the comment-memory rendering fix, including security contracts (path traversal rejection, cross-repo allowlisting) and backward-compatibility with the legacy XML format.


📖 Understanding Test Classifications

Design Tests (High Value) verify what the system does:

  • Assert on observable outputs, return values, or state changes
  • Cover error paths and boundary conditions
  • Would catch a behavioral regression if deleted

Implementation Tests (Low Value) verify how the system does it:

  • Assert on internal function calls without observing outputs
  • Only test the happy path
  • Break during legitimate refactoring even when behavior is correct

References: §24891879246

🧪 Test quality analysis by Test Quality Sentinel · ● 1.4M ·

Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Test Quality Sentinel: 89/100. Test quality is excellent — 4% of new tests are implementation tests (threshold: 30%). Strong behavioral coverage of the comment-memory rendering fix with security and backward-compatibility edge cases well covered.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[ca] CLI Version Updates: Claude Code, Copilot CLI, Codex, GitHub MCP Server, MCP Gateway

3 participants