Skip to content

build(deps): refresh Go and GitHub Actions dependencies - #158

Merged
steipete merged 3 commits into
mainfrom
codex/dependency-refresh-20260801
Aug 2, 2026
Merged

build(deps): refresh Go and GitHub Actions dependencies#158
steipete merged 3 commits into
mainfrom
codex/dependency-refresh-20260801

Conversation

@steipete

@steipete steipete commented Aug 2, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • refresh every outdated module recorded in the Go manifest and lock data
  • update the runtime container to the current Alpine 3.24 stable branch
  • update CodeQL Action to the current v4.37.4 patch and actions/stale to v11
  • preserve the existing security-scan and stale-item policies
  • record the maintenance groups in the Unreleased changelog

This supersedes #155, #156, and #157. In particular, #156 targets CodeQL Action v4.37.3, but v4.37.4 was released before this sweep.

Dependency changes

  • github.com/openclaw/crawlkit: v0.14.3 → v0.14.4
  • modernc.org/sqlite: v1.54.0 → v1.55.0
  • modernc.org/libc: v1.74.3 → v1.74.4
  • github.com/mattn/go-isatty: v0.0.23 → v0.0.24
  • github.com/mattn/go-runewidth: v0.0.24 → v0.0.27
  • Alpine: 3.23 → 3.24
  • github/codeql-action: v4 → v4.37.4
  • actions/stale: v10 → v11

Go 1.26.5 was checked against the official Go downloads feed and remains current. Alpine's official latest-stable feed reports v3.24 (currently 3.24.1).

Validation

make check

Passed module verification/tidiness, gofumpt, golangci-lint, go vet, staticcheck, gosec, govulncheck, dead-code analysis, 85.1% coverage, the race suite, CLI smoke checks, and a six-platform GoReleaser snapshot.

Live proof used the real built binary with isolated XDG config/data/cache/state roots:

./bin/discrawl --json metadata
"schema_version": "crawlkit.control.v1"
"id": "discrawl"

./bin/discrawl --json status
"state": "current"
"summary": "0 messages across 0 channels"

The status run initialized and queried a fresh SQLite archive through the updated Crawlkit/modernc stack.

The branch-specific actions/stale@v11 workflow completed all three policy passes successfully: https://github.com/openclaw/discrawl/actions/runs/30730981192. No live queue item met a mutation threshold.

The fresh-head Docker job built the Alpine 3.24 image with --pull, then ran the real container's --version, --help, and bundled git --version smokes successfully: https://github.com/openclaw/discrawl/actions/runs/30731424236/job/91452409273.

AutoReview ran separately before each commit and returned no accepted/actionable findings.

@steipete
steipete requested a review from a team as a code owner August 2, 2026 03:38
@clawsweeper clawsweeper Bot added 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. 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. labels Aug 2, 2026
@clawsweeper

clawsweeper Bot commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs maintainer review before merge. Reviewed August 1, 2026, 11:59 PM ET / August 2, 2026, 03:59 UTC.

ClawSweeper review

What this changes

Refreshes Go modules, the Alpine runtime image, and CodeQL/stale GitHub Actions versions while retaining the existing workflow policy settings.

Merge readiness

⚠️ Ready for maintainer review - 5 items remain

This focused dependency refresh has strong real behavior proof and no discrete correctness defect, but it changes write-capable stale-item automation and brings in a dependency flagged by Socket for likely obfuscated code. As a collaborator-authored PR, it should remain open for an explicit maintainer supply-chain and automation-risk decision.

Priority: P3
Reviewed head: 1a1dcd5eb3d8f833f2a214bd5258894c8d9cc0bd
Owner decision: Required. See Decision needed.

Review scores

Measure Result What it means
Overall readiness 🐚 platinum hermit (4/6) The patch is focused and supported by strong live behavior proof; the remaining blocker is a maintainer supply-chain decision rather than a demonstrated correctness flaw.
Proof confidence 🦞 diamond lobster (5/6) Sufficient (live_output): The PR body and follow-up provide after-fix real-binary, fresh-container, and manually dispatched stale-workflow results; any posted logs or future artifacts should remain redacted.
Patch quality 🐚 platinum hermit (4/6) Security review found an item that needs attention.

Verification

Check Result Evidence
Real behavior Verified Sufficient (live_output): The PR body and follow-up provide after-fix real-binary, fresh-container, and manually dispatched stale-workflow results; any posted logs or future artifacts should remain redacted.
Evidence reviewed 4 items Narrow stale-policy change: The branch changes the actions/stale references to v11 while retaining existing thresholds, exemption labels, messages, operation limit, and job permissions.
Real automation and runtime proof: The PR body and follow-up comment document a manually dispatched v11 stale workflow with all three policy passes succeeding, plus fresh-container and real-binary smoke results.
Supply-chain alert: Socket reported a high-severity likely-obfuscated-code warning for the updated modernc.org/libc v1.74.4 dependency; the PR discussion has no maintainer disposition of that warning.
Findings None None.
Security Needs attention Assess the flagged modernc runtime before merge: Socket reports a high-severity likely-obfuscated-code warning for the newly resolved modernc.org/libc v1.74.4 dependency. The report may reflect generated implementation code, but the PR discussion contains no maintainer acceptance or source review.

