You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(cf): distinguish verified-but-closed from rejected sessions (⊘ label) (#119)
* feat(tracing): add OOPIF target diagnostic spans for wrong-target click analysis
Phase 2 logs all OOPIF candidates (target IDs, URLs, parentFrameIds) and
the selected target with match method. Phase 4 verifies OOPIF identity
via location.href before clicking and adds detailed checkbox state to
the verification span. Detection logs the OOPIF target it found so
traces can cross-reference detection → phase2 → phase4 target consistency.
Motivated by trace 929765cb showing click_delivered=true but zero widget
reaction — suspected wrong OOPIF when has_iframe_frame_id=false.
* feat(cf): distinguish verified-but-closed from rejected CF sessions (⊘ label)
When CF shows "Verification successful" but the browser closes before the
origin responds, the system previously reported Int✗ session_close —
identical to a genuine CF rejection. This introduces a new ⊘ label to
make the distinction clear across all layers.
- Fix dual emission bug in unregister() (cf.solved + cf.failed for same detection)
- Add verificationEvidence field to ActiveDetection (cosmetic_nav | oopif_success)
- Add verified_session_close signal and ⊘ label via deriveFailLabel
- Change emitFallback from emitSolved to emitFailed for session_close (breaking)
- Add cf_verified to emitFailed, CDP events, replay markers, and Tempo spans
- Add cf_verified to TurnstileSummary and buildSummaryFromMarkers
- Add 7 new tests for ⊘ labels and verified_session_close
0 commit comments