slab: advertised handle ledger across the fleet master
each machine advertises its live handles (claude sessions + headless agents) as `host:name`, peers cache each other's ledgers over the tailnet, and an agent resolves a reference with an O(1) local lookup instead of an ssh+find crawl. rides slab's existing connectivity — a tiny http server bound to THIS machine's tailscale ip (tailnet is the auth perimeter, no bearer token), sibling to ACLogin's loopback listener. - Ledger.swift: model + kept persistence (~/.config/slab/ledger, local + peers + history.jsonl provenance), the tailnet http server, and the off-main peer fetch throttled onto the existing refresh tick. - LedgerCLI.swift: `ledger resolve <host:name> | dump | hosts`, reads the on-disk cache (no running app required), ranks exact-name hits first. - poke: resolving a REMOTE handle fires a best-effort beacon to the owner's /poke endpoint; the owner marks that session "observed" (kept in history as "referenced by X") and its local sigil rock blinks + shakes + spins faster for a few seconds, then decays back to its status motion. overlay stays local-only — no remote rocks rendered. - install.sh: slab-ledger PATH shim for scriptable resolves. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>