355
total events
8
actions taken
32
hover intents
0
ad impressions
1
session segments
0s
observed span

## ◉01 / ACTION — RESPONSE ENVELOPE

For every action you took — a like, a comment, a message, a share — Reflex averages the activity density in the 30 requests before and 30 requests after the moment you tapped. The shape of the resulting curve is the algorithm's reply, averaged into visibility. A spike on the right means the system reacted. A flat line means it didn't — or at least not in a way your own requests could see.
◈ OBSERVATION

Around your 4 actions, the density of passive view events in the 10 requests immediately after the action rose (+67% vs the 10 requests before).

Translation: after you tap, the app served you more content to scroll past.

## ◉02 / SURFACE TRANSITION MATRIX

The probability that going to any surface next given your current surface. Rows are your current location, columns are where you go next. A strong diagonal means you tend to stay where you are — deep scrolling. Bright off-diagonal cells reveal your habitual paths: the routes your attention takes without you ever consciously choosing.

## ◉03 / SESSION RHYTHM

Activity density over time, bucketed by minute, stacked by category. Pink dots mark burst moments — buckets where activity exceeds the session's MAD-based threshold (modified z-score > 3.5, robust to sparse sessions). The dominant period is recovered via a Welch periodogram, not a greedy local-max search. System categories (presence, self_surv, nav) are rendered faintly so they don't drown out your own behavior.
◈ OBSERVATION

Detected 0 burst moments where activity exceeded a MAD-based threshold (modified z-score > 3.5 — robust to sparse sessions).

Your session carries a dominant rhythm with a period of roughly 10.0 minutes — attention oscillates at that rate (Welch periodogram peak).

## ◉04 / HOOK MOMENTS

For each action you took, Reflex looks at the 5 events immediately before and measures which categories appear more often than their session-wide baseline. Lift values above 1.0× mean that category disproportionately precedes your taps — it's what gets you to act. This is the hook, empirically measured on you, by you.
◈ OBSERVATION

Events with category msg are 2.48× more likely to appear in the 5 requests immediately before you take an action, compared to baseline.

In other words: when you see msg content, you're measurably more likely to respond.

## ◉05 / DIURNAL PORTRAIT

Your activity wrapped around a 24-hour clock, with each hour's petals colored by activity category. Length of a petal = total events in that hour. This is your temporal signature: the hours you belong to yourself, and the hours you belong to the feed.
◈ OBSERVATION

Peak activity at 11:00 UTC — 100% of all observed events fall in that single hour.

This wheel is a clock. It tells you when you are most available to the feed.

## ◉06 / PREDICTION ENGINE

Reflex splits your session 80/20, trains a Laplace-smoothed Markov model on the earlier chunk, and predicts each next event in the later chunk. The time-series k-fold CV underneath (5 folds over temporal segments) catches distribution shift a single 80/20 split misses. The crystal ball applies the fully-trained model to your very last event: if you kept going right now, what would you probably do?
◈ OBSERVATION

A Laplace-smoothed Markov model predicts the next surface with 5.1% accuracy on the held-out 20% — 0.67× better than always-mode baseline.

Over 5-fold time-series CV the model generalises at 62.5% ± 38.7%. Spread between folds tells you how stable your behavior is across the session.

From where you left off, the most likely next move is HOME FEED (92% chance).

## ◉07 / HOVER — ACTION CONVERSION

A mouse hover fires a Hovercard request before any click. This panel measures P(action within 10 events | hover at 0) against a random-event baseline. High lift means your hovers are fire-ahead signals — the algorithm, and Reflex, could predict your taps one intention ahead of them.
◈ OBSERVATION

A hover is followed by an action 46.9% of the time within ~4 events — 1.38× the baseline rate (34.0%).

The mouseover is a proto-commitment. The hand has decided before the click.

## ◉08 / AD DOSE — RESPONSE

Every InstreamAds / AdsHalo pre-fetch marks an ad reaching your viewport. This panel plots P(action at offset k | ad at 0) as a Kaplan-Meier-style cumulative, against a random-event baseline. The gap between the curves is the measurable behavioral effect of ad exposure, on you, with no API access, no survey, no panel — just your own request stream.
Too few ad events

## ◉09 / REVISION BOUNDARIES — FREE A/B TESTS

A __rev change mid-session is Facebook shipping new code to you mid-scroll. Reflex catches each boundary, compares the 50 events before and after (category mix, request rate), and shows the delta. Over days or weeks, these are the richest natural experiments available to anyone who isn't at Meta.
No bundle revisions mid-session

## ◉10 / TIME-TO-ACTION SURVIVAL

Kaplan-Meier-style survival: at each viewing event, the clock starts. P(you haven't acted yet) plotted against elapsed seconds. A sharp early drop = you're quick to engage. A long flat tail = you graze, you don't tap.
◈ OBSERVATION

Median time from a viewing event to your next action: 0.0 seconds. Half the time you act within that window. Half the time you hold out longer.

Mean dwell (for the non-censored sequences): 0.0s.

## ◉11 / SELF-SURVEILLANCE META-LAYER

Facebook instruments itself too. FBScreenTimeLogger_syncMutation, TimeLimitsEnforcementQuery, RecordProductUsageMutation, UnifiedVideoSeenStateMutation — these fire while you browse. They're Facebook's telemetry of you, captured here from inside your own browser. This panel shows the cadence of their sampling — the ghost's own signal.
◈ OBSERVATION

Captured 12 self-surveillance telemetry events from Facebook tracking your session internally.

## ◉12 / ANOMALY SURFACING

Per-event anomaly score built from four features: log-gap to previous event, same-route streak length, category-transition surprisal, and latency deviation. The top 10 are surfaced — often these are the moments you'd actually remember from the session.
◈ OBSERVATION

Top 3 unusual moments: #270 (Marketplace search), #46 (Reacting), #110 (Messenger activity).

These are sequence anomalies — large time gaps, unusual transitions, long streaks, or latency spikes. If you remember any of them, it's because something actually happened.

## ◉13 / DECODER SELF-DIAGNOSTIC

How much of your capture did Reflex actually understand? The v0.2.0 decoder has 140+ patterns covering the full Comet / MAW / BizKit / LSPlatform surface; the ring shows match rate on YOUR data specifically. Top unmatched names are listed — feed them to `reflex_discover.py` and they become new patterns.
◈ OBSERVATION

The v0.2.0 decoder matched 92.7% of your friendly_name'd traffic (202/218). 8 unique names still fall through.

Run `python reflex_discover.py {your.ndjson}` to cluster unmatched names and grow ACTIVITY_PATTERNS further.