fix(hooks): Route hook templates to Dolt-aware implementations

- Fix infinite recursion bug in computeJSONLHashForHook (was calling
  itself instead of computeJSONLHash)
- Update pre-commit, post-merge, post-checkout templates to use
  `bd hook <name>` instead of `bd hooks run <name>`, routing to the
  Dolt-aware implementations in hook.go
- Update all hook template versions to 0.48.0 for consistency

The hook infrastructure added in 15d74a9a had a critical bug where
the hash computation function recursed infinitely, and the templates
still pointed to the old hook implementations in hooks.go instead
of the new Dolt-aware ones in hook.go.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
onyx
2026-01-16 12:44:10 -08:00
committed by gastown/crew/dennis
parent d05f7cee8f
commit fc19a94ad9
6 changed files with 12 additions and 12 deletions

View File

@@ -129,7 +129,7 @@ func saveExportState(beadsDir, worktreeRoot string, state *ExportState) error {
// computeJSONLHashForHook computes a hash of the JSONL file contents for hook state tracking.
// This is a wrapper around computeJSONLHash that handles missing files gracefully.
func computeJSONLHashForHook(jsonlPath string) (string, error) {
hash, err := computeJSONLHashForHook(jsonlPath)
hash, err := computeJSONLHash(jsonlPath)
if err != nil {
if os.IsNotExist(err) {
return "", nil

View File

@@ -1,10 +1,10 @@
#!/usr/bin/env sh
# bd-shim v1
# bd-hooks-version: 0.47.2
# bd-hooks-version: 0.48.0
#
# bd (beads) post-checkout hook - thin shim
#
# This shim delegates to 'bd hooks run post-checkout' which contains
# This shim delegates to 'bd hook post-checkout' which contains
# the actual hook logic. This pattern ensures hook behavior is always
# in sync with the installed bd version - no manual updates needed.
@@ -14,4 +14,4 @@ if ! command -v bd >/dev/null 2>&1; then
exit 0
fi
exec bd hooks run post-checkout "$@"
exec bd hook post-checkout "$@"

View File

@@ -1,10 +1,10 @@
#!/usr/bin/env sh
# bd-shim v1
# bd-hooks-version: 0.47.2
# bd-hooks-version: 0.48.0
#
# bd (beads) post-merge hook - thin shim
#
# This shim delegates to 'bd hooks run post-merge' which contains
# This shim delegates to 'bd hook post-merge' which contains
# the actual hook logic. This pattern ensures hook behavior is always
# in sync with the installed bd version - no manual updates needed.
@@ -16,4 +16,4 @@ if ! command -v bd >/dev/null 2>&1; then
exit 0
fi
exec bd hooks run post-merge "$@"
exec bd hook post-merge "$@"

View File

@@ -1,10 +1,10 @@
#!/usr/bin/env sh
# bd-shim v1
# bd-hooks-version: 0.47.2
# bd-hooks-version: 0.48.0
#
# bd (beads) pre-commit hook - thin shim
#
# This shim delegates to 'bd hooks run pre-commit' which contains
# This shim delegates to 'bd hook pre-commit' which contains
# the actual hook logic. This pattern ensures hook behavior is always
# in sync with the installed bd version - no manual updates needed.
@@ -16,4 +16,4 @@ if ! command -v bd >/dev/null 2>&1; then
exit 0
fi
exec bd hooks run pre-commit "$@"
exec bd hook pre-commit "$@"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env sh
# bd-shim v1
# bd-hooks-version: 0.47.2
# bd-hooks-version: 0.48.0
#
# bd (beads) pre-push hook - thin shim
#

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env sh
# bd-shim v1
# bd-hooks-version: 0.41.0
# bd-hooks-version: 0.48.0
#
# bd (beads) prepare-commit-msg hook - thin shim
#