- Delete unused FileFragmentRepository.cs
- DatabaseSessionService delegates to JournalDatabaseService for
OpenEncryptedConnection/EnsureSchema instead of duplicating logic
- Make IJournalDatabaseService expose OpenEncryptedConnection and
EnsureSchema as public
- Convert entire fragment chain from fake async (Task.FromResult
wrappers) to synchronous: IFragmentRepository, SqliteFragmentRepository,
InMemoryFragmentRepository, IFragmentService, FragmentService,
Entry.cs dispatch, and SmokeTests
Co-Authored-By: Warp <agent@warp.dev>
- Fragment model with validation, DTOs (immutable records), repository, service
- Sidecar stdin/stdout JSON protocol for Tauri integration
- DI wiring via ServiceCollectionExtensions
- Scaffolded Journal.Api (not yet wired)
Co-Authored-By: Warp <agent@warp.dev>