Repository navigation
Description
Finding
Evidence (live review 2026-10-26 ~22:40 CDT, laptop loopback + gh, cross-checked): ss on the laptop tonight: aggregator listens on 127.0.0.1 + 100.99.113.103 (tailnet) only; Grist and Pad the same; Kaneo loopback only (+ tunnel). ready-for-agent listens on 0.0.0.0:6056 - every interface including the LAN (and any future WAN-facing interface), inconsistent with the stack's settled access model (Drew, 2026-10-25: LAN/tailnet fine, public only behind a password) and with its own earlier tailnet-bind change in slice 1.
Proposal
Bind ready-for-agent to loopback + tailnet like the rest (its UI is consumed via tailnet/local agents - verify no LAN consumer exists first via its README/runbook), or document a deliberate exception with its reason. Add a bind-scope row to the topology table (topology issue) so drift is visible.
Acceptance
- ss output post-change shows the aligned bind (or the exception is documented + Drew-acknowledged in the issue).
Refs: pm-stack: Pad/Grist compose files hard-code one host's tailnet IP (100.99.113.103), breaking the documented move-hosts procedure #781 (related host-config hygiene).
Acceptance criteria
- ready-for-agent no longer listens on 0.0.0.0:6056:
ssoutput after the change shows it bound to loopback + tailnet like the rest of the stack — OR the exception is documented with its reason and Drew-acknowledged on this issue. - The topology table gains a bind-scope row so future drift is visible.
- Verification that no LAN consumer of the ready-for-agent UI exists (README/runbook check) is recorded before the bind changes.
Activity
developing-today commentedon Oct 27, 2026
CODE-317
dezren39 commentedon Oct 28, 2026
Intake review
Fleet monitor intake enrichment (protocol §5) — 2026-10-28T06:25Z. This issue was filed 2026-10-27 by Drew (dezren39) from the 2026-10-26 live pm-stack review and had no
priority/*label and no standard## Acceptance criteriasection; both are now supplied (the body's own Acceptance text is restated under the standard heading, original body preserved verbatim above it).kind/*(kept existing),source/human,status/needs-triage,priority/high,effort/s,app/pm-stack(existing),meta/enriched.sson the laptop post-change and paste the output on the issue.30 remaining items
dezren39 commentedon Nov 3, 2026
Correction to the command above: this host's flake attribute is
amd(hostnameamd,nixos/hosts/default.nix→amd = host { ... framework/13-inch/7040-amd }). Exact command:dezren39 commentedon Nov 6, 2026
Deploy verification (2026-11-06): the PR #4657 activation already landed via the 2026-11-05 switches (gens 540–542) — ready-for-agent now binds 127.0.0.1:6056 only, 0.0.0.0:6056 is gone, LAN connect refused, aggregator probe READY. BUT the tailnet leg never worked: ready-for-agent-tailnet.service ExecStart points at /run/current-system/sw/bin/systemd-socket-proxyd, which does not exist on this host (the binary is in the systemd package's lib/systemd/). The socket sits armed until first connection, then start-limit-fails. Needs a one-line path fix in nixos/services/pm-apps/default.nix + PR + switch before #1181 can close. Fix in flight.
Merge pull request #6453 from developing-today/fix/1181-tailnet-socke…