feat(build): 🔨 version bump tooling, browser endpoint env var, and docs#229
Merged
justapithecus merged 6 commits intomainfrom Mar 14, 2026
Merged
Conversation
Automates the 8-step manual version bump checklist into a single `task version:bump V=X.Y.Z` command. Updates all lockstep targets (Go canonical, SDK package.json, CONTRACT_VERSION, golden fixtures, Go test fixtures, CLI_PARITY.json, container image tags), rebuilds SDK and executor bundle, and verifies lockstep. CHANGELOG promotion remains manual (hard to automate well). - Add version:bump task to Taskfile.yaml with inline summary docs - Simplify AGENTS.md release checklist to reference the task Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…th gate Two improvements for external browser pool deployments: - Bind QUARRY_BROWSER_ENDPOINT env var to --browser-ws-endpoint flag, making container Compose configs more natural (no YAML config mount needed) - Add pre-run health gate: when an external browser endpoint is configured, verify reachability via /json/version before launching the executor. Catches "pool is down" early with a clear error instead of a cryptic executor crash after a full process startup. Export HealthCheckBrowser (was healthCheck) for use from both the transparent reuse path and the new pre-run gate. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- container.md: add multi-crawler shared browser pool Compose example, decision matrix for deployment patterns, stealth/cross-host limitations - container.md: update slim image section to use QUARRY_BROWSER_ENDPOINT env var and document pre-run health gate behavior - cli.md: expand browser reuse section with transparent vs explicit modes, env var alternative, health check behavior, link to container guide - configuration.md: add QUARRY_BROWSER_ENDPOINT to flag and env var tables - CONTRACT_CLI.md: document QUARRY_BROWSER_ENDPOINT and health gate semantics - PUBLIC_API.md: add env var column, health check note, container guide link - CLI_PARITY.json: add envVar field to browser-ws-endpoint - README.md: add Container Deployment link to Key Concepts Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
HealthCheckBrowser() hardcoded 127.0.0.1 for the /json/version probe, which breaks container topologies where the browser is on a different host (e.g., ws://chrome:9222, ws://browser-pool:3000). Now extracts the hostname from the WebSocket URL so the health check reaches the actual browser endpoint. Also extend version:bump to cover README.md, PUBLIC_API.md, SUPPORT.md, and docs/IMPLEMENTATION_PLAN.md — these contain hardcoded version strings in install commands, image tags, and section headings that were previously missed during version bumps. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
HealthCheckBrowser() hardcoded http:// for the /json/version probe and defaulted missing ports to 9222, breaking wss:// endpoints. Now maps ws→http, wss→https and uses u.Host directly (preserves explicit port, falls back to scheme default when omitted). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…p.sh The inline shell block in Taskfile.yaml was too large for a YAML file. Extract to a standalone script; the Taskfile task now just calls it and chains the rebuild/verify steps. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
5 tasks
justapithecus
added a commit
that referenced
this pull request
Mar 14, 2026
## Summary Bump lockstep version 0.13.1 → 0.13.2 across all targets, promote CHANGELOG, and include review fixes from #229. ## Highlights - **Version bump**: All 17 lockstep targets updated via `task version:bump V=0.13.2` — Go canonical, SDK package.json, CONTRACT_VERSION, golden fixtures, Go test fixtures, CLI_PARITY.json, container image tags, executor bundle, and public-facing docs - **Browser health gate fix**: Pre-run health check downgraded from hard-fail to warn-and-continue — no longer false-rejects tokenized or path-prefixed external browser WS endpoints - **macOS portability**: Replaced GNU-specific `grep -P` and `sed -i` in `scripts/version-bump.sh` and `Taskfile.yaml` with POSIX-compatible alternatives - **CHANGELOG promoted**: `[Unreleased]` entries moved to `[0.13.2] - 2026-03-14` ## Test plan - [x] `task version:lockstep` — Go 0.13.2 == SDK 0.13.2 - [x] Full Go test suite passes (all packages) - [x] SDK tests pass (287/287) - [x] `bash -n scripts/version-bump.sh` — syntax check passes - [ ] CI passes 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds automated lockstep version bumping, the
QUARRY_BROWSER_ENDPOINTenvironment variable for container-native browser pool configuration, a pre-run health gate for external browsers, and comprehensive multi-crawler deployment documentation. Closes #227.Highlights
task version:bump V=X.Y.Z— single command updates all 7+ lockstep version targets (Go canonical, SDK package.json, CONTRACT_VERSION, golden fixtures, Go test fixtures, CLI_PARITY.json, container image tags), rebuilds SDK and executor bundle, and verifies lockstep. AGENTS.md release checklist simplified to reference the task.QUARRY_BROWSER_ENDPOINTenv var — binds to--browser-ws-endpointflag via urfave/cliEnvVars. Container Compose configs can now set browser endpoints via environment instead of mounting YAML config files./json/versionbefore launching the executor. Fails fast with a clear error instead of a cryptic executor crash.Test plan
task version:bumpround-trips cleanly (99.99.99 → 0.13.1, zero drift)QUARRY_BROWSER_ENDPOINT=ws://... quarry runconnects to external browser🤖 Generated with Claude Code