Skip to content

refactor(autonomy): sort setup script imports and collapse a wrapped ternary - #12791

Merged
kyle-sexton merged 2 commits into
mainfrom
fix/12764-replacement
Nov 3, 2026
Merged

kyle-sexton merged 2 commits into
mainfrom
fix/12764-replacement

Conversation

@kyle-sexton

Copy link
Copy Markdown
Member

No related issue: code-tidying upkeep sweep.

Summary

Replaces #12764, which the lanes App opened. That PR's change is merged here unchanged: the setup skill's node: imports are sorted in four scripts, and a wrapped ternary in check-prerequisite-resolution.mjs now sits on one line. Neither changes behavior.

The lane could not finish #12764 because pr-verify failed its head for a missing spec: the PR links no issue, and its title and body were not written by a trusted account. That left three verifier threads open, which address-feedback answered as UNCERTAIN twice and then stopped with feedback-untaken-threads. No code change clears a missing spec. This PR is opened under the owner login, so its title and body are the trusted spec.

Fix

  • Thread on apply-prerequisite-resolution.mjs: not a defect. The note's only failure is the missing spec, which this PR supplies. Lines 15-19 are the same five builtin imports in sorted order, and the verifier found no behavior change.
  • Thread on check-prerequisite-resolution.mjs: not a defect. Line 100 is the same expression as before, surface ? [surface] : [...surfaceIds(binding)], joined onto one line.
  • Thread on check-security-binding.admission-leaf.test.mjs: not a defect. Lines 7-13 are the same imports in sorted order, and the suite passes 21/21 below.

Verification

  • scripts/affected-tests.sh --run <changed files>: all 4 selected shell suites pass. check-prerequisite-resolution-slice.test.sh 5/5, check-security-binding.admission-leaf.test.sh 21/21, check-security-binding.fixtures.test.sh 769/769 checks (214 fixtures), and resolve-prerequisites.fixtures.test.sh 22/22. The three .test.mjs files the runner lists as delegated are the suites these wrappers run.
  • scripts/check-affected.sh --base origin/main --no-fetch: 13 passed, 2 skipped (no shell, no Python changed).
  • Biome did not run locally.

Related

🤖 Generated with Claude Code

https://claude.ai/code/session_01Vcupom3BKF6QuC5U3sRJPj

melodic-automation-lanes Bot and others added 2 commits November 3, 2026 06:31
…ternary

Replaces #12764 under the owner login so pr-verify has a trusted-author
spec. Merges the lanes branch unchanged: node: imports sorted in four
setup scripts and one ternary joined onto a single line, no behavior
change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Vcupom3BKF6QuC5U3sRJPj
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-03T08:15:44.825628Z 9f4c7db PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@github-actions

github-actions Bot commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

claude-review reviewed 9f4c7db370cc28e31dfe4e1239641fce21c84661: read 6 of 6 changed file(s); 0 finding(s), 0 as inline comments.

Code review: no findings

I read every hunk of all 6 changed files in .claude-lane/pr.diff. This is a whole review, not a partial one.

What changes

  • Three setup scripts and two test files (apply-prerequisite-resolution.mjs and the three *.test.mjs files) only reorder their node: imports. Each new order is alphabetical by module specifier. The same names are imported, from the same modules, with no additions or removals.
  • In check-prerequisite-resolution.mjs:100 a three-line ternary is joined onto one line. The expression is the same: surface ? [surface] : [...surfaceIds(binding)].
  • The changelog fragment .changes/autonomy/...-8346b003.md declares bump: patch and a ### Changed entry. That matches the format of the other fragments under .changes/. A patch bump fits a change that leaves behavior unchanged.

Correctness: reordering ES module imports of node: builtins has no side effects, so execution is unaffected. Joining the ternary changes formatting only.

Closing issue: none. The PR context says it is a code-tidying upkeep sweep and links no issue, so there are no acceptance criteria to check.

Verification: the PR body's test results are the author's claims. I did not confirm them, because this lane has no shell. These are: shell suites passing 5/5, 21/21, 769/769 and 22/22, check-affected.sh with 13 passed and 2 skipped, and Biome not run locally.

Prior findings: 0 rounds with findings, so the round cap (3) did not apply. No changed file matches a trusted-path glob. No plugin manifest changed.

@github-actions

github-actions Bot commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

claude-security-review reviewed 9f4c7db370cc28e31dfe4e1239641fce21c84661: read 6 of 6 changed file(s); 0 finding(s), 0 as inline comments.

Security review: no security issues found

I read every hunk of all 6 changed files. None of them matches a trusted-path glob, and the diff touches no plugin manifest, workflow, trust control or instruction file.

  • Import reordering. Four setup scripts in plugins/autonomy/skills/setup/scripts/ have their node: imports sorted: apply-prerequisite-resolution.mjs and three test files. Every moved import is a Node builtin (node:fs, node:path, node:child_process, node:process, node:url, node:assert/strict). These modules have no load-time side effects, so changing their order cannot change behavior. The one non-builtin import, ./fixture-harness.mjs, stays where it was. No import was added or removed.
  • Ternary collapse. In check-prerequisite-resolution.mjs, a ternary that was wrapped across lines now sits on one line: surface ? [surface] : [...surfaceIds(binding)]. The expression is the same.
  • Changelog fragment. The new .changes/ file is a text note marked bump: patch. It is not executable and grants nothing.

The PR context has no embedded directives aimed at this lane. Its statement that the owner-authored title and body serve as the trusted spec is about pr-verify, and it does not change how this review reads the code.

There are no prior findings to restate: 0 rounds so far against a cap of 3, and the cap does not apply.

critical-findings: 0

@kyle-sexton
kyle-sexton added this pull request to the merge queue Nov 3, 2026
Merged via the queue into main with commit 9f72630 Nov 3, 2026
76 of 80 checks passed
@kyle-sexton
kyle-sexton deleted the fix/12764-replacement branch November 3, 2026 14:56
@github-actions

github-actions Bot commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

Post-merge mutation testing

Killed 5, survived 2, timeout 0, no coverage 0, invalid 0, not run 0.
Covered-code score 71%; mutation score 71%.

File Killed Survived Timeout No coverage Invalid Not run
plugins/autonomy/skills/setup/scripts/check-prerequisite-resolution.mjs 1 0 0 0 0 0
plugins/planning/offers/offer-source.mjs 3 1 0 0 0 0
plugins/planning/surfaces/registry.mjs 1 1 0 0 0 0

Surviving mutants

Location Operator Disposition Cause
plugins/planning/offers/offer-source.mjs:107 ROR productive input-gap
plugins/planning/surfaces/registry.mjs:149 ROR productive input-gap

The run's summary has the full report.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant