Skip to content

chore(deps): refresh Swift validation and Node qualification runtime - #731

Merged
steipete merged 11 commits into
mainfrom
chore/deps-20260913
Sep 13, 2026
Merged

steipete merged 11 commits into
mainfrom
chore/deps-20260913

Conversation

@steipete

@steipete steipete commented Sep 13, 2026

Copy link
Copy Markdown
Collaborator

Update Node to stable 26.8.2 in CI and the pinned macOS qualification runtime, and Linux Commander validation to Swift 6.3.3. Both clear the repository’s 48-hour release-age window. The archive, architecture-binary, license, universal-binary, and size pins move together across the producer and validators. CFBundleVersion is derived from the Node pin (260802), with generated-plist regression checks.

The macOS CLI job launches its freshly built executable and validates its JSON tool catalog. Declared Node/Swift/macOS consumer floors are preserved; the official Node binaries declare macOS 13.5, below Peekaboo’s macOS 15 requirement. The guidance and timeout-test prerequisite landed separately in #732, and main’s #730 window implementation/tests are preserved.

Validation for c3d2eac0dad7b7626963cac680b0fc6551b06425:

  • Independent autoreview: scoped-clean through P2, including the integration with current main.
  • Full safe and package suites: all four groups passed, using Node 26.8.2 and pinned pnpm 11.26.0.
  • macOS CI, Commander platforms, and CodeQL.
  • Frozen pnpm install and lock refresh (no lock changes); 28 guidance/workflow contracts; docs build and HTTP checks; real signed CLI version/catalog execution.
  • Real qualification app built from checksum-verified official archives, Developer-ID-signed and strictly verified. Bundle version 260802 and generated-JavaScript result 42 were verified on arm64 and Rosetta x86_64 under an empty environment. These are signed-runtime probes, not a notarized release-package claim. No release or publication.

Held: audited chrome-devtools-mcp 1.6.0 (newer versions violate background user-activation policy); pnpm 12 lockfile compatibility and the too-young 11.27.0; KeyboardShortcuts 3.1.0 inside 48 hours; Ubuntu 26.04 lacks an official Swift 6.3.3 toolchain; five submodule pointer updates are held because the required autoreview helper rejects gitlink changes. The full sweep report records exact versions and reasons.

@steipete
steipete requested a review from a team as a code owner September 13, 2026 15:23
@clawsweeper

clawsweeper Bot commented Sep 13, 2026

Copy link
Copy Markdown

🦞👀
ClawSweeper picked this up.

Pull request received. I will update this pull request when review starts.

ClawSweeper review complete

ClawSweeper finished reviewing this revision. The review result is being finalized.

View the workflow run.

@cursor

cursor Bot commented Sep 13, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Touches pinned release/qualification artifact hashes and broad CI Node versions; runtime behavior changes are mostly test and validation harness, but a wrong Node pin would break terminal artifact publication and validation.

Overview
Bumps CI and release tooling to Swift 6.3.3 (Linux Commander) and Node 26.8.2 across macOS CI, Pages, Crabbox hydrate, and supplemental release validation, with changelog notes for the pin refresh.

Re-pins the macOS qualification Node app from 24.15.0 to 26.8.2 end-to-end: download URLs, archive/binary/license/universal SHA256 and size, zip artifact names, manifest schema checks, fixture tests, and docs that describe terminal qualification. CFBundleVersion is now computed from the semver (e.g. 260802 for 26.8.2).

Tightens macOS CI by running tests/background-capability-guidance.test.mjs in the Core job docs lint step and smoke-testing the freshly built CLI (--version plus a nonempty successful tools --json catalog) before unit tests.

Hardens agent/skill guidance: expanded press-route checks for --app and --pid, a read-only clipboard get example in the bundled skill, absolute GitHub links in docs/agent-skill.md, and workflow contract tests expecting Node 26.8.2.

Refactors the element-detection “timeout wins over noncooperative work” regression to use a synchronization gate instead of wall-clock timing, asserting the timeout returns without releasing blocked work.

Reviewed by Cursor Bugbot for commit c3d2eac. Bugbot is set up for automated code reviews on this repo. Configure here.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 8024b84. Configure here.

Comment thread scripts/build-node-runtime-macos.sh Outdated
@clawsweeper clawsweeper Bot added P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. merge-risk: 🚨 automation 🚨 Merging this PR could break CI, automerge, proof capture, label sync, or automation. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. labels Sep 13, 2026
@clawsweeper

clawsweeper Bot commented Sep 13, 2026

Copy link
Copy Markdown

Codex review: blocked before merge. Reviewed September 13, 2026, 1:55 PM ET / 17:55 UTC (Revision 7).

ClawSweeper review

What this changes

Updates Swift and Node validation runtimes, refreshes the pinned macOS Node bundle, adds a CLI catalog smoke check, and strengthens guidance and timeout tests.

Merge readiness

Blocked before merge - 2 items remain

Keep open: the runtime refresh remains distinct from current main and the latest release. The reviewed patch has no blocking code findings, and the earlier bundle-version concern is resolved.

Priority: P3
Reviewed head: c3d2eac0dad7b7626963cac680b0fc6551b06425

Review scores

Measure Result What it means
Overall readiness 🐚 platinum hermit (4/6) A coherent refresh with relevant native execution evidence and no blocking code findings; final package acceptance remains outstanding.
Proof confidence 🐚 platinum hermit (4/6) Sufficient (live_output): The captured body reports real signed Node 26 execution on arm64 and Rosetta x86_64, including crypto and generated-JavaScript success, plus the built CLI’s 24-tool catalog. These exercise the changed runtime and smoke-check behavior; complete notarized-package acceptance remains a separate packaging limitation.
Patch quality 🐚 platinum hermit (4/6) No actionable review findings were identified.

Verification

Check Result Evidence
Real behavior Verified Sufficient (live_output): The captured body reports real signed Node 26 execution on arm64 and Rosetta x86_64, including crypto and generated-JavaScript success, plus the built CLI’s 24-tool catalog. These exercise the changed runtime and smoke-check behavior; complete notarized-package acceptance remains a separate packaging limitation.
Evidence reviewed 9 items Applicable repository policy: Read the complete root AGENTS.md; no nested AGENTS.md or maintainer-notes directory was found. Applied its validation, behavioral-evidence, and explicit-release-authorization guidance within this read-only review.
Refresh remains necessary: Both pinned main and v4.3.4 retain qualification Node 24.15.0. The introduced diff updates the builder and both validators together to 26.8.2; no merged fixing PR establishes that this refresh is already implemented.
Official archive checksums: The official Node distribution checksum list matches both Darwin archive pins: arm64 974b6d5f… and x64 adb8feb2…. The builder retains verification before extraction and execution.
Findings None None.
Security None None.

How this fits together

Peekaboo’s build tooling combines official Node binaries into a universal macOS runtime used for terminal qualification. Artifact validators check its identity and integrity before the packaging pipeline publishes a candidate.

flowchart TD
  A[Official Node archives] --> B[Checksum verification]
  B --> C[Universal runtime bundle]
  C --> D[Signing and notarization]
  D --> E[Artifact manifest validation]
  E --> F[Qualified package candidate]
Loading

Before merge

  • Resolve merge risk (P1) - Acceptance of a complete notarized Node 26 qualification package remains unestablished; a failure in its production validation would stop artifact publication.
  • Complete next step (P2) - Land fix(ci): repair guidance and stabilize detection timeout proof #732 first and complete the declared production validation of the notarized Node 26 package before merging.
Agent review details

Security

None.

Review metrics

Metric Value Why it matters
Validation workflows 5 workflows updated The runtime refresh spans Linux validation, macOS CI, documentation deployment, hydration, and release validation.

Merge-risk options

Maintainer options:

  1. Complete production package validation (recommended)
    Record successful production-validator acceptance of the final notarized Node 26 candidate to resolve the remaining packaging uncertainty.

Technical review

Best possible solution:

Keep the synchronized runtime pins and integrity checks, with production package acceptance established before landing the refresh.

Do we have a high-confidence way to reproduce the issue?

Not applicable: this is a runtime and validation refresh, and source review found no introduced blocking defect. No target builds or tests were executed during this read-only review.

Is this the best way to solve the issue?

Yes: updating the existing builder, validators, fixtures, and CI together preserves one qualification contract without introducing a parallel runtime path.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning medium; reviewed against a744b91e70b8.

Labels

Label changes:

  • add proof: sufficient: Contributor real behavior proof is sufficient. The captured body reports real signed Node 26 execution on arm64 and Rosetta x86_64, including crypto and generated-JavaScript success, plus the built CLI’s 24-tool catalog. These exercise the changed runtime and smoke-check behavior; complete notarized-package acceptance remains a separate packaging limitation.

