rdmsm4x-changelog-20260903-2146-fleet-repo-consolidation-sync-and-p0-fixes
Session: claude@rdmsm4x (ecs0lib-6b) ·
Window: 2026-09-03 21:10 → 21:46 EDT ·
Host: rdmsm4x
Swept all 144 git repos under ~/dev: resolved two real
divergences, archived the one duplicate working copy, cleaned nine dirty
trees, unblocked and verified ecs0lib's four-platform gate, fixed two
P0-class bugs, and synced every repo to its GitHub/fleet remotes. 22
commits across 14 repos.
Scope
Goal from Rich: every repo under ~/dev clean and
consolidated on rdmsm4x, GitHub copies synced, conflicts resolved, apps
rebuilt, bug list reduced. All actions pre-approved.
What changed
Sync and conflict resolution
- Surveyed 144 repos (script: scratchpad
gitsweep.zsh) for dirt, divergence, remotes and in-progress merges. 72 were already in sync; the work was a bounded set. - Two genuine divergences merged — both disjoint file
sets, no conflicts:
apps/rdRT24f1c51— local ecs0lib integration vs. canonical repo-promotion commits.fleet/macosa47b27b— local fleet tooling vs. theclaude-projects/archive.
- 21 repos pushed that had unpushed commits;
apps/RTTyfast-forwarded 30 commits total (24 then 6);apps/rd-rtfast-forwarded 2. - DO-NOT-PUSH remotes honored throughout:
origin-EXPOSED-DO-NOT-PUSH(fleetreg),roodb-legacy-DO-NOT-PUSH(replicantDB),origin-SHARED-DO-NOT-PUSH(dataROO),legacy/work-legacy(arcedb). Never pushed, by name check in the push script.
Consolidation
apps/rd-rtarchived to~/dev/archive/rd-rt-duplicate-worktree-20260903/with a README explaining the decision and the one-command reversal. It andapps/rdRTwere two working copies of the same GitHub repo (richhdoty/rd-rt), file-identical, both clean, both at24f1c51.apps/rdRTkept — it has the complete remote set including GitHub backup. Moved, not deleted. This was the ONLY duplicate-remote pair among 144 repos (checked by normalizing every origin URL).- Stale remote removed:
apps/LogTTYhad alogtty-appremote pointing at~/dev/logTTY-app, a directory that no longer exists, with nothing unique in it. A push there could appear to succeed against cached refs. apps/fleetregtracking branch retargeted fromorigin-EXPOSED-DO-NOT-PUSH/maintofleet/main. It was reporting "8 ahead" forever while being 0 ahead of both real remotes.
Bugs fixed
- P0 — dev.ecs0.net blank content panes
(
4b66ed6). Seven catalogs were interpolated into one inline<script>viajson.dumps, which does not escape<; any harvested string containing a literal</script>closed the tag and blanked every pane after it. Addedjson_for_script()escaping<,>,&, U+2028 and U+2029 as\uXXXX. Verified in both directions: the poison payload still breaks plainjson.dumps(defect reproduced), the new encoder emits no raw<, andjson.loads(json_for_script(x)) == xso nothing is corrupted. 4 regression tests added; suite went 9 failures → 6, the delta being exactly the 3 new tests needing the new function; the 6 remaining are pre-existing and unrelated. Full site build rc=0 with balanced<script>tags and the escaped</scriptpresent in output — proof a real payload contained a closing tag. Diagnosis credit: lib-44, who root-caused it and correctly declined to fix it in a dirty tree. - LogTTY build break (
0fb7222). ecs0lib PR #4 renamedProcessSocketTelemetry.rxBytes/txBytestoreceiveQueueOccupancyBytes/sendQueueOccupancyBytes. These are not synonyms — the old fields were cumulative bytes transferred, the new ones are current queue depth. A rename at the call site would have compiled and reported queue depth as a traffic total. Fixed by reading cumulative counters from the traffic engine PR #4 added.swift buildrc=0,swift testrc=0, 37 tests.
ecs0lib four-platform gate: RED since 09-02 → GREEN
- Root cause of the verification block was environmental, not
code: every
xcodebuildon rdmsm4x exited 69 on the Xcode 27 beta licence agreement. Cleared withsudo xcodebuild -license accept. This presents as a build failure and is not one. - Gate then passed on all four destinations. Re-verified with
clean buildafter lib-44 warned that an incrementalxcodebuildprints BUILD SUCCEEDED having compiled nothing:arm64-apple-ios18.0,arm64-apple-tvos18.0,arm64-apple-xros2.0, 134 SwiftCompile tasks each, distinct triples. - Resolved ISSUE-20260902-18 and ISSUE-20260902-13 on that evidence. Added the evidence to TASK-20260903-07 without closing it — codex@rdmsm4x/root holds its claim.
Builds
- Built all 23 ecs0lib consumers under
apps/. 22 rc=0; LogTTY was the only break (fixed above); Tyrell deliberately excluded.
Repos cleaned (dirty → clean)
| Repo | Before | Action |
|---|---|---|
ai/LLM |
4,166 mod / 56,561 untracked | Ignored vendored LiteLLM (1.6 GB, 56k files) + per-run telemetry; untracked 309 tracked-but-ignored files; checkpointed Claude/ChatGPT archives. 60,727 → 105 |
fleet |
85 / 733 | Committed 36 MB of audit, overnight-health, tooling and TCC records — this repo exists to hold them |
scripts |
157 / 127 | Committed the library; ignored zsh history backups, logs, pycache |
sites/dev.ecs0.net |
201 / 177 | Published 187 generated ticket pages; merged PRs #3/#4 from origin |
concepts/icloud-cleanup |
37 / 38 | Untracked a committed virtualenv; committed 16 uncommitted scanners;
gitignored token.pickle (a Google OAuth token)
rather than committing it |
arista/arcedb |
1 / 82 | Closed a 2026-08-14 OPEN decision: gitignored 623 MB of archive/data
artifacts, wrote DATA.md recording where the data lives, restored
html/images.zip |
docs, data, todo |
small | Committed |
Tickets
- Resolved: ISSUE-20260902-18, ISSUE-20260902-13 (four-platform gate, with build evidence).
- Filed: ISSUE-20260903-41 — ecs0lib is a path dependency of 28 apps with no version pinning; LogTTY is the worked example. Proposes three remedies, none applied — needs an owner decision.
- Filed: SEC-20260903-10 (critical) — see owner actions below.
- Open tickets 278 → 273; resolved 318 → 328.
Owner actions required
- SEC-20260903-10 — rotate a credential. The
dev.ecs0.net build refused to publish
apps/dataROO/web-app/artifact/index.html, reporting credential-shaped content. That file is tracked in git since the initial commit and the blob is on the GitHubbackupremote (confirmed bygit merge-base --is-ancestor). No value was printed to any transcript or written to any file. Rotation is the fix; history rewriting does not invalidate an exposed key. The repo also has anorigin-SHARED-DO-NOT-PUSHremote whose audience should be checked. - ISSUE-20260903-41 — decide whether to gate ecs0lib
changes on a consumer build sweep, make the existing
ECS0LibraryManifestcontract load-bearing, or adopt deprecate-then-remove.
Deliberately not touched
apps/Tyrell— live agy orchestration (Build 19-22 lane) writing canonicalmain; three agy pids held files. Owner session confirmed the edits are not theirs and asked that it be excluded. Modified paths snapshotted to~/.agent-coordination/snapshots/rdmsm4x/Tyrell/20260903-212215._ops—devmon/devmon.shmodified 9 minutes before the sweep reached it.arista/bny— has no remote deliberately: "CUSTOMER MATERIAL — frozen, delete-pending; remotes retired". No remote added, nothing pushed.ai/LLM→ GitHub — 20 GB of telemetry archives; past GitHub's practical limits and it is data, not code. Syncs to thefleetremote only. Called out rather than silently skipped.~/dev/lib— lib-44 was building that repo during this session.
Mistake made and disclosed
git add -A scripts/ in sites/dev.ecs0.net
swept another session's in-flight build_site.py change
(+31/−1, a verify_published_site() function, mtime 21:12)
into a commit about the wiki. The content is preserved and pushed —
nothing lost, and the function works: it ran during the later site build
and its HTTP probes returned 200. The defect is attribution:
7b80c42's message does not mention it. This is exactly the
path-scoping rule I was applying elsewhere in the same session, and
lib-44 had explicitly avoided touching that file for this reason. Every
subsequent commit was path-scoped and mtime-checked first.
Verification
- Repo sweep re-run at 21:45: 143 repos. Remaining dirt is live churn
from active agents (
ai/LLMtelemetry,issuesticket writes,apps/replicantDB,_ops) plus the two deliberate exclusions. No repo is diverged; no repo is behind. - ecs0lib:
swift buildrc=0,swift test308 XCTest + 12 swift-testing 0 failures, four-platform gate green on clean builds. - All pushes verified by
git fetch+git rev-parseagainst each remote, not by push output.
No secrets
No credential value was printed, logged, or committed.
token.pickle and the dataROO finding were handled by
exclusion and by a ticket recording shape and location only.