Skip to content

fix(vale): skip gracefully when no Vale binary and no Docker daemon#7472

Open
jstirnaman wants to merge 1 commit into
masterfrom
claude/vale-tooling-evaluation-qsvlc1
Open

fix(vale): skip gracefully when no Vale binary and no Docker daemon#7472
jstirnaman wants to merge 1 commit into
masterfrom
claude/vale-tooling-evaluation-qsvlc1

Conversation

@jstirnaman

Copy link
Copy Markdown
Contributor

Summary

Partially addresses #7470 (Problem 1: Vale can't run in sandboxed agent sessions). Problem 2 (yarn lint dirtying assets/jsconfig.json) is not addressed here.

In sandboxed agent sessions, neither execution path in .ci/vale/vale.sh works: the Docker daemon is unavailable and binary downloads from GitHub releases are blocked by the session proxy. The hard failure forced git commit --no-verify, which bypasses all pre-commit hooks instead of just Vale. Full evaluation and verification details: #7470 (comment).

Changes:

  • .ci/vale/vale.sh — check for a running Docker daemon (docker info), not just the CLI. When neither a v3+ binary nor a daemon is available, warn and exit 0 so other hooks still run. VALE_STRICT=1 turns the skip into a failure.
  • .github/workflows/pr-vale-check.yml — set VALE_STRICT=1 so CI (the authoritative gate) can never skip silently; update the release download URL to the renamed vale-cli org (the errata-ai redirect still works today).
  • lefthook.yml — point clustered-lint at content/influxdb3/clustered/.vale.ini instead of the cloud-serverless config (copy-paste error found during config review).
  • .agents/skills/vale-linting/SKILL.md, DOCS-TESTING.md — document the sandbox limitation, the skip behavior, and the "don't use --no-verify" guidance.

Verified in an affected sandbox: direct invocation skips with a warning (exit 0), VALE_STRICT=1 fails (exit 1), and a real commit exercised the new path — lint-instructions skipped Vale with a warning while all other hooks ran normally.

Checklist

🤖 Generated with Claude Code

https://claude.ai/code/session_01Dwz2V5JLtbHjeDhKdusjw2


Generated by Claude Code

In sandboxed agent sessions (issue #7470) neither execution path in
.ci/vale/vale.sh works: the Docker daemon is unavailable and binary
downloads from GitHub releases are blocked by the session proxy. The
hard failure forced `git commit --no-verify`, bypassing all pre-commit
hooks instead of just Vale.

- vale.sh: check for a running Docker daemon (docker info), not just
  the CLI; when neither a v3+ binary nor a daemon is available, warn
  and exit 0 so other hooks still run. VALE_STRICT=1 turns the skip
  into a failure.
- pr-vale-check.yml: set VALE_STRICT=1 so CI (the authoritative gate)
  can never skip silently, and update the release download URL to the
  renamed vale-cli org (errata-ai redirect still works today).
- lefthook.yml: point clustered-lint at the clustered .vale.ini
  instead of the cloud-serverless config (copy-paste error).
- Document the sandbox limitation and skip behavior in the
  vale-linting skill and DOCS-TESTING.md.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Dwz2V5JLtbHjeDhKdusjw2
@jstirnaman jstirnaman requested a review from a team as a code owner July 11, 2026 12:29
@jstirnaman jstirnaman requested review from sanderson and removed request for a team July 11, 2026 12:29
@github-actions

Copy link
Copy Markdown
Contributor

Vale Style Check Results

Metric Count
Errors 0
Warnings 0

Check passed

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.

2 participants