Audit: validate native sidebar trailing columns

TE
6d ago
+454-0

Converts the native sidebar gallery's measured view frames and mark centers into geometry-lint evidence with verified screenshot coordinates. The contract checks every nested fixture row, required hover states, trailing columns, and each row's center. Hover controls exclude dot/status/unread marks while preserving the structural chevron.

Requested invariants: “trailing sidebar indicators workspace/inner-tab/group at any nesting share one right-edge column and per-rowcenter”; “hoveredrow spinner and controls never simultaneous.” Structural disclosure chevrons are treated separately from activity marks.

The exact capture at 66f9626ce9446b70d1c5de36feeba427946e13de contains eight states with 15 rows each. Archive SHA-256: 37e5ced54c3aec79e7bacba0a67897fb30281b8e0d75ca9babbcf4bcb6b2d79e; geometry SHA-256: e3630aefed21defc15a20688e72ac87419e12e63d944df1b61e74341b176ea11. Before-state tests replay measured 2 px nested unread drift and 38/40 px loading-status drift. The before exporter lacked mapping: only the unit replay uses the identical-harness attestation, independently checked against every row frame and PNG dimension. Production conversion rejects missing mapping.

Evidence is explicitly view-frame/center-only, never AX or glyph bounds. Theme identity is absent in the exporter and remains a reported coverage gap. There are no runtime UI changes. Gallery CI runs the adapter regressions; producing fresh native captures remains the native gallery runner's responsibility.

Validation: fleet run 40625796572 passed at 9cf7b6374bf313319fe282bdca626a27bd9ed199: 21 tests, 97 assertions. Review found that vertical centering omitted non-end-slot controls; 6bcec52875047cb6fc48ed8f50f3fac28136ae47 fixes that and adds 20 px negative regressions for close, more and disclosure. Exact-head run 40626302275 passed: 22 tests, 100 assertions at 6bcec52875047cb6fc48ed8f50f3fac28136ae47 (tree 04d1aaa882ca6c14571bd84d4c68cccfa69b36ca). Review (codex gpt-6-astra high, review-26607): SHIP at 6bcec52875047cb6fc48ed8f50f3fac28136ae47. The reviewer verified the exact TARGET and found no remaining issues.

The core now normalizes screenshot-pixel evidence into CSS px/native points before evaluating rules. Head a341a6f43953c1269230f535a9da22dacf102d84 removes scale multiplication from the native tolerance and adds boundary regressions at 1× and 2×: 0.5 points passes, 0.51 points fails with the same reported delta, and raw coordinates remain unchanged for crops. Exact-head run 40630524955 passed: 23 tests / 122 assertions, source tree 0dc7535486acba4334bde3f324b6305dee227400.

Agent session: agent session