How this fits together

Discrawl’s release container packages the Go CLI, while GitHub Actions run code scanning and periodically label or close inactive repository items. This PR updates the dependencies and action runtimes used by those build, security, and maintenance paths without changing their declared policy inputs.

flowchart LR
  A[Go module graph] --> B[CLI build and SQLite archive]
  C[Docker build arguments] --> D[Runtime container]
  E[Stale schedule] --> F[Write-capable cleanup action]
  G[CodeQL schedule] --> H[Security analysis]
  B --> D
  F --> I[Issue and PR labels or closures]
  H --> J[Code scanning results]
Loading

Decision needed

Question Recommendation
Should the repository accept modernc.org/libc v1.74.4 despite Socket’s obfuscated-code warning and merge the validated actions/stale@v11 upgrade that retains write permissions? Review and accept the alert: Confirm the Socket warning is expected for the generated modernc runtime, record the accepted risk, and merge the validated refresh.

Why: The patch and real behavior proof support the intended update, but accepting a flagged dependency and a third-party action capable of labeling or closing repository items requires repository security and automation-risk judgment.

Before merge

  • Resolve security concern: Assess the flagged modernc runtime before merge - Socket reports a high-severity likely-obfuscated-code warning for the newly resolved modernc.org/libc v1.74.4 dependency. The report may reflect generated implementation code, but the PR discussion contains no maintainer acceptance or source review.
  • Resolve merge risk (P1) - actions/stale@v11 continues to run with issue and pull-request write permissions, so an upstream behavioral change could alter automated cleanup outcomes despite unchanged YAML inputs.
  • Resolve merge risk (P1) - Socket flags the newly resolved modernc.org/libc v1.74.4 as likely obfuscated; accepting that dependency graph needs an explicit maintainer supply-chain assessment.
  • Complete next step (P2) - A maintainer must accept or reject the concrete Socket supply-chain warning and write-capable action upgrade; there is no mechanical repair identified.

Findings

  • [high] Assess the flagged modernc runtime before merge — go.mod:55
Agent review details

Security

Needs attention: The diff changes a write-capable GitHub Action and resolves a dependency flagged by Socket for likely obfuscated code, so a maintainer must explicitly assess those supply-chain risks.

Review metrics

Metric Value Why it matters
Patch scope 6 files affected; 26 added, 21 removed The branch is a focused version refresh rather than a broad code change.
Workflow surface 2 workflow files changed One CodeQL action and three write-capable stale-action invocations are updated while their settings remain unchanged.
Recorded live checks 3 stale passes and 3 container smoke commands The PR body and follow-up comment provide after-fix evidence for the changed automation and runtime image.

Root-cause cluster

Relationship: canonical
Canonical: #158
Summary: This PR consolidates overlapping dependency bumps from three still-open pull requests while also including related Go-module and Alpine updates, making it the broader candidate rather than a strict duplicate.

Members:

Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything.

Merge-risk options

Maintainer options:

  1. Accept the reviewed automation and dependency risk (recommended)
    After a maintainer confirms the Socket warning is acceptable for modernc.org/libc, merge the validated v11 stale-action and dependency refresh.
  2. Split the flagged dependency update
    Land only the reviewed workflow and image upgrades, and hold the Crawlkit/modernc graph until its supply-chain alert is resolved or accepted.
  3. Pause until a security disposition exists
    Keep this PR open without merging while maintainers decide the acceptable policy for the flagged runtime dependency.

Technical review

Best possible solution:

Merge the combined refresh only after a maintainer reviews and records a disposition for the Socket alert and accepts the write-capable stale-action upgrade supported by the recorded branch dispatch.

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

Not applicable: this PR is dependency and workflow maintenance rather than a reported runtime defect. The contributor nevertheless supplied real branch-run evidence for the updated binary, container, and stale workflow.

Is this the best way to solve the issue?

Unclear: the combined refresh is mechanically narrow and validated, but merging the flagged modernc.org/libc update requires an explicit supply-chain decision rather than a purely technical judgment.

AGENTS.md: not found in the target repository.

Codex review notes: model internal, reasoning high; reviewed against 8141387a4f95.

Labels

Label changes:

  • add merge-risk: 🚨 security-boundary: The updated dependency graph has a high-severity Socket supply-chain warning, and the changed stale action executes with repository write permissions.
  • add proof: sufficient: Contributor real behavior proof is sufficient. The PR body and follow-up provide after-fix real-binary, fresh-container, and manually dispatched stale-workflow results; any posted logs or future artifacts should remain redacted.

Label justifications:

  • P3: This is a routine dependency and automation-maintenance update with no reported user-facing regression.
  • merge-risk: 🚨 automation: The branch upgrades the scheduled stale action that can label and close issues and pull requests.
  • merge-risk: 🚨 security-boundary: The updated dependency graph has a high-severity Socket supply-chain warning, and the changed stale action executes with repository write permissions.
  • rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🦞 diamond lobster 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 PR body and follow-up provide after-fix real-binary, fresh-container, and manually dispatched stale-workflow results; any posted logs or future artifacts should remain redacted.
  • proof: sufficient: Contributor real behavior proof is sufficient. The PR body and follow-up provide after-fix real-binary, fresh-container, and manually dispatched stale-workflow results; any posted logs or future artifacts should remain redacted.

