Skip to content

chore: add constrained Crabbox setup - #342

Merged
vincentkoc merged 1 commit into
mainfrom
chore/setup-baseline-safe-20260522
May 22, 2026
Merged

vincentkoc merged 1 commit into
mainfrom
chore/setup-baseline-safe-20260522

Conversation

@vincentkoc

Copy link
Copy Markdown
Member

Summary

  • add a narrowed Crabbox setup for acpx without reintroducing the closed broad CodeQL/stale baseline
  • constrain the hydrate workflow to the trusted Crabbox runner labels: self-hosted, crabbox, openclaw, acpx, plus the dynamic lease label
  • add CODEOWNERS coverage for automation/package/runtime surfaces and actionlint config for the custom Crabbox labels
  • add package scripts expected by the copied OpenClaw Crabbox skill while preserving that skill byte-for-byte

Verification

  • git diff --check
  • pnpm run format:check
  • actionlint .github/workflows/crabbox-hydrate.yml
  • ruby -e 'require "yaml"; ARGV.each { |path| YAML.load_file(path) }' .crabbox.yaml .github/actionlint.yaml .github/workflows/crabbox-hydrate.yml
  • Crabbox CLI help checked for run, warmup, actions hydrate, and stop
  • verified Crabbox skill SHA-256 matches openclaw/openclaw: ed512c0b0385fae7f6c5c14a7e9e6236ab68936506687a99ca976873492bdc43
  • autoreview rerun with focused setup checks: tests passed; review still flags OpenClaw-specific Testbox wording inside the copied skill, intentionally kept because this remediation must use the OpenClaw Crabbox skill verbatim

pnpm run check was attempted by autoreview and reached 707 passing tests before failing in pnpm run mutate under local Node 26 with a yargs ESM require is not defined error. That is unrelated to this setup-only patch; CI normally runs mutation on Node 22.

Scope note

This replaces the closed broad baseline PR shape. It deliberately does not add CodeQL or stale automation; those are separate policy decisions after the previous broad PR was closed as not wanted as-is.

@clawsweeper

clawsweeper Bot commented May 22, 2026 •

Copy link
Copy Markdown
Contributor

Codex review: found issues before merge.

Latest ClawSweeper review: 2026-05-22 21:45 UTC / May 22, 2026, 5:45 PM ET.

Workflow note: Future ClawSweeper reviews update this same comment in place.

How this review workflow works
  • 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.

Summary
This PR adds Crabbox setup metadata, a Crabbox skill, a hydrate workflow, actionlint and CODEOWNERS files, and package scripts for Crabbox and changed-check aliases.

Reproducibility: not applicable. as a user bug. The PR blocker is source-reproducible by comparing the added skill instructions with the acpx tree, where scripts/crabbox-wrapper.mjs and .github/workflows/ci-check-testbox.yml are absent.

PR rating
Overall: 🧂 unranked krab
Proof: 🌊 off-meta tidepool
Patch quality: 🧂 unranked krab
Summary: The PR is not quality-ready while the copied skill names missing acpx Testbox paths and the new self-hosted workflow boundary still needs approval.

Rank-up moves:

  • Replace or implement the missing scripts/crabbox-wrapper.mjs and ci-check-testbox guidance in the Crabbox skill.
  • Get maintainer or secops confirmation for the constrained self-hosted Crabbox hydrate workflow before merge.
What the crustacean ranks mean
  • 🦀 challenger crab: rare, exceptional readiness with strong proof, clean implementation, and convincing validation.
  • 🦞 diamond lobster: very strong readiness with only minor maintainer review expected.
  • 🐚 platinum hermit: good normal PR, likely mergeable with ordinary maintainer review.
  • 🦐 gold shrimp: useful signal, but proof or patch confidence is still limited.
  • 🦪 silver shellfish: thin signal; proof, validation, or implementation needs work.
  • 🧂 unranked krab: not merge-ready because proof is missing/unusable or there are serious correctness or safety concerns.
  • 🌊 off-meta tidepool: rating does not apply to this item.

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.

Real behavior proof
Not applicable: The external-contributor proof gate does not apply because this is a member-authored maintainer setup PR; the body lists validation commands for the setup changes.

