From 17a36cc83980d278a8cab5132bf14de731b352ca Mon Sep 17 00:00:00 2001 From: Peter Stone Date: Mon, 16 Mar 2026 19:46:44 +0000 Subject: fix: repair test regressions and add pre-commit/pre-push verification gates Fix four pre-existing bugs exposed after resolving a build failure: - sandboxCloneSource: accept any URL scheme for origin remote (was filtering out https://) - setupSandbox callers: fix := shadow variable so sandboxDir is set on BlockedError - parseGeminiStream: parse result lines to return execution errors and cost - TestElaborateTask_InvalidJSONFromClaude: stub Gemini fallback so test is hermetic Add verification infrastructure: - scripts/verify: runs go build + go test -race, used by hooks and deploy - scripts/hooks/pre-commit: blocks commits that don't compile - scripts/hooks/pre-push: blocks pushes where tests fail - scripts/install-hooks: symlinks version-controlled hooks into .git/hooks/ - scripts/deploy: runs scripts/verify before building the binary Co-Authored-By: Claude Sonnet 4.6 --- scripts/hooks/pre-commit | 7 +++++++ scripts/hooks/pre-push | 6 ++++++ 2 files changed, 13 insertions(+) create mode 100644 scripts/hooks/pre-commit create mode 100644 scripts/hooks/pre-push (limited to 'scripts/hooks') diff --git a/scripts/hooks/pre-commit b/scripts/hooks/pre-commit new file mode 100644 index 0000000..faf91fc --- /dev/null +++ b/scripts/hooks/pre-commit @@ -0,0 +1,7 @@ +#!/bin/bash +# pre-commit — Reject commits that don't compile. +set -euo pipefail +REPO_DIR="$(git rev-parse --show-toplevel)" +echo "pre-commit: go build ./..." +cd "${REPO_DIR}" +go build ./... diff --git a/scripts/hooks/pre-push b/scripts/hooks/pre-push new file mode 100644 index 0000000..d851332 --- /dev/null +++ b/scripts/hooks/pre-push @@ -0,0 +1,6 @@ +#!/bin/bash +# pre-push — Reject pushes where tests fail. +set -euo pipefail +REPO_DIR="$(git rev-parse --show-toplevel)" +echo "pre-push: running scripts/verify..." +exec "${REPO_DIR}/scripts/verify" -- cgit v1.2.3