Idle. Press Scan or hit S . One unified desk (scanner multi-name path + journal/reading). Prefers local python3 server.py batch when available; otherwise CORS pool. Keyboard: 1–9 select row · Enter paper · R repoll · C clear cache · D dark · F focus.
Data: Yahoo Finance chart API via 7 public CORS proxies (pruned to live services) plus your own relay with circuit-breaker recovery and latency-weighted selection. Earnings autoscan: Nasdaq + Yahoo calendar + Yahoo v7 quote. VWAP & signal logic run over pre-market + regular hours; after-hours bars display but never trigger. History: initial 5-day load, then an automatic, resumable 30-day deep backfill in 7-day pages — each completed window is remembered locally, so interrupted runs pick up exactly where they stopped; when the free-proxy pool's token budget is drained the backfill pauses with auto-resume (up to 5×, backing off to 8 min) instead of aborting, yields to live repolls, and paces itself adaptively (faster off-hours or through MY PROXY) (Yahoo's per-request cap on 1-minute data), evaluated once and stored in a local setup journal (this browser only, never uploaded) that keeps growing with use — expectancy, win rate, median R, winners' MAE and losers' MFE all read from the journal and stay descriptive of it. β is OLS on aligned 1-minute session returns vs SPY over the loaded window; The morning line (first pre-market scan of the day) and the evening brief bookend each session; the evidence sparkline draws the capital path by tape day on a log scale with the 20×/100× thresholds. Open confirmed setups carry a KM read against the winners' median time-to-tag — descriptive, not an exit signal — and when two or more same-direction setups are live the breadth line names the correlated exposure. The reading at the head of the Edge report composes the panels below into one ranked verdict — it adds no evidence of its own, defaults to “not established”, and lists what is still locked with the sample each gate needs (projections there are extrapolations of the current trajectory, not forecasts). Annotations attach a short human note to a journaled day (from replay); notes travel with the record — into analogs, backups, and merges — and are context only, never data edits: no note can change a number. The Brief composes a deterministic end-of-session narration (also automatic at the 16:00 cap) for the session journal. The Doctor is a read-only audit of the desk memory — malformed or duplicate records, parameter-signature spread, implausible ledger values, storage pressure — and changes nothing. Gappers queries Yahoo's predefined day-gainers/day-losers screeners through the same pool with full error trails; candidates must clear your gap floor plus sanity filters (price >= $5, volume >= 500k †) and join the watchlist only on your explicit click — and the endpoint is unverifiable from the build sandbox, so like the ER autoscan it meets reality on your first click and fails loudly if gated. During replay the chart, like the narration, is computed strictly from the prefix — nothing on screen knows the future. When the tab is hidden and Alerts is on, confirmed/tagged/stopped states also raise a desktop notification (permission asked once). Anytime evidence † is a test-martingale (testing-by-betting): capital compounds one bet per tape day on clipped pooled R under a mixture of bet fractions; by Ville's inequality the 20×/100× thresholds are 95%/99% evidence valid under continuous daily monitoring — unlike the σ luck check, which is exact only at a single pre-planned look (both are shown deliberately). Implied Kelly † is a scale illustration with a leave-one-day-out stability range, never sizing advice. Time-to-resolution is Kaplan–Meier with EOD treated as right-censoring. Robust β is the Theil–Sen median-of-slopes on 15-minute bucket returns — divergence from OLS flags outlier-driven fits. Rule sensitivity † re-evaluates only the days currently in memory under 18 neighboring rule-sets (K 2–4 × gap 0.75–1.5 × buffer 0.25–0.5σ) and reports the dispersion — a fragility probe that deliberately refuses to rank cells. Triggers require an established VWAP (>10 elapsed bars), a target on the reversion side of entry, and a stop distance above a 0.02% floor (†, correctness constants — degenerate pre-market arm-ups under earlier revisions are excluded from all analysis with a stated count). Polling is wall-clock aligned (:04 past each minute) so just-closed bars arrive seconds old, with one relay-gated follow-up for symbols mid-decision; journal records carry a desk-parameter signature and every analysis panel excludes records evaluated under different rules (stated when it happens) — analog shapes are deliberately exempt, being rule-independent; Backup/Restore moves the entire desk state (journals, ledgers, paper record, backfill progress, settings) as one JSON file with non-destructive date-merge. The Edge report header names the hypothesized edge source and runs three honesty gates: a luck check (pooled expectancy against its date-clustered standard error — same-day setups are one bet, not many), a mechanism check (the named source predicts idiosyncratic-gap setups outperform market-driven ones; the panel says plainly when the data contradicts it), and loss-clustering diagnostics (worst cumulative-R run and longest losing streak — bad days arrive together). Friction R † is your own all-in cost estimate per round trip, subtracted transparently as ‘net’; the journal never invents costs. Changepoint timing is the exact one-sided CUSUM likelihood-ratio maximization (the FOCuS statistic, threshold e^-10 †) on standardized reversion-direction deviations; analog days are z-normalized shape retrieval over 15-minute session paths (matrix-profile discipline — retrieval, not prediction); outcome bands are split-conformal empirical quantiles with the finite-sample (n+1) rank adjustment, assuming exchangeable setups †; the meta-label logit follows the AFML pattern (journal outcomes are triple-barrier labels) and is only reported with purged leave-one-date-out CV against base rate. The Edge report pools the journal across the watchlist and splits by direction, gap size, phase, late-cut, market-vs-idio (historical days classified with each symbol's CURRENT β against the stored SPY gap ledger — an approximation, flagged †) and earnings days (known only from the day the ER autoscan ran); the market/idio gap split and the 60% market-driven threshold (†) are context, not gates. Paper trades are hypothetical bookkeeping against real prints: fills idealized at bar closes, no slippage or fees, session-only (never stored). A screening instrument, not investment advice. Engine: — . Generated — .
Proxy health — 0 relays
Green = healthy · Yellow = unknown / cooling · Red = dead (3+ consecutive errors). Dead proxies auto-retried every 90s. Custom proxy always prioritized.
Edge report — pooled journal analysis
open to compute
Provenance — per-symbol feed detail
proxy pool: not probed yet
ER autoscan: not run
Symbol Source Load ms Bars Days Refresh Last bar (ET) Status
—
Run your own relay — the reliable fix (~5 minutes, free)
Free public CORS proxies are the weak link. A relay you own eliminates all limits. On Cloudflare (free tier): create a Worker, paste the code below, deploy, then put
https://YOURNAME.workers.dev/?url= into MY PROXY.
export default { async fetch(req){
const u=new URL(req.url).searchParams.get("url");
if(!u) return new Response("pass ?url=", {status:400});
const r=await fetch(u,{headers:{"user-agent":req.headers.get("user-agent")||"Mozilla/5.0"}});
const h=new Headers(r.headers);
h.set("access-control-allow-origin","*");
h.delete("content-security-policy");
return new Response(r.body,{status:r.status,headers:h});
}}