Release / build-and-push (push) Successful in 3m2s
TestAudioResumeRewind drives the whole surface against the shared dev DB with the fresh per-test regular user (the live admin is never touched; the fixture book lives in a test-named library that cascades away): default 0, profile PUT "5" rides the chapters payload, non-allow-listed values 400 without side effects, explicit "0" resets everywhere, and an omitted JSON key leaves the column untouched. Changelog entry in docs/contract_pins.md (additive chapters key + the profile field's string-shaped PUT, keep_screen_awake precedent) and the get_profile.md example gains the preference keys. Debug note for the next agent: the first runs here 401'd with 'Ghost session rejected' — NOT a harness or auth bug. The tests never execute schema.sql; the shared dev DB gets its schema from the app container's boot. The rebuilt tests image ran the new GetUser (selecting audio_resume_rewind_seconds) against a DB whose schema came from the old app image — every GetUser errored, and the ghost-session guard turned that into 401s. Applying the schema.sql ALTER to the dev DB (what the next app rebuild does anyway) turned the suite green. Until make rebuild-app runs, the running app container serves the old binary.