## What and why ## How this was verified - [ ] CI is green - [ ] Tests added or updated for the behaviour that changed - [ ] Verified manually (describe how): ## Invariants - [ ] Raw ingested bytes remain immutable; derived tables stay rebuildable - [ ] No stored odometer added; wear still derived from installs - [ ] Physical quantities stored as SI integers - [ ] New user-owned tables have `user_id` + RLS policy + repository scope - [ ] No secret can reach a response model, log line, or error message - [ ] Migration survives `upgrade -> downgrade -1 -> upgrade` ## Risks and follow-ups