rooDB.app — app icon added, pre-rename symbol cleanup completed
Host: rdmsm4x · When: 2026-08-23
22:44–23:08 EDT · Mode: Production
Project: /Users/richh/dev/apps/rooDB (was
roodb-app when this work ran; see the move section) ·
Commits: 8cbd237, 4f16431
(local main, NOT pushed)
One-line summary: rooDB.app now has a real macOS app icon wired
through the build, and the last pre-rename rdDB identifiers
are gone — both verified against a clean rebuild and the full test
suite, with no live-database gate touched.
Scope
Single host (rdmsm4x), single project. No fleet-wide
change. No live-database mutation.
What changed
App icon
- Source artwork selected by Rich, fetched from
rdmbair15m5:~/Desktop/exec-20cdfb8b-e67a-4265-aa3b-6960299daf5b.png(1254×1254 PNG, no alpha) and committed asassets/icon/rooDB-icon-source-1254.png. Note: the path Rich first gave,~/Desktop/app_icons/, does not exist on rdmsm4x; theapp_icons/directory exists on rdmbair15m5 only. - New
scripts/make_icon.swift(v1.0, AppKit/CoreGraphics, no dependencies) renders the artwork onto the macOS app-icon grid: an 824/1024 superellipse ("squircle") body with the standard margin and a contact shadow, aspect-fill clipped, emitted at all ten sizesiconutilrequires, then packed to.icns. build.shregenerates the.icnswhen the source PNG is newer, copies it toContents/Resources/rooDB.icns, andInfo.plistnow declaresCFBundleIconFile = rooDB.- The generated
assets/icon/rooDB.icnsis gitignored — it is derived, 2.4 MB, and reproducible from the tracked source. assets/icon/README.mdrecords provenance, the regeneration command, and the open caveat that this is placeholder-grade at 16pt/32pt.
Pre-rename symbol cleanup (closes P2 in ISSUES.md)
56 identifiers across 19 files:
RDDBConfig→RooDBConfig,
RDDBAppDelegate→RooDBAppDelegate,
rddbGlass*→rooDBGlass*,
.rddb_dedup_*→.roodb_dedup_*,
RDDB_DAEMON_MODE→ROODB_DAEMON_MODE,
rdDB_* test fixture prefixes→rooDB_*, a
rddbDir local in Database.swift, and four
rddb_* test temp filenames.
Established safe before renaming:
~/Library/LaunchAgentsholds no rooDB/rdDB plist;launchctl listshows none loaded.- No rooDB/roodb-cli/roodb-mcp process running.
duplicate_groups = 0in the live DB, so no.rddb_dedup_*temp file was ever written.ROODB_DAEMON_MODEis decorative: nothing readsProcessInfo.processInfo.environmentanywhere in the package; the daemon is selected by the--daemonargument.
Housekeeping
- Six
.DS_Storefiles removed from the working tree. CLAUDE.mdadded toroodb-app(architecture, commands, the four codebase traps) and pointerCLAUDE.mdfiles added to the retired~/dev/apps/rooDBand~/dev/apps/rdDBroots.ISSUES.md,SESSION-STATE.md,README.mdreconciled with the above.
Commands run
scp [email protected]:'~/Desktop/exec-20cdfb8b-....png' <scratch>
swift scripts/make_icon.swift assets/icon/rooDB-icon-source-1254.png assets/icon/rooDB.icns
./build.sh
swift test
codesign --verify --strict --verbose=2 dist/rooDB.appVerification evidence
swift test: 163 tests, 0 failures, 0 unexpected — run three times across the change (22:56, 22:58, and after the final six renames). Same 163 as the pre-change baseline.- Clean rebuild: deleted
dist/rooDB.appand the.icns, ran./build.sh; the icon regenerated from source and reinstalled. - Icon resolution proved through LaunchServices, not file presence:
rendered
NSWorkspace.shared.icon(forFile: dist/rooDB.app)to PNG and inspected it — macOS returns the artwork in the squircle. - Bundle: arm64, ad-hoc signature,
codesign --verify --strictreports "valid on disk" and "satisfies its Designated Requirement". grep -rni rddboverSources/,Tests/,scripts/,build.sh,Package.swift: no hits.- Live DB read-only re-measure at 22:48 EDT matched
ISSUES.mdexactly: 627,660 files, 87,396 hashes, 0 duplicate groups, 16,303cat_l1, 0purpose.
Backups / rollback
- Rollback is
git revert 8cbd237orgit checkout 33fb8b3— nothing was pushed, and the parent commit is intact. - The 407 MB pre-consolidation store at
/Users/richh/dev/_migration/conflicts/rdmsm4x-roodb-consolidation-20260823/was not touched. provenance/bundles and brancheslegacy/rddb-main/codex/roodb-app-consolidation-20260823are unchanged.
Outstanding owner actions
- Icon is placeholder-grade. It needs a small-size
treatment before submission; the knit texture and the document's ruled
lines go to noise at 16pt/32pt. Now tracked as P2 in
ISSUES.md. - Every P0/P1 gate still stands, untouched by this pass: live corpus processing incomplete (0 purposes, 0 duplicate groups), no verified DB backup outside Git, no proved post-migration index cycle, publication unreviewed, app artifact ad-hoc signed only.
- Nothing pushed —
origin/mainpublication remains an open P1 review gate.
Follow-on:
project root moved (23:06–23:08 EDT, commit 4f16431)
Rich asked for the project to live at ~/dev/apps/rooDB.
Moved every entry including dotfiles (.git,
.gitignore, .build) out of
roodb-app, which is now removed.
- The destination already held the consolidation-era pointer files
(
README-MOVED.mdand the pointerCLAUDE.mdwritten earlier in this session). Both were archived intodocs/history/migration-20260823/before being replaced — nothing discarded. - Footgun avoided: the planned
mv ./roodb-app ./rooDBwould NOT have renamed the directory. Because~/dev/apps/rooDBalready existed,mvmoves the source into the target, producing~/dev/apps/rooDB/roodb-app. Doing the move entry-by-entry avoided a nested repository. - Live path references corrected in
CLAUDE.md,AGENTS.md,README.md,RESUME.md,SESSION-STATE.md,MANIFEST.md. Several were inverted claims, not just stale paths — e.g. "the former root/Users/richh/dev/apps/rooDBis retained only as a migration pointer" is now false. Records underdocs/history/were deliberately left unmodified as period evidence. - Verified from the new root at 23:08 EDT:
swift test163 tests / 0 failures; release./build.shclean; bundle icon installed; ad-hoc signature strict-verified;git rev-parse --show-toplevelandgit worktree listboth report/Users/richh/dev/apps/rooDB; working tree clean.