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. // computeJSONLHashForHook computes a hash of the JSONL file contents for hook state tracking.
// This is a wrapper around computeJSONLHash that handles missing files gracefully. // This is a wrapper around computeJSONLHash that handles missing files gracefully.
func computeJSONLHashForHook(jsonlPath string) (string, error) { func computeJSONLHashForHook(jsonlPath string) (string, error) {
hash, err := computeJSONLHashForHook(jsonlPath) hash, err := computeJSONLHash(jsonlPath)
if err != nil { if err != nil {
if os.IsNotExist(err) { if os.IsNotExist(err) {
return "", nil return "", nil

View File

@@ -1,10 +1,10 @@
#!/usr/bin/env sh #!/usr/bin/env sh
# bd-shim v1 # bd-shim v1
# bd-hooks-version: 0.47.2 # bd-hooks-version: 0.48.0
# #
# bd (beads) post-checkout hook - thin shim # 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 # the actual hook logic. This pattern ensures hook behavior is always
# in sync with the installed bd version - no manual updates needed. # 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 exit 0
fi fi
exec bd hooks run post-checkout "$@" exec bd hook post-checkout "$@"

View File

@@ -1,10 +1,10 @@
#!/usr/bin/env sh #!/usr/bin/env sh
# bd-shim v1 # bd-shim v1
# bd-hooks-version: 0.47.2 # bd-hooks-version: 0.48.0
# #
# bd (beads) post-merge hook - thin shim # 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 # the actual hook logic. This pattern ensures hook behavior is always
# in sync with the installed bd version - no manual updates needed. # 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 exit 0
fi fi
exec bd hooks run post-merge "$@" exec bd hook post-merge "$@"

View File

@@ -1,10 +1,10 @@
#!/usr/bin/env sh #!/usr/bin/env sh
# bd-shim v1 # bd-shim v1
# bd-hooks-version: 0.47.2 # bd-hooks-version: 0.48.0
# #
# bd (beads) pre-commit hook - thin shim # 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 # the actual hook logic. This pattern ensures hook behavior is always
# in sync with the installed bd version - no manual updates needed. # 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 exit 0
fi fi
exec bd hooks run pre-commit "$@" exec bd hook pre-commit "$@"

View File

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

View File

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