<feed xmlns='http://www.w3.org/2005/Atom'>
<title>console.git/AGENTS.md, branch master</title>
<subtitle>Monitor for my server
</subtitle>
<id>http://cgit.dandokmang.com/console.git/atom?h=master</id>
<link rel='self' href='http://cgit.dandokmang.com/console.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://cgit.dandokmang.com/console.git/'/>
<updated>2026-07-01T10:11:15Z</updated>
<entry>
<title>Document abbreviate_rule's nat/rdr blind spot and ddclient's log gap</title>
<updated>2026-07-01T10:11:15Z</updated>
<author>
<name>batsumaru</name>
<email></email>
</author>
<published>2026-07-01T10:11:15Z</published>
<link rel='alternate' type='text/html' href='http://cgit.dandokmang.com/console.git/commit/?id=126ba66a627a9625fae77c29abe99dce19477e7c'/>
<id>urn:sha1:126ba66a627a9625fae77c29abe99dce19477e7c</id>
<content type='text'>
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 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Remove dangling reference to a handover doc that isn't in the repo</title>
<updated>2026-07-01T09:52:23Z</updated>
<author>
<name>batsumaru</name>
<email></email>
</author>
<published>2026-07-01T09:52:23Z</published>
<link rel='alternate' type='text/html' href='http://cgit.dandokmang.com/console.git/commit/?id=7904f1221e6bb35c8b1abf807a6030e70598ed33'/>
<id>urn:sha1:7904f1221e6bb35c8b1abf807a6030e70598ed33</id>
<content type='text'>
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 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Expand AGENTS.md: topology, one-line-fit preference, real-time triggers</title>
<updated>2026-07-01T09:49:25Z</updated>
<author>
<name>batsumaru</name>
<email></email>
</author>
<published>2026-07-01T09:49:25Z</published>
<link rel='alternate' type='text/html' href='http://cgit.dandokmang.com/console.git/commit/?id=92062d94f8150e4502ad305d74b62bbb678ded41'/>
<id>urn:sha1:92062d94f8150e4502ad305d74b62bbb678ded41</id>
<content type='text'>
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 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Add AGENTS.md for cross-session agent context</title>
<updated>2026-07-01T09:42:01Z</updated>
<author>
<name>batsumaru</name>
<email></email>
</author>
<published>2026-07-01T09:42:01Z</published>
<link rel='alternate' type='text/html' href='http://cgit.dandokmang.com/console.git/commit/?id=d35a7d3b24fa71e13e48fd85e299c12a93e6aab8'/>
<id>urn:sha1:d35a7d3b24fa71e13e48fd85e299c12a93e6aab8</id>
<content type='text'>
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 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
