-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
prio: p2Medium priority, normal queueMedium priority, normal queuesize: lLarge, multiple daysLarge, multiple daysstatus: readyReady to be worked onReady to be worked ontype: choreMaintenance, refactoring, dependenciesMaintenance, refactoring, dependencies
Description
Overview
The codebase has ~14 parallel type definitions across src/api/types.rs and src/models.rs that are nearly identical, with SQLite acting as an implicit mapping layer between them. This creates maintenance burden, bugs (see PR #124), and no meaningful abstraction.
See #126 for the full investigation and detailed type inventory.
Strategy
Three incremental PRs, each independently valuable:
- Dead code cleanup + fix under-specified API types (size: S) — Remove always-
Nonefields, add explicit fields toTranscriptUtteranceandRecipeConfig, killextra.get()hacks - Type consolidation (size: M) — Merge ~14 type pairs into one set of domain types. Cleaner after step 1 since API types will already be properly specified
- Explicit storage layer (size: S) — Make transformations (TipTap → markdown,
chat_urlextraction) more visible as storage-layer concerns
Sub-issues
- #126 — Investigation (complete)
- #230 — Step 1: Clean up dead fields and fix under-specified API types
- #231 — Step 2: Consolidate to single set of domain types
- #232 — Step 3: Make storage layer transformations explicit
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
prio: p2Medium priority, normal queueMedium priority, normal queuesize: lLarge, multiple daysLarge, multiple daysstatus: readyReady to be worked onReady to be worked ontype: choreMaintenance, refactoring, dependenciesMaintenance, refactoring, dependencies