This is the record of an abcd-managed repository

abcdBetav0.16.2 · 2026-11-06

Development record

The inbox readers follow a symlinked ancestor the inbox writers refuse: peekInbox (internal/core/report/inbox.go) checks the inbox leaf with fsutil.IsRealDir, which lstats the leaf only, so with ~/.abcd a symlink abcd inbox, abcd inbox show and the session-start count read through the link while abcd report and abcd inbox promote refuse it through fsutil.EnsureRealDirAll. The comment on the refusal claims every verb refuses a symlinked level, which is true only of a symlink at the inbox leaf. Readers and writers should refuse the same paths, as the rules loader refuses ~/.abcd/rules.json behind a symlinked ~/.abcd.

issueresolvedminoriss-2609261106287078

The inbox readers follow a symlinked ancestor the inbox writers refuse: peekInbox (internal/core/report/inbox.go) checks the inbox leaf with fsutil.IsRealDir, which lstats the leaf only, so with ~/.abcd a symlink abcd inbox, abcd inbox show and the session-start count read through the link while abcd report and abcd inbox promote refuse it through fsutil.EnsureRealDirAll. The comment on the refusal claims every verb refuses a symlinked level, which is true only of a symlink at the inbox leaf. Readers and writers should refuse the same paths, as the rules loader refuses ~/.abcd/rules.json behind a symlinked ~/.abcd.

Grounds

  • pursued: with ~/.abcd a symlink to a directory holding an inbox, every inbox verb refuses naming ~/.abcd; a reading verb that returns reports through that link, or one that refuses a dotfiles ~/.abcd holding no inbox, would show it wrong

Frontmatter

idiss-2609261106287078
typeissue
lifecycleresolved
severityminor