chore(agent): add tc39-mcp spec lookup workflow#695
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughAdds a pinned tc39-mcp server entry and guidance, implements a script to update checked-in Changestc39-mcp Integration and Automation
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Suggested labels
Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Comment |
Suite TimingTest Runner (interpreted: 9,853 passed; bytecode: 9,853 passed)
MemoryGC rows aggregate the main thread plus all worker thread-local GCs. Test runner worker shutdown frees thread-local heaps in bulk; that shutdown reclamation is not counted as GC collections or collected objects.
Benchmarks (interpreted: 407; bytecode: 407)
MemoryGC rows aggregate the main thread plus all worker thread-local GCs. Benchmark runner performs explicit between-file collections, so collection and collected-object counts can be much higher than the test runner.
Measured on ubuntu-latest x64. |
Benchmark Results407 benchmarks Interpreted: 🟢 353 improved · 🔴 19 regressed · 35 unchanged · avg +9.3% arraybuffer.js — Interp: 🟢 12, 2 unch. · avg +7.3% · Bytecode: 🟢 10, 🔴 1, 3 unch. · avg +5.6%
arrays.js — Interp: 🟢 17, 2 unch. · avg +11.5% · Bytecode: 🟢 16, 3 unch. · avg +7.4%
async-await.js — Interp: 🟢 4, 2 unch. · avg +9.7% · Bytecode: 🟢 5, 1 unch. · avg +5.3%
async-generators.js — Interp: 🟢 1, 1 unch. · avg +12.5% · Bytecode: 🟢 1, 1 unch. · avg +2.7%
base64.js — Interp: 🟢 3, 🔴 6, 1 unch. · avg +0.7% · Bytecode: 🟢 3, 🔴 7 · avg -3.9%
classes.js — Interp: 🟢 27, 4 unch. · avg +9.2% · Bytecode: 🟢 24, 7 unch. · avg +8.4%
closures.js — Interp: 🟢 11 · avg +12.4% · Bytecode: 🟢 8, 3 unch. · avg +7.8%
collections.js — Interp: 🟢 12 · avg +10.9% · Bytecode: 🟢 4, 🔴 4, 4 unch. · avg +0.3%
csv.js — Interp: 🟢 12, 1 unch. · avg +11.0% · Bytecode: 🟢 13 · avg +12.3%
destructuring.js — Interp: 🟢 22 · avg +10.9% · Bytecode: 🟢 11, 11 unch. · avg +4.8%
fibonacci.js — Interp: 🟢 8 · avg +12.8% · Bytecode: 🟢 6, 2 unch. · avg +8.9%
float16array.js — Interp: 🟢 25, 7 unch. · avg +7.6% · Bytecode: 🟢 21, 🔴 4, 7 unch. · avg +9.1%
for-of.js — Interp: 🟢 7 · avg +5.2% · Bytecode: 🟢 4, 3 unch. · avg +6.7%
generators.js — Interp: 🟢 4 · avg +10.2% · Bytecode: 🟢 4 · avg +4.6%
iterators.js — Interp: 🟢 41, 1 unch. · avg +9.1% · Bytecode: 🟢 37, 5 unch. · avg +8.2%
json.js — Interp: 🟢 20 · avg +8.9% · Bytecode: 🟢 16, 4 unch. · avg +7.6%
jsx.jsx — Interp: 🟢 21 · avg +11.8% · Bytecode: 🟢 15, 6 unch. · avg +5.6%
modules.js — Interp: 🟢 9 · avg +10.5% · Bytecode: 🟢 9 · avg +17.3%
numbers.js — Interp: 🟢 10, 1 unch. · avg +9.6% · Bytecode: 🟢 11 · avg +11.5%
objects.js — Interp: 🟢 7 · avg +12.2% · Bytecode: 🟢 4, 3 unch. · avg +3.4%
promises.js — Interp: 🟢 6, 6 unch. · avg +4.0% · Bytecode: 🟢 3, 9 unch. · avg +1.1%
regexp.js — Interp: 🟢 5, 🔴 5, 1 unch. · avg +5.7% · Bytecode: 🟢 5, 🔴 6 · avg +2.9%
strings.js — Interp: 🟢 16, 3 unch. · avg +6.8% · Bytecode: 🟢 17, 2 unch. · avg +8.8%
tsv.js — Interp: 🟢 7, 🔴 1, 1 unch. · avg +6.9% · Bytecode: 🟢 9 · avg +16.2%
typed-arrays.js — Interp: 🟢 22 · avg +14.1% · Bytecode: 🟢 13, 🔴 5, 4 unch. · avg +25.2%
uint8array-encoding.js — Interp: 🟢 9, 🔴 7, 2 unch. · avg -7.4% · Bytecode: 🟢 9, 🔴 2, 7 unch. · avg +17.8%
weak-collections.js — Interp: 🟢 15 · avg +29.2% · Bytecode: 🟢 2, 🔴 12, 1 unch. · avg -29.0%
Deterministic profile diffDeterministic profile diff: no significant changes. Measured on ubuntu-latest x64. Benchmark ranges compare cached main-branch min/max ops/sec with the PR run; overlapping ranges are treated as unchanged noise. Percentage deltas are secondary context. |
test262 Conformance
Areas closest to 100%
Per-test deltas (+1 / -0)Newly passing (1):
Steady-state failures are non-blocking; regressions vs the cached main baseline (lower total pass count, or any PASS → non-PASS transition) fail the conformance gate. Measured on ubuntu-latest x64, bytecode mode. Areas grouped by the first two test262 path components; minimum 25 attempted tests, areas already at 100% excluded. Δ vs main compares against the most recent cached |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/tc39-mcp-bump.yml:
- Around line 26-41: The workflow is interpolating the untrusted npm-derived
value steps.latest.outputs.version directly into run shells (seen in the "Update
pin in agent docs" and the id: changed run blocks), which can allow shell
injection; change those steps to pass the version through an environment
variable (e.g., add env: VERSION: ${{ steps.latest.outputs.version }} on the
steps and use "$VERSION" inside the run scripts) so the run blocks reference the
safe quoted env var instead of expanding the output inline; update the "Update
pin in agent docs" step and the id: changed step to use the env VAR and quoted
"$VERSION" in their run logic.
- Around line 22-45: The workflow currently references actions by floating tags
(actions/checkout@v5, oven-sh/setup-bun@v2, peter-evans/create-pull-request@v7)
and leaves checkout credentials persisted; replace those three uses: entries for
actions/checkout, oven-sh/setup-bun, and peter-evans/create-pull-request with
their corresponding full commit SHAs (pin to exact commits) and add
persist-credentials: false to the actions/checkout step to avoid leaving repo
credentials in the runner environment.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 9ee9f4c6-5096-44bc-900e-c9dace49a6f1
📒 Files selected for processing (5)
.agents/skills/gocciascript-issue-validation/SKILL.md.github/workflows/tc39-mcp-bump.yml.mcp.example.jsonAGENTS.mdscripts/tc39-mcp-bump-pin.ts
Pass the npm-derived version through a step environment variable before using it in shell commands.
Pin the tc39-mcp bump workflow actions to commit SHAs and disable checkout credential persistence.
Pin the test262, TOML, and YAML bump workflow actions to commit SHAs and disable checkout credential persistence.
Summary
.mcp.example.jsonfor localtc39-mcpstdio setup.tc39-mcpas the preferred agent path for ECMA-262 / ECMA-402 lookup and issue validation.tc39-mcpnpm pin bump workflow plus a small Bun updater script.Testing
jq -e . .mcp.example.jsonbun scripts/tc39-mcp-bump-pin.ts 0.1.4.mcp.example.json,AGENTS.md, and the issue-validation skillgit diff --check