Skip to content

Commit 0c843fe

Browse files
committed
test(11): reconcile G-11-7 and G-11-8 after gap-closure execution
1 parent 2382c16 commit 0c843fe

1 file changed

Lines changed: 56 additions & 7 deletions

File tree

  • .planning/phases/11-infra-refactor-lint-capstone

.planning/phases/11-infra-refactor-lint-capstone/11-UAT.md

Lines changed: 56 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ status: diagnosed
33
phase: 11-infra-refactor-lint-capstone
44
source: [11-VERIFICATION.md]
55
started: 2026-07-21T00:00:00Z
6-
updated: "2026-07-21T13:21:20Z"
6+
updated: "2026-07-21T17:39:51Z"
77
---
88

99
<!--
@@ -18,11 +18,21 @@ gate treated as overridden so UAT could proceed. Reported upstream against
1818

1919
## Current Test
2020

21-
[testing paused — 1 item outstanding]
21+
[testing paused — 3 items outstanding]
2222

23-
Test 3 (zero-favourites detail parse) remains pending — deferred until a suitable
24-
gallery is found. Suggested route: sort the front page by newest and open a
25-
just-posted gallery, which has zero favourites by construction.
23+
Outstanding, all requiring the owner on a device:
24+
25+
1. **Test 3** (zero-favourites detail parse) — never run. Route: sort the front page by
26+
newest and open a just-posted gallery, which has zero favourites by construction.
27+
28+
2. **Test 7 re-test** (G-11-7 pagination) — fix applied but runtime-unconfirmed. Scroll a
29+
multi-page list to the end in BOTH display modes (`.detail` and `thumbnail`) and confirm
30+
it appends past three pages. Thumbnail must stay working; it was the control in the
31+
falsification test.
32+
33+
3. **Test 8 re-check** (G-11-8 symbol size) — fix applied, shipped `.medium` not `.small`.
34+
Must be checked inside a real list; a free-standing `#Preview` shows no difference at all.
35+
Also worth a glance: the Torrents sheet (4 stat icons) and the download-badge branch.
2636

2737
## Tests
2838

@@ -117,7 +127,19 @@ blocked: 0
117127

118128
- gap_id: G-11-7
119129
truth: "Scrolling a gallery list to the end fetches and appends the next page"
120-
status: failed
130+
status: fix_applied_pending_confirmation
131+
resolved_by: 11-30-PLAN.md
132+
resolved_at: 2026-07-22
133+
fix_shipped: "PRIMARY form, not the fallback. `.onScrollVisibilityChange` on the row Button
134+
inside DetailList's ForEach; `.autoLoadNextPage(...)` deleted from that List.
135+
AutoLoadNextPage's body, guards, thresholds and state are untouched — it was rescoped by
136+
deleting its DetailList call site plus a doc-comment rewrite. No reducer, no
137+
Setting.listDisplayMode, no @State on DetailList. Commits: 8325c5c5, d7b90d8a, 96592d0d."
138+
unverified: "COMPILE-LEVEL AND STRUCTURAL ONLY. Not runtime-confirmed: whether the trigger
139+
fires on arrival at the trailing row, paginates past three pages, holds on a second surface,
140+
and leaves thumbnail mode unchanged. All four need an owner device re-test in BOTH display
141+
modes. If the row-level callback turns out never to fire inside a List, the sanctioned
142+
fallback is `.onScrollTargetVisibilityChange(idType:)` + `.scrollTargetLayout()`."
121143
reason: "User reported: frontpage list (probably all lists) fetch more feature is broken, it just reach the end and won't fetch more"
122144
severity: blocker
123145
test: 7
@@ -194,7 +216,34 @@ blocked: 0
194216

195217
- gap_id: G-11-8
196218
truth: "The page-count symbol in the gallery cell renders at its prior size"
197-
status: failed
219+
status: fix_applied_pending_confirmation
220+
resolved_by: 11-31-PLAN.md
221+
resolved_at: 2026-07-22
222+
fix_shipped: "All six sites ship `.imageScale(.medium)` — NOT the `.small` the plan defaulted to
223+
and this gap's `missing` list recommended as repo precedent. Settled by measuring inked glyph
224+
bounds in a real List, not by eye: baseline (pre-6dd51b00 bare Image) 16.25x13.25; unfixed
225+
Label 21.0x17.25 (~29% wider); `.small` 13.0x10.75 (undershoots baseline by 3.25pt);
226+
`.medium` 16.25x13.5 (matches). `.small` would have traded one appearance regression for
227+
another. Commits: 01b79ff7, 66f08295, 5c58d3e2, 23db6fcd."
228+
diagnosis_corrected: "The recorded mechanism in this gap's root_cause was FALSIFIED by
229+
measurement. Free-standing, a Label's icon is pixel-identical to a bare Image (both 20x16 at
230+
.footnote) — titleAndIcon does not inflate the icon on its own. The inflation is LIST-SPECIFIC.
231+
The six-sites conclusion still holds but for a different reason: ThumbnailList wraps the whole
232+
MasonryLayout in one eager List row, so the masonry grid is inside a List too. Had the
233+
list-specific mechanism been known first, the thumbnail cell would have looked exempt and been
234+
missed. Debug note corrected in commit ab19f888."
235+
no_regression_test: "This plan ships NO automated regression test. A parity test measuring glyph
236+
ink bounds in a real List was built and RED/GREEN-verified (fails on .small, passes on .medium)
237+
— it produced every number above — then removed: rendering a List needs a UIWindow
238+
(ImageRenderer draws an unsupported-content placeholder), every scene-free UIWindow initializer
239+
is deprecated on iOS 26, and the test host exposes no UIWindowScene. Keeping it meant shipping
240+
a deprecation warning, which policy forbids. Remaining protection is the grep gate plus the
241+
owner's visual check."
242+
unverified: "Dynamic Type at accessibility sizes not empirically confirmed — the structural
243+
guarantee holds (relative scale, zero absolute point sizes, gate-verified) but the AX3 fixture
244+
could not fit four rows in the render frame. Also unverified without a device: the Torrents
245+
sheet and the download-badge branch. CAUTION: re-checking in a free-standing #Preview will show
246+
NO difference at all — the effect exists only inside a List."
198247
reason: "User reported: the symbol indicating page count looks larger before it became label (symbol in gallery cell)"
199248
severity: cosmetic
200249
test: 8

0 commit comments

Comments
 (0)