summaryrefslogtreecommitdiff
path: root/AGENTS.md
AgeCommit message (Collapse)Author
2026-07-01Document abbreviate_rule's nat/rdr blind spot and ddclient's log gapHEADmasterbatsumaru
From a fresh-agent review of AGENTS.md against two hypothetical tasks: - abbreviate_rule() in pf.sh has only ever been developed/tested against filter-rule (-sr) syntax, despite also running on -sn (nat/rdr) output. It degrades safely (unshortened passthrough) but a new nat/rdr rule shape isn't guaranteed to compress as tightly - noted both in the code comment and in AGENTS.md's compression writeup so this doesn't need rediscovering. - ddclient logging isn't enabled on the box, so "is the last DNS update actually succeeding" can't be built by tailing a log that doesn't exist - it'd need the cache file or a public-IP comparison instead. Recorded in AGENTS.md's topology section since ddclient.sh currently only checks the process is running, not update success. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-01Remove dangling reference to a handover doc that isn't in the repobatsumaru
The original handover was only ever pasted into a conversation, never committed as a file - a fresh agent session has nothing to "see." State the project's origin and goal directly instead. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-01Expand AGENTS.md: topology, one-line-fit preference, real-time triggersbatsumaru
Homelab topology: pulled the infrastructure context from the original handover doc (FreeBSD version, WireGuard/Caddy/ZFS/jail network layout) that isn't otherwise captured now that check.sh is gone. Design preference: documents "rows should fit on one line" as a standing preference (not a one-off ask), with checks/pf.sh's abbreviate_rule() development as the worked example of how to compress long/variable-length output - strip ruleset-specific boilerplate, verify symbol choices against the font's actual glyph coverage, prefer legible bracket-letter tags over clever-but-obscure unicode when a distinction has real meaning, and always confirm via a rendered preview rather than eyeballing character counts. When cron + static HTML stops being enough: concrete signals (need for alerting, history/trends, sub-minute or push-based updates, render time approaching the cron interval) that mean this architecture is being outgrown, so a future ask crossing one of these gets flagged explicitly instead of worked around within the current design. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-01Add AGENTS.md for cross-session agent contextbatsumaru
Covers what a fresh session needs that statuspage/README.md doesn't: the Windows-checkout-vs-FreeBSD-runtime split (nothing here actually executes the check scripts' real commands), the git push/pull deployment loop, the core.fileMode/pre-commit-hook setup, and five gotchas hit and fixed this session (usec/sec substring match, ntpq's "+" prefix, grep -c's exit-1-on-zero, Windows ln -s on directories falling back to a copy, font glyph coverage). CLAUDE.md is a pointer to AGENTS.md rather than a symlink or a duplicate copy - this checkout can't reliably create real symlinks (same root cause noted in AGENTS.md itself), and a stale copy would silently drift out of sync as AGENTS.md changes. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>