Evidence

Security concerns:

  • [high] Assess the flagged modernc runtime before merge — go.mod:55
    Socket reports a high-severity likely-obfuscated-code warning for the newly resolved modernc.org/libc v1.74.4 dependency. The report may reflect generated implementation code, but the PR discussion contains no maintainer acceptance or source review.
    Confidence: 0.93

What I checked:

  • Narrow stale-policy change: The branch changes the actions/stale references to v11 while retaining existing thresholds, exemption labels, messages, operation limit, and job permissions. (.github/workflows/stale.yml:18, 1a1dcd5eb3d8)
  • Real automation and runtime proof: The PR body and follow-up comment document a manually dispatched v11 stale workflow with all three policy passes succeeding, plus fresh-container and real-binary smoke results. (.github/workflows/stale.yml:18, 8a7d7d9ffa3a)
  • Supply-chain alert: Socket reported a high-severity likely-obfuscated-code warning for the updated modernc.org/libc v1.74.4 dependency; the PR discussion has no maintainer disposition of that warning. (go.mod:55, 1a1dcd5eb3d8)
  • Current-main ownership provenance: The current workflow, container, and module baseline were introduced by the shared-pipeline migration, which shipped as v0.11.10; this identifies the established surface the PR updates. (.github/workflows/stale.yml:12, 4f3017c8188d)

Likely related people:

  • steipete: Current-main history and blame attribute the shared-pipeline baseline to Peter Steinberger, and this collaborator authored the proposed dependency, workflow, and Alpine updates. (role: introduced and recently maintained the workflow baseline; confidence: high; commits: 4f3017c8188d, fcd79ff009da, 8a7d7d9ffa3a; files: .github/workflows/stale.yml, .github/workflows/codeql.yml, Dockerfile)

Rank-up moves

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

  • Record a maintainer disposition for Socket’s modernc.org/libc warning before merge.

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 (1 earlier review cycle)
  • reviewed 2026-08-02T03:41:47.619Z sha 8a7d7d9 :: needs maintainer review before merge. :: none

@steipete

steipete commented Aug 2, 2026

Copy link
Copy Markdown
Collaborator Author

Live proof for the actions/stale@v11 major upgrade completed successfully on this branch.

Before dispatch, the live queue had zero open issues and every open PR was at most two days old, below all 14/27/30-day mutation thresholds. I then manually dispatched the branch's Stale workflow at 8a7d7d9.

Run: https://github.com/openclaw/discrawl/actions/runs/30730981192

All three v11 steps completed successfully:

Mark stale unassigned issues and pull requests  success
Mark stale assigned issues                     success
Mark stale assigned pull requests              success

No queue item was eligible for a label or closure. This provides the missing live behavior proof for the write-capable major action update without altering repository policy.

@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedgithub.com/​openclaw/​crawlkit@​v0.14.3 ⏵ v0.14.489100100100100

View full report

@socket-security

Copy link
Copy Markdown

Warning

Review the following alerts detected in dependencies.

According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Warn High
Obfuscated code: golang modernc.org/libc is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: ?golang/github.com/openclaw/crawlkit@v0.14.4golang/modernc.org/libc@v1.74.4

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore golang/modernc.org/libc@v1.74.4. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: golang modernc.org/libc is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: ?golang/github.com/openclaw/crawlkit@v0.14.4golang/modernc.org/libc@v1.74.4

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore golang/modernc.org/libc@v1.74.4. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

@clawsweeper clawsweeper Bot added proof: sufficient Contributor real behavior proof is sufficient. merge-risk: 🚨 security-boundary 🚨 Merging this PR could weaken sandboxing, authorization, credentials, or sensitive data. labels Aug 2, 2026
@steipete
steipete merged commit 48b28c6 into main Aug 2, 2026
17 checks passed
@steipete

steipete commented Aug 2, 2026

Copy link
Copy Markdown
Collaborator Author

Landed as 48b28c60866c95e4c106ce998e0c227998ed185e.

Verification before landing:

  • make check passed module verification/tidiness, gofumpt, golangci-lint, vet, staticcheck, gosec, govulncheck, coverage (85.1%), race tests, CLI smoke tests, and the six-platform GoReleaser snapshot.
  • The real built CLI ran against isolated XDG roots and reported crawlkit.control.v1 metadata plus an empty archive status.
  • The exact-head Docker workflow built with --pull and ran the container's version/help surfaces successfully.
  • A manual actions/stale@v11 dispatch completed successfully without unintended queue mutations.
  • All exact-head CI, CodeQL, secret-scanning, and Socket checks were successful.
  • Final AutoReview on the exact branch diff was clean with no accepted/actionable finding.

Local Docker was unavailable; the exact-head Docker CI run supplied the container proof.

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. 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