The best available replica is preserved. Verification is incomplete.
Runtime budget too low for another build pass. Reference verification remains blocked: desktop-initial: Live reference is unverified: Live reference entry: pixels failed; rendered frames differ across independent loads; Live reference phase section-4 did not finish within 240 seconds; Live reference coverage is incompl…
Runtime budget too low for another build pass. Reference verification remains blocked: desktop-initial: Live reference is unverified: Live reference entry: pixels failed; rendered frames differ across independent loads; Live reference phase section-4 did not finish within 240 seconds; Live reference coverage is incomplete; unfinished phases need capture | mobile-reduced: Live reference is unverified: Live reference entry: pixels failed; rendered frames differ across independent loads | mobile-initial: Live reference is unverified: Live reference entry: pixels failed; rendered frames differ across independent loads | tablet-initial: Live reference is unverified: Live reference entry: pixels failed; rendered frames differ across independent loads; Live-to-offline reference validation exceeded the evaluation time budget | tablet-reduced: Live reference is unverified: Live reference entry: pixels failed; rendered frames differ across independent loads; Live-to-offline reference validation exceeded the evaluation time budget | desktop-reduced: Live reference is unverified: Live reference entry: pixels failed; rendered frames differ across independent loads; Live-to-offline reference validation exceeded the evaluation time budget
Evidence & comparison
Follow recorded observations through implementation, build and independent verification.
Verification scope
Not checkedSimilarity measures visual closeness. Verification applies only to the recorded inputs, sampled times and viewport sizes in revision 23.
- Reference evidence
- No completed observation comparison is selected. Capturing a page does not validate its offline recording.
- Replica checks
- No completed observation checks are available for this selection.
- Coverage
- 160 unresolved actions · 11 observations not compared · 4 recorded limitations. Unobserved interactions and other viewport sizes remain outside this result.
Behavior coverage
0 of 1 analyzed behaviors pass all their recorded checks · 0 have measured differences · 0 source obligations remain unresolved. Code mappings are implementation claims. Passing checks cover only their recorded conditions, inputs and sampled times.
2/3 reference calibration attempts produced repeatable evidence · 1 minutes in completed unverified reference attempts · No calibrated feature comparison yet
Read the recorded behavior analysisA React PureComponent (render returns null) mounted at app shell level. On mount it registers window resize (handleResize and a 300 ms debounced copy), an orientationchange handler that re-dispatches a resize after 300 ms, and a gesturestart preventDefault. It calls handleResize immediately, sets history.scrollRestoration to manual, and adds body classes from browser info. handleResize writes --vh from innerHeight on the next animation frame and dispatches onSwitchViewport with the viewport name from two matchMedia queries when the name differs from this.viewport. Unmount removes only the two resize listeners.
Next: Capture the missing input histories
0/5 assertions calibrated · 0 unchanged mappings retained
Targets: html, body
- componentDidMount adds window resize listeners for handleResize and the 300 ms debounced copy, and an orientationchange listener that re-dispatches a resize event after 300 ms.
- componentDidMount adds a document gesturestart listener that calls preventDefault.
- componentDidMount sets history.scrollRestoration to manual when the property exists.
- The viewport name comes from two matchMedia queries v.d and v.g. If the first matches, v.c is returned; otherwise if the second matches, v.f; otherwise v.a. The constant values are not resolved in this pass.
- handleResize dispatches onSwitchViewport(e) only when the detected viewport name differs from this.viewport. In the visible source, this.viewport is initialized to an empty string and not reassigned in this function, so the guard may pass on every call.
- A second resize listener uses debounceResize, which wraps handleResize with a 300 ms debounce.
- componentWillUnmount removes only the resize and debounced resize listeners. The orientationchange and gesturestart listeners are not removed in this component.
| Input | Conditions and history | Evidence |
|---|---|---|
| entry-vh-desktop · step 1 cold entry | On first-visit mount in the 1440x900 desktop state, html style carries --vh equal to 1% of innerHeight (9px) and body carries the noDevice, OS and browser classes. desktop 1440 × 900 warmed [] | Compare original and replica |
| resize-reversal-vh-desktop · step 1 resize | On a warmed desktop page, resizing to 390x844 and then back to 1440x900 makes handleResize schedule onSetVhSize on each resize; html --vh settles to 8.44px after the first resize and returns to 9px after the reversal. desktop 390 × 844 warmed resize [
{
"id": "page",
"selector": "body",
"label": "resize page",
"kind": "resize",
"viewport": {
"width": 390,
"height": 844
},
"waitMs": 768
}
] | Compare original and replica |
| resize-reversal-vh-desktop · step 2 resize | On a warmed desktop page, resizing to 390x844 and then back to 1440x900 makes handleResize schedule onSetVhSize on each resize; html --vh settles to 8.44px after the first resize and returns to 9px after the reversal.{
"type": "page",
"action": {
"kind": "resize",
"viewport": {
"width": 1440,
"height": 900
},
"waitMs": 768
}
} | NonRetriableError: Rendering evidence unavailable: Rendering surface surface-eff0yu (unstable), Rendering surface surface-11zgz1m (unstable) |
| resize-vh-mobile-size · step 1 resize | After a window resize to 390x844 on a warmed desktop page, handleResize schedules onSetVhSize on the next animation frame so html --vh becomes 1% of the new innerHeight (8.44px). desktop 390 × 844 warmed resize [
{
"id": "page",
"selector": "body",
"label": "resize page",
"kind": "resize",
"viewport": {
"width": 390,
"height": 844
},
"waitMs": 768
}
] | Compare original and replica |
| Assertion | Target and measurement | Result |
|---|---|---|
| viewport-shell-resize/entry-vh-desktop/vh-value | html · attribute (style) | unverified No current assertion measurement against a validated live reference {
"check": {
"kind": "equals",
"atMs": 1600,
"value": "--vh: 9px;"
},
"samples": []
} |
| viewport-shell-resize/entry-vh-desktop/body-class | body · attribute (class) | unverified No current assertion measurement against a validated live reference {
"check": {
"kind": "equals",
"atMs": 1600,
"value": "noDevice Linux Chrome"
},
"samples": []
} |
| viewport-shell-resize/resize-reversal-vh-desktop/vh-after-mobile-resize | html · attribute (style) | unverified No current assertion measurement against a validated live reference {
"check": {
"kind": "equals",
"atMs": 768,
"value": "--vh: 8.44px;"
},
"samples": []
} |
| viewport-shell-resize/resize-reversal-vh-desktop/vh-after-return-desktop | html · attribute (style) | unverified No current assertion measurement against a validated live reference {
"check": {
"kind": "equals",
"atMs": 768,
"value": "--vh: 9px;"
},
"samples": []
} |
| viewport-shell-resize/resize-vh-mobile-size/vh-after-resize | html · attribute (style) | unverified No current assertion measurement against a validated live reference {
"check": {
"kind": "equals",
"atMs": 768,
"value": "--vh: 8.44px;"
},
"samples": []
} |
- viewport-shell-resize/fact/mount-listeners: pending
- viewport-shell-resize/fact/gesture-block: pending
- viewport-shell-resize/fact/scroll-restoration: pending
- viewport-shell-resize/fact/viewport-detect: pending
- viewport-shell-resize/fact/vh-write: pending
- viewport-shell-resize/fact/viewport-dispatch-guard: pending
- viewport-shell-resize/fact/debounce-copy: pending
- viewport-shell-resize/fact/unmount-cleanup: pending
- viewport-shell-resize/fact/body-classes: pending
- viewport-shell-resize/fact/connected-dispatch: pending
- viewport-shell-resize/flow/1: pending
- viewport-shell-resize/flow/2: pending
- viewport-shell-resize/flow/3: pending
- viewport-shell-resize/flow/4: pending
- viewport-shell-resize/flow/5: pending
- viewport-shell-resize/flow/6: pending
- viewport-shell-resize/flow/7: pending
- viewport-shell-resize/lifecycle/mount-init: pending
- viewport-shell-resize/lifecycle/vh-measure: pending
- viewport-shell-resize/lifecycle/resize-cleanup: pending
- The constants v.a, v.c, v.d, v.f, v.g (media query strings and viewport names) are not resolved.
- The debounce helpers N() and $() are not resolved to their implementations.
- Whether this.viewport is reassigned elsewhere in the bundle is not checked; the visible code never sets it.
- The onSwitchViewport action K.f consumers and their effects are not resolved.
- No reduced-motion guard is present in this component; any reduced-motion handling elsewhere is unresolved.
- The orientationchange and gesturestart listeners are not removed on unmount in the visible code.
- 1 source modules could not be fully indexed for behavior discovery.
- Module exceeds the 2 MB structural parsing limit; use literal source inspection.
- Citation 1d91ce48ee4c303e22010b990902b919:0/28 lacks a parsed source node; inspect its original context.
- Fact mount-listeners: no linked measurement
- Fact gesture-block: no linked measurement
- Fact scroll-restoration: no linked measurement
- Fact viewport-detect: no linked measurement
- Fact viewport-dispatch-guard: no linked measurement
- Fact debounce-copy: no linked measurement
- Fact unmount-cleanup: no linked measurement
- Fact connected-dispatch: no linked measurement
- Flow 3: no measured linked input for orientationchange → resize dispatch
- Flow 5: no measured linked input for handleResize → onSwitchViewport
- Flow 6: no measured linked input for componentWillUnmount → removeEventListener resize
- Lifecycle resize-cleanup: no linked measurement
- desktop/standard-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact mount-listeners: no linked measurement; Fact gesture-block: no linked measurement; Fact scroll-restoration: no linked measurement; Fact viewport-detect: no linked measurement; Fact viewport-dispatch-guard: no linked measurement; Fact debounce-copy: no linked measurement; Fact unmount-cleanup: no linked measurement; Fact connected-dispatch: no linked measurement; Flow 3: no measured linked input for orientationchange → resize dispatch; Flow 5: no measured linked input for handleResize → onSwitchViewport; Flow 6: no measured linked input for componentWillUnmount → removeEventListener resize; Lifecycle resize-cleanup: no linked measurement)
- desktop/reduced-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact mount-listeners: no linked measurement; Fact gesture-block: no linked measurement; Fact scroll-restoration: no linked measurement; Fact viewport-detect: no linked measurement; Fact vh-write: no linked measurement; Fact viewport-dispatch-guard: no linked measurement; Fact debounce-copy: no linked measurement; Fact unmount-cleanup: no linked measurement; Fact body-classes: no linked measurement; Fact connected-dispatch: no linked measurement; Flow 0: no measured linked input for componentDidMount → handleResize; Flow 1: no measured resize input for resize event → handleResize; Flow 2: no measured resize input for resize event → debounceResize; Flow 3: no measured linked input for orientationchange → resize dispatch; Flow 4: no measured linked input for handleResize → onSetVhSize; Flow 5: no measured linked input for handleResize → onSwitchViewport; Flow 6: no measured linked input for componentWillUnmount → removeEventListener resize; Lifecycle mount-init: no linked measurement; Lifecycle vh-measure: no linked measurement; Lifecycle resize-cleanup: no linked measurement; No executable input histories)
- mobile/standard-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact mount-listeners: no linked measurement; Fact gesture-block: no linked measurement; Fact scroll-restoration: no linked measurement; Fact viewport-detect: no linked measurement; Fact vh-write: no linked measurement; Fact viewport-dispatch-guard: no linked measurement; Fact debounce-copy: no linked measurement; Fact unmount-cleanup: no linked measurement; Fact body-classes: no linked measurement; Fact connected-dispatch: no linked measurement; Flow 0: no measured linked input for componentDidMount → handleResize; Flow 1: no measured resize input for resize event → handleResize; Flow 2: no measured resize input for resize event → debounceResize; Flow 3: no measured linked input for orientationchange → resize dispatch; Flow 4: no measured linked input for handleResize → onSetVhSize; Flow 5: no measured linked input for handleResize → onSwitchViewport; Flow 6: no measured linked input for componentWillUnmount → removeEventListener resize; Lifecycle mount-init: no linked measurement; Lifecycle vh-measure: no linked measurement; Lifecycle resize-cleanup: no linked measurement; No executable input histories)
- mobile/reduced-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact mount-listeners: no linked measurement; Fact gesture-block: no linked measurement; Fact scroll-restoration: no linked measurement; Fact viewport-detect: no linked measurement; Fact vh-write: no linked measurement; Fact viewport-dispatch-guard: no linked measurement; Fact debounce-copy: no linked measurement; Fact unmount-cleanup: no linked measurement; Fact body-classes: no linked measurement; Fact connected-dispatch: no linked measurement; Flow 0: no measured linked input for componentDidMount → handleResize; Flow 1: no measured resize input for resize event → handleResize; Flow 2: no measured resize input for resize event → debounceResize; Flow 3: no measured linked input for orientationchange → resize dispatch; Flow 4: no measured linked input for handleResize → onSetVhSize; Flow 5: no measured linked input for handleResize → onSwitchViewport; Flow 6: no measured linked input for componentWillUnmount → removeEventListener resize; Lifecycle mount-init: no linked measurement; Lifecycle vh-measure: no linked measurement; Lifecycle resize-cleanup: no linked measurement; No executable input histories)
- tablet/standard-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact mount-listeners: no linked measurement; Fact gesture-block: no linked measurement; Fact scroll-restoration: no linked measurement; Fact viewport-detect: no linked measurement; Fact vh-write: no linked measurement; Fact viewport-dispatch-guard: no linked measurement; Fact debounce-copy: no linked measurement; Fact unmount-cleanup: no linked measurement; Fact body-classes: no linked measurement; Fact connected-dispatch: no linked measurement; Flow 0: no measured linked input for componentDidMount → handleResize; Flow 1: no measured resize input for resize event → handleResize; Flow 2: no measured resize input for resize event → debounceResize; Flow 3: no measured linked input for orientationchange → resize dispatch; Flow 4: no measured linked input for handleResize → onSetVhSize; Flow 5: no measured linked input for handleResize → onSwitchViewport; Flow 6: no measured linked input for componentWillUnmount → removeEventListener resize; Lifecycle mount-init: no linked measurement; Lifecycle vh-measure: no linked measurement; Lifecycle resize-cleanup: no linked measurement; No executable input histories)
- tablet/reduced-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact mount-listeners: no linked measurement; Fact gesture-block: no linked measurement; Fact scroll-restoration: no linked measurement; Fact viewport-detect: no linked measurement; Fact vh-write: no linked measurement; Fact viewport-dispatch-guard: no linked measurement; Fact debounce-copy: no linked measurement; Fact unmount-cleanup: no linked measurement; Fact body-classes: no linked measurement; Fact connected-dispatch: no linked measurement; Flow 0: no measured linked input for componentDidMount → handleResize; Flow 1: no measured resize input for resize event → handleResize; Flow 2: no measured resize input for resize event → debounceResize; Flow 3: no measured linked input for orientationchange → resize dispatch; Flow 4: no measured linked input for handleResize → onSetVhSize; Flow 5: no measured linked input for handleResize → onSwitchViewport; Flow 6: no measured linked input for componentWillUnmount → removeEventListener resize; Lifecycle mount-init: no linked measurement; Lifecycle vh-measure: no linked measurement; Lifecycle resize-cleanup: no linked measurement; No executable input histories)
- viewport-shell-resize/fact/mount-listeners: requirement has no executable check
- viewport-shell-resize/fact/gesture-block: requirement has no executable check
- viewport-shell-resize/fact/scroll-restoration: requirement has no executable check
- viewport-shell-resize/fact/viewport-detect: requirement has no executable check
- viewport-shell-resize/fact/viewport-dispatch-guard: requirement has no executable check
- viewport-shell-resize/fact/debounce-copy: requirement has no executable check
- viewport-shell-resize/fact/unmount-cleanup: requirement has no executable check
- viewport-shell-resize/fact/connected-dispatch: requirement has no executable check
- viewport-shell-resize/flow/4: requirement has no executable check
- viewport-shell-resize/flow/6: requirement has no executable check
- viewport-shell-resize/flow/7: requirement has no executable check
- viewport-shell-resize/lifecycle/resize-cleanup: requirement has no executable check
| Target | Input / viewport | Coverage and exclusions |
|---|---|---|
| #react-view > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(2) > button:nth-of-type(2) | hover / desktop | 0 observed · 5 unresolved · 0 excluded |
| #react-view > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(2) > button:nth-of-type(2) | click / mobile | 1 observed · 1 unresolved · 0 excluded |
| #react-view > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(2) > button:nth-of-type(2) | hover / tablet | 0 observed · 1 unresolved · 0 excluded |
| #react-view > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > a:nth-of-type(1) | hover / desktop | 0 observed · 5 unresolved · 0 excluded |
| #react-view > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(2) > button:nth-of-type(2) | hover / mobile | 0 observed · 2 unresolved · 0 excluded |
| #react-view > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > a:nth-of-type(1) | navigate / tablet | 0 observed · 1 unresolved · 0 excluded |
| #react-view > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > a:nth-of-type(1) | navigate / desktop | 0 observed · 5 unresolved · 0 excluded |
| #react-view > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > a:nth-of-type(1) | hover / mobile | 0 observed · 2 unresolved · 0 excluded |
| #react-view > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > a:nth-of-type(1) | hover / tablet | 0 observed · 1 unresolved · 0 excluded |
| #react-view > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > a:nth-of-type(1) | navigate / mobile | 0 observed · 2 unresolved · 0 excluded |
| #react-view > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(2) > button:nth-of-type(2) | focus / tablet | 0 observed · 1 unresolved · 0 excluded |
| #react-view > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(2) > button:nth-of-type(1) | hover / mobile | 0 observed · 2 unresolved · 0 excluded |
| #react-view > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(2) > button:nth-of-type(1) | hover / tablet | 0 observed · 1 unresolved · 0 excluded |
| #react-view > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(2) > button:nth-of-type(1) | click / mobile | 0 observed · 2 unresolved · 0 excluded |
| #react-view > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(2) > button:nth-of-type(1) | click / tablet | 0 observed · 1 unresolved · 0 excluded |
| #react-view > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(2) > button:nth-of-type(1) | focus / mobile | 0 observed · 2 unresolved · 0 excluded |
| #react-view > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(2) > button:nth-of-type(1) | focus / tablet | 0 observed · 1 unresolved · 0 excluded |
| #react-view > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(2) > button:nth-of-type(1) | focus / desktop | 0 observed · 5 unresolved · 0 excluded |
| #react-view > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(2) > button:nth-of-type(2) | focus / mobile | 0 observed · 2 unresolved · 0 excluded |
| #react-view > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > a:nth-of-type(1) | focus / tablet | 0 observed · 1 unresolved · 0 excluded |
| #react-view > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > a:nth-of-type(1) | focus / desktop | 0 observed · 5 unresolved · 0 excluded |
| #react-view > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > a:nth-of-type(1) | focus / mobile | 0 observed · 2 unresolved · 0 excluded |
| #pageWrapper > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > a:nth-of-type(1) | navigate / tablet | 0 observed · 1 unresolved · 0 excluded |
| #react-view > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(2) > button:nth-of-type(2) | click / desktop | 1 observed · 4 unresolved · 0 excluded |
| #react-view > div:nth-of-type(1) > div:nth-of-type(1) > canvas:nth-of-type(1) | hover / mobile | 0 observed · 1 unresolved · 1 excluded Pointer action is unavailable in this source state |
| #react-view > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(2) > button:nth-of-type(2) | click / tablet | 0 observed · 1 unresolved · 0 excluded |
| #pageWrapper > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > a:nth-of-type(1) | hover / mobile | 0 observed · 1 unresolved · 1 excluded Pointer action is unavailable in this source state |
| #pageWrapper > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > a:nth-of-type(1) | hover / tablet | 0 observed · 1 unresolved · 0 excluded |
| #react-view > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(2) > button:nth-of-type(2) | focus / desktop | 0 observed · 5 unresolved · 0 excluded |
| [data-xnap-surface="surface-eff0yu"] | drag / mobile | 0 observed · 1 unresolved · 0 excluded |
| #react-view > div:nth-of-type(1) > div:nth-of-type(1) > canvas:nth-of-type(1) | hover / tablet | 0 observed · 1 unresolved · 0 excluded |
| #pageWrapper > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > a:nth-of-type(1) | focus / mobile | 0 observed · 2 unresolved · 0 excluded |
| #pageWrapper > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > a:nth-of-type(1) | focus / tablet | 0 observed · 1 unresolved · 0 excluded |
| #react-view > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(2) > button:nth-of-type(1) | hover / desktop | 1 observed · 4 unresolved · 0 excluded |
| [data-xnap-surface="surface-eff0yu"] | click / mobile | 0 observed · 1 unresolved · 0 excluded |
| [data-xnap-surface="surface-11zgz1m"] | pointer / tablet | 0 observed · 2 unresolved · 0 excluded |
| #pageWrapper > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > a:nth-of-type(1) | navigate / mobile | 0 observed · 1 unresolved · 1 excluded Pointer action is unavailable in this source state |
| [data-xnap-surface="surface-eff0yu"] | click / tablet | 0 observed · 1 unresolved · 0 excluded |
| #react-view > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(2) > button:nth-of-type(1) | click / desktop | 0 observed · 5 unresolved · 0 excluded |
| [data-xnap-surface="surface-eff0yu"] | pointer / tablet | 0 observed · 2 unresolved · 0 excluded |
| #pageWrapper > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > a:nth-of-type(1) | hover / desktop | 0 observed · 4 unresolved · 1 excluded Pointer action is unavailable in this source state |
| #react-view > div:nth-of-type(1) > div:nth-of-type(1) > canvas:nth-of-type(1) | hover / desktop | 0 observed · 4 unresolved · 1 excluded Pointer action is unavailable in this source state |
| #pageWrapper > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > a:nth-of-type(1) | navigate / desktop | 0 observed · 4 unresolved · 1 excluded Pointer action is unavailable in this source state |
| #pageWrapper > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > a:nth-of-type(1) | focus / desktop | 0 observed · 5 unresolved · 0 excluded |
| [data-xnap-surface="surface-11zgz1m"] | pointer / desktop | 0 observed · 2 unresolved · 0 excluded |
| [data-xnap-surface="surface-eff0yu"] | pointer / desktop | 0 observed · 2 unresolved · 0 excluded |
| [data-xnap-surface="surface-eff0yu"] | click / desktop | 0 observed · 1 unresolved · 0 excluded |
| #pageWrapper > div:nth-of-type(1) > h1:nth-of-type(1) | hover / desktop | 0 observed · 0 unresolved · 5 excluded Pointer action is unavailable in this source state |
| #pageWrapper > div:nth-of-type(1) > h1:nth-of-type(1) | pointer / desktop | 0 observed · 0 unresolved · 5 excluded Pointer action is unavailable in this source state |
| #pageWrapper > div:nth-of-type(1) > h1:nth-of-type(1) | wheel / desktop | 0 observed · 0 unresolved · 5 excluded Pointer action is unavailable in this source state |
- https://heycusp.com/assets/main.43cc6440.js: Wakaru unavailable: time limit exceeded
- Feature viewport-shell-resize is saved, but its planning attempts are exhausted (5/5). Its probes are unverified: no current assertion has a validated live reference, so no measured pass is claimed.
- Only entry-vh-desktop, resize-reversal-vh-desktop and resize-vh-mobile-size were planned, all on desktop. Tablet, mobile and reduced-motion histories were not measured.
- Facts mount-listeners, viewport-detect, viewport-dispatch-guard, debounce-copy, unmount-cleanup and connected-dispatch have no supported DOM measurement linked. gesture-block and scroll-restoration are not observable through the supported DOM metrics.
- Flow 3 (orientationchange to resize after 300 ms), Flow 5 (handleResize to onSwitchViewport) and Flow 6 (componentWillUnmount to removeEventListener resize) have no measured linked input.
- Citations for module 1d91ce48ee4c303e22010b990902b919 line 28 lack a parsed node and rely on literal line quotes. The module exceeds the 2 MB structural parse limit.
- Unresolved: media-query constants v.a, v.c, v.d, v.f, v.g; debounce helpers N() and $(); whether this.viewport is reassigned elsewhere; the onSwitchViewport (K.f) consumers and their effects; any reduced-motion handling outside this component.
- Source shows orientationchange and gesturestart listeners are not removed on unmount. This is recorded as source-visible only, with no runtime confirmation.
- Source feature viewport-shell-resize has an incomplete measurement plan; its planning and escalation attempts are exhausted; mapped source facts do not establish execution or verification.
- New source or interaction evidence awaits analyst review; the source analysis pass allowance is exhausted.
- 46 runtime source locations exceed the 32-location module-prioritization allowance; inspect_runtime_sources can investigate them explicitly.
- 1 modules exceed lightweight DOM-ranking limits; they remain available for explicit source inspection.
- 1 source modules could not be fully indexed for behavior discovery; use literal source inspection for their remaining code.
- 12 captured modules have not been selected for behavior indexing; DOM text and observed runtime locations prioritize leads, not exhaustive coverage.
- App shell viewport, --vh, body classes and resize dispatch: 39 behavior verification gaps remain.
- 20 source requirements have no current implementation mapping.
- 5 planned source assertions remain unverified.
- Global click listener requires source-directed or observed event targets
- Runtime attribution limited to 100 records per phase and 2400 per visit
- Repeated callback executions retain counts and four samples per registration/phase
- Function attribution limit reached (300)
Revision 23 · 11 observations
Stage 86 · run attempt 1 · execution 1 · 166.3s
Loading handoff…
Candidate 8 · source revision 23
Stage 406 · run attempt 1 · execution 1 · 977.2s
Loading handoff…
Iteration 2 · built
Stage 419 · run attempt 1 · execution 1 · 26.4s
Loading handoff…
Independent browser replay
No evaluation selected
Observed states
11
In reference revision 23
Visual similarity · recorded states
—
Not evaluated yet
Observations passing
—
All recorded checks for each state
Coverage remaining
160
Pending, blocked or limited actions
resize page
390 × 844 · obs-9-b7bd27207b
Recorded inputs: resize resize page (390 × 844)
Rendering surfaces & timed frames
Reference recordedCSS 390 × 844 · backing 390 × 844 · no motion observed in this sample · included in verification
Clock clock-v3 · seed 173 · mouse · DPR 1 · normal motion
Source repeat difference: 0.000%. Candidate rendering has not been compared.
Audio was detected and is not certified by these visual checks.
{
"reference": {
"protocol": "clock-v3",
"browser": "153.0.8010.12",
"backend": "ANGLE (Google, Vulkan 1.3.0 (SwiftShader Device (Subzero) (0x0000C0DE)), SwiftShader driver)",
"viewport": {
"width": 1440,
"height": 900
},
"deviceScaleFactor": 1,
"touch": false,
"reducedMotion": false,
"cssAnimations": "settled",
"readiness": "network-fonts-v1",
"seed": 173,
"warmupMs": 8000,
"frameTimes": [
0,
230,
610,
1090
]
},
"limits": [
"Canceled audio responses were decoded successfully; acoustic fidelity remains unverified"
],
"dynamicText": []
}Scope and evidence limitations
- Global click listener requires source-directed or observed event targets
- Runtime attribution limited to 100 records per phase and 2400 per visit
- Repeated callback executions retain counts and four samples per registration/phase
- Function attribution limit reached (300)
Candidate & evaluation history
A candidate may be evaluated more than once as reference evidence grows. Failed builds and interrupted evaluations remain visible.
| Candidate | Build | Source lineage | Evaluations |
|---|---|---|---|
| Candidate 59 Iteration 6 | Built | From candidate 57 Source 23e2b6344ac354c821ee128bb6a5022602b5b06a51472f19e2d2a1c402e161fc | |
| Candidate 57 Iteration 6 | Built | From candidate 50 Source 0e26fe1e27169b7983c4fac74a15089c2b52025f990f5690a47791095cec6a83 | No evaluation recorded |
| Candidate 50 Iteration 5 | Built | From candidate 35 Source 0811fc77c2aa595b4705e112f0b2af7da16ec9d530668b03a41e91cf868356d9 | |
| Candidate 35 Iteration 4 | Built | From candidate 30 Source 5bd70269516ebaa4279c77d75419b77238522bcba389293db92d60357fdebdf7 | |
| Candidate 30 Iteration 4 | Built | From candidate 29 Source e415ae1acfebc4bac53871c6f7d3685a49246c0385890ac8621bae6423f2fe90 | |
| Candidate 29 Iteration 4 | Built | From candidate 21 Source ae846fbed733ee0745e9fd5e156b8a0ec16a6b466ee0e9392cee10817050a904 | No evaluation recorded |
| Candidate 21 Iteration 3 | Built | From candidate 20 Source 8d128ae14ab2b8d155b6e8d1625b5f1e95bd5a862073a506dcb283e979a2822b | |
| Candidate 20 Iteration 3 | Built | From candidate 10 Source 609afb1320dce40b7dd9882a60ff432d1a19c556b1e4b91289dcd8d8bd08b452 | No evaluation recorded |
| Candidate 10 Iteration 2 | Built | From candidate 8 Source bef602913c78074c05842d0a5da030d9ed18efba7d60021cee45eb09cc9961ac | |
| Candidate 8 Iteration 2 | Built | From candidate 4 Source 60104aaf725d82da988131f01f7e0bc6d3044db3ba786fe0014e4190e6466514 | No evaluation recorded |
| Candidate 4 Iteration 1 | Built | No retained base Source 1a543f0bbaca9f58c3c0090a6aa5acecd9730bbf93a33e3858bffb44ede760fb | |
| Candidate 1 Recorded original | Built | No retained base Source fb4928923f870a5b8b4ffb6bb8c503a0075826b91e9e87987027120108b915a8 |


