Remove superseded Room MemberEntity/CanonicalNoteEntity scaffolding #46

Closed
opened 2026-07-23 21:35:48 +02:00 by cloudbot · 1 comment
Collaborator

Issue #17 scaffolded MemberEntity and CanonicalNoteEntity in app/src/main/java/family/marquezkeenan/logbook/data/db/Entities.kt (+ DAO/DB) as placeholders for family member config. Issue #20 delivered that config as a static, injectable FamilyMemberRegistry instead (domain/FamilyMember.kt, domain/FamilyMemberRegistry.kt) — hardcoded, no Room involvement, no caching needed for compile-time constants. These entities are now dead scaffolding and a second source of truth risk; remove them (and any DAO/DB wiring referencing them) before the template/stream issues build further on the DB.

Issue #17 scaffolded `MemberEntity` and `CanonicalNoteEntity` in `app/src/main/java/family/marquezkeenan/logbook/data/db/Entities.kt` (+ DAO/DB) as placeholders for family member config. Issue #20 delivered that config as a static, injectable `FamilyMemberRegistry` instead (domain/FamilyMember.kt, domain/FamilyMemberRegistry.kt) — hardcoded, no Room involvement, no caching needed for compile-time constants. These entities are now dead scaffolding and a second source of truth risk; remove them (and any DAO/DB wiring referencing them) before the template/stream issues build further on the DB.
Author
Collaborator

This issue is stale — the scaffolding it targets no longer exists in the form described.

Entities.kt (bare MemberEntity/CanonicalNoteEntity) and the stub LogbookDao.kt from issue #17 were already deleted in issue #22's commit 94d7c67 ("feat(00022): add Room entities, DAOs, and wire LogbookDatabase for the §9 data layer").

Their present-day namesakes are different, live code, not dead scaffolding:

  • data/db/CanonicalNoteEntity.kt — offline cache of Outline doc bodies with a revision conflict-detection baseline; referenced by CachedContentRepository, CacheRefreshEngine, EntrySyncEngine, LogbookDatabase, DatabaseModule, and covered by tests.
  • data/db/MemberConfigEntity.kt — its docstring explicitly frames it as dynamic per-member state layered over FamilyMemberRegistry, which stays the compile-time source of truth for identity. This is the deliberate resolution of the exact "second source of truth" concern this issue raised, not a duplication of it.

Both are part of the live schema (LogbookDatabase version 4, migrations 1→4, exported schemas 1.json–4.json). Deleting them would break the caching/sync layer. Closing as superseded/no-longer-applicable.

This issue is stale — the scaffolding it targets no longer exists in the form described. `Entities.kt` (bare `MemberEntity`/`CanonicalNoteEntity`) and the stub `LogbookDao.kt` from issue #17 were already deleted in issue #22's commit `94d7c67` ("feat(00022): add Room entities, DAOs, and wire LogbookDatabase for the §9 data layer"). Their present-day namesakes are different, live code, not dead scaffolding: - `data/db/CanonicalNoteEntity.kt` — offline cache of Outline doc bodies with a `revision` conflict-detection baseline; referenced by `CachedContentRepository`, `CacheRefreshEngine`, `EntrySyncEngine`, `LogbookDatabase`, `DatabaseModule`, and covered by tests. - `data/db/MemberConfigEntity.kt` — its docstring explicitly frames it as *dynamic* per-member state layered over `FamilyMemberRegistry`, which stays the compile-time source of truth for identity. This is the deliberate resolution of the exact "second source of truth" concern this issue raised, not a duplication of it. Both are part of the live schema (`LogbookDatabase` version 4, migrations 1→4, exported schemas 1.json–4.json). Deleting them would break the caching/sync layer. Closing as superseded/no-longer-applicable.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
utilities/Logbook#46
No description provided.