gitignore the loxodonta activity chains at the repo root - #7
Merged
Merged
Conversation
The hook writes session chains into receipts/, and loxodonta drops a
self-ignoring receipts/.gitignore ("*" plus "!.gitignore") when it creates
the directory. That marker is deliberately un-ignored so it can be
committed, which is why receipts/ showed up as untracked in every git
status even though the chains themselves were already safe.
A root-level rule is the one that survives the marker being deleted, and
these are agent session records: they should never reach a public repo by
any path.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
One line in
.gitignore, plus the comment explaining why it is there twice.What was actually happening
The loxodonta
PostToolUsehook writes per-session chains intoreceipts/, and loxodonta drops a self-ignoringreceipts/.gitignore(*plus!.gitignore) when it creates the directory. That marker is deliberately un-ignored so it can be committed — which is whyreceipts/showed up as untracked in everygit statuseven though the chains themselves were already safe.So this was never a leak risk. It was a permanently dirty
git status, which is its own hazard: it is exactly the noise that makes agit add -Asomewhere down the line stop being obviously wrong.Why root-level rather than committing the marker
Committing
receipts/.gitignorewould also silence the status line, and it is arguably what loxodonta intends. The root-level rule was chosen instead because it survives the marker being deleted, and because these are agent session records — they should never reach a public repo by any path, including one where the in-directory marker went missing.Verification
A test chain file dropped into
receipts/produces nogit statusentry.Follow-up to #6.
🤖 Generated with Claude Code