Trainlog v0.1.2 extends the local-first desktop and Android workflow while keeping each SQLite database private to its device. ## Web and Programs - The loopback-only Web application now provides the Dashboard, Sessions, and Programs administration surfaces. - The top-level Programmes calendar presents active Program sessions by real planned date and uses the Core-provided `todo`, `prepared`, `in_progress`, `completed`, and `deleted` execution states. - Manual and Program-derived preparations preserve their stable provenance, ordered exercises, targets, loads, and revision history. ## Android execution and history - A prepared Program session can be delivered to Android, started explicitly, resumed from the durable local draft, and completed without inventing a performed session at delivery time. - Completed Android sessions return to desktop History exactly once and advance their Program calendar entry through the stable execution-session identity. - Causal deletion, withdrawals, retained generations, and replay protection prevent removed data from being resurrected. ## Synchronization - The complete generation protocol transports versioned artifacts, manifests, correlated acknowledgements, and causal operations through one idempotent business engine. - USB/MTP remains the preferred local transport. A separately configured private Google Drive namespace is maintained as a mirror and serves as a fallback when USB is unavailable. - Android can process desktop USB requests through an explicitly enabled foreground service, and bounded WorkManager checks handle the private Drive folder selected by the user. - After initial background activation, the Web Synchronize action can complete a USB conversation without opening Android's SyncScreen for each run. - Trainlog remains local-first: desktop and Android SQLite databases stay local and are never synchronized through USB or Google Drive. ## Assets - `trainlog-android-v0.1.2.apk`: signed Android APK. - `trainlog-tui-linux-x86_64-v0.1.2`: Linux x86-64 runtime bundle containing the TUI, local Web adapter, synchronization helpers, and required catalogs. - `SHA256SUMS`: SHA-256 checksums for both artifacts.