Risk before merge

  • The hydrate workflow adds workflow_dispatch execution on self-hosted Crabbox runners, checks out a selected ref, and runs install steps; maintainers/security should explicitly accept that trust boundary before merge.
  • The copied Crabbox skill still points agents at scripts/crabbox-wrapper.mjs and .github/workflows/ci-check-testbox.yml, so delegated Testbox instructions can fail in acpx.
  • The new CODEOWNERS file routes broad automation, package, docs, and runtime surfaces to @openclaw/openclaw-secops; maintainers should confirm that team target is active and intended.

Maintainer options:

  1. Adapt skill and approve runner boundary (recommended)
    Rewrite the copied Testbox section to use real acpx Crabbox commands or add the referenced wrapper/workflow, then record maintainer/security approval for the self-hosted hydrate lane.
  2. Accept the copied skill contract
    Maintainers may intentionally keep the OpenClaw skill byte-for-byte, but should explicitly accept that some delegated Testbox instructions are not valid in acpx.
  3. Pause the setup baseline
    Keep the PR paused if Crabbox validation is not urgent or if runner ownership, CODEOWNERS, or copied-skill policy is not settled.

Next step before merge
The concrete skill-path defect is repairable, but the self-hosted runner and copied-skill policy questions require maintainer/security judgment before merge.

Security
Needs attention: The diff introduces a self-hosted workflow_dispatch execution path and needs explicit maintainer/security approval before merge.

Review findings

  • [P2] Replace the missing Testbox wrapper path — .agents/skills/crabbox/SKILL.md:199-203
Review details

Best possible solution:

Land a constrained Crabbox setup only after the skill points at real acpx paths and maintainers/security explicitly accept the self-hosted runner and CODEOWNERS model.

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

Not applicable as a user bug. The PR blocker is source-reproducible by comparing the added skill instructions with the acpx tree, where scripts/crabbox-wrapper.mjs and .github/workflows/ci-check-testbox.yml are absent.

Is this the best way to solve the issue?

No. The narrowed Crabbox direction is plausible, but the branch should either add the missing acpx delegated Testbox path or rewrite that block around existing Crabbox scripts, and the self-hosted runner boundary needs explicit approval.

Label justifications:

  • P2: This is a normal-priority repository setup and automation improvement with limited blast radius, but it still has merge-blocking review and approval work.
  • merge-risk: 🚨 security-boundary: The PR introduces a self-hosted workflow_dispatch path that runs checked-out code and package installation on trusted Crabbox runners.
  • merge-risk: 🚨 automation: The added skill references missing automation paths and the PR changes CODEOWNERS/workflow behavior that affects validation automation.
  • rating: 🧂 unranked krab: Current PR rating is 🧂 unranked krab because proof is 🌊 off-meta tidepool, patch quality is 🧂 unranked krab, and The PR is not quality-ready while the copied skill names missing acpx Testbox paths and the new self-hosted workflow boundary still needs approval.
  • status: ⏳ waiting on author: ClawSweeper has contributor-facing work open and is waiting for author action. Not applicable: The external-contributor proof gate does not apply because this is a member-authored maintainer setup PR; the body lists validation commands for the setup changes.

Full review comments:

  • [P2] Replace the missing Testbox wrapper path — .agents/skills/crabbox/SKILL.md:199-203
    The new skill tells agents to run node scripts/crabbox-wrapper.mjs against .github/workflows/ci-check-testbox.yml, but this repository has neither path and this PR does not add them. Anyone following the delegated Testbox lane will hit a dead command, so either add the acpx wrapper/workflow or rewrite this block to use the Crabbox commands this PR actually provides.
    Confidence: 0.93

Overall correctness: patch is incorrect
Overall confidence: 0.88

Security concerns:

  • [medium] Approve the self-hosted hydrate boundary — .github/workflows/crabbox-hydrate.yml:38
    The new hydrate workflow runs on self-hosted Crabbox labels, checks out a selected ref, and executes pnpm install; even with read-only contents permission, this is a new trusted-runner code-execution boundary.
    Confidence: 0.88

What I checked:

  • GitHub discussion and protected handling: The provided PR context shows authorAssociation MEMBER and an existing ClawSweeper review comment already flagged the missing Testbox path and self-hosted workflow boundary; member-authored PRs should stay open for explicit maintainer handling. (7c0e6aa8a04d)
  • Added skill references missing Testbox files: The added Crabbox skill instructs agents to run node scripts/crabbox-wrapper.mjs with .github/workflows/ci-check-testbox.yml, but those paths are not present in this repository or in the PR file list. (.agents/skills/crabbox/SKILL.md:199, 7c0e6aa8a04d)
  • Current scripts do not include the referenced wrapper: The current scripts directory contains docs, lint, perf, and triage helpers, but no scripts/crabbox-wrapper.mjs for the new skill command. (scripts, 1dfbcf67dcf3)
  • Current workflows do not include the referenced Testbox workflow: The current .github workflow set includes ci, conformance-nightly, pages, and release only; the PR adds crabbox-hydrate.yml but not ci-check-testbox.yml. (.github, 1dfbcf67dcf3)
  • New self-hosted hydrate execution boundary: The PR adds a workflow_dispatch job on self-hosted Crabbox labels that checks out a selected ref and runs pnpm install on that runner, which is a new trusted code-execution boundary. (.github/workflows/crabbox-hydrate.yml:38, 7c0e6aa8a04d)
  • CODEOWNERS changes broad automation ownership: The PR routes workflows, package files, agent skills, src, skills, agents, and CLI docs to @openclaw/openclaw-secops, which maintainers should confirm is the intended active ownership target. (.github/CODEOWNERS:5, 7c0e6aa8a04d)

Likely related people:

  • Peter Steinberger: Sampled history over package.json, workflows, dependabot, and .agents/skills points to Peter as the main current-main contributor for package and automation scaffolding, including prior workflow changes and existing Crabbox metadata ignore handling. (role: workflow/package area contributor; confidence: high; commits: 00e4c9452290, f5fa1862e01b, c89b344f45bf; files: package.json, .github/workflows/ci.yml, .agents/skills/autoreview/SKILL.md)
  • Vincent Koc: Vincent has prior merged current-main security hardening work, which is relevant context for this security-boundary setup PR beyond merely opening the branch. (role: security-adjacent contributor; confidence: medium; commits: 541742f800f3, 1a9fdabfd7a6; files: src/flows/json.ts, src/flows/runtime-support.ts, examples/flows/replay-viewer/src/lib/json-patch-plus.ts)

Codex review notes: model gpt-5.5, reasoning high; reviewed against 1dfbcf67dcf3.

@clawsweeper clawsweeper Bot added rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. P2 Normal priority bug or improvement with limited blast radius. merge-risk: 🚨 security-boundary 🚨 Merging this PR could weaken sandboxing, authorization, credentials, or sensitive data. merge-risk: 🚨 automation 🚨 Merging this PR could break CI, automerge, proof capture, label sync, or automation. labels May 22, 2026
@clawsweeper

clawsweeper Bot commented May 22, 2026

Copy link
Copy Markdown
Contributor

ClawSweeper PR egg

🔥 Warming up: real-behavior proof passed; findings, security review, or rank-up moves are still in progress.

Hatch command

Comment @clawsweeper hatch when this PR is hatchable.

Hatchability rules:

  • Merged PRs are hatchable.
  • Open PRs are hatchable when they are status: 👀 ready for maintainer look, status: 🚀 automerge armed, or labeled clawsweeper:automerge.
  • Closed unmerged PRs are hatchable only when one of those hatchable labels is still present in the durable record.
What is this egg doing here?
  • Eggs appear after the PR passes real-behavior proof. It is here for vibes, not verdicts: it does not change labels, ratings, merge decisions, or automation.
  • The shell reacts to review momentum: open follow-up work warms it up, re-review makes it wobble, and a clean final review lets it hatch.
  • Hatchability usually comes from sufficient real-behavior proof, no blocking P0/P1/P2 findings, no security attention needed, and clean correctness. A merged PR is already final, so merge makes the egg hatchable independently.
  • The hatch is seeded from this repository and PR number, so the same PR keeps the same creature; the reviewed head SHA can only change safe visual details.
  • Rarity is just collectible sparkle: 🥚 common, 🌱 uncommon, 💎 rare, ✨ glimmer, and 🌈 legendary.

@vincentkoc
vincentkoc marked this pull request as ready for review May 22, 2026 21:39
@vincentkoc
vincentkoc merged commit e0e1a3c into main May 22, 2026
15 checks passed
@vincentkoc
vincentkoc deleted the chore/setup-baseline-safe-20260522 branch May 22, 2026 21:57
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. merge-risk: 🚨 security-boundary 🚨 Merging this PR could weaken sandboxing, authorization, credentials, or sensitive data. P2 Normal priority bug or improvement with limited blast radius. rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant