Fleet changelogs · dev.ecs0.net
rdmsm4x-changelog-20260831-1600-logtty-handover-delta-rescue-and-session-continuity

rdmsm4x — LogTTY build 21 + handover, rescue of the rdmbair15m5 delta, and session registration

Session: logtty-d6 (earlier arc logtty-52) · 2026-08-30 12:16 – 2026-08-31 16:00 EDT · rdmsm4x Ticket: TASK-20260831-06 (resolved) · Resumable state: ~/dev/fleet/telemetry-logging/SESSION-STATE.md

Third and final changelog for this session. Earlier two: rdmsm4x-changelog-20260829-2312-agent-session-logger-terminal-spam.md, rdmsm4x-changelog-20260830-0005-fleet-sync-restored.md.

1. LogTTY release build 21 — built, signed, handed over

Full suite 238 tests / 33 suites / 5 targets, 0 failures, 3 shell contract tests, identity gate PASS, universal x86_64 arm64, Apple Development signature (team ZU2882L4HT), privileged helper signed separately, BuildInfo pinning gitDirty:false.

Two things worth keeping:

2. Rescued 62 irreplaceable files that were unbacked

Recovered LogTTY work from rdmbair15m5 — four modules canonical does not have (LogTTYIngestion, LogTTYStorage, LogTTYTicketing, LogTTYUI) plus LogTTYCore additions.

Both full trees (1.2 GB on rdmbair15m5, 375 MB on rdmsm4x) sit on single disks, neither inside a git repo, so the nightly backup skipped both. Verified by comm against canonical that exactly 62 .swift files exist there and not in canonical; archived source-only at 3.0 MB with all 62 present, 0 unarchived; credential-scanned (the one hit was a synthetic fixture); replicated and sha-verified to rdmbair13m5 and rdmpw3275m; dev-ec mirrored it into the backed-up rdmsm4x-dev-fleet. Four copies, one properly backed up, hash verified independently three times. DEC-20260831-03 (whether to merge) remains Rich's and is no longer on a timer.

3. Session registration — the practice, not just this session

Rich, 2026-08-31: agents should register work when starting (ticket + claim) and publish state when finishing, so a killed, crashed or abandoned session is recoverable. The standard already exists — ~/dev/lib/app-baseline/SESSION_CONTINUITY.md, with the session-continuity skill as its pointer. I conformed to it rather than authoring a parallel convention; another agent holds DOC-20260831-02 on the same theme.

The standard proved itself on me. I opened TASK-20260831-06 at the end of the work, and ticket resolve said so:

! TASK-20260831-06 was resolved without ever being claimed. Nobody could tell you were working on it.

That is the gap, stated by the tooling, unprompted. For most of two days this work existed only in a chat window — invisible to every other agent and to Rich, and gone if the session had died.

4. What this session actually cost, and the one lesson

Ten checks returned a confident, plausible, wrong answer. Full table in §6 of the state file. The ones that cost the most:

The lie The check that works
launchctl list exit column (shows the last exit; kickstart -k makes a healthy job read -15) the job's own log and state file
cmd | tail -25 "exit 0" — that is tail's status, and I "verified" a 5-target suite from one target's log capture full output, then filter
ls on a host-prefixed path — reported a 1.2 GB archive "MISSING" that was on another host resolve the host, then check there
find -maxdepth 3 returning 0 repos where depth 6 has 130 match probe depth to structure
[[ "$flags" == *e* ]] matching the e in the word set opts="${line#set }" first
bare hostname resolving to a stale Tailscale node offline 8 days check tailscale status; verify which address answers

Generalisation: the apparatus that judges a thing must be verified on the same host and code path as the thing it judges. Corollary, paid for three times: a measurement has a shelf life. With six agents writing ~/dev concurrently, "I verified it" was true when measured and stale by the time it was reported — the backup gaps, the archive location, and the llm-wiki failure all moved underneath me within hours.

5. Left with their owners, deliberately not taken

DEC-20260831-03 and SEC-20260831-01/05 are Rich's. github_backup_dev.zsh is dev-ec/dev-ef's — I routed findings rather than becoming a third concurrent writer on the live nightly backup. ~/dev/apps/logTTY is dev-bf's. fleet/maintenance/SESSION-STATE.md is dev-e2's.

concepts/llm-wiki is frozen per Rich and was already on the quarantine path from 12:56 — verified, failed=0 on every run since.