A session’s notable prints on tracked tickers, each joined to the open interest its contract actually settled the next morning, and stamped opened, closed, rolled, unresolved or pending. The question a print raises is answered by OI, never by the print itself.
n. A verdict rate’s n is the number of distinct CONTRACTS, not prints, because prints on one contract share one settled change — the flow analogue of overlapping forward windows shrinking an effective n. Below n_min 20 the summary shows counts and no percentage.
Cost: three queries — the session, then the prints and the coverage together. Only point lookups touch core.option_strikes: rows D and D+1 by full primary key per contract, the persistence series by full key per later session, and — new, for the default above — the newest as_of_date per tracked symbol, a primary-key prefix read each. Measured on production 2026-09-16 at 18:53 ET: the session query 34–40 ms warm (62 ms cold), the prints query 240–470 ms for 2026-09-14’s 239 notable prints and 1,299 ms once for 2026-09-15’s 174 — the same spread of production load the 2026-09-15 numbers below show, not a change to the query. Measured warm on 2026-09-15, three passes: the session 32–37 ms; the prints query 278 ms for 09-11’s 203 notable prints at $500k and 365 ms for 09-14’s 239; 1,345 ms for 09-11’s 1,554 at the $100k floor, which is the page’s worst case and the reason the floor defaults where it does. Earlier the same day the same reads measured 237–311 ms and 850–1,000 ms; the spread is production load, not a change to these queries.
Flow Discovery asks the same session’s question of the names outside the universe, where no chain exists to answer it.
Counted in prints, not rated: prints on one contract share one settled OI change, so a rate’s n is the contract count in the table below, and R2 holds it to n_min 20.
| NVDA | 200C | 2027-01-15 | 141 | 15:29:33 | 5,000 | $19.6m | — | 59,126 | — | unresolved | more than 120 days out; the chain is not collected that far | — | tape not collected |
| NVDA | 200C | 2027-01-15 | 141 | 15:28:34 | 5,000 | $19.5m | — | 59,126 | — | unresolved | more than 120 days out; the chain is not collected that far | — | tape not collected |
| NVDA | 200C | 2027-01-15 | 141 | 15:21:16 | 5,000 | $19.4m | — | 59,126 | — | unresolved | more than 120 days out; the chain is not collected that far | — | tape not collected |
| NVDA | 200C | 2027-01-15 | 141 | 15:25:39 | 4,672 | $18.2m | sweep | 59,126 | — | unresolved | more than 120 days out; the chain is not collected that far | — | tape not collected |
| NVDA | 200C | 2027-01-15 | 141 | 15:27:36 | 4,612 | $18.1m | sweep | 59,126 | — | unresolved | more than 120 days out; the chain is not collected that far | — | tape not collected |
| NVDA | 200C | 2027-01-15 | 141 | 15:24:29 | 3,625 | $14.2m | sweep | 59,126 | — | unresolved | more than 120 days out; the chain is not collected that far | — | tape not collected |
| NVDA | 200C | 2027-01-15 | 141 | 15:21:13 | 2,953 | $11.5m | sweep | 59,126 | — | unresolved | more than 120 days out; the chain is not collected that far | — | tape not collected |
| NVDA | 200C | 2027-01-15 | 141 | 15:16:58 | 2,900 | $11.2m | sweep | 59,126 | — | unresolved | more than 120 days out; the chain is not collected that far | — | tape not collected |
| NVDA | 260C | 2027-06-17 | 294 | 10:24:49 | 5,000 | $10.5m | — | 5,000 | — | unresolved | more than 120 days out; the chain is not collected that far | — | tape not collected |
| NVDA | 230C | 2027-01-15 | 141 | 15:16:40 | 4,629 | $9.7m | — | 4,821 | — | unresolved | more than 120 days out; the chain is not collected that far | — | tape not collected |
| NVDA | 200C | 2027-01-15 | 141 | 15:02:17 | 2,423 | $9.2m | — | 59,126 | — | unresolved | more than 120 days out; the chain is not collected that far | — | tape not collected |
| NVDA | 200C | 2027-01-15 | 141 | 15:24:25 | 2,271 | $8.9m | sweep | 59,126 | — | unresolved | more than 120 days out; the chain is not collected that far | — | tape not collected |
| NVDA | 200C | 2027-01-15 | 141 | 15:35:43 | 2,107 | $8.4m | — | 59,126 | — | unresolved | more than 120 days out; the chain is not collected that far | — | tape not collected |
| NVDA | 200C | 2027-01-15 | 141 | 15:06:32 | 2,160 | $8.2m | sweep | 59,126 | — | unresolved | more than 120 days out; the chain is not collected that far | — | tape not collected |
| NVDA | 200C | 2027-01-15 | 141 | 15:17:13 | 1,788 | $6.9m | sweep | 59,126 | — | unresolved | more than 120 days out; the chain is not collected that far | — | tape not collected |
| NVDA | 200C | 2027-01-15 | 141 | 15:15:42 | 1,648 | $6.3m | sweep | 59,126 | — | unresolved | more than 120 days out; the chain is not collected that far | — | tape not collected |
| NVDA | 200C | 2027-01-15 | 141 | 15:04:08 | 1,500 | $5.7m | sweep | 59,126 | — | unresolved | more than 120 days out; the chain is not collected that far | — | tape not collected |
| MU | 1,000C | 2026-10-16 | 50 | 09:44:10 | 780 | $5.6m | — | 780 | +975 | opened | — | 4 sessions — information | tape not collected |
| INTC | 92.5P | 2028-01-21 | 512 | 10:27:42 | 2,191 | $5.5m | — | 2,308 | — | unresolved | more than 120 days out; the chain is not collected that far | — | tape not collected |
| NVDA | 260C | 2027-03-19 | 204 | 15:37:59 | 3,202 | $5.3m | sweep | 4,723 | — | unresolved | more than 120 days out; the chain is not collected that far | — | tape not collected |
| NVDA | 200C | 2027-01-15 | 141 | 15:24:25 | 1,246 | $4.9m | sweep | 59,126 | — | unresolved | more than 120 days out; the chain is not collected that far | — | tape not collected |
| PANW | 380P | 2026-11-20 | 85 | 15:52:51 | 1,130 | $4.5m | floor · opening | 1,130 | +1,025 | opened | — | 3 sessions — information | tape not collected |
| NVDA | 200C | 2027-01-15 | 141 | 15:26:57 | 1,115 | $4.4m | — | 59,126 | — | unresolved | more than 120 days out; the chain is not collected that far | — | tape not collected |
| NVDA | 210C | 2026-09-18 | 22 | 10:52:45 | 2,200 | $4.0m | — | 4,868 | -2,097 | unresolved | settled change inside ±50% of the alerted size | — | tape not collected |
| NVDA | 232.5P | 2026-09-04 | 8 | 14:12:14 | 5,195 | $3.9m | — | 5,418 | +5,603 | opened | — | 6 sessions — information | tape not collected |
| AVGO | 370C | 2026-09-04 | 8 | 09:30:19 | 3,000 | $3.9m | — | 3,741 | +10,265 | opened | — | 1 session — anecdote | tape not collected |
| NVDA | 225C | 2026-09-04 | 8 | 10:37:54 | 8,000 | $3.8m | — | 25,453 | +47,158 | opened | — | 1 session — anecdote | tape not collected |
| NVDA | 200C | 2027-01-15 | 141 | 15:24:25 | 941 | $3.7m | sweep | 59,126 | — | unresolved | more than 120 days out; the chain is not collected that far | — | tape not collected |
| NVDA | 200C | 2027-01-15 | 141 | 15:02:07 | 943 | $3.6m | sweep | 59,126 | — | unresolved | more than 120 days out; the chain is not collected that far | — | tape not collected |
| NVDA | 200C | 2027-01-15 | 141 | 15:25:33 | 902 | $3.5m | sweep | 59,126 | — | unresolved | more than 120 days out; the chain is not collected that far | — | tape not collected |
| NVDA | 235C | 2026-10-16 | 50 | 13:34:34 | 3,660 | $3.5m | — | 3,810 | +1,008 | unresolved | settled change inside ±50% of the alerted size | 3 sessions — information | tape not collected |
| NVDA | 200C | 2027-01-15 | 141 | 15:18:12 | 876 | $3.4m | sweep | 59,126 | — | unresolved | more than 120 days out; the chain is not collected that far | — | tape not collected |
| CRWD | 200P | 2026-11-20 | 85 | 09:55:55 | 2,631 | $3.3m | sweep | 2,631 | +2,129 | opened | — | 4 sessions — information | tape not collected |
| MU | 910C | 2026-08-31 | 4 | 12:17:00 | 1,540 | $3.3m | sweep | 1,818 | +1,412 | opened | — | 2 sessions — watching | tape not collected |
| SNDK | 1,565P | 2026-08-28 | 1 | 14:23:41 | 335 | $3.0m | — | 335 | +332 | opened | — | 1 session — anecdote | tape not collected |
| MRVL | 230C | 2026-12-18 | 113 | 09:45:51 | 573 | $3.0m | — | 573 | +414 | opened | — | 2 sessions — watching | tape not collected |
| MU | 920C | 2026-09-04 | 8 | 12:49:09 | 1,000 | $3.0m | sweep | 1,642 | +1,954 | opened | — | 2 sessions — watching | tape not collected |
Which session this page opens on. Session D’s alerts are collected at 21:15 ET that evening and the book that settles them at 19:00 ET the NEXT one, so a print is unjudgeable for about 27 hours — and on the newest alerted session every row below would read pending, which is this page’s subject missing rather than shown. With no ?date= it therefore opens on the newest session whose settling book has been collected — and whenever a newer session has alerts, the band above names it and says when it settles. Both run times are read from core.source_registry, the jobs’ own declared schedule. ?date= reaches every session, the pending one included.
The OI semantics, measured. Row D of core.option_strikes carries open interest at the START of D — OCC’s settlement of D−1 — so the change session D’s trading caused is oi(D+1) − oi(D). On none of the 108 notable contracts of 2026-09-11 that had both rows did row D+1’s prev_oi differ from row D’s oi. Row D+1 is written at 19:00 ET on D+1, and the collector re-fetches it the following evening and updates what changed (4 of 44,434 rows on the 2026-09-15 run), so a verdict can move exactly once. The next session’s chain has been re-fetched; the newest collected chain session here is 2026-09-24.
Why 50%. The settled change nets every trade in the contract — opening and closing, alerted or not — so “at least half the alerted size survived the netting” is the weakest claim that the alerts’ direction dominated the session. Declared, not fitted to make the table look decisive.
Why a roll needs a time link. The obvious rule — any same-ticker, same-type contract with same-session volume gaining OI within 25% of the loss — called 15 of 2026-09-11’s 16 closed contracts a roll, and each QQQ closure had 41–86 qualifying candidates. On a chain that deep a matching gain somewhere is the density of the chain, not a roll: the rarity-by-combinatorics trap DESIGN.md §3.5 cuts. Requiring the other leg to have drawn its OWN alert within 60s leaves two clean matches and admits nothing a 5-second window does not. The cost is recall: a roll whose new leg drew no alert stays “closed”.
Multi-leg reconstruction is not in the alert feed. DESIGN.md I pictures “of today’s 40 large SPY put prints, 31 were legs of verticals”. That read is not reproducible here: the vendor flags has_multileg on none of its RepeatedHits alerts (0 of 9,613 on 2026-09-14) and only on floor rules, and matching core.multileg_trades on ticker, second, strike, DTE and a size at least 50% of the print found 0, 0, 0, 0 and 2 prints over 2026-09-08..14 — the two the vendor itself flagged. Dropping the size floor finds 3–9 “matches” a session against trades a fraction of the print’s size, which are coincidences. So both counts are reported as they are, and the chain’s own per-contract multi-leg volume sits in each row’s tooltip as the only measure that sees every multi-leg lot.
n. A verdict rate’s n is the number of distinct CONTRACTS, not prints, because prints on one contract share one settled change — the flow analogue of overlapping forward windows shrinking an effective n. Below n_min 20 the summary shows counts and no percentage.
Cost: three queries — the session, then the prints and the coverage together. Only point lookups touch core.option_strikes: rows D and D+1 by full primary key per contract, the persistence series by full key per later session, and — new, for the default above — the newest as_of_date per tracked symbol, a primary-key prefix read each. Measured on production 2026-09-16 at 18:53 ET: the session query 34–40 ms warm (62 ms cold), the prints query 240–470 ms for 2026-09-14’s 239 notable prints and 1,299 ms once for 2026-09-15’s 174 — the same spread of production load the 2026-09-15 numbers below show, not a change to the query. Measured warm on 2026-09-15, three passes: the session 32–37 ms; the prints query 278 ms for 09-11’s 203 notable prints at $500k and 365 ms for 09-14’s 239; 1,345 ms for 09-11’s 1,554 at the $100k floor, which is the page’s worst case and the reason the floor defaults where it does. Earlier the same day the same reads measured 237–311 ms and 850–1,000 ms; the spread is production load, not a change to these queries.
Flow Discovery asks the same session’s question of the names outside the universe, where no chain exists to answer it.