Commit 56838f5
committed
build(bootstrap): make the SessionStart prover hook synchronous
Flip .claude/hooks/session-start.sh from async to synchronous so session
start blocks until Coq/Idris2/Zig are provisioned — the first prompt is
guaranteed a working prover instead of racing the background install.
The ~10-15 min Idris2 source build is paid once on a cold container;
Claude Code on the web caches the container after the hook completes, so
subsequent sessions hit the idempotent early-exits and start fast. Still
fail-soft + idempotent, so a timeout-truncated cold build just resumes on
the next session until the container is cached. The verbose build is
logged to a file; only a one-line-per-prover summary reaches the transcript.
Validated in-session: emits no async JSON; runs bootstrap to completion;
prints the prover summary; no-ops silently when CLAUDE_CODE_REMOTE is unset.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AGFqWzByua4dKbA7W7oVsL1 parent 04d3c3e commit 56838f5
1 file changed
Lines changed: 23 additions & 11 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
10 | | - | |
11 | | - | |
12 | | - | |
13 | | - | |
14 | | - | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
15 | 22 | | |
16 | 23 | | |
17 | 24 | | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | 25 | | |
22 | 26 | | |
23 | 27 | | |
24 | 28 | | |
25 | 29 | | |
26 | 30 | | |
27 | | - | |
28 | | - | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
0 commit comments