docs(ui): record the 2026-10-30 browser sweep against coverage notes

Marks the sweep-candidate list as executed (every knob driven in a real
browser), preserves the four defect classes the sweep fixed so the next
agent does not re-learn them the hard way, and pins the panel-vs-
Playwright limitation (value assignment without change events) that any
future automated spec of the htmx-triggered controls must work around.
This commit is contained in:
John O'Keefe committed 2026-10-30 20:51:26 -04:00
1 parent 94985adb5e
commit 8aec80cbb7
1 file changed
+21
+21
View File
@@ -71,3 +71,24 @@ New controls the Playwright sweep should cover once it lands:
collection page. collection page.
- API-level pins live in `TestPodcastEpisodeCollections` (7 subtests - API-level pins live in `TestPodcastEpisodeCollections` (7 subtests
incl. the family-lens auditor case) + `TestPodcastPlayerOrderControl`. incl. the family-lens auditor case) + `TestPodcastPlayerOrderControl`.
## 2026-10-30 — browser sweep executed (manual, OpenChamber panel)
All controls above plus the item-3 builder/editor surfaces were driven
in a real browser against the dev stack. Outcomes + reusable gotchas:
- Fixed during the sweep: templ has no `continue` STATEMENT (codegen
emits it as literal text — the library switcher's podcast exclusion
never worked); CSP attribute grammar (no backticks, no `?.`, no
if-statements in Alpine attrs); rules editor double-encoded payloads;
store hook must use the IMPORTED Alpine (window.Alpine?.store silently
no-ops). Pins: TestLibrarySwitcherExcludesPodcasts, templates CSP
source scan, TestPodcastEpisodeCollections/TestEpisodeCollectionsFilterTree.
- Panel limitation for future automated specs: `selectOption`-equivalent
via this panel sets the value WITHOUT a change event — htmx
change-triggers (player order dropdown, library switcher) must be
driven with Playwright-native interactions, not value assignment.
- Episode flows confirmed: picker Episodes tab → Add Selected → cards
with queue=collection: play links → chain hops keep the param; order
controls appear ONLY in feed mode (player + feed page share the
persisted override).