rdmsm4x-changelog-20260824-0010-rdRECEIPT-rename-and-dataroo-removal
2026-08-24 00:10 EDT · host rdmsm4x · Claude
Code (Opus 5). Continues
rdmsm4x-changelog-20260823-2337-rdreceipt-folder-consolidation.md.
Summary
~/dev/apps/rdRECEIPT now spells its name one way. Six
identifiers were deliberately left spelling it the old way because
renaming them would have made an existing encrypted vault permanently
undecryptable. All dataroo.net references removed from the
project.
Changes
- Layout decision recorded. Two sessions held
opposite instructions —
receiptroo-3bwas executing a three-way split (shared~/dev/lib/receipt-engine+rdRECEIPT+ a new~/dev/apps/receiptROO) reported as a 23:30 decision; Rich told this session at 23:50 to move everything into~/dev/apps/rdRECEIPT/. Escalated rather than guessed. Rich chose consolidate — one folder. The split was stopped before any file left the tree. - Orphaned real-data corpus brought in. 29 real
receipts/invoices from
~/dev/temp/2026-08-21-staging/_inbox/2026-08-12/invoices-receipts→data/real-corpus/..gitignorerule added and confirmed active before any file landed. Copied, not moved; source left in place.~/Documents/_receipts(245 entries, 1.5 GB) deliberately left alone. - Name normalized to
rdRECEIPT. 7 SwiftPM modules + 6 test targets renamed (dirs viagit mv), 134 source/test/doc files rewritten, artifact filenames renamed and all live references repointed. Commit00b4a6a, 154 files changed. dataroo.netremoved from the project and from this archive's earlier changelog. Zero references remain in~/dev/apps/rdRECEIPT.- Backup gap closed (caught by
receiptroo-3b):agy-rdreceipt.bundleandagy-ReceiptRoo_rdKIPP.bundlewere missing from~/dev/_backups/agy-preconsolidation-20260823-2325/because both source repos were already deleted when that set was bundled. Copied in, sha256-verified, clone-tested.
NOT renamed, and why — the important part
Six identifiers still spell the old name. They are not cosmetic; a text substitution would orphan data rather than rename it:
| Identifier | Consequence of renaming |
|---|---|
"rdreceipt-sqlcipher-db-key"
(KeyDerivation.swift:39) |
HKDF info string → different derived key → existing SQLCipher vault permanently undecryptable |
"rdreceipt-image-cache-key"
(KeyDerivation.swift:40,
EncryptedImageCache.swift:95) |
same, for the encrypted image cache |
"app.rdreceipt.vault"
(KeychainManager.swift:42) |
Keychain service name — app cannot find its own master key |
"rdReceipt" (EncryptedVault.swift:58) |
Application Support vault directory |
"rdReceipt/ImageCache"
(EncryptedImageCache.swift:139) |
cache directory |
Live data confirmed present:
~/Library/Application Support/rdReceipt/vault.db, 102 KB +
313 KB WAL, last written 2026-08-23 23:53, with a populated
ImageCache/. Renaming these needs a migration (read with
old key/path, re-derive, re-encrypt, move). Logged OPEN in
ISSUES.md.
Also preserved: PROVENANCE.md's historical source paths
and GitHub remote names, and the dated archives under
docs/changelogs/, docs/consolidation/,
.agents/ — rewriting those falsifies a record.
Apps/ReceiptRoo keeps its name; ReceiptRoo is a different
name, not a variant.
Verification evidence
| Check | Result |
|---|---|
swift build |
Build complete! |
swift test |
505 tests / 87 suites, exit 0 |
xcodegen +
xcodebuild ReceiptRoo-macOS |
** BUILD SUCCEEDED ** |
| Persisted identifiers after rename | all 6 confirmed intact by grep |
dataroo.net in project |
0 references |
| Recovered bundles | sha256 identical, git clone succeeds |
One test failed on the first clean-cache run (CLI subprocess latency,
2.0 s budget) and passes warm at 0.606 s. Reproduced both ways before
attributing it — cold-cache flakiness after rm -rf .build,
not the rename.
Outstanding owner actions (Rich)
- Which implementation is v1 — still open. The layout decision settled where code lives, not which tree ships.
- The vault-identifier migration — worth writing, or leave the internal strings as they are?
Apps/ReceiptRoonaming / bundle ID —com.eastcoastscience.ReceiptRoo, and the.mobilesuffix that forecloses universal purchase.- Stale copies on
rdmbair15m5— approve removal. dataroo.netoutside this project: 2,094 files across~/devwere NOT touched. That is the fleet publishing stack (scripts/gen_site.py,publish_site.zsh, thecom.eastcoastscience.devsitelaunchd job) plus unrelated projects, and your own globalCLAUDE.md§10 mandates publishing dashboards there. Removing them would break the status site and contradict standing config. Say if you want that done as its own deliberate job.
Apple Notes
PENDING. This session is
launchctl managername = Background and cannot send
AppleEvents. From Terminal.app on rdmsm4x:
zsh ~/scripts/notes_changelog.zsh ~/dev/LLM/Claude/changelogs/rdmsm4x-changelog-20260824-0010-rdRECEIPT-rename-and-dataroo-removal.md