# Riff 1.0.1 — draft feedback and collection-root review ## Authorized behavior and review — 2026-10-18 The user requests directly switching Music/Book without disabling the other choice, selected-again returning to Auto, immediate explanatory feedback, MAIN Playlists opening the collection list, a version increment and installation on phone and HU. Version 1.0.1 (15) remains FINAL with the shared status-true default; user configuration keeps priority. Public website delivery is a separate edition. Official review: - [Automotive sizing](https://developers.google.com/cars/design/automotive-os/design-system/sizing): preserve the existing centered icons and transport-height targets, with no reduction to fit text. - [Car app quality](https://developer.android.com/docs/quality-guidelines/car-app-quality): preserve safe insets and stable, bounded navigation. MAIN's collection launcher provides the predictable list destination; text wraps and scrolls without obscuring controls. - [AAOS media integration](https://developer.android.com/training/cars/media/automotive-os): actual AAOS/projected media retains host-controlled surfaces and current safety policy. No custom-host substitution, Settings path, IME or new mode branch is introduced. The same two-toggle and collection-root behavior serves phone and local automotive UI. Artist/Genre read-only selectors and pending commits remain disabled. Draft changes do not write until deliberate exit and do not change the current queue. The preview describes the selected draft, not an asynchronously rebuilt saved catalog. Auto explains inheritance rather than claiming the previous saved cause is its new effective result. MAIN Playlists and Bookmarks restore their collection-list state; successful Add still opens its intended destination and ordinary child-list navigation retains its own memory. ## Verified implementation and device delivery The row-action explanation now uses the current draft synchronously. Manual choices describe their scope; Auto describes delegation and Album member cleanup. Saved catalog causes remain information on read-only Artist/Genre rows. Both editable toggles remain enabled: another choice switches directly, and the active choice clears to Auto. Commit-pending protection and deliberate-exit persistence remain. The prior first-override cache fix and shared status-true default are retained. The defect in MAIN Playlists came from restoring the last root-wide navigation snapshot, which could refer to a child playlist opened by Add. Collection launchers now restore their root-list snapshot. Its filter, anchor and focus remain separate from remembered child state. This also covers Bookmarks. Other categories retain their existing navigation behavior; successful Add still opens its destination playlist. Fresh verification: - `:configuration:check :configuration:test :app:testDebugUnitTest :app:ktlintCheck :app:lintDebug :app:verifyDistributionRelease :app:assembleInstrumented :app:assembleInstrumentedAndroidTest` passed. JVM reports contain **307 Player + 30 configuration = 337 tests**, no failures or skips. - Direct AndroidJUnitRunner runs passed **four tests on each device**: two Compose menu/layout cases, draft-switch/commit/Auto-deletion integration, and first-playlist creation followed by MAIN → Playlists opening the collection list. Tests used only disposable `.instrumented` packages. - Compose cases check draft feedback for Folder/Album/Track, direct switches and Auto, disabled read-only/pending states, transport-height targets and full wrapped text at 360 dp/fontScale 2. - JVM regressions cover both content modes, separate root/child filters and anchors, a new collection with no prior root memory, preserved child memory and unaffected other categories. The final signed APK is `~/riff/releases/1.0.1-261018/riff-1.0.1-261018.apk`, **1.0.1 (15)**, **FINAL**, declared date **2026-10-18**, 109428849 bytes. - APK SHA-256: `fb40c10455ed91a5ab6f80012c1428a3975b5fe3ee9c741e6402da9f863a7fc4`. - Certificate SHA-256: `8f1dce0e9f5ae50fbead23ddb3d60182f9af4b3a584481eeee1f3df5c499e67d`; matches the existing release identity. - Level 2 model SHA-256: `8819c2b3723d448dc63e92c12135a57eab00a3f867697439e4eb327bc6f32813`; unchanged. Both phone and HU received `adb install -r` of this exact APK. The installed `/base.apk` hashes match, version metadata is 1.0.1/15, original UID and first-install time remain, and MainActivity starts with `Status: ok`. Player remained alive during the subsequent check. No Riff crash, Indexer pipeline failure or rejected startup configuration was observed in the monitored interval. No manual app or database clear was performed. Dependency declarations and the model graph did not change; the existing dependency review remains due 2026-11-15. All logs, source patch plus new-source inventory, manifests, test results and package/startup receipts remain under `~/riff/status/1.0.1-ui-fixes-261018`. Base Git HEAD is `9922812372c4905033e0e55049166eb28c3facea` plus current working changes. No new commit, tag or push was authorized or performed. Website/source/APK delivery remains the separately published 1.0.0 edition. These tests establish the measured local behavior and do not establish live vehicle-host conformance or exhaustive absence of defects.