rdmsm4x changelog — ReplicantDB 1.19.3 build 37 fleet rollout and cleanup
ReplicantDB 1.19.3 (37) “Unwound” was built from isolated release
source, installed and launched on all six fleet Macs, independently
accepted, and followed by removal of 42 reviewed obsolete or recurrent
targets. Canonical artifact retirement, complete Build 37 source
lineage, and the fleet reconciler root-cause fix are integrated; a fresh
terminal census proves each Mac has exactly one app, two accepted
~/bin executables, and one host-specific recovery
package.
Scope and authority
- Host performing and coordinating the work:
rdmsm4x. - Fleet scope:
rdmsm4x,rdmbair13m5,rdmbair15m5,rdmpw3265m,rdmpw3275m, andjdmbair13m5. - Production-sensitive project root preserved as a non-writer:
/Users/richh/dev/apps/replicantDB. - Isolated writer root:
/Users/richh/dev/_handoff/codex-out/replicantdb-memory-bounds-20260902. - Branch:
codex/replicantdb-memory-bounds-20260902. - Ticket resolved at 08:04 EDT:
/Users/richh/dev/issues/resolved/ISSUE-20260903-13-replicantdb-macos-27-file-browser-emits-.md. - Rollout ID:
replicantdb-1.19.3-build37-20260903-062402. - No scan, OCR request, classification, hash request, tag, deduplication, user file move, CloudKit operation, live-database write, TCC reset, daemon-policy change, public release, or shared-main push was performed.
Source changes
b169762c11ff6e6a6c30be95370bf37281dcb8be—fix(ui): defer AppKit table selection publication.- Added a main-queue
DeferredFileSelectionCoordinatorwith latest-generation-wins behavior. - Routed both the Evidence Desk
Listand legacy fileTableselection setters through it, removing synchronous SwiftUI publication from AppKit's table delegate callback.
- Added a main-queue
bd0849a8b0cb1bc21997266ad2e29d914077f586—chore(release): stage ReplicantDB 1.19.3 build 37.1d1887c323c1fdb6c3e5d514c6b92dbcfafef840—docs(release): record ReplicantDB build 37 fleet acceptance.fff3e3c7fac756f11c23b3c4dddefa0a023b3f76— isolated continuity docs close the terminal cleanup and canonical-source gates.- Updated or added in the isolated branch:
Sources/ReplicantDBCore/Version.swift, the relevant SwiftUI selection paths and tests,CHANGELOG.md,ISSUES.md,SESSION-STATE.md, anddist-snapshots/1.19.3-build37/metadata and evidence. - User-designated lead
claude@rdmsm4xreproduced generated-artifact retirement in canonical commit611f7ac947d7bc1e22c9083c5a4c04dcaf2e63e4; follow-upb51c37456d3c444f357cbeb16872bbd5eb9ee18drecords that state. The clean history-reconciliation worktree was verified merged and released, recovering 732 MB while retaining its branch. - A closure audit caught that the first integration had not carried
the accepted Build 35–37 source lineage: canonical still reported 1.19.0
build 34 and lacked
b169762. The lead integrated the entire accepted line plus canonical generalization and retirement in mergea8309924b504bf0eae7b9bc0c33250090ee40527, then added documentation-only state commitd8dba5c33b4da8c875c810014b997eb220b17e0eand current-truth docs commit1893747a937a6690bffc812491e7f2dd88e69067. Canonical now reports 1.19.3/37; the accepted source and receipt commits are ancestors; the source/test/build tree matches the deployed lineage; zero tracked Mach-O/archive payloads remain in distribution paths. The isolated integration worktree was released and its branch retained. Canonicalmainis clean and deliberately unpushed.
Build and verification
- Exact versioned full suite: 1,103 tests started, 1,103 passed, 0 failed, exit 0 in 81.55 seconds.
- Test-log SHA-256:
63c1eadd5504ecee50b8a4a53b2fbf762ee4f71b40883725969196394f188a11. - Canonical integration suite at
a830992: 1,103 tests executed, 0 failures, exit 0 in 81.148 seconds. Copied log SHA-256:8ba49fcfbf31631f696ebc9bf291b2142fa24f87433bd327314fc69fcf4ccf0b. - The unchanged
./build.shentry point ran in a one-shot logged-in Aqua launchd jobcom.eastcoastscience.ReplicantDB.Build37Aqua, exited 0, and the job was then removed and verified absent. - Build-log SHA-256:
6c9aa4f3f9d6e9cc6b8bd410db6e93459c5c71c5524539b914fdf546f8c9a713. - Accepted SHA-256 values:
- App executable:
0386a93b7799ae2387d232d28b9146114c2c5c41cab6afc1d189fe7e416b9f71. replicantdb-cli:8be5762f227c6c1a474be755c17d8bee0ef5a7a0f650f13dd3049a3d99bf2cd7.replicantdb-mcp:ea6300b787d8aaf9b4d48707da784d4a59770972ad6d5b5d3fe6d7e4ef5f84ae.- App transport archive:
499c35cab31a1d2536b02276b4f0e951707d2baa6a3c09dba0a3fb2cd705c33e.
- App executable:
- App, CLI, and MCP passed strict Apple Development validation for
Team
ZU2882L4HT, contain exactlyx86_64 arm64, and declare minimum macOS 15.0 on both slices. - CloudKit remains deliberately unprovisioned because no matching ReplicantDB macOS profile is available.
Fleet deployment acceptance
The accepted app was placed only at
/Applications/ReplicantDB.app; the accepted command tools
were placed only at /Users/richh/bin/replicantdb-cli and
/Users/richh/bin/replicantdb-mcp. Each host independently
executed CLI version, parsed MCP initialize, reproduced artifact hashes,
checked strict signature/team, checked both architectures and minimum
OS, resolved LaunchServices to the canonical app, found the GUI at the
installed executable, preserved daemon policy, and queried SQLite using
read-only/query-only mode.
| Host | GUI PID | Daemon state / PID | Read-only file rows |
|---|---|---|---|
rdmsm4x |
99051 | loaded / 99043 | 2,086,336 |
rdmbair13m5 |
55762 | loaded / 55756 | 585,681 |
rdmbair15m5 |
16762 | preserved unloaded | 3,875,125 |
rdmpw3265m |
21987 | loaded / 21980 | 1,209,515 |
rdmpw3275m |
83901 | loaded / 83893 | 4,407,433 |
jdmbair13m5 |
23449 | preserved unloaded | 0 |
The exact installed app on rdmsm4x then passed 60
alternating Evidence Desk row selections, retained the correct final
selection, stayed responsive, emitted zero
com.apple.runtime-issues events, and produced no crash
report in the measured interval. Raw runtime-log SHA-256:
9f56fca152030dba9e8ee76dee4fc8967ab667507b5878f0f9ab819d55b6b9a6.
A fresh post-cleanup runtime pass again found all six GUI PIDs above,
the same four running daemon PIDs, the same two preserved-unloaded
hosts, six successful replicantdb/1.19.3 MCP initialize
responses, and unchanged read-only row counts.
Archive-first obsolete-copy cleanup
- Tool:
/Users/richh/dev/_handoff/codex-out/replicantdb-1.19.3-build37-rollout-20260903/scripts/replicantdb-consolidate-copies.zsh. - Tool SHA-256:
3f0105231778d20dead12c072a01824f9936b21c40666d5048eddfd4d50da061. - Fixture suite: 9/9 passed, zero real paths touched. The tool rejects active components, symlinks and realpath escapes, hard links, source paths, changed targets, unsafe archive members, overlapping targets, and unreviewed roots.
- A global barrier required successful preflight on all six Macs before any execute phase began.
- Execute and verify passed on all six: 21 exact targets removed on
rdmsm4x, three on each of the five other hosts, 36 total. - Cleanup JSON acceptance SHA-256:
f8b98b3aed75e87b135d2dd8fbf85469979235cad83dd1adbd3c064f3f92c6dc. - Post-cleanup census ledger SHA-256:
244525667d96f4e05ae71d7cae7c5f77040552646d0dc9e4c613b82b673c5eec. - Every archive passed a full extraction and per-file rehash before
the first removal. Independent post-tool checks reproduced package
hashes, ran
tar -tzf, proved exactly one.tgzin each cleanup root, and proved rollout, rollback, and temporary control directories absent.
Recovery packages use the same absolute path on their owning host
under
/Users/richh/Library/Application Support/ReplicantDB Cleanup Archives/replicantdb-1.19.3-build37-20260903-062402/:
| Host | Package SHA-256 | Members |
|---|---|---|
rdmsm4x |
c9ad2065a8daa41023328996f677ed1db87451d5fd9fb16d0b0f6b5791a5dff6 |
106 |
rdmbair13m5 |
9d2a3bf23008f90b1a99c8a5476ff80390335c294be7f50f3e1aa628d3caa453 |
66 |
rdmbair15m5 |
37a05e34e4daebd85891128eb27d5a8635f19f789d13930137f05655016e2dc1 |
64 |
rdmpw3265m |
7bc0762a1bfdbbdcf0627200427ec3f0ac07fdb2af6d8d7f37c5cf9ba1b161fa |
66 |
rdmpw3275m |
c11a5a1e7bbfab75ff838534a97f33f65929a8f872c8d272a2058d39e7f0bc61 |
66 |
jdmbair13m5 |
59737e87a383e49147b019bc17bd717837094d59d49520e78b80ad24b1b4decd |
61 |
Canonical artifact retirement removed the tracked executable
distributions, and the clean replicantdb-history-reconcile
worktree was released. A later final census then caught—not concealed—a
separate recurrence mechanism described below.
Recurrent MCP incident, repair, and terminal census
- At 07:05:25 EDT, loaded timer
com.eastcoastscience.mcpreconcilecopied the supersededdev/apps/replicantDB/dist/replicantdb-mcpbinary to all five noncanonical hosts and repointed Claude on all six hosts. Google Drive's "Other computers" mirror onrdmbair15m5created a sixth copy. - Recurrent identity: 12,510,912 bytes, SHA-256
5f0f79bf5274a08ce89ff3ec7ce8a886950e8de9c45a92daab39a55d4e1bade6. - Before removal, exact recovery was proven from reachable canonical
commit
8bc2e6fcd08bcce5f76b8833aa7027f72d1662f4, pathdist/replicantdb-mcp, Git blob6d9fb420defba64e2f540cf4759687942df26d5a; size and SHA-256 reproduced byte-for-byte. - Lead repair commit
8451cbeb4d6c8adbd482f38b833c9afff30180b9in/Users/richh/dev/fleet/maintenancechanges both ReplicantDB source and remote to the accepted~/bin/replicantdb-mcp. The loaded LaunchAgent executes that exact file. Tyrell and all other MCP configuration remained unchanged. - The real reconcile updated Claude on six hosts with zero
offline/errors. Codex already pointed at
~/binand required no change. Independent probes proved all 12 registrations (Claude plus Codex) resolve to/Users/richh/bin/replicantdb-mcp, accepted SHA-256ea6300b787d8aaf9b4d48707da784d4a59770972ad6d5b5d3fe6d7e4ef5f84ae, with six successfulreplicantdb/1.19.3handshakes. - The corrected scheduler's 07:36:19 run reported all six hosts current, zero updates, zero offline, zero errors.
- Exact late-removal run:
replicantdb-1.19.3-build37-recurrence-20260903-073617. Tool SHA-256f2cb9eedad5b948ee60c428408ff8528ccf6c573f681c4db8c88e21cc149a2c8; isolated safety fixtures 7/7 passed. All five host preflights succeeded before removal. It removed one reviewed scratch binary per noncanonical host and the one reviewed Google Drive mirror, six total, then revalidated active Build 37 identity, registrations, GUI, and MCP behavior. Remote two-file control stages were removed; transaction evidence was retained and copied centrally. - Fresh non-reused discovery after both cleanups and the corrected
scheduler run traversed operational roots, build and archive estates,
Google Drive mirrors, bounded user folders, Spotlight, shell resolution,
LaunchAgents, launchd, mounted images, and background items. Each of six
hosts now has
APP=1,BINARY=2,INSTALLER=1; the retired hash, scratch path, and Google Drive copy are absent. Terminal acceptance ledger SHA-256:7d8b777355968d51bcda2d1069e94bb1e2a56c43b9993b23b864a7b43fddd1b7. - Recurrence was tested again after the next scheduled reconciler tick
at 08:06:31 EDT. The tick reported
current=6,updated=0,offline=0,errors=0; a second fresh six-host discovery then passed the same exactAPP=1,BINARY=2,INSTALLER=1policy everywhere with the stale hash and scratch/Google paths absent. Post-scheduler acceptance-ledger SHA-256:b6fad8f25fc74b5e4ea2010ba5331e94e914da6f81b2752c82e182ac6dc8986c. - A final read-only runtime pass after that census reproduced the same
six GUI PIDs, four intended daemon PIDs, two preserved-unloaded
policies, six
replicantdb/1.19.3handshakes, and all six database row counts. Runtime checksum-ledger SHA-256:947f107ea77562872e3dcf30d88215632e20b050da31f3a1d5d31ccdc720bfbe.
Commands and entry points used
swift test --filter AppKitSelectionDeferralTestsand exactswift testfrom the isolated release worktree.- Existing project
./build.sh, executed through the one-shot Aqua-domain job. - Existing immutable fleet rollout/install/verify scripts under
/Users/richh/dev/_handoff/codex-out/replicantdb-1.19.3-build37-rollout-20260903/scripts/. - Cleanup phases:
preflight,execute, andverifythroughreplicantdb-consolidate-copies.zshagainst one SHA-256-pinned manifest per host. - Recurrent-copy phases:
preflight,remove, andverifythroughremove-recurrent-replicantdb-mcp.zshagainst the five exact host manifests after Git recovery proof and fleet registration repair. - Independent copy discovery:
/Users/richh/dev/_handoff/codex-out/replicantdb-1.19.3-build37-rollout-20260903/scripts/capture-fleet-discovery.zsh. - Terminal copy acceptance:
accept-terminal-copy-census.zsh; runtime acceptance:verify-terminal-runtime.zsh. - Coordination and evidence publication through
/Users/richh/.agent-coordination/agent_msg.zsh; check-in at/Users/richh/.agent-coordination/checkins/codex-rdmsm4x-replicantdb-build37-rollout-20260903.json.
Exact changed-state inventory
- Source changes are the explicit Git commits listed above. Final
canonical documentation files changed by the lead are
/Users/richh/dev/apps/replicantDB/SESSION-STATE.md(d8dba5c) plus/Users/richh/dev/apps/replicantDB/CHANGELOG.mdand/Users/richh/dev/apps/replicantDB/ISSUES.md(1893747). Isolated continuity files are the same three basenames at/Users/richh/dev/_handoff/codex-out/replicantdb-memory-bounds-20260902/(fff3e3c). - Fleet recurrence prevention changed exactly
/Users/richh/dev/fleet/maintenance/scripts/fleet_mcp_reconcile.zshat8451cbe; each host's Claude ReplicantDB registration now names/Users/richh/bin/replicantdb-mcp. Codex registrations already named that path. - Active deployment paths on each of the six named hosts are exactly
/Applications/ReplicantDB.app,/Users/richh/bin/replicantdb-cli, and/Users/richh/bin/replicantdb-mcp. Exact removed paths are enumerated—rather than summarized—in/Users/richh/dev/_handoff/codex-out/replicantdb-1.19.3-build37-rollout-20260903/manifests/*.targets; one recovery package per host remains under/Users/richh/Library/Application Support/ReplicantDB Cleanup Archives/replicantdb-1.19.3-build37-20260903-062402/on its owning host. - Central evidence lives under
/Users/richh/dev/_handoff/codex-out/replicantdb-1.19.3-build37-rollout-20260903/;evidence/TERMINAL-RECEIPT-SHA256SUMSbinds the final receipts, tools, manifests, project records, ticket, and durable changelog. - Project and ticket records changed at
/Users/richh/dev/PROJECTS.md,/Users/richh/dev/issues/resolved/ISSUE-20260903-13-replicantdb-macos-27-file-browser-emits-.md,/Users/richh/Desktop/issues/tickets/ISSUE-20260903-13.html, and/Users/richh/dev/sites/dev.ecs0.net/wiki/issues/ISSUE-20260903-13.html. - The durable record is this file plus
/Users/richh/.agent-coordination/checkins/codex-rdmsm4x-replicantdb-build37-rollout-20260903.jsonand immutable fleet-bus messages. No secret value is present. The required Apple Notes copy remains pending after two logged-in Aqua attempts because Notes was unresponsive.
Verification evidence
- Primary receipt:
/Users/richh/dev/_handoff/codex-out/replicantdb-1.19.3-build37-rollout-20260903/evidence/REPLICANTDB-1.19.3-BUILD37-FLEET-ROLLOUT-20260903.md. - Exact per-host install, runtime, cleanup preflight/execute/verify, archive validation, cleanup JSON, recurrent-copy transaction, scheduler, and pre/post/terminal copy-census receipts are retained under that receipt's sibling evidence directories.
- Source continuity and release metadata are committed at
1d1887c323c1fdb6c3e5d514c6b92dbcfafef840in the isolated branch; canonical mergea830992contains that complete lineage,d8dba5crecords the verified canonical state, and1893747brings canonicalCHANGELOG.mdandISSUES.mdto terminal Build 37 truth. - Canonical retirement is committed at
611f7acplusb51c374; recurrence prevention is committed at8451cbein fleet maintenance. Canonical integration evidence isCANONICAL-SOURCE-LINEAGE-INTEGRATION-20260903.mdwith the raw full-suite log beside it. ISSUE-20260903-13was resolved only after the canonical lineage and full suite passed. The ticket tool moved the Markdown record to/Users/richh/dev/issues/resolved/and regenerated/Users/richh/Desktop/issues/tickets/ISSUE-20260903-13.htmlplus/Users/richh/dev/sites/dev.ecs0.net/wiki/issues/ISSUE-20260903-13.html.- The required file changelog is this document. Apple Notes
publication was attempted twice from the logged-in Aqua domain; each
helper waited its full 600-second bound and failed because Notes never
became responsive. Both one-shot jobs were removed. Attempt-log SHA-256
values are
bca89dad20803f4cca9bf3624bb4854df6786030198a252a68b961eb795f3edeand2e2138b1f8a2b34df38c234f0af38d98cc77f704d706c2adc5a4b6cb3d9ed707; Notes publication is pending and is not claimed complete.
Undo and recovery
Do not reset TCC: every build uses the same signed bundle/designated
requirement, so resetting authorization would also revoke the current
app. To inspect or recover one of the first 36 removed targets, first
verify the owning host's package against the SHA-256 above, list it with
tar -tzf, and follow the inventory/restore metadata
captured beside the cleanup evidence. Restore only the exact required
member to a temporary review directory before any replacement. The six
recurrent MCP copies recover from canonical commit 8bc2e6f,
path dist/replicantdb-mcp; verify size and SHA-256 against
the evidence before review and do not restore it to an active/configured
path. For an application rollback, stop only ReplicantDB processes,
extract the pinned prior artifact from the recovery package, validate
signature/architecture/hash, atomically replace only
/Applications/ReplicantDB.app and the two canonical
~/bin tools, restore the host's prior loaded/unloaded
daemon policy, relaunch, and repeat the independent runtime checks. Do
not restore obsolete Git distributions into canonical source; Git
history and the retained metadata receipts are the recovery mechanism
for those files.
Outstanding owner actions
- The isolated peer worktree
/Users/richh/dev/_worktrees/fleet-maintenance-task14-cleanis not an executing surface but still contains the old reconciler source oncodex/task-14-whitespace-cleanupand has an unrelated untrackedscripts/__pycache__/. It was preserved under the one-writer rule. Owner message20260903-074916-187CD8A7requires incorporating8451cbeor discarding that stale source before any future merge/revival. - Keep
ISSUE-20260901-26open. Build 37 reset the comparable long-duration memory-observation window; no memory-resolution claim is made here. - Keep CloudKit pending until a matching profile exists and a real round trip passes.
- Retry Apple Notes publication when Notes becomes responsive; the Markdown archive is already complete.