{"slug":"stock-vshape-viewer","total":25,"limit":100,"offset":0,"since":null,"commits":[{"hash":"464899c","date":"2026-09-15 18:13:15 -0700","author":"Steve","subject":"Wire largeOnly filter end-to-end (default off)","body":"runScan gained a 5th largeOnly param + cap>=40e9 filter but the only\ncaller passed 4 args, so largeOnly was always undefined and the filter\nwas dead. Read it in filtersFromQuery (bool('largeOnly'), defaults off)\nand pass filters.largeOnly at the /api/scan/start call site.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Pnon7dut9MfPekhhm9YY4Q"},{"hash":"21c2528","date":"2026-08-28 01:33:57 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-08-28T01:33:48 (1 data files) — .yoloforever/ledger.md","body":""},{"hash":"7a16bf9","date":"2026-08-28 01:02:00 -0700","author":"Steve","subject":"yoloforever cycle 2: buy-score is CAP-DEPENDENT. Backtest now SEGMENTED by cap tier (large 120d +0.68 works / small -0.6 inverts); backtest panel shows both; per-stock cap-tier flag (large=sweet-spot, small<20B=INVERTS warning, mid 20-40B=untested); /api/cap resolves cap for manual adds","body":""},{"hash":"b40722e","date":"2026-08-28 00:50:10 -0700","author":"Steve","subject":"yoloforever cycle 1: 3D encodings legend (height/volume/verdict/peak-glow/MA key), default-collapsed per Cody (avoids occluding 3D ticker labels)","body":""},{"hash":"5ff5470","date":"2026-08-28 00:28:55 -0700","author":"Steve","subject":"3D volume reads: per-vertex volume color (bright=heavy/dim=light) on the ribbons, white glow marker on each stock's peak-volume day, and a per-stock<->comparable normalization toggle. Also: backtest-sweet-spot flag on scores (40-79 validated band)","body":""},{"hash":"d1e5b8a","date":"2026-08-28 00:22:48 -0700","author":"Steve","subject":"Evidence-driven sweet-spot flag: mark scores in the backtest-validated 40-79 band (beat baseline at every horizon); warn on 80+ (rare + underperformed) — surfaces the counterintuitive finding at decision time","body":""},{"hash":"5ca5574","date":"2026-08-28 00:21:32 -0700","author":"Steve","subject":"CSV export: download scan matches (ticker/name/score/price/drawdown/RSI/MA-dist/zone) as a dated CSV; button appears after a scan","body":""},{"hash":"ef0e646","date":"2026-08-28 00:19:34 -0700","author":"Steve","subject":"Score transparency: expose scoreParts from the engine + render per-stock breakdown chips (fit/dip/RSI/entry/vol) — answers the DTD 'arbitrary weights' critique by making the score auditable","body":""},{"hash":"340e745","date":"2026-08-27 22:34:42 -0700","author":"Steve","subject":"Ship the backtest into the UI: /api/backtest (built at boot, cached) + in-app score-backtest panel showing forward-return by score band across 20/60/120d; reframe 'buy score' -> 'setup score ~6mo' per the validated finding; spec now 15 checks","body":""},{"hash":"5b21ae4","date":"2026-08-27 19:01:03 -0700","author":"Steve","subject":"One-command gated redeploy: redeploy.sh runs panel spec against a throwaway local server as a PRE-DEPLOY GATE (aborts if red), then rsync + zero-downtime pm2 reload + prod smoke test; npm run deploy","body":""},{"hash":"7b59452","date":"2026-08-27 17:34:03 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-08-27T17:33:56 (1 data files) — .deploy.conf","body":""},{"hash":"d251eb0","date":"2026-08-27 17:25:03 -0700","author":"Steve","subject":"DTD 7/8-B rework: gate dip-depth reward on newHigh (kill falling-knife), drop redundant new-high +8; add decile forward-return backtest. Finding: buy-score is INVERTED at 20-60d but works at ~120d (corr +0.67, 40-79 bands beat baseline +7-12%)","body":""},{"hash":"368c737","date":"2026-08-27 14:17:08 -0700","author":"Steve","subject":"Fix scan race: await autoLoadMatches before printing 'loaded top N' (message now truthful + test deterministic); 3x14/14 green","body":""},{"hash":"93ee25b","date":"2026-08-27 14:08:42 -0700","author":"Steve","subject":"Add GO button at bottom of filter section — runs the scan with current criteria (mirrors top Scan button)","body":""},{"hash":"254436e","date":"2026-08-27 14:06:50 -0700","author":"Steve","subject":"Panel spec 14/14 green; serve /favicon.ico as 204 to eliminate the only 404 (real fix, not a filtered assertion)","body":""},{"hash":"9b99f9e","date":"2026-08-27 14:05:00 -0700","author":"Steve","subject":"3D volume-extruded ribbons: each layer's z-thickness swells/pinches with daily volume (replaces flat ribbon + separate volume bars); depth capped to lane spacing","body":""},{"hash":"4d8a127","date":"2026-08-27 13:57:56 -0700","author":"Steve","subject":"Volume-by-price as a left-anchored bar-graph layer (bars grow from left axis = shares at each price), POC gold bar + value area, on-top overlay with Vol-layer toggle; + panel Playwright spec (npm test)","body":""},{"hash":"fdcc20e","date":"2026-08-27 13:49:44 -0700","author":"Steve","subject":"5x report: six-way core PASS all 3 browsers, 0 console errors; click-through fails are collapsed-panel test artifact (controls proven working)","body":""},{"hash":"27672c8","date":"2026-08-27 11:31:45 -0700","author":"Steve","subject":"Include ETFs in scan (48 major ETFs: SPY/QQQ/sector SPDRs/ARKK/etc, high scan priority) + Reset watchlist/Reset all buttons + fix cached-universe filter dropping price-0 entries","body":""},{"hash":"d409d10","date":"2026-08-27 11:20:03 -0700","author":"Steve","subject":"10 preloaded strategy presets (one-click screens: Deep V-Recovery, 50/200-DMA pullbacks, breakouts, bottom-fishing, etc.)","body":""},{"hash":"2c3a2dc","date":"2026-08-27 11:14:16 -0700","author":"Steve","subject":"Volume profile (shares-at-price / POC + value area), OBV volume-force + price-velocity data points, draggable chart range brush, scan auto-loads top winners onto board with adaptive lane spacing, options-availability badges on scan results","body":""},{"hash":"23089cb","date":"2026-08-27 11:01:31 -0700","author":"Steve","subject":"Market scanner: NASDAQ+DJIA universe scan (buy-score ranked, live progress), CBOE cheap far-dated options finder ($0.05-0.15 >3mo, puts+calls), RSI+vol-surge, shared screen.js engine, $8 tradeable floor","body":""},{"hash":"abac055","date":"2026-08-27 08:57:26 -0700","author":"Steve","subject":"Sliders recompute ALL stocks live on drag (rAF-coalesced) + dispose geometry to prevent GPU leak on rebuild","body":""},{"hash":"8c16d08","date":"2026-08-27 08:55:30 -0700","author":"Steve","subject":"Live parametric V-shape screener: local three.js, criteria bar, hamburger filters (weeks-ago/dip%/50-200 DMA toggles), add-ticker, saved searches, adjustable inline timeframe, MA overlays + daily entry table, creds-in-URL fetch guard","body":""},{"hash":"e997e6f","date":"2026-08-27 08:23:24 -0700","author":"Steve","subject":"Three.js V-shape stock viewer (high->dip->high, Aug 2026)","body":""}]}