Fleet changelogs · dev.ecs0.net
jdmbair13m5-changelog-20260831-1440-fleet-consolidation-status-and-credential-escalation

jdmbair13m5-changelog-20260831-1440-fleet-consolidation-status-and-credential-escalation

Session window: 2026-08-31 12:33:49 EDT → 14:40:40 EDT · jdmbair13m5 Type: Fleet coordination + verification. No local state was changed by this session — no file was created, edited, moved or deleted outside this changelog. All work was read-only verification plus cross-session reporting.

RESUME HERE — open items, highest first

  1. CREDENTIAL EXPOSURE — Rich's action, time-sensitive, NOT verified by this host. Session dev-ec (rdmsm4x, "State sync and project consolidation") reports live plaintext credentials in ~/dev/concepts/llm-wiki/_staging, a harvested-Apple-Notes tree: OpenAI keys, an AWS key, and a private key — already pushed to a GitHub backup repo. dev-ec quarantined the path in the backup script; propagation is stopped, exposure is not. Rotation is Rich's call. No agent should rotate. A pushed secret stays in git history and in any clone or index after deletion, so deletion is not the fix — rotation is. This host cannot corroborate it: ~/dev/concepts does not exist on jdmbair13m5, there is no llm-wiki and no _staging anywhere under ~/dev. Relayed, not confirmed.
  2. Apple Notes publication of the two 2026-08-30 changelogs — STATUS CHANGED, see below. Recorded fleet-wide as "blocked, needs an Aqua session". At 14:40:40 EDT on this host launchctl managername returned Aqua. If that holds, the blocker's stated premise does not apply to this session and the publish may be runnable here. Not attempted — a reboot was imminent and Notes cold start on a large local store can return -1712 AppleEvent timed out for minutes. Re-check launchctl managername after reboot before repeating the "blocked" claim to anyone.
  3. /Users/richh/scripts/ is under no git repo and no backup on any host — single-disk only. Includes apply_mcp_disable_v1.0.py, agent_session_logger.zsh, audit_* scripts, claude_notes_autopublish.zsh. dev-ec recorded it as an open item and deliberately did not act; promoting another host's ~/scripts would collide with whoever owns those tools.
  4. ~/Library/Application Support/MCPFleetDisable/backups/20260830-1648/ is the only undo path for the 2026-08-30 Stitch MCP disable. Single disk, outside ~/dev, in no backup.

What this session did

Answered a status request from dev-8a ("Resume pending sessions"), then coordinated with dev-ec (the consolidation manifest owner). This session held no prior task context — it started cold on the peer message.

Verified jdmbair13m5 clean against canonical (rdmsm4x):

Declined a requested copy, correctly. dev-8a instructed an scp of jdmbair13m5-changelog-20260830-2230-xentropy-local-instance.md and -2231- to canonical. Checking the destination first showed both names already occupied and byte-identical (60ae6963197e915ee20bc017fa620da69d44ce0a81b583091a793a3f50c5f6d8 and bebfe36b0a4d79af5160589725e5df66b3004686256ec22483ef961159915680), mtimes preserved at Aug 30 22:30/22:31. The copy was not run. dev-ec confirmed the cause: its own rsync -a --ignore-existing sweep of every host's changelogs into canonical, landing between 12:40 and 12:44 EDT. A blind copy would have raced that rsync.

Corrected a fleet address rule that was being written down wrong. dev-8a warned that a bare hostname "goes over /etc/hosts LAN and times out", blaming false "host unreachable" findings. From jdmbair13m5 that is not so: bare rdmsm4x and [email protected] reach the SAME machine — identical IOPlatformUUID 764FCE1C-8935-53D6-972C-94CD664D5B3B, identical dircount, /etc/hosts → 192.168.0.29, sub-second. dev-ec supplied the other half: from rdmsm4x, bare jdmbair13m5 gives "No route to host" (needs 100.86.185.90). The rule is directional, not broken — jdmbair13m5 holds the static mapping, rdmsm4x does not. Also from dev-ec: the four other spokes answer only on their -1 suffixed tailnet names; un-suffixed registrations are stale, offline ~10 days.

Method notes worth keeping

Delivery caveat

Three cross-session sends today returned "accepted by the server ... delivery is not confirmed" — to dev-8a (twice) and dev-ec (once). Content above may not have reached those sessions. The credential escalation in particular should not be assumed delivered.


UPDATE 2026-08-31 14:43:29 EDT — credential scope widened; Aqua question resolved

Appended after dev-ec (rdmsm4x) responded. Appended, not rewritten, to avoid a whole-file write-back over a file already verified on canonical.

Item 1 above is LARGER than first recorded. Still Rich's action.

dev-ec confirms the llm-wiki exposure verified on its end and the scope has widened:

Item 2 above is RESOLVED — both readings were correct.

launchctl managername is a property of the session, not the host. dev-ec ran it over its SSH connection to jdmbair13m5 and got Background; this session ran it on the same host and got Aqua. Decisive evidence from dev-ec: console user richh, one live console session, 6 days uptime — an Aqua session existed on this host the whole time it was being recorded as unable to publish. notes_changelog.zsh's refusal was correct — it refuses for the invoking session, which is right, because a background session genuinely cannot send AppleEvents to a GUI app. The defect was the generalisation written afterwards: a per-session property recorded as a per-host fact. dev-ec corrected fleet/consolidation-20260831/CLOSEOUT.md and its Notes copy, and reassigned the row's owner from Rich to this host's GUI session, keeping the re-check-after-reboot caveat. Logged by dev-ec as entry 14 in ~/dev/_ops/verification-failures-20260831.md — a new shape for that list: the other twelve are wrong depth or wrong scope of population; this one is wrong scope of subject.

Still true after this update