Add Claude Code web SessionStart hook (canonical Tap House setup)#4
Merged
Conversation
Fresh web-session containers clone bare: no submodules, no pre-commit hook — so commits run unformatted and the clang-format CI gate fails on code a local clone would have fixed at commit time (exactly what happened on the tap.tune~ PR). The hook closes the gap at session start: recursive submodule init, pre-commit install against the repo's canonical pinned config, and a hook-environment warm so the container snapshot caches the pinned clang-format. Web-only (CLAUDE_CODE_REMOTE guard), synchronous, idempotent. Candidate for the taphouse sync set so the whole Tap family carries the same hook. .gitignore now ignores .claude/* except the checked-in settings and hooks. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BuUawafae7RR2ySWabuJcs
The design discipline (fixed numeric contracts, golden double model + float32 profile, real-time-safe construction, plain hot loops as backend seams, published-literature-only IP policy, honest limits), the style gates (pre-commit + the web SessionStart hook; clang-tidy as a second compiler), build/test conventions including the oracle patterns, the capi/notebook verification layer, an adding-a-primitive checklist, and the consumer pin flow. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BuUawafae7RR2ySWabuJcs
TapHouse has adopted the hook into its sync set; this re-sync updates the header to the canonical provenance wording so the copy is byte-identical and passes the drift guard once the TapHouse tag advances past v4. No functional change. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BuUawafae7RR2ySWabuJcs
v5 canonicalizes the Claude Code web SessionStart hook (tap/TapHouse#4 merged); this branch already carries the synced hook, so the v5 drift guard — which now covers it — passes by construction. Both the reusable workflow ref and the comparison ref move together. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BuUawafae7RR2ySWabuJcs
The style workflow references taphouse@v5, which did not exist when the ref bump was pushed; this empty commit re-triggers the runs now that the tag is live. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BuUawafae7RR2ySWabuJcs
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.
Fresh Claude Code web-session containers clone the repo bare — no submodules, no pre-commit hook installed — so
git commitruns unformatted and the clang-format CI gate fails on code a local clone would have fixed at commit time (exactly what happened on tap/TapTools-Max#56). This hook closes the gap at session start:pre-commitinstall against the repo's canonical pinned config (.pre-commit-config.yaml)Web-only (
CLAUDE_CODE_REMOTEguard), synchronous, idempotent..gitignorenow ignores.claude/*except the checked-insettings.jsonandhooks/. Validated by running the hook,pre-commit run clang-formaton a source file, and a single ctest case.The same file lands in tap/TapTools and tap/TapTools-Max (on #56); it's written as a candidate for the taphouse sync set so the whole Tap family can carry the identical hook.
🤖 Generated with Claude Code
https://claude.ai/code/session_01BuUawafae7RR2ySWabuJcs
Generated by Claude Code