Label justifications:

  • P3: This is bounded dependency and validation maintenance without an established urgent user-facing regression.
  • merge-risk: 🚨 automation: The changed runtime and artifact pins feed publication checks whose complete notarized-package acceptance is not yet demonstrated.
  • rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🐚 platinum hermit and patch quality is 🐚 platinum hermit.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (live_output): The captured body reports real signed Node 26 execution on arm64 and Rosetta x86_64, including crypto and generated-JavaScript success, plus the built CLI’s 24-tool catalog. These exercise the changed runtime and smoke-check behavior; complete notarized-package acceptance remains a separate packaging limitation.
  • proof: sufficient: Contributor real behavior proof is sufficient. The captured body reports real signed Node 26 execution on arm64 and Rosetta x86_64, including crypto and generated-JavaScript success, plus the built CLI’s 24-tool catalog. These exercise the changed runtime and smoke-check behavior; complete notarized-package acceptance remains a separate packaging limitation.

Evidence

What I checked:

  • Applicable repository policy: Read the complete root AGENTS.md; no nested AGENTS.md or maintainer-notes directory was found. Applied its validation, behavioral-evidence, and explicit-release-authorization guidance within this read-only review. (AGENTS.md:1, c3d2eac0dad7)
  • Refresh remains necessary: Both pinned main and v4.3.4 retain qualification Node 24.15.0. The introduced diff updates the builder and both validators together to 26.8.2; no merged fixing PR establishes that this refresh is already implemented. (scripts/build-node-runtime-macos.sh:17, 59a805b253c1)
  • Official archive checksums: The official Node distribution checksum list matches both Darwin archive pins: arm64 974b6d5f… and x64 adb8feb2…. The builder retains verification before extraction and execution.
  • Bundle metadata repair: CFBundleVersion now derives from the pinned semver, producing 260802; the fixture checks both short version and build version. This resolves the earlier review comment about stale bundle identity. (scripts/build-node-runtime-macos.sh:18, c3d2eac0dad7)
  • Native behavior and review continuity: The captured PR body reports successful Developer-ID-signed arm64 and Rosetta x86_64 execution, crypto checks, and generated JavaScript returning 42 under an empty environment after the metadata correction. It also reports a validated 24-tool CLI catalog. The three runtime packaging files are unchanged since the previous reviewed head. Prepared media contains only Cursor action badges, not behavioral screenshots. (scripts/build-node-runtime-macos.sh:17, c3d2eac0dad7)
  • Verified supplemental suite result: GitHub confirms https://github.com/openclaw/peekaboo/actions/runs/34769796901 succeeded at 128eb10, with all four full-suite jobs successful. This supports regression coverage without claiming execution at the newer integration head. (128eb101f693)

Likely related people:

  • unknown: The claimed source-line change could not be verified from bounded local history. (role: source history unknown; confidence: low)

Rank-up moves

Optional improvements that raise the rating; they are not merge blockers.

  • Record production artifact-validator success for the final notarized Node 26 qualification package.

Rating scale

Score Internal tier Crab rank Meaning
6/6 S 🦀 challenger crab Exceptional readiness
5/6 A 🦞 diamond lobster Very strong readiness
4/6 B 🐚 platinum hermit Good normal PR; ordinary maintainer review
3/6 C 🦐 gold shrimp Useful, but confidence is limited
2/6 D 🦪 silver shellfish Proof or implementation needs work
1/6 F 🧂 unranked krab Not merge-ready
N/A NA 🌊 off-meta tidepool Rating does not apply

Overall follows the weaker of proof and patch quality.
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics.

Workflow

  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

History

Review history (6 earlier review cycles)
  • reviewed 2026-09-13T15:30:30.212Z sha 8024b84 :: blocked before merge. :: none
  • reviewed 2026-09-13T15:58:19.414Z sha be8785f :: blocked before merge. :: none
  • reviewed 2026-09-13T16:11:26.349Z sha e1427e4 :: blocked before merge. :: none
  • reviewed 2026-09-13T16:39:02.514Z sha 5cf6b43 :: blocked before merge. :: none
  • reviewed 2026-09-13T16:55:22.366Z sha 128eb10 :: blocked before merge. :: none
  • reviewed 2026-09-13T17:30:54.996Z sha 128eb10 :: blocked before merge. :: none

@clawsweeper clawsweeper Bot added the proof: sufficient Contributor real behavior proof is sufficient. label Sep 13, 2026
@steipete
steipete merged commit ea6aaf0 into main Sep 13, 2026
22 checks passed
@steipete
steipete deleted the chore/deps-20260913 branch September 13, 2026 18:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge-risk: 🚨 automation 🚨 Merging this PR could break CI, automerge, proof capture, label sync, or automation. P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. proof: sufficient Contributor real behavior proof is sufficient. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant