- Option fields show the server defaults that Generate sends: the
controller bumps an options revision on open and on a model change,
and the panel re-renders only then (I1).
- A tag conflict shows the current set at once ("Saved now: ...") and
puts it ahead of the draft in the manual field, so the next Save
sends what is shown (I2).
- The opening sentence is the concept's on-screen copy; "Remove
anything you do not want to add." leads the chips only while chips
exist; the comparison's opened mapping is gone (I3).
- ApiClient gains an additive keepalive option; the capture release
and the Save PUT use it, and pagehide closes the dialog (I4).
- Closing during a save keeps the capture until the PUT settles, then
releases it and still reports the outcome (toast, page refresh) (I5).
- A refresh asked during a page load is pending and runs once it
settles; re-reads use pages up to 200 files; a failed re-read
toasts; Load more waits for a refresh (I6, M2, M3).
- The selection bar drops checked files a refreshed result no longer
lists (I7).
- D116 records Retry; after a failed Generate it takes Generate's own
path, and after a changed storage, file or expired capture it
observes again keeping the draft (I9, M4, M5).
- A save made from Tags marks a filtered Images visit stale (M6).
- images.mjs drops under 800 lines: the tagging wiring moves to
images-tagging.mjs and the favorites star to images-favorites.mjs
(unchanged), and reset() reuses dropSelection() (M1).
- Restore the activity-scan.mjs coverage floors; drop the duplicate
paired captures test (I8, M9).