Skip to content

gitignore the loxodonta activity chains at the repo root - #7

Merged
Acquiredl merged 1 commit into
mainfrom
claude/gitignore-receipts
Aug 29, 2026
Merged

Acquiredl merged 1 commit into
mainfrom
claude/gitignore-receipts

Conversation

@Acquiredl

Copy link
Copy Markdown
Owner

One line in .gitignore, plus the comment explaining why it is there twice.

What was actually happening

The loxodonta PostToolUse hook writes per-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.

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 a git add -A somewhere down the line stop being obviously wrong.

Why root-level rather than committing the marker

Committing receipts/.gitignore would 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

$ git check-ignore -v receipts/
.gitignore:25:receipts/	receipts/

A test chain file dropped into receipts/ produces no git status entry.

Follow-up to #6.

🤖 Generated with Claude Code

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>
@Acquiredl
Acquiredl merged commit 5239795 into main Aug 29, 2026
4 checks passed
@Acquiredl
Acquiredl deleted the claude/gitignore-receipts branch August 29, 2026 20:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant