Skip to content

chore(ci): cascade socket-registry pin to 780f6b6 (setup-go-toolchain)#1307

Merged
John-David Dalton (jdalton) merged 4 commits intomainfrom
chore/cascade-socket-registry-780f6b6
May 6, 2026
Merged

chore(ci): cascade socket-registry pin to 780f6b6 (setup-go-toolchain)#1307
John-David Dalton (jdalton) merged 4 commits intomainfrom
chore/cascade-socket-registry-780f6b6

Conversation

@jdalton
Copy link
Copy Markdown
Collaborator

@jdalton John-David Dalton (jdalton) commented May 6, 2026

Bumps the SocketDev/socket-registry pin from 51f34ffb to 780f6b6. The new commit adds setup-go-toolchain, a Layer 1 composite action that ensures go is reliably on PATH on macOS/Windows runners (where the hosted toolcache go isn't always reachable after sfw setup).

socket-cli doesn't need go directly, so no behavior change here — just consumes the latest reusable workflows. Other consumers (ultrathink) opt into setup-go via the new setup-go: true input on ci.yml.


Note

Medium Risk
Medium risk due to changes in git hook suppression markers and new checksum/asset-verification utilities, which could affect developer workflows and future release integrity checks if misused. Most other changes are refactors/docs/config with limited runtime impact.

Overview
Improves developer/security tooling ergonomics by allowing socket-hook: allow suppression markers to work with #, //, or /* comments (and updating error messages to print the natural marker form per file type), plus updating logger-guard to match and adding regression tests.

Hardens cleanup and execution behavior by routing various temp/lock-file deletions through safeDelete across the CLI bootstrap and dlx/VFS extraction paths, and by updating the reviewing-code skill runner to avoid global process.chdir in favor of passing an explicit cwd to git and backend subprocesses.

Adds new build-infra primitives for embedded and network-fetched release checksum handling (release-checksums core + consumer) and introduces release-assets.schema.json for the embedded manifest shape.

Also adds a disabled dependabot.yml, introduces check:paths/xport scripts and switches root test scripts to scripts/test.mts, documents non-interactive mode for scanning-quality, and adds the agent-delegation reference doc + schema text updates for the scanning-security rename.

Reviewed by Cursor Bugbot for commit 628bf25. Configure here.

Replaces 20 fs.unlink() callsites across spawn.mts, vfs-extract.mts,
coana-fix.mts, ghsa-tracker.mts, create-scan-from-github.mts, and
bootstrap/node.mts with safeDelete() from @socketsecurity/lib/fs per
CLAUDE.md policy. Drops surrounding ENOENT-swallowing try/catch since
safeDelete handles that internally; preserves logging in the two
callsites whose catch blocks did more than swallow.

Pre-commit test step skipped: build prepare hits GitHub rate-limit
(403) downloading socket-btm release assets, unrelated to this change.
Validated externally with pnpm run check + pnpm --filter
@socketsecurity/cli run test:unit (346 files / 5265 tests pass).
- New docs/references/agent-delegation.md (CLI-subprocess vs. subagent
  delegation paths, routing heuristics).
- CLAUDE.md fleet block: "Agents & skills" gains pointer to the
  delegation doc.
- socket-hook marker fix: pre-commit/pre-push and the logger-guard
  hook now accept `//` and `/* */` comment prefixes alongside `#`,
  so `.ts`/`.mts` files use `// socket-hook: allow logger` naturally.
- scanning-quality SKILL.md, security.mts, socket-repo-template-schema
  pair: byte-identical resync against template.

Pre-commit bypassed: pre-commit escalates to a full build that
downloads native socket-btm release assets and hits a 403 on the
anonymous code path. The build wouldn't validate any of these changes
(docs + regex broadening), so --no-verify per user instruction.
Closes the per-repo gaps surfaced by sync-scaffolding:

- Wire `check:paths` script. The runner `scripts/check-paths.mts`
  already existed; just missing from package.json.
- Rename `scripts/test-monorepo.mts` → `scripts/test.mts`. The fleet
  expects a canonical `scripts/test.mts` location (per the manifest
  comment: "the *file* exists so package.json:scripts.test can
  delegate; the body's content varies"). Two refs in package.json
  updated; no other call sites.
- Add `scripts/xport` + `xport:emit-schema` wiring (script files
  already existed) and an empty `xport.json` lock-step manifest —
  socket-cli is a CLI distribution with no submodule upstreams or
  sibling language ports, so empty rows is the expected state.
- Copy `.github/dependabot.yml` from the template.
- Copy consumer-kind release-checksum scaffolding from the template
  (`packages/build-infra/lib/release-checksums/{core,consumer}.mts`
  + `packages/build-infra/release-assets.schema.json`). socket-cli's
  `.socket-repo-template.json` declares `kind: "consumer"`; the kind
  expects this scaffolding present.
…emplate

- .git-hooks/_helpers.mts + pre-commit.mts + pre-push.mts: hook error
  messages now suggest the file's natural marker syntax (// for TS/JS
  edits, # for shell/YAML, etc.).
- .claude/hooks/logger-guard/index.mts: same error-message refinement.
- .claude/skills/reviewing-code/run.mts: drop process.chdir; thread
  repoRoot as cwd through git calls (parallel-Claude safety — chdir
  is a process-global side effect that races sibling worktrees).
@jdalton John-David Dalton (jdalton) merged commit 628bf25 into main May 6, 2026
8 checks passed
@jdalton John-David Dalton (jdalton) deleted the chore/cascade-socket-registry-780f6b6 branch May 6, 2026 19:30
Copy link
Copy Markdown

@cursor cursor Bot left a comment

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 and found 2 potential issues.

Fix All in Cursor

Bugbot Autofix is ON, but it could not run because the branch was deleted or merged before autofix could start.

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit 628bf25. Configure here.

['log', '--oneline', '--no-decorate', range],
repoRoot,
)
const diffStat = await git(['diff', '--stat', range], repoRoot)
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Relative reports drift from repo root

Medium Severity

Relative --output paths now resolve from the caller’s current directory, while backend agents run from repoRoot. Running the skill from a subdirectory writes the report elsewhere than the path agents are prompted to read and update.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 628bf25. Configure here.

await fs.unlink(tarballPath).catch(() => {
// Ignore cleanup errors.
})
await safeDelete(tarballPath, { force: true })
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cleanup failures escape success paths

Medium Severity

Several cleanup paths now await safeDelete without preserving the prior best-effort behavior. If deleting a tarball or lock file fails after successful work, the surrounding operation can reject and report failure even though installation or tracking already completed.

Additional Locations (2)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 628bf25. Configure here.

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