chore(agents): address review on the session-start hook
Three findings from the review, plus a bug the first one uncovered. Sync on every session, not only when the database is missing. Cloud containers reuse a cached workspace, so "already present" does not mean "still current" — the two runs in testing came back 169 and then 168 issues, which is precisely the drift that makes a skipped sync serve stale data. Installing bd and warming the build still check first, being genuinely one-time. Making the sync unconditional exposed a worse failure than the one it fixed. `bd init` exits non-zero when the remote is unreachable but still leaves a .beads/embeddeddolt behind — an empty database. The old check tested only for that directory, so a failed sync swapped an empty tracker over a good one and logged success. Verified against a bogus remote: the good tracker was destroyed. The sync now checks bd's exit status and confirms the result actually carries issues before installing it, and the swap parks the old database in the temp directory until the move succeeds, so a failure keeps the previous tracker rather than leaving none. Re-verified: the 168-issue tracker survives a failed sync and the warning says so. An empty remote tracker is indistinguishable from a failed clone here. Keeping what we already have is the safe way to be wrong. The bd installer pipeline redirected only `bash`, so a curl failure (DNS, 403, TLS) left /tmp/bd-install.log empty — exactly when it is read. The whole pipeline is redirected now. Also ignore *.gate.lock*: bd drops .beads.gate.lock beside .beads/ on every run, which otherwise shows up as untracked noise in every session. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DyHK7L8S1XDX3EihTnSKaX
This commit is contained in:
@@ -33,3 +33,6 @@ proptest-regressions/
|
||||
# ...except the checked-in seed knowledge base, which agents load at session start.
|
||||
prolog-sessions/*
|
||||
!prolog-sessions/kb.pl
|
||||
|
||||
# Beads runtime locks (bd creates these next to .beads/)
|
||||
*.gate.lock*
|
||||
|
||||
Reference in New Issue
Block a user