Skip to content

Capture wizard row needing clearance - #200

Merged
jim80net merged 2 commits into
mainfrom
agent/capture-overlapped-wizard-row
Aug 6, 2026
Merged

jim80net merged 2 commits into
mainfrom
agent/capture-overlapped-wizard-row

Conversation

@jim80net

@jim80net jim80net commented Aug 6, 2026

Copy link
Copy Markdown
Owner

Summary

  • identify the model row intersecting the sticky action bar in the installed wizard
  • scroll that exact row into measured clearance, then validate and capture the same viewport
  • retain positive-height and full action-bar viewport bounds at 100%/125% in Light/Dark

Evidence

Exact-main run 31071454554 was withheld because it gated an off-screen final row while the published viewport still showed an earlier row beneath the actions. Production renderer code and pixels are unchanged.

Verification

  • GitNexus impact/detect: LOW, one symbol, zero product processes
  • npm run typecheck
  • npm run lint
  • npm test -- --run (453/453)
  • screenshot provenance base-ref validation

After independent merge I will rerun exact-main 24/24 and publish provenance separately.


Summary by cubic

Fixes the installed wizard screenshot capture by locking onto the row intersecting the sticky action bar and capturing that same, cleared viewport across themes and scales. Prevents mismatched captures where the published viewport showed a different row; production code and pixels are unchanged.

  • Bug Fixes
    • In app/tests/install/walkthrough.mjs, pick a baseline (Light, 100%), find the .pack-row overlapping .setup-actions, persist its data-pack-id, and use that exact row for all scales/themes; include setupTargetPackId in metadata.
    • Scroll that row into measured clearance, then validate the same viewport; fail if the row or actions aren’t fully exposed at 100%/125% in Light/Dark.
    • Update site/assets/screenshots/DRIFT-WAIVERS.md with PR Capture wizard row needing clearance #200 context and expiry steps.

Written for commit 126fbf7. Summary will update on new commits.

Review in cubic

@jim80net

jim80net commented Aug 6, 2026

Copy link
Copy Markdown
Owner Author

Independent gate BLOCKED at exact head 8fc09168fcdb26ed90a85785be98c740731d8c92.

targetIndex is discovered inside the theme loop, after prior variants have already called scrollIntoView and mutated the page scroll. The first pass can select the row intersecting the sticky actions; after that row is exposed, the next Light/Dark or 100/125 pass can select a different newly intersecting row, or silently fall back to the final row when none overlaps. The four evidence frames therefore are not proven to validate and capture the same target state—the exact mismatch this PR is intended to close.

Make the target identity stable across the capture matrix: discover the originally intersecting row from a deterministic baseline before any capture scroll, require that an intersecting row was actually found rather than silently substituting the last row, retain its stable data-pack-id (or equivalent identity), and use that same row for every 100%/125% Light/Dark validation and immediately following capture. Add a focused regression or durable metadata/assertion that proves the target identity does not change across variants. The per-variant geometry checks, production/test-only scope, withheld-run account, waiver expiry, and current diff otherwise review clean. Do not merge this head.

@jim80net

jim80net commented Aug 6, 2026

Copy link
Copy Markdown
Owner Author

Independent re-gate PASS at exact head 126fbf70bf6560fe1c5a205de8ea17bfa5a738a8.

The prior determinism block is resolved: target discovery runs once from a 100% Light, scroll-zero baseline; absence of an actual intersecting row fails closed; the validated data-pack-id is reused for all four 100%/125% Light/Dark variants; and every wizard capture-metadata record carries that stable identity. Per-variant row/action geometry remains immediately adjacent to each capture. The test-only scope, withheld-run account, waiver expiry, and git diff --check are clean.

All required checks, Landing validation, app-e2e, both frozen smokes, and Socket are green. The first Ubuntu frozen smoke failed in unrelated Tailscale Serve guardian readiness after engine/web health passed; one bounded failed-job rerun passed at the same head. Safe to land, with #194 remaining open through exact-main 24/24 visual inspection, provenance publication/waiver removal, and deployed Pages verification.

@jim80net
jim80net marked this pull request as ready for review August 6, 2026 04:46
@jim80net
jim80net merged commit 5aa1041 into main Aug 6, 2026
19 of 20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant