Us Stocks Memory
ASecurityYou have access to a self-improving conviction-pick system for the US stock market — since 2026-09-13 it amends its own rules ONLY through the orchestrator's recorded **Decision Review** (Phase U.9; the v5.9 Board of Advisors was RETIRED that day by the user's *"no need for board anymore. you decide ur self."*): at most 3 changes per review, each WIRED iff it affirmatively clears the pre-committed evidence bar (E1-E10), sits inside the remit, and touches no constitutional item; every decision...
- 3 stars
- 0 votes
- 0 copies
- 2 views
- Added October 20, 2026
Works with
Security analysis
100/100Pro scans all 7 files and shows the line behind each finding
npx -y skills add Bader-Aloqily/claude-code-stock-picker --skill us-stocks-memory --agent claude-codeAre you the author of Us Stocks Memory?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/bader-aloqily-us-stocks-memory)---
triggers:
- US stocks
- US stock
- S&P 500
- Nasdaq-100
- SPX
- NASDAQ
- Wall Street
- NYSE
- US market
- American stocks
- American stock
- us-picks
---
# US Stocks Memory Skill (v6.3 — Mid-to-Mega Top-500-Rank Picker, Up-to-5, FROZEN under rule F1; self-amending via its own recorded Decision Review under a pre-committed bar — the Board retired 2026-09-13 — with only four user-only limits)
You have access to a self-improving conviction-pick system for the US stock market — since 2026-09-13 it amends its own rules ONLY through the orchestrator's recorded **Decision Review** (Phase U.9; the v5.9 Board of Advisors was RETIRED that day by the user's *"no need for board anymore. you decide ur self."*): at most 3 changes per review, each WIRED iff it affirmatively clears the pre-committed evidence bar (E1-E10), sits inside the remit, and touches no constitutional item; every decision is written into the tracker's Decision Log before any edit and carries auto-review terms; user informed, never asked — SSOT `references/board-charter.md`, now the Decision Charter — and since v6.2 (2026-08-30) it is additionally **FROZEN under rule F1 until the 12th graded week — the clock RESTARTED at 0/12 on 2026-09-01 with the v6.3 yardstick change, per the user's own override pre-commitment** (reviews limited to logging/process; every design idea → the tracker's Improvement Backlog). The objective (v6.3, 2026-09-01, user-directed) is to pick **up to 5 mid-to-mega-cap US stocks** (pick universe = **the whole market at `mkt_cap ≥ $2B` + price ≥ $10**, RSI 25-90 — no index gate, no atr floor) that land in the week's **TOP 500 GAINERS**: graded on **WEEKLY RANK** over the LIQUID ~$1M/day ranked universe (~3,650-3,900 names) across the `FIRST_TRADING_DAY` 09:30 open → `LAST_TRADING_DAY` regular close window — **BIG WIN = rank ≤ 100 · WIN = ≤ 500 · FLAT = 501-1500 · LOSS = > 1500 or unranked**. **Chance baseline ~13% (top-500) / ~2.6% (top-100) — quote it beside every win rate.** SPY's same-week return + edge, the **seeded RANDOM-5 control** (`uspicks_controls.py`, drawn pre-outcome, graded on the same rank bar), and the **+2% peak touch beside its ~60-69% base rate** are all reported context — none decides a grade. The user times his own entry and exit. Top 5 by score, 70/100 hard threshold, skip the week if none clear it. **v6.3 (2026-09-01, user-directed "I want to return to if we landed top one hundred gainers, big win … and stick to it"):** the rank yardstick is restored and the matrix returns to the **v4.7/v4.8 layout** — **Catalyst 40** (Sig 21 / Time 16 / Conf 3) absorbing Big Money's 5 points, so **Big Money is INFORMATIONAL** (its `hard_reject` stays a HARD filter); Volume 16 · Momentum 11 · Options 18 · R/L 15 (Stop 7 / Liq 5 / VolFit 3); **no standalone Volatility component**. Driver: the record's only three BIG WINs (v4.7 DELL #40, v4.8 HPE #81, v5.1 MRNA #100) all came from the Catalyst-40 matrix. Recorded honestly: **v4.6 landed 0 BIG WINs** (3 WINs), the rank bar scored 0/20 on the v5.7 era where the +2% touch scored 14/20, and a trader who sells into intraweek pops can still profit when the rank grade is poor — which is why the touch is still reported. **Sharia re-pinned: business-activity blacklist ONLY, riba NOT screened, the v4.7-era AAOIFI Layer 2 NOT restored with the v4.7 matrix.** **Driver of v6.2:** an audit of the author's realized trades (details private) — protect what works, prove it against controls, stop redesigning weekly.
**[GOVERNANCE SUPERSEDED 2026-09-13 — the Board is retired; the orchestrator decides in the Decision Review under the same bar]** **v5.9 amendment 2026-08-17 (AUTONOMOUS LEARNING LOOP with a Board-of-Advisors gate) — user-directed ("from now on, this system should add or edit and even delete rules. and learn from its mistakes going forward. i (the user) will not interfere in any … spawn /workflows a panel of advisor of Opus 5 or Opus. like a board of directors … whatever descision is made. i should be only be informed about it"):** the v4.6 manual-only loop (prose in U.6; rules wired solely by the user via `/us-picks lesson`) is superseded. **The system proposes, a Board decides, the user is informed:** every grading run now closes with **Phase U.9** (also `/us-picks board` on demand) — `scripts/uspicks_board_pack.py` builds an evidence pack; ONE Workflow (script verbatim in `references/board-charter.md`) runs a **Secretary** (Opus, drafts ≤ 3 proposals that clear the pre-committed bar and lists everything considered-but-not-filed), **five directors** per proposal (Statistician · Risk & Regression Officer [HARD BLOCK] · Devil's Advocate · Practitioner · Systems Engineer — all `model: "opus"`), and a **Chair**; the verdict is computed by a fixed rule (**APPROVED iff ≥ 4/5 APPROVE and no HARD BLOCK**; DEFERRED iff ≥ 3 APPROVE-or-DEFER; else REJECTED). APPROVED → wired the same session via the Phase L machinery (no user confirmation) with `Approved by: Board session …` + **auto-review terms** (reversed → an auto-revert proposal, judged the same way); not approved → not wired. **Remit:** Lesson-Wired Rules, scoring weights/bands, filter parameters (price ≥ $5, threshold ≥ 70), the selection rule, logging/process rules, executing the inherited L2/L3 checks. **Constitution (user-only; the Board may only advise):** objective / WIN taxonomy / grading window · $2B whole-market universe identity · Sharia · pick count/allocation · Entry + Sell plan · data/model/cost policy · output surfaces · the charter (the Board cannot lower its own bar). **Evidence bar E1-E10:** ≥ 3 weeks AND ≥ 12 graded picks for a scoring/filter/selection change (process/logging: ≥ 2 graded weeks or one incident), direction in ≥ 3 of 4 weeks, stratified-within-week, comparison arm, Holm/out-of-sample for swept findings, regression guard, cost-of-being-wrong, auto-review, cooling-off ≥ 4 graded weeks / ≤ 3 proposals per session. **User surface:** the BOARD DECISIONS card closes every grading run + the tracker `## Board of Advisors — Decision Ledger (v5.9)`; the L1/L2/L3 banners now say *NO ACTION NEEDED — the Board's Secretary runs this check itself*. Why the bar is strict: auto-learning v1 wired R2 (n=1) / S1 (n=0) and was disabled 2026-05-01; autonomy returns, eagerness does not — most early sessions will honestly file nothing. Scoring matrix (v5.7), threshold, universe, filters, WIN tiers, grading window, rule states — UNCHANGED. Canonical: the v5.9 amendment in `us-picks-system-spec.md`.
**v5.8 amendment 2026-08-07 (GRADING WINDOW → Monday open to Friday close) — user-directed ("i need the grading/update of the stocks to be from monday open till friday close"):** the measurement window moved from the v4.9 after-hours basis (prior-trading-day 8 PM close → `LAST_TRADING_DAY` 8 PM close) to **`FIRST_TRADING_DAY` 09:30 OPEN → `LAST_TRADING_DAY` 16:00 REGULAR CLOSE**, applied identically to the picks and to the full-market ranked universe that sets their rank. Reason: the old window credited every pick with a weekend gap and a Friday after-hours move that the trade plan never captures — the Entry Plan buys at the first trading day's open, the Sell Plan exits at the last trading day's regular close. **Grading `ENTRY_DATE` = `FIRST_TRADING_DAY`, NOT `ENTRY_REF_DAY`.** `measurement_basis` token → `open_to_close` (+ a new informational `price_source`); the per-pick grade gained a `window_ok` date guard. **UNCHANGED:** the pick-time entry reference (`Last Close` = prior-day after-hours close, and the buy-limit / stop / $5 floor / Sell-Plan levels derived from it — Monday's open does not exist on Sunday), every scoring weight (matrix stays **v5.7**), the 70 threshold, pick count, universe, filters, WIN tiers and rule states. Tracker Picks tables from the week of 2026-08-03 carry `Entry Open $` + `Exit $` in place of `Exit AH $`. Measured impact on the live pending week: −2.6pp to +2.2pp per pick — 4 of 5 looked *better* under the retired basis.
**v5.7 amendment 2026-07-28 (Catalyst weight cut, Timing-hardest; Volatility enlarged) — user-directed ("i want to lower the score of catalyst"), same day as the v5.6 revert:** **Catalyst 40 → 30** (Significance 21 → 18, Timing 16 → 9, Confirmation 3 — the cut falls Timing-hardest because the 47-pick archive analysis found Significance the best-correlated component signal, Spearman −0.23 toward better ranks, while Timing was mildly WRONG-signed at +0.08 and the Catalyst total separated wins from non-wins by only +2.7pp of max — noise) and **Volatility 11 → 21** (the only 20-year-backtest-validated signal, AUC 0.68; §5b bands rescale 2/6/11/8/5 → 4/11/21/15/10, sweet-spot peak 4-8% unchanged). New matrix: Volume 8 + Momentum 11 + Catalyst 30 + Options 18 + Volatility 21 + R/L 12 = 100. Options stays 18 — the L2 pre-commitment governs any raise. Threshold 70, pick count, filters, WIN taxonomy, rule states, tracker (zero graded picks — no migration) all unchanged. Honest caveat: archive evidence is n=7 wins — directional, not proof. Canonical: the v5.7 amendment in `us-picks-system-spec.md`.
**v5.6 amendment 2026-07-28 (REVERT to the previous system — rank objective + whole-market universe + v5.0 matrix) — user-directed ("i want to return to the previous system top 100 gainers"):** three invariants went back to their pre-v5.4 state in one edit set: (1) **WIN taxonomy → rank-based 4-tier** — BIG WIN = weekly rank ≤ 100 · WIN = ≤ 500 · FLAT = 501-1500 · LOSS = > 1500 or unranked, on the FULL-market ranked universe (`gainers-output.json`); the absolute ≥+1%/≥+5% taxonomy is RETIRED and per-pick close return is CONTEXT again. (2) **Pick universe → whole mid-to-mega market ($2B+)** — the v5.3 S&P-500 / v5.5 S&P-∪-NDX membership gate is GONE (only ~12 of each week's 100 winners are index members, so a membership cage cannot coexist with a rank bar); `sp500_member`/`ndx_member` survive as CONTEXT annotations and a membership fetch failure is no longer fatal. (3) **Scoring matrix → v5.0** (Volume 8 / Price Momentum 11 / Catalyst 40 / Options 18 / Volatility 11 peak 4-8% / R/L 12) — the v5.4 matrix was fitted to the retired +1% objective, and the 2026-07-20 Setup-band correction retired with it. KEPT: the 2026-07-28 Entry Plan, the 2026-07-27 strict round-lot AH close, the 2026-07-17 Arabic PDFs, B1/L1/L2. Honest counter-evidence was surfaced first and the user chose the revert anyway (archived rank-era record: 15% WIN, 7/47, runners-up control 20%; the 2026-07-19 top-100 study found hits solvable but the median week negative in every high-hit pool). Tracker: the v5.4-era ledger had ZERO graded picks, so the live tracker restarts on the rank schema and the week-of-2026-07-27 slate is CLOSED UNGRADED per user direction.
**v5.5 amendment 2026-07-23 (pick universe → S&P 500 ∪ Nasdaq-100) — user-directed ("i want to change the /us-picks system so that it includes the nasdaq 100 stocks"):** the pick universe widened from S&P-500-only to the **UNION of current S&P 500 + Nasdaq-100 members** (~518 names; the NDX adds only ~15 non-S&P names — verified live 2026-07-23: ALAB, ALNY, ARM, ASML, CCEP, CRWV, FER, MELI, MSTR, NBIS, PDD, RKLB, SHOP, SPCX, TRI — large, liquid, options-covered growth names that S&P profitability/domicile rules exclude). Membership via NEW **`uspicks_data.ndx_members()`** — Nasdaq's own index-constituents API (Wikipedia was evaluated and REJECTED: its Nasdaq-100 article no longer carries a components table), sanity band 95-110, last-good cache at `~/.claude/stocks/ndx-members.json`, FAIL-LOUD — alongside the unchanged `sp500_members()`. Scan: `eligible = ((sp500_member OR ndx_member) AND mkt_cap ≥ $2B AND after_hours_close ≥ $5)`, NEW `ndx_member` output field, `SCAN_VERSION` → `v5-spndx`; runtime envelope unchanged (~5-20 min — only ~10-15 extra enrichments). **`Baseline ≥+1%` denominator = the union universe from this date** (the v5.4-era tracker had ZERO graded weeks at the widening, so no continuity seam). Sharia: RKLB was already on the defense blacklist; **SPCX (SpaceX) was ADDED to the defense contested-segment category** for consistency (Starshield/DoD launch — same class as RKLB/PLTR). Scoring matrix (v5.4) / WIN taxonomy / 70 threshold / pick count / grading universe (full market, v5.2) — ALL UNCHANGED; tracker NOT reset. Canonical changelog: the v5.5 amendment in `us-picks-system-spec.md`.
**2026-07-20 Setup-band correction (out-of-sample validation — no version bump, matrix stays v5.4):** a fit/validate split (2006-2018 / 2019-2026) of the 20-yr panel held the dip-buying thesis and the atr≥2 floor but corrected two over-fit Setup bands — the **−2%..0% prior-week band 7 → 2** (won 37.5% out-of-sample, below the 40.1% base) and the **RSI 40-70 middle flattened to one 3-pt band** (40-55 / 55-70 identical out-of-sample). Setup stays 0-15; no weight / threshold / filter change. (The proposed Volume 4→0 was deferred — zeroing it forces a point-redistribution decision, bigger than a band tweak, for marginal value; it does not literally trip the v5.0 retired guard, which is about the specific old Volume-16 / R-L-15 layout.) Canonical: the 2026-07-20 amendment in `us-picks-system-spec.md`.
**v5.4 amendment 2026-07-14 (ABSOLUTE-return WIN + matrix recalibration + FRESH tracker) — user-directed ("I want to at least earn 1% per stock, every week … above 1% = win, not = Loss" · tiers "binary + BIG WIN ≥ +5%" · "we'll start fresh, new slate n stats" · strategy "do it all"):** WIN taxonomy → absolute close return (≥+5% BIG WIN / ≥+1% WIN / <+1% LOSS; AH→AH per-pick returns from `uspicks_grade.py` AUTHORITATIVE; rank = context; FLAT retired). A dedicated backtest re-run (527,533 large-cap ticker-weeks, 2006-2026, S&P-proxy slice) recalibrated the matrix: **Volume 8→4** (noise again, AUC 0.50), **Price Momentum 0-11 → Setup (Reversal & Positioning) 0-15** (dip-buying inverted the momentum logic: prior-week −10..−2% wins 43-45% vs 35.6% for +0..2%; RSI monotonically inverse), **Volatility re-centered to 3-7% peak** (was 4-8; medians turn negative ≥7%); atr≥2 floor + RSI>90 gate RE-VALIDATED; Catalyst 40 / Options 18 / R/L 12 / 70 threshold / pick count / Sell Plan unchanged. **Tracker RESET** — the whole v4.5→v5.3 record (47 graded, 15% WR on the old bar) is frozen in `stocks/us-weekly-tracker-v5.3-archive.md`; the week-of-2026-07-13 picks were closed UNGRADED at the cut-over (user-directed); the fresh tracker logs a per-week **`Baseline ≥+1%`** (share of S&P members clearing +1%) next to the win rate. Canonical changelog: the v5.4 amendment in `us-picks-system-spec.md`.
**v5.3 amendment 2026-07-14 (S&P 500 pick universe) — user-directed ("let's only use the stocks in the S&P 500"):** the pick universe narrowed from all $2B+ mid-to-mega names (~1,800 eligible) to **current S&P 500 members only** (~503; membership via NEW `uspicks_data.sp500_members()` — live constituents list + last-good cache at `~/.claude/stocks/sp500-members.json`, FAIL-LOUD if neither is available). `uspicks_price_scan.py` enriches only members passing the cheap filters (446 on the 2026-07-13 validation scan; `SCAN_VERSION` → `v4-sp500`) and sets `eligible = (sp500_member AND mkt_cap ≥ $2B AND after_hours_close ≥ $5)` — runtime claim now ~5-20 min (per-ticker work cut ~60%, but the fixed universe/flat-file costs dominate; ~21 min measured mid-market-hours; the 2 dot-class members BRK.B/BF.B sit outside scan coverage, a pre-existing Polygon-ticker-format gap, immaterial — both fail the atr floor). Driver: the graded record — index-member picks won ~4/13 (~30%) vs ~3/34 (~9%) for non-members (all 3 BIG WINS were members); membership adds the profitability/seasoning gate a size floor can't. Honest cost (surfaced + accepted): most weekly top-500 gainers live OUTSIDE the index, so more skip weeks are expected. GRADING is UNCHANGED (full-market rank, v5.2); scoring matrix / 70 threshold / pick count / Sell Plan / Sharia vice blacklist — UNCHANGED; tracker NOT reset (the week-of-2026-07-13 PENDING picks were selected under v5.2 and grade normally). Same day: the options scan gained NBBO quote context fields (`atm_spread_pct`, `quote_coverage`) from the user's new Polygon Options ADVANCED tier — informational, rubric unchanged. Canonical changelog: the v5.3 amendment in `us-picks-system-spec.md`.
**2026-07-08 amendment (Stage-B cost re-architecture) — user-directed:** the Stage-B per-ticker batch workers (Catalyst / Options / Big Money over ALL eligible names — breadth unchanged) now run on **Sonnet 5** (`model: "sonnet"`), and a **NEW Phase 3.55** re-verifies the top \~20 finalists' Catalyst scores on **Fable 5** (same rubric, citation-gated corrections; raised from \~15 per user direction 2026-07-13) before selection. Supersedes the v5.1 "cost is not a constraint" clause — the 2026-07-05 all-Fable fan-out (\~135 agents) cost \~$366 API-equivalent in one run (~$236 in credits after subscription limits). The run-once judgment agents (Macro / Sentiment / Sector / Risk Assessor / Performance Grader) stay on Fable 5. Scoring matrix, Catalyst rubric, 70-threshold, WIN taxonomy, pick count, Sharia, hard filters — UNCHANGED. Canonical changelog: the 2026-07-08 cost re-architecture amendment in `us-picks-system-spec.md`.
**2026-07-08 amendment (Al Rajhi Sharia financial screen REMOVED — back to single-layer vice blacklist) — user-directed:** the debt/interest financial-ratio screen added 2026-06-18 (v5.1) was removed; `/us-picks` Sharia is once again the business-activity blacklist ONLY (`sharia-blacklist.md`, 6 vice categories, refreshed with ~32 tickers). Conventional financials (banks/insurers/lenders) and cash-rich names are eligible again (business-activity screen only, since 2026-06-05); the scan drops the per-$2B-name FD balance-sheet call. No scoring / threshold (70) / WIN-taxonomy / pick-count change; version stays v5.2. Canonical changelog: the 2026-07-08 (Sharia-removal) amendment in `us-picks-system-spec.md`.
**v5.2 amendment 2026-07-03 (FULL-market grading universe) — user-directed ("I want this to be our ranking — against the full market; it shows real ranking"):** the WIN/LOSS rank now runs against the **FULL listed common-stock universe** (`uspicks_gainers_scan.py` `GAINERS_LIQ_FLOOR` 1,000,000 → **0**; ~4,900-5,100 ranked names, completeness ~95-98%) instead of the $1M/day liquid subset (~3,600-3,800, ~72%). Tier boundaries (≤100 / ≤500 / 501-1500 / >1500), the 70 threshold, scoring matrix, entry basis, pick count — UNCHANGED; the bar is HARDER (the 2026-06-29 top-500 cutoff rose +7.93% → +9.84%; ~136 sub-$1M/day names sit inside the full-market top-500). The **pick-side $1M/day filter STAYS** (tradeability; any traded pick is in the ranked universe by construction). The week of 2026-06-29 was RE-GRADED on the new basis — the v5.2 era boundary (KYMR FLAT → LOSS; MRNA BIG WIN at exactly #100/4994); earlier weeks keep their liquid-basis grades. U.2 guard rebased (healthy universe ~4,900-5,100; postpone < ~4,500). Canonical changelog: the v5.2 amendment in `us-picks-system-spec.md`.
**v5.1 amendment 2026-06-18 (Al Rajhi Sharia screen + always-full-fan-out) — user-directed:** Two changes. **(1) Sharia → Al Rajhi:** the lenient business-activity-only blacklist is replaced by the 3-criteria Al Rajhi standard — the vice blacklist (criterion #1, the same 6 categories) **+ debt/market-cap < 30% + interest-income/revenue < 5%** (criteria #2–#3, computed by `uspicks_data.alrajhi_screen` from Polygon financials; missing-data ⇒ conservative reject). RE-INTRODUCES a financial-ratio screen (the AAOIFI-style "Layer 2" retired 2026-05-25) in stricter Al-Rajhi form and re-EXCLUDES conventional financials (banks/insurers/lenders fail the 5% interest test) — reversing the 2026-06-05 business-activity-only change. **(2) Always full fan-out:** every pick run fans the Stage-B roster (Catalyst/Options/Big Money) over EVERY eligible name via a batched Workflow — no momentum pre-filter, no cap (Stage A's 3 market-wide agents still run once; the price scan runs DIRECTLY via Bash — not a subagent — since 2026-06-22). Scoring matrix, WIN taxonomy, 70-threshold, pick count, F3/B1/B2 — UNCHANGED. Canonical changelog: the 2026-06-18 amendment in `us-picks-system-spec.md`. _(2026-07-03 — Al Rajhi ratio data fixed to **v2-realint**: v1 read Polygon's zero-filled interest line for non-financials, so cash-rich/low-revenue names like MRNA screened "pure" while yaaqen/Al Rajhi fails them at ~15-19%; the interest test now uses max(reported net-interest, cash+investments × 1Y Treasury) from the FD balance sheet, debt = max(FD total_debt, Polygon LTD), missing FD data ⇒ conservative reject. See the 2026-07-03 amendment in `us-picks-system-spec.md`.)_ **⚠️ SUPERSEDED IN PART 2026-07-08:** the Al Rajhi financial-ratio screen was REMOVED (user-directed) — `/us-picks` Sharia is the single-layer vice blacklist again; only the always-full-fan-out half of v5.1 remains.
**v4.9 amendment 2026-06-09 (Polygon + Financial Datasets REST data layer + AFTER-HOURS entry):** /us-picks data extraction moved entirely to **Polygon ("Massive") + Financial Datasets REST/S3 — no MCP, no yfinance** (user-directed). AND the **entry reference moved from prior-Friday close → prior-Friday AFTER-HOURS (8 PM ET) close** (the Price Analyzer's `after_hours_close`); grading now measures after-hours close → after-hours close at both window ends (Top Gainers + Performance Grader use explicit `ENTRY_DATE`/`EXIT_DATE` via Polygon flat files; `measurement_mode` retired). Scoring matrix, WIN taxonomy, 70/100 threshold, pick count (≤5), F3/B1 modifiers, Sharia blacklist — ALL UNCHANGED. `/us-picks` no longer calls the `financial-datasets` MCP server. Canonical changelog: the v4.9 amendment in `us-picks-system-spec.md`.
**v5.0 amendment 2026-06-09 (scoring-matrix redesign from the 20-year Polygon backtest):** a survivorship-bias-free backtest of 4.68M ticker-weeks (2006–2026) found volatility (`atr_pct`) the single dominant predictor of top-500 landing (AUC 0.68), volume near-noise (AUC 0.52), and the RSI<25 blacklist counterproductive (highest-hit-rate bucket). Changes: **NEW 6-component matrix** — Volume **8** (was 16) + Momentum 11 + Catalyst 40 + Options 18 + **Volatility 11 (NEW)** + Risk/Liquidity **12** (was 15) = 100; a sweet-spot **Volatility** component (peak 4–8% `atr_pct`) that absorbs the old B1 ±4 modifier + the R/L Volatility-fit sub-score; **price floor $10 → $5**; **RSI gate `>85 or <25` → `>90`**. B1 restructured (modifier → component + retained `<2.0` hard floor). Catalyst / Options / Momentum / WIN taxonomy / 70-threshold / Sell-Plan / Sharia UNCHANGED (catalyst & options are not backtestable from prices). Tracker NOT reset. Canonical changelog: the v5.0 amendment in `us-picks-system-spec.md`.
**v4.8 amendment 2026-05-25 (Sharia Layer 2 RETIRED):** the AAOIFI Standard #21 financial-ratio screen wired 2026-05-13 has been retired. User direction: judge Sharia compliance by the company's business activities (lawful and halal). Sharia compliance is now a single layer — the business-activity blacklist. Rationale follows a common scholarly view: as a minority shareholder you don't control the company's treasury, so only the **core business activity** has to be halal, not the balance-sheet financial composition. The `us-sharia-screen.md` agent has been deleted; Phase 2 returns to 7 agents (Stage B back to 3: Catalyst Hunter + Options Analyzer + Big Money Analyzer). Practical effect: big-tech with large cash piles (AAPL, MSFT, NVDA, GOOG, AMZN) re-enter the candidate pool. Blacklist expanded with coverage gaps (COIN, HOOD, PGY, DAVE, SGHC) + deduped (ENVA, LDOS, AUB) + new Category 13 (crypto exchanges + brokerages with material interest revenue). Tracker NOT reset. Scoring matrix UNCHANGED. Cost down to ~$10.60/week. **(SUPERSEDED 2026-06-05: the riba categories — including Category 13 / COIN / HOOD — were subsequently REMOVED per user direction; the blacklist is now ~86 tickers / 6 categories. See the hard-filters line below and the 2026-06-05 amendment in `us-picks-system-spec.md`.)**
**v4.7 changes (2026-05-12):** Big Money Confidence DROPPED from scoring matrix (was 0-5 in v4.5/v4.6; 0-10 native rescaled ×0.5). The 5 points redistributed to Catalyst (35 → 40). Sub-rubric: Significance 0-21 + Timing 0-16 + Confirmation 0-3. **Big Money agent retained** — its hard_reject filter is UNCHANGED (still drops candidates with heavy insider selling), and its 0-10 native score still shown as narrative in pick card / Pick Details — but it NO LONGER contributes to the Total Conviction Score. Driver: empirical n=10 picks showed BM utilization ~7% (0-1 of 5) while hard_reject caught 7 candidates in 2 weeks — the filter half does structural work; the soft score did not.
**v4.7 amendment 2026-05-13 (Sharia Layer 2 wiring) — RETIRED 2026-05-25 (v4.8).** Was: new `us-sharia-screen` agent in Phase 2 Stage B computing AAOIFI Standard #21 ratios; HARD filter in Phase 3.5. Active 2026-05-13 to 2026-05-25 (~12 days, 1 graded cycle). Retired per v4.8 amendment above. Historical record only — no longer applied to new picks.
**v4.6 changes (2026-05-01, preserved for record):** R2 + S1 lesson-wired rules DEACTIVATED. Auto-learning loop REMOVED — lessons are wired only via explicit user instruction (`/us-picks lesson "X"`). New `realized_outcome` field for user-reported P&L (alongside system rank-grade). New politician/Truth-Social signal in catalyst hunter. New opt-in education PDF (Phase 5.3). Big Money data source migrated to Financial Datasets MCP.
**Data Architecture (Polygon + Financial Datasets REST/S3 — FD re-instated by the user on 2026-08-29 with fail-soft `ud.fd_*` helpers + `insider_trades_best()`; the 2026-08-14 cancellation is SUPERSEDED; NO MCP, NO yfinance since v4.9 2026-06-09):** all 10 agents fetch via Polygon ("Massive") REST/S3, through the shared module `~/.claude/scripts/uspicks_data.py` + the `uspicks_*_scan.py` scripts. _(2026-06-22: `uspicks_price_scan.py` enriches every eligible survivor in PARALLEL (thread pool, `PRICE_ENRICH_WORKERS`) and is RESUMABLE — `price-analyzer-scan.jsonl`, guarded on ref_date + the `SCAN_VERSION` eligibility token — crash-safe; the command runs it DIRECTLY via Bash, not via the `us-price-analyzer` subagent. 2026-06-26: every eligible name's after-hours close is tick-refined, not just a top-60-by-fit subset. 2026-07-08: the Al Rajhi financial screen was removed, so the scan no longer makes the per-$2B-name FD balance-sheet call. 2026-07-14 (v5.3): enrichment restricted to index members passing the cheap filters; 2026-07-23 (v5.5): the membership is the UNION of S&P 500 + Nasdaq-100 — `ud.sp500_members()` ∪ `ud.ndx_members()` (the Nasdaq index-operator API; Wikipedia no longer carries an NDX components table), each fail-loud; runtime claim ~5-20 min unchanged, since the fixed universe/flat-file costs dominate the wall clock and the NDX widening adds only ~10-15 enriched names.)_ _(**v5.6, 2026-07-28: the membership gate is GONE** — enrichment covers every cheap-filter survivor in the WHOLE market (~2-3k names), `SCAN_VERSION = 'v6-wholemkt'`, runtime claim **~10-20 min**; both membership lists are still fetched but are CONTEXT ONLY, and a membership fetch failure is non-fatal.)_ **Polygon** → universe scan (grouped-daily), after-hours close (minute_aggs flat files for the universe; every eligible name + per-pick grading refined **tick-level via `/v3/trades`** — the last genuine ROUND LOT — odd lots never set the close, and "Market Center Official Close" re-prints (conditions 15/38) are excluded; STRICT since 2026-07-27, tick-refine since 2026-06-14, every-eligible-name since 2026-06-26), options chains (greeks/IV/OI), per-ticker prices, market cap, sector ETFs, Nasdaq index (`I:NDX`), plus (2026-06-14) dividends, short-interest/-volume (FINRA squeeze data), treasury yields (10Y + curve), full-market snapshot (pre-market gap check), analyst ratings (Benzinga add-on), and corporate events + forward earnings dates (TMX add-on). **Financial Datasets REST** (re-instated 2026-08-29, fail-soft) → insider Form 4 via `ud.insider_trades_best()` for Big Money Signal A — cursor-paginated to the FULL 30-day filing window since the 2026-09-07 data-integrity fix (the API caps every response at 10 rows regardless of `limit`; before the fix each ticker got only its 10 most recent Form 4 line items). **WebFetch** → the openinsider.com fallback rung for insider Form 4 + 13F (dataroma/whalewisdom); historical-earnings context via WebSearch; news was already Polygon's. **WebSearch** → narrative / social / politician / VIX / DXY / S&P-level. (Forward earnings DATES now from TMX `next_earnings_date`; analyst ratings from Benzinga `benzinga_ratings`; 10Y + curve from Polygon `treasury_yields` — all 2026-06-14 add-ons.) Keys: `~/.claude/.polygon_key` + `.polygon_flatfiles.json` (chmod 600, repo-excluded; `.financialdatasets_key` — LIVE again since 2026-08-29, also gitignored). The agents' `tools:` frontmatter no longer carries any `mcp__financial-datasets__*` entitlement.
## Instructions
### 1. Load Tracker Data
Read `~/.claude/stocks/us-weekly-tracker.md` EVERY time this skill activates — never rely on cached data. Pre-v4.5 history archived at `~/.claude/stocks/us-weekly-tracker-v4.4-archive.md`. Pre-v4.2 history at `~/.claude/projects/<your-project>/memory/project_us_picks_tracker_v3_v4_archive.md`. v4.5 had no graded weeks (v4.6 launch happened 2 days after v4.5 launch).
### 2. Extract Key Sections
From the active tracker:
1. **Lesson-Wired Rules Applied** — mechanical rules that shape pick generation (between `<!-- RULES START -->` and `<!-- RULES END -->`).
2. **Summary Statistics** — total picks, big-win/win/flat/loss counts, win rate, **Runners-Up Win Rate (control arm — T2.1; runners-up graded on the same rank ≤ 500 bar to test whether the top-5 selection beats the system's own next-5)**, rank trackers.
3. **Lessons Learned (prose)** — non-mechanical observations.
4. **Cumulative Blind Spots** — recurring patterns.
5. **PENDING entries** — picks awaiting grading.
### 3. Provide Context
When the user discusses US stocks:
- **Strategy questions** → cite active Lesson-Wired Rules first, then Lessons Learned prose.
- **Specific stocks or themes** → check whether any Rule affects them (cluster, blacklist, score modifier, hard reject).
- **Track record** → cite Win Rate (weekly rank ≤ 500, v6.3) and Big Win Rate (rank ≤ 100) — and ALWAYS next to the **~13% chance baseline** and the random-5 control row, never as a raw percentage. The +2% touch rate is reported too, always beside its ~60-69% base rate. Note v4.8 amendment 2026-05-25 RETIRED Sharia Layer 2 (AAOIFI ratio screen wired 2026-05-13); Sharia was single-layer (business-activity blacklist only) from 2026-05-25 until **v5.1 (2026-06-18) wired the Al Rajhi screen** (vice blacklist + debt/interest ratios), which was **REMOVED 2026-07-08 (user-directed)** — Sharia is the single-layer vice blacklist again (the current filter). v4.7 sub-amendment 2026-05-13 wired Layer 2 — active for ~12 days and 1 graded cycle before user-directed retirement. v4.7 base amendment was 2026-05-12 (BM dropped from score; Catalyst 35→40; past 2 weeks rescored; pick selection unchanged). v4.6 migration was 2026-05-01 (R2 + S1 deactivated, auto-learning disabled, realized_outcome field added, politician signal added, education PDF added, FDS MCP wired). v4.5 launched 2026-04-29 (5-picks + new Big Money component + $10 price floor + 70 threshold + sector sympathy bonus) but had zero graded weeks before v4.6 amendment. Pre-v4.5 archive uses v4.4 rules. 📍 _This is a convenience digest — the authoritative version history is the `us-picks-system-spec-history.md` changelog (SSOT, T3.2; split out of `us-picks-system-spec.md` 2026-09-13)._
- **Recent performance** → reference the latest graded week's rank observations.
### 4. Proactive Suggestions
- If PENDING picks exist, suggest running `/us-picks update` to grade them.
- If a Cumulative Blind Spot has 3+ occurrences, proactively mention it.
### 5. Learning Loop Awareness (2026-09-13 — the ORCHESTRATOR decides in a recorded Decision Review; the Board of Advisors is RETIRED; was Board-gated v5.9 → 2026-09-13, MANUAL ONLY v4.6 → v5.8)
`/us-picks` changes its own rules through the **Decision Review** (SSOT `references/board-charter.md`, now the Decision Charter). The user retired the Board on 2026-09-13 — *"no need for board anymore. you decide ur self."* — after v6.0 had already released his own blanket guards (*"you make the rules and adjust anything to better land the top 100 or 500"*):
- Phase U.6 still records prose observations only — it never wires.
- Phase U.9 (end of every grading run; `/us-picks review` on demand — `board` is a legacy alias) is the **Decision Review**: no Workflow, no panel, no vote. The orchestrator executes the due checks and auto-reviews itself and decides at most 3 changes under the fixed rule **WIRED iff it affirmatively clears the pre-committed evidence bar (E1-E10), sits inside the remit, and touches no constitutional item** — NOT WIRED by default, with a mandatory written counter-case.
- Mechanical rules therefore have exactly TWO wiring paths: `/us-picks lesson "X"` (the user — his instruction, his YES/EDIT/CANCEL loop) and a Decision Review decision (Phase U.9.4 — recorded in the tracker's Decision Log BEFORE the edit; the RULES entry carries `Decided by: orchestrator review …` + auto-review terms). Rules the retired Board wired carry `Approved by: Board session …` and stay live. Never from observation alone.
- The user is INFORMED (SYSTEM DECISIONS card + the tracker's Decision Log) and never asked to confirm a decision. Do not present a system decision as a question.
- **RULE F1 binds every review:** until the 12th graded v6.3 week only `logging` / `process-fix` changes may be wired; everything else → the Improvement Backlog.
- **REMIT (v6.0, unchanged by the Board's retirement):** rules; scoring weights **and matrix structure**; **every** hard-filter parameter at **any** level; the **pick universe** (blind spot BS-1); portfolio construction; the **trade plan**; the selection rule; data-source choice and model assignment **inside the existing cost envelope**; logging/process. A **universe** or **trade-plan** change carries a mandatory advisory notice on the card.
- **CONSTITUTION — only FOUR items, user-only, ADVISE-only on the card:** ① the **yardstick** (objective + WIN taxonomy + grading window — a decider that could move its own measuring stick could never be shown to be wrong) · ② **Sharia** (a values constraint, never traded against hit rate) · ③ **spending the user's money** (recommend, never buy; re-pointing among already-paid feeds is remit) · ④ **the charter + the evidence bar** — the orchestrator can never lower its own bar or widen its own remit.
- **The spec's PRIOR DECISIONS REGISTER applies:** a change may reverse an entry but must NAME it and ARGUE the reversal (E6); a silent reversal fails. `[HARD — §3]` entries (re-keyed 2026-09-13 to the orchestrator): unrecorded self-wiring, the decider lowering its own bar/widening its own remit, and the money half of the Financial Datasets entry.
- **E1 has two paths:** Path A (≥ 3 weeks AND ≥ 12 graded picks of the era) **or** Path B (a 2006-2026 panel result with a fit/validate split + cross-era replication) — not a discount.
- **Honest limit, recorded at the retirement:** the independent five-lens check is gone; the 2026-05-01 failure (R2 n=1, S1 n=0) was a single decider without a bar. The bar, the counter-case, record-first logging and auto-review are the safeguards — "no change" is the normal result.
- If the user asks "what did the system change about itself?" — read the newest `### Review` block of the tracker's Decision Log (and, for 2026-08-17 → 2026-09-04, the historical Board ledger + `~/.claude/stocks/board/<id>/session.json`).
- When a user asks "why did the system pick X?" — look up the Applied Rules list on that pick's tracker entry. **Under v6.3 NO scoring rule is active** — **B1 was DEACTIVATED IN FULL 2026-08-29** (Volatility component deleted, `atr_pct` floor removed), **F3 DEACTIVATED 2026-06-27, B2 DEACTIVATED 2026-07-02** — no per-pick score modifiers exist (the freshness booleans still drive the informational "old news" flag; the market regime renders as the banner, display-only). Older graded entries may show B1/F3/B2 in their Applied Rules lines — historical, correct for their time.
## Scoring Model Reference (v6.3 — the restored v4.7/v4.8 matrix, 5 scored components; 2026-09-01)
Full rubric at `~/.claude/skills/us-stocks-memory/references/scoring-model.md`. 📍 **The weight table below is a summary — the authoritative weight source is scoring-model.md's Score Breakdown (SSOT, T3.2); the authoritative version history is the `us-picks-system-spec-history.md` changelog.** Summary:
| Category | Points |
|----------|--------|
| Volume Surge | 16 |
| Price Momentum | 11 |
| Catalyst | 40 (Sig 21 / Time 16 / Conf 3) |
| Options Flow | 18 |
| Risk / Liquidity | 15 |
| Big Money | — (INFORMATIONAL; `hard_reject` stays a HARD filter) |
| **TOTAL** | **100** |
**Big Money is INFORMATIONAL under v6.3 (2026-09-01)** — the `us-bigmoney-analyzer` native 0-10 contributes 0 points (its 5 went into Catalyst as in v4.7; it was scored 0-5 only during the v6.1-v6.2 interlude, 0 graded weeks), while (a) the `hard_reject` flag is a **HARD Phase 3.5 filter again** (restored 2026-08-29; it was advisory 2026-06-26 → 2026-08-29, a hard drop v4.5 → 2026-06-26), plus (b) the narrative bullet in pick card / Pick Details (insider / 13F / buyback summary). Input feed: Financial Datasets (LIVE again 2026-08-29) → openinsider → polygon news, per the L1 `bm_source` ladder. **The standalone Volatility component (0-21 under v5.7) is DELETED** — it maxed on 19 of 20 era picks; volatility scores only through the R/L Volatility-fit sub-score (0-3).
**Catalyst sub-rubric (v6.3 — the v4.7/v4.8 split restored):** Significance 0-21 + Timing 0-16 + Confirmation 0-3 = 40. _(History: 18+14+3 = 35 v6.1–v6.2; 18+9+3 = 30 v5.7–v6.0 — cut Timing-hardest after the archive analysis found Timing wrong-signed; 21+16+3 = 40 v4.7–v5.6; 18+14+3 = 35 v4.5/v4.6.)_
**Modifiers under v6.1 (0 active — B1 + F3 + B2 ALL DEACTIVATED):** ~~B1 (Risk-On Aggression Tilt)~~ **DEACTIVATED IN FULL 2026-08-29 (v6.1, user-directed)** — the Volatility scored component is deleted from the matrix and the HARD `atr_pct < 2.0` floor is removed (reactivate via `/us-picks lesson "reactivate B1"`). ~~F3 (Catalyst Freshness)~~ **DEACTIVATED 2026-06-27 (user-directed)** — Phase 3.4 no longer caps Catalyst Significance or docks Timing (the `catalyst_resolved`/`catalyst_fresh_element` booleans are still emitted for the "old news" flag; reactivate via `/us-picks lesson "reactivate F3"`). ~~B2 (Risk-Off Regime Dock)~~ **DEACTIVATED 2026-07-02 (user-directed)** — the −5 RISK-OFF dock is no longer applied; the regime verdict still renders as the advisory top-of-run MARKET REGIME banner (Phase 5.1.4, display-only; reactivate via `/us-picks lesson "reactivate B2"`). R1 retired (universe filter replaces). R2 + S1 deactivated 2026-05-01 (archived in scoring-model.md §7). Reactivation path: `/us-picks lesson "reactivate RX"`.
**Thresholds:**
- **70+/100:** Confident pick (HARD threshold; no fallback)
- **<70/100:** Not picked
- **0 stocks reach 70:** SKIP THE WEEK — output "No picks this week" (CHANGED 2026-05-11: was "skip if <5")
**Hard filters (Phase 3.5, v6.1 — the restored v4.6 set):**
- `mkt_cap ≥ $2B` — the whole mid-to-mega market (v5.6, 2026-07-28); no index-membership gate, membership is context only
- `entry_price ≥ $10` at the prior trading day's after-hours close (**restored 2026-08-29**; was $5 under v5.0–v6.0)
- **Big Money `hard_reject` → HARD drop again (v6.1, restored 2026-08-29;** was advisory 2026-06-26 → 2026-08-29). Heavy insider-selling cluster removes the candidate.
- RSI **< 25 or > 90** → blacklist (the oversold gate is BACK, v6.1; v5.0 had removed it as the highest-hit-rate bucket — restored with the v4.6 configuration by user direction, not because that finding changed)
- avg_daily_value < $1M/day → blacklist (raised from $100K 2026-06-10; a TRADEABILITY bar, matching the restored liquid grading basis)
- _(REMOVED by v6.1: the `atr_pct < 2.0` B1 sleepy-name floor — B1 is deactivated in full.)_
- **Sharia — business-activity blacklist (single-layer, v5.2 2026-07-08)** — drop tickers in `sharia-blacklist.md` (6 vice categories: defense, casinos, alcohol, tobacco/cannabis, adult, pork). The Al Rajhi debt/interest financial-ratio screen (added 2026-06-18) was REMOVED 2026-07-08 (user-directed) — conventional financials (banks/insurers/lenders) and cash-rich names are eligible again (the 2026-06-05 business-activity-only change). Not a certified Sharia advisory.
## WIN Definition (v6.3, 2026-09-01 — WEEKLY RANK restored; SPY, the random-5 control and the +2% touch are reported context)
| Outcome | Definition |
|---------|------------|
| **BIG WIN** | weekly rank ≤ **100** |
| **WIN** | weekly rank ≤ **500** |
| **FLAT** | weekly rank **501-1500** |
| **LOSS** | weekly rank **> 1500**, or absent from a HEALTHY ranked universe (a failed U.2 scan stays PENDING, never an auto-LOSS) |
**Rank** = where the `FIRST_TRADING_DAY` 09:30 open → `LAST_TRADING_DAY` regular close return lands in the LIQUID ~$1M/day ranked universe (~3,650-3,900 names, `uspicks_gainers_scan.py` → `gainers-output.json`). **Chance baseline ~13% top-500 / ~2.6% top-100 — never quote a win rate without it.** _(Superseded basis text follows:)_ **Policy return** = the same window's return (`uspicks_grade.py` `close_return_pct`), vs **`SPY_WEEK`** from Phase U.3a (`uspicks_controls.py grade`; no SPY → `GRADE_PENDING_DATA`), judged beside the **seeded random-5 control** on the same policy. **Secondary diagnostic:** the +2% minute-bar peak touch — ALWAYS printed next to the week's base rate (~60-69% of eligible names touch +2% in a normal week), never alone. `Last Close` is the pick-time price *reference*, never a graded endpoint. **Weekly rank is CONTEXT ONLY** (liquid ~$1M/day universe, ~3,650-3,900 names).
**RANK is the outcome under v6.3; close return, the SPY edge, the seeded random-5 control and the +2% peak touch (always beside its base rate) are reported context.** _(Superseded conventions, 0 weeks graded under either: the money scoreboard vs SPY, v6.2 2026-08-30 → 2026-09-01; peak-touch tiers, v6.1 2026-08-29 → 08-30; earlier rank-authoritative tiers, v5.6-v6.0; absolute close ≥ +1%, v5.4; AH windows, v4.9-v5.7. Archived records keep their own conventions and are NOT comparable to this era.)_
**Realized outcome (introduced in v4.6, carried into v4.8, user-reported, optional):** the user can additionally record their actual realized P&L outcome per pick (e.g., "sold at +6%, success") — this lives alongside the system's rank-based grade in the tracker. System grading is unchanged and remains rank-based.
Stops (SMA10-based) are for risk management only, NOT grading.
## v6.3 (2026-09-01) — READ THIS FIRST
> **THE OBJECTIVE IS THE WEEKLY RANK AGAIN.** WIN = the pick's Mon-09:30-open → Fri-regular-close return ranks **≤ 500** in the LIQUID ~$1M/day universe (~3,650-3,900 names); BIG WIN ≤ 100 · FLAT 501-1500 · LOSS > 1500 or unranked. **Chance baseline ~13% top-500 — never quote a win rate without it.** Close return, SPY edge, the seeded random-5 control (same rank bar) and the +2% peak touch (beside its ~60-69% base rate) are reported context, never the grade.
>
> **THE MATRIX IS v4.7/v4.8:** Volume **16** · Momentum 11 · **Catalyst 40** (Sig 21 / Time 16 / Conf 3) · Options 18 · R/L **15** (Stop 7 / Liq 5 / VolFit 3) = 100. **Big Money is INFORMATIONAL** (0 points; `hard_reject` stays a HARD filter). No standalone Volatility component.
>
> **THE TRADE PLAN IS STILL NOT MODELLED** (v6.1, carried forward) — entry timing and exits are left to the trader.
>
> **F1's freeze clock RESTARTED at 0/12 on 2026-09-01**; the 2026-08-31 transition week (picked on the v6.2 matrix; shadow pick CRM logged) is graded but excluded — the clock starts with the week of 2026-09-07. Full record: the spec's v6.3 amendment block.
## v6.1 (2026-08-29) — superseded by v6.3 after 0 graded weeks (kept for the record)
> **THE OBJECTIVE CHANGED.** WIN is no longer a weekly rank. **WIN = the stock's intraweek peak reached +2%** from the `FIRST_TRADING_DAY` 09:30 open — the level at which the user arms his own trailing stop. BIG WIN ≥ +5% · WIN ≥ +2% · FLAT ≥ +1% · LOSS < +1%, measured on **regular-session minute bars**. Weekly rank is CONTEXT ONLY. Measured on the same 20 picks: rank scored 0/20, the +2% bar 14/20.
>
> **THE TRADE PLAN IS NOT MODELLED.** By user direction the system prescribes no entry timing, no stop, no trail and no exit — those are the trader's own decisions. The Sell Plan's triggers are retired as instructions.
>
> **THE v4.6 MATRIX IS RESTORED:** Volume **16** · Momentum 11 · Catalyst **35** (Sig 18/Time 14/Conf 3) · Options 18 · R/L **15** (Volatility-fit restored) · **Big Money SCORED 0-5** = 100. **The standalone Volatility component is DELETED** (it maxed on 19 of 20 era picks — a constant, not a signal). Filters: price **≥ $10**, RSI **<25 or >90** blocked, **no `atr_pct` floor** (B1 off), Big Money `hard_reject` is a **HARD** filter again. Selection is the **top 5 by score** (the 2026-08-28 Board band is reverted; its finding survives as BS-2 and must be re-tested). Grading universe back to the **liquid ~$1M/day** basis. **Financial Datasets is LIVE again** and feeds Big Money's Form 4 input.
>
> Tracker RESET 2026-08-29; the prior era is frozen in `us-weekly-tracker-v6.0-archive.md`. Full record: the spec's v6.1 amendment block.
## Active Lesson-Wired Rules (as of 2026-08-30)
**F1 (12-Week Freeze) — ACTIVE, wired 2026-08-30 (user-directed "GO"), clock RESTARTED at 0/12 on 2026-09-01 by the v6.3 override; THE GOVERNING RULE.** The configuration — the v4.7/v4.8 matrix (Catalyst 40, Big Money informational), 70 threshold, v6.1 filters, $2B universe, top-5 selection, the v6.3 rank yardstick mechanics — is FROZEN until the tracker holds 12 graded v6.2 weeks. Any design idea from any source files to the tracker's `## Improvement Backlog (week-12 gate)`; the Decision Review wires logging/process only; a user override restarts the clock. Pre-registered pass line: picks' +2% touch beats the random-5's by ≥ 8pp AND mean policy return ≥ SPY — else simplify to filters + random. Companion CTRL machinery: the Part A4 seeded random-5 draw + U.3a control/SPY/base-rate grading (`uspicks_controls.py` → `stocks/us-controls.jsonl`). Full definition: the tracker F1 entry + the spec US_RULES.
> ⚠️ **THE PICK BAND IS THE TOP 5 BY SCORE AGAIN (v6.1, 2026-08-29)** — the Board's S[6..10] band (BP-2026-08-28-1, APPROVED 5-0 on 2026-08-28) was **reverted the next day by the user's v4.6 restore**, because it was fitted to the v5.x score surface v6.1 deletes. Its finding is NOT dismissed — over 6 logged weeks slots 1-5 were the worst of ten bins (percentile 0.734 vs 0.483; 0/30 WINs vs 6/30; 6 of 6 weeks; p < 0.0001) — it survives as **blind spot BS-2** and is the single most important thing to re-test once the v6.1 era has weeks. Still live from that session: the Phase **U.2b** per-week ranked-universe archive (BP-2026-08-28-2) and **CK1**, the Phase 3.3.9 provisional candidate-score checkpoint (BP-2026-08-28-3). **SIX active rules under v6.1: L1 · L2 · L3 (DONE) · L4 · L5 · CK1 — B1 deactivated in full 2026-08-29.** L3's re-test was DELIVERED 2026-08-28 and its banner retired; L2 was executed the same session, re-armed, and re-keyed to peak ≥ +2% winners on 2026-08-30 (Options stays 18 — four independent reads find no separation).
**L5 (Run & Governance Persistence Audit) — ACTIVE, Board-wired 2026-08-21 (session 2026-08-21, BP-2026-08-21-1, APPROVED 5-0, 18 binding conditions — the SECOND rule decided by the Board rather than by user direction). DETECTION-ONLY: it changes no score, filter, threshold, pick or grade.** Phase 0.4 of pick / update / board runs executes `scripts/uspicks_run_audit.py`, which asks whether work that was DONE was also RECORDED: **(a)** era-scoped L1-log weeks missing from every `us-weekly-tracker*.md` (LOG-ONLY, never a banner), **(b)** the run-artifact week missing from every tracker file → *SUSPECTED unlogged week*, **(c)** a `stocks/board/<id>/session.json` with no `### Session <id>` ledger header → *UNRECORDED Board session*. Fail-open, always exits 0, ≤ 8 lines, one `stocks/us-run-audit.jsonl` row per evaluation, `--selftest` for mechanical re-verification. Phase U.1's "no pending picks" line is gated to **report-and-proceed**, and the record-first step writes the decision record BEFORE any wiring (charter §8 step 0 — the Board ledger block at Phase U.9.2b until 2026-09-13, the Decision Log block at Phase U.9.4 since). **Driver:** two incidents of one failure class — the pick week lost 2026-08-09 (40 L1 rows destroyed) and the completed Board session lost 2026-08-17 (`2026-08-17-s2`, three APPROVED verdicts never recorded). **Auto-review:** 4 graded weeks, per condition; the record-first ordering is excluded from any auto-revert.
**L4 (Full-Eligible-Universe Feature Snapshot) — ACTIVE, Board-wired 2026-08-17 (session 2026-08-17, BP-2026-08-17-1, APPROVED 5-0 — the first rule decided by the v5.9 Board of Advisors rather than the user).** Logging ONLY — never changes a score, filter, or grade. Every pick run (incl. skip weeks) Phase 6.0 Part A2 runs `scripts/uspicks_universe_snapshot.py`, which copies the run's own `eligible == true` scan rows verbatim (+ `mech-scores.json` when fresh) into `~/.claude/stocks/_universe/universe-features-<WEEK_START>.jsonl` with a binding provenance guard (`RUN_START_UTC` from Phase 0.3), `-rN` never-overwrite naming, an `_index.jsonl` run index, run-time `vice_blacklisted`, in-file `scan_complete`, always-exit-0. Preserves the point-in-time universe (float / short interest / mkt cap / sector / membership / AH close / the exact eligible set + the mechanical component scores) that was overwritten every Sunday. Does NOT improve the picks; the bottleneck is weeks of outcomes, not rows. Auto-review after 4 graded weeks (≥ 3/4 valid, ≤ 5 MB, ≤ 30 s, never blocks, no stale snapshot; usefulness at the 8th) → auto-revert proposal on breach. Full definition: the tracker L4 entry + `scoring-model.md §7`.
**L3 (Selection-Rule Re-Test Reminder, 6-run) — ✅ RE-TEST DELIVERED 2026-08-28, banner RETIRED, status `DONE 2026-08-28`.** Wired 2026-08-08 (user-directed "ok, reminde me after 3 weeks in very bold coloring so i read it"); the gate tripped at 6 logged runs and the Board executed it — the finding replicated (slots 1-5 worst of ten bins, 0/30 WINs, 6 of 6 weeks, p < 0.0001) and its pre-committed branch fired, producing **BP-2026-08-28-1: the pick band moved to S[6..10]**. _(Superseded original definition below.)_ Reminder ONLY — never changes a score, filter, or grade. _(v5.9: the Board's Secretary runs the re-test itself when due and files any selection-rule amendment with the Board — the banner keeps informing the user loudly, without asking him to act.)_ Reuses the L1 `l1_runs` counter: while `l1_runs ≥ 6` AND the tracker L3 `Reminder status` is `PENDING RE-TEST`, every `/us-picks` run (pick AND update) renders the 🟥 **L3 SELECTION-RULE RE-TEST banner** — deliberately the loudest surface in the system (red-block emoji frame, rendered LAST so it sits closest to the eye), at the user's explicit request. Keyed to LOGGED runs, not graded weeks, because the analysis retro-ranks each logged week against its own full universe via `uspicks_gainers_scan.py`. **Driver / what it decides:** the 2026-08-08 L1 analysis (150 candidates, 3 logged weeks, permutation tests stratified within week) found score slots **1-5 were the WORST bin of the 50** (median outcome rank #4266 vs ~#3100 pool; p=0.003 on three statistics) while the total score showed **NO** monotonic relationship to outcome rank (rho +0.086, p=0.29) and **NO** component separated winners (all p > 0.15). If that repeats at 6 weeks, the amendment to draft is a **selection-rule** change (take the top 5 by total score), not a re-weight — filed with the Board (v5.9). If slots 1-5 revert to ~0.50 percentile, the 3-week result was small-sample noise and L3 closes. Status: tracker L3 entry. Reversal: `/us-picks lesson "deactivate L3"`.
**F3 (Catalyst Freshness Penalty) — ⛔ DEACTIVATED 2026-06-27 (user-directed; was ACTIVE 2026-05-31 → v2 2026-06-17).** _No longer applied — Phase 3.4 imposes no Significance cap or −3 Timing; the freshness booleans are still emitted for the "old news" flag (B2, which also consumed them, was itself deactivated 2026-07-02). Reactivate via `/us-picks lesson "reactivate F3"`. Historical definition follows._ Was: on `catalyst_resolved=true AND catalyst_fresh_element=false` (already-public-and-resolved with no documented fresh net-new element): **v2 (2026-06-17) caps the Catalyst Significance sub-score at Tier 3 = 11/21** (score the FORWARD/unrealized magnitude, not the already-printed event — generalizes the deal-pinned-takeover Tier-0 treatment) **AND** subtracts **−3 from the Catalyst Timing sub-score** (the original v1 penalty, retained). _v2 driver: the −3 Timing nibble was too weak — AGX's already-printed record beat kept Sig 19/21, scored 85, and LOST; the cap is the teeth (AGX Catalyst 31→23, total 85.3→77.3; HPE upcoming/unresolved exempt → 88)._ No `cumulative_gap_pct` threshold (gap is info-only). Evidence: 2026-05-31 adversarial-panel audit on n=20 graded picks — fresh-element catalysts went 3/3 WINS, resolved-and-not-fresh went 1W/5F/7L. **⚠️ IN-SAMPLE (T2.3): the booleans were assigned retroactively in the 2026-05-31 panel — 3/3 is not forward-validated.** Supersedes the rejected gap-threshold draft (R3). `catalyst_fresh_element` is auditable (T2.3): TRUE only with a cited, dated 8-K Item 1.01 / special-dividend / guidance-raise ≤ 5 trading days before entry — default FALSE without it; F3's "fresh" = net-new sub-catalyst, NOT the prose "low-gap" sense. Reversal: `/us-picks lesson "deactivate F3"`; **auto-review counter (T2.3): Phase 0.4 counts GRADED weeks since wiring, Phase 1 card shows `X/3` and prompts "⚠️ F3 AUTO-REVIEW DUE" at X ≥ 3.** Full definition: `scoring-model.md §7`.
**L2 (Options Weight Re-evaluation Reminder) — ACTIVE, wired 2026-07-14 (user-directed "let's wait, and you tell me when is time to raise it"); winner re-keyed to the v6.3 RANK bar (rank ≤ 500) 2026-09-01 (the 2026-08-30 money-bar key had 0 graded weeks — no evidence lost); week counter pinned 2026-09-13 (Decision Review D-2026-09-13-1).** Reminder only — from 4 weeks graded on the v6.3 rank bar (the 2026-08-31 transition week counts), every run banners the pre-committed check: **winners' (weekly rank ≤ 500) mean Options score − losers' ≥ +2.0** (on /18, n ≥ 12 graded picks) → the raise amendment (18 → 22-25, donor named) files to the Improvement Backlog for the F1 week-12 gate (the orchestrator's Decision Review executes the check when due); else Options stays 18, reminder re-arms +4 weeks. Context: FOUR independent reads (archive corr −0.04 · 2026-07-14 · the 2026-08-08 L1 analysis · the 2026-08-28 execution, gap +0.02) found no separation — all on earlier yardsticks. Status: tracker L2 entry. Reversal: `/us-picks lesson "deactivate L2"`.
**B1 (Risk-On Aggression Tilt) — ⛔ DEACTIVATED IN FULL 2026-08-29 (v6.1, user-directed; was ACTIVE 2026-06-08 → 2026-08-29, restructured v5.0).** _No longer enforced — the standalone Volatility component is DELETED from the matrix (it maxed on 19 of 20 era picks — a constant among finalists) and the `atr_pct < 2.0` hard floor is REMOVED (the v4.6 filter set has none); volatility scores only through the R/L Volatility-fit sub-score (0-3). Reactivate via `/us-picks lesson "reactivate B1"`. Historical definition follows._ Was: a volatility-keyed signal biasing picks toward high-movement names — by BEHAVIOR, not sector. Uses `atr_pct = ATR ÷ close × 100` (emitted by `us-price-analyzer`). The 2006–2026 backtest validated the volatility AXIS as the dominant predictor of top-500 landing (the RANK objective, retired by v6.1), so v5.0 promoted the ±4 post-sum tilt into the scored Volatility component (0-11, then 0-21 under v5.7) + the < 2.0 floor. Driver (2026-06-08): user "no safety again … always risk-on" after AGX/COO. Full archived definition: `scoring-model.md §7`.
**L1 (Candidate Score Audit Trail + 2-Run Analysis Reminder) — ACTIVE, wired 2026-07-11 (user-directed via `/us-picks lesson`).** Logging/reminder ONLY — never changes a score, filter, or grade. Every pick run (incl. skip weeks) ends Phase 6.0 by appending **every scored eligible name with full component breakdowns** (widened from the top 50 on 2026-08-31, user-directed — logging only, no clock reset; `log_scope` = `top50` for weeks ≤ 2026-08-24, `all-eligible` from 2026-08-31, and every count-based analysis crossing that boundary must partition on it) (+ catalyst/freshness/Big-Money fields + status `pick`/`runner-up`/`candidate`) to `~/.claude/stocks/us-candidate-scores.jsonl` (append-only; local-only — outside the repo allowlist). Driver: runner-up component breakdowns were never persisted, making picks-vs-runners analysis impossible for the first 10 graded weeks — while the total score showed ~zero rank-ordering power at the top (Spearman −0.01 vs rank, n=47). **Field added 2026-08-22 (Board-wired, BP-2026-08-22-2, APPROVED 5-0 — logging only):** every row also carries **`bm_source`** — the Big Money Signal-A provenance rung: **`bm_source` one of: `section16_exempt` | `financialdatasets` | `openinsider` | `polygon_news_fallback` | `none` | `not_run` | `unmapped`** (total-order partition in that order, first match wins, never null — the agent emits rungs 1-5 with `section16_exempt` FIRST and `financialdatasets` the first DATA rung [added 2026-09-04, BP-2026-09-04-1 — the licensed feed the user re-instated 2026-08-29], Phase 6.0 assigns `not_run`/`unmapped`). Read by `scripts/uspicks_board_pack.py` (`bm_source_counts` + `bm_source_unknown_tokens` + `insider_source_ok_pct` [frozen] + the additive `insider_licensed_ok_pct`, each with raw N/D, per `log_scope` and `sel_rule`); the BP-2026-08-21-3 buy-FD trip-wire is MOOT while the user's subscription is live and re-arms on the picks-only licensed rate. It changes no score, filter, pick or grade. Auto-review 4 graded weeks. **Grading-side companion (BP-2026-09-04-2):** every archived ranked universe carries a DERIVED `universe_basis` label (partition key only, never a grade input); PARTITION RULE (BP-2026-09-04-2): any retro-rank analysis that spans archived weeks of different `universe_basis` MUST partition on `universe_basis` AND `price_source`, OR report percentile-of-universe instead of raw rank, OR pool only with the basis mix stated in the artifact — and `unknown_legacy` is NOT comparable to `liquid_1m`; the percentile route is ANALYSIS-ONLY and may never compute, restate or substitute for a WIN tier, a published grade, or the F1 pass line. **Reminder:** from 2 logged runs onward, every `/us-picks` run renders an 📊 ANALYSIS-DUE banner (Phase 1 card + Phase U.7 + end-of-run) until the picks-vs-runners component analysis is delivered (tracker L1 `Reminder status` → `DONE`). Reversal: `/us-picks lesson "deactivate L1"`. Full definition: `scoring-model.md §7` + the spec's US_RULES block. **⛔ `bm_source` REVERTED 2026-09-19 (Decision Review D-2026-09-19-1 — BP-2026-08-22-2's own pre-committed reversal, executed): its auto-review breached on the spot-audit (ADR-type foreign private issuers, which are Section-16 EXEMPT and so belong to rung 1, carried the `openinsider` rung in 6.0% of sampled rung-1 rows for the week of 2026-09-07 and 22.0% for 2026-09-14). No row written from 2026-09-19 carries the token; historical tokens stay stranded in the append-only log and `uspicks_board_pack.py` still reads them. `insider_source_ok_pct` / `insider_licensed_ok_pct` for 2026-08-24 → 2026-09-14 are NOT trustworthy for the openinsider-vs-exempt split. The rest of L1 is UNCHANGED and ACTIVE.**
**B2 (Risk-Off Regime Dock) — ⛔ DEACTIVATED 2026-07-02 (user-directed; was ACTIVE 2026-06-17 → 2026-07-02).** _No longer applied — the −5 RISK-OFF dock is off; the market regime is INFORMATIONAL only (the MARKET REGIME banner + tracker header stay). B2 never fired in a live run (no RISK-OFF week while active), and the corrected arithmetic showed −5 would not have excluded its founding case (AGX → 72.3, above the 70 bar). Reactivate via `/us-picks lesson "reactivate B2"`. Historical definition follows._ Was: −5 to the **Total Conviction Score** (post-sum) when the `us-market-macro` agent reports `Regime=RISK-OFF` AND the pick is a resolved-stale catalyst (`catalyst_resolved=true AND catalyst_fresh_element=false`). Stacked with F3 v2 until F3's 2026-06-27 deactivation — B2 is now the only resolved-stale penalty. Fresh/unresolved catalysts are EXEMPT even in a risk-off tape (DELL won +42.6% #40 in a NEUTRAL-to-BEARISH week). The macro agent emits `Regime` (RISK-ON / NEUTRAL / RISK-OFF) + `Pick-Run Advice` (RUN / CAUTION / CONSIDER SKIPPING) — its holistic call, no hard-coded VIX band — which also renders as the advisory **MARKET REGIME banner** at the very top of the pick card / skip-week (Phase 5.1.4; advisory, the user decides skip/run — NOT an auto-skip gate). Axis: B1 owns volatility (the stock), B2 owns market regime (the tape), F3 owns catalyst-freshness. Driver: the risk-off week of 2026-06-08 ran AGX/COO (resolved catalysts) to 0/2 LOSS; AGX 85.3 → F3 v2 77.3 → B2 72.3 (arithmetic corrected 2026-07-02 — the originally-logged "67.3 excluded" was a slip; 72.3 sits above the 70 bar). **Evidence thin (n=2); −5 deliberately modest.** The RBRK macro-collision (fresh binary into an in-window NFP, n=1) stays an informational Heads-Up Flag, not a dock. Reversal: EXECUTED 2026-07-02. Full archived definition: `scoring-model.md §7`.
_Previously-wired rules, all inactive:_
- **R1** retired 2026-04-19 — replaced by universe filter.
- **R2** deactivated 2026-05-01 — was Priced-In Catalyst Downgrade. n=1 evidence (CRWV). (The priced-in concern was handled by F3 via resolution + freshness — F3 itself DEACTIVATED 2026-06-27, and B2, which covered it regime-conditionally, DEACTIVATED 2026-07-02; today no active rule penalizes priced-in names — the informational "old news" flag surfaces them.)
- **S1** deactivated 2026-05-01 — was Sector Sympathy Bonus. Wired at v4.5 launch with no graded cycles to validate.
**v4.7 weight redistribution (2026-05-12) and v4.8 Sharia Layer 2 retirement (2026-05-25)** are structural changes to the system, NOT lesson-wired rules — both follow the retire-on-thin-evidence (or scope-mismatch) pattern that retired R2/S1. The hard_reject filter remains active. See `scoring-model.md §6` for the v4.7 rationale and the v4.8 amendment note in `us-picks-system-spec.md` for the Layer 2 retirement rationale.
Mechanical rules are wired when the user explicitly directs via `/us-picks lesson "X"` OR when the orchestrator's Phase U.9 Decision Review decides a system-originated change (fixed rule, pre-committed bar, record-first Decision Log, auto-review — the Board that held this role 2026-08-17 → 2026-09-13 is retired). Phase U.6 itself never wires. Prose observations during grading are preserved as the review's evidence, never auto-translated to rules.
## Important Notes
- Always read the tracker fresh — never cache.
- Times in Eastern Time (ET, UTC-5 / UTC-4 DST).
- US market: Mon-Fri, 9:30-16:00 ET.
- **Optimal run time: Sunday (any time).** `Last Close` reference = the prior trading day's AFTER-HOURS (8 PM ET) close (v4.9; normally the prior Friday — Phase 0.3's holiday-aware `ENTRY_REF_DAY`). **The v6.1 measurement window runs `FIRST_TRADING_DAY` 09:30 open → `LAST_TRADING_DAY` regular close, and the graded value is the intraweek PEAK vs that open.** The user times his own entry and exit. 5-day window — shorter on NYSE-holiday weeks (e.g., 4-day on Memorial Day / MLK Day / Labor Day Mondays; 4-day on Good Friday weeks). Phase 0.3 emits `TRADING_DAYS_THIS_WEEK`, `FIRST_TRADING_DAY`, `LAST_TRADING_DAY`, `EXIT_TIME_ET` (the window's end — 3:55 PM ET, or 12:55 PM ET on 1 PM early-close days; no longer a sell instruction).
- **Pre-market gap check (2026-06-14):** `python3 ~/.claude/scripts/uspicks_premarket_check.py` (run Monday morning) compares each pick's live pre-market price to its logged after-hours Last Close and flags any gap ≥ 3% — the clean way to sanity-check fills before the open. Standalone tool; does not change any grade.
- **Decision Review (2026-09-13 — the Board of Advisors is RETIRED):** the system's only self-amendment path. `/us-picks update` ends with a Decision Review; `/us-picks review` (legacy `board`) runs one on demand. Read `references/board-charter.md` (the Decision Charter) before running a review or touching anything it governs. No extra agents. The user is informed via the SYSTEM DECISIONS card + the tracker's Decision Log — never asked.
- **Consistency gate (2026-07-02):** `python3 ~/.claude/scripts/uspicks_lint.py` mechanically checks every system file against a CONTRACT of the current state (rule active/deactivated markers, version labels, scoring weights, agent models, tracker arithmetic); a git pre-commit hook runs it with `--staged` on every commit and blocks inconsistent commits. Any deliberate state change must update the CONTRACT in the same edit set. Maintenance tool; not part of the pick/grade flow.
- **~~Entry Plan~~ — RETIRED as an instruction by v6.1 (2026-08-29):** the system prescribes no entry timing — entry timing is the trader's own decision. _Preserved evidence (2026-07-28 study, 181,444 large-cap ticker-weeks 2015-2026, fit/validate split): day-1 entry dominated — the +1% WIN rate decayed with every day of delay (d1 open 42.65% → d4 close 25.8%); the 1×ATR buy-limit + day-2 fallback matched buy-at-open. If the user asks "when should I buy," quote that decay table as context — his call._
- **Picks-table columns (v6.3, since 2026-09-01 — `Rank` renamed from `Rank (ctx)` and is now THE graded field):** 12 columns — `Ticker | Status | Score | Sector | Last Close | Entry Open $ | Peak $ | Peak % | Close Return | Outcome | Rank | Realized`. **`Rank` is the graded field** — the Outcome is derived from it alone; `Peak %` and `Close Return` are context; `Entry Open $` / `Peak $` / `Peak %` / `Close Return` stay `—` until Phase U.4 fills them; the Sell Plan table is retired with the trade plan. `Last Close` (= `after_hours_close`, the price reference) stays — `uspicks_premarket_check.py` reads it Monday morning; the SMA10/1×ATR stop is computed for the R/L Stop-usability score only and never displays. _(Archived-era maps — never retrofitted: pre-2026-06-19 `Entry`/`Stop`; 2026-06-22 `Best Entry`/`Peak Tgt $`; 2026-06-29…07-27 `Exit AH $` 12-col; 2026-08-03…08-24 the 13-col v5.8 format.)_
- System picks **up to 5 stocks per week (variable 1-5), OR zero** (skip-week only if 0 candidates score ≥70). CHANGED 2026-05-11 from "exactly 5 or zero". No speculative watchlist, no sector diversification, no microcaps, no penny stocks.
- Equal-weight allocation across N picks (100% / N — e.g., 33.3% each at N=3 picks; informational — user chooses actual sizing).
- **MARKET REGIME banner (NEW 2026-06-17):** the pick card (and skip-week output) opens — ABOVE the Heads-Up Flags table — with an advisory `MARKET REGIME: RISK-ON/NEUTRAL/RISK-OFF → MY ADVICE: RUN/CAUTION/CONSIDER SKIPPING + why` banner, from the Market Macro agent's holistic call. It is the user's "tell me the mood + should I run this week" surface — **advisory; the user decides skip/run (NOT an auto-skip gate).** The `Regime` is display-only (the B2 dock was deactivated 2026-07-02). Persisted in the tracker week header (`**Market Regime:**`).
- **Heads-Up Flags table (NEW 2026-06-06):** every pick card (and skip-week output) opens with a plain-English **HEADS-UP FLAGS** table — a fixed-width, script-rendered grid consolidating every risk/warning the run raised (in-window macro events like the jobs report, per-pick earnings, overbought names, weak stops, crowded market, short weeks, data issues…), sorted 🔴 HIGH → 🟡 MED → ⚪ INFO, with the `HITS` column naming exactly which picks each flag touches. SSOT = `references/flags-glossary.md` (12-category taxonomy + jargon→plain map + render script). Built in Phase 5.1.5; persisted compactly in the tracker week header. Driver: a buried in-window-NFP risk (week-of-2026-06-01) that preceded a ~$2T market session.
- **Weekly PDFs (2026-07-05; SELF-RENDERED ARABIC PDF since 2026-07-17 — the Claude Design prompt emission is RETIRED, user-directed):** every pick run — including skip weeks — ends with **Phase 7**, and every grading run with **Phase U.8**: the system renders the week as a fixed-identity **Arabic PDF** via `scripts/uspicks_pdf.py` and **saves it to the user's iCloud `Weekly Stocks/` folder, named by the week's Monday** (`اختيارات الأسبوع YYYY-MM-DD.pdf` picks / `نتائج الأسبوع YYYY-MM-DD.pdf` results; the script's `SAVED:` line is the run's closing output — only due 📊 reminder banners follow it; fallback dir `~/.claude/stocks/weekly-pdfs/` when iCloud is unavailable). The design is CODE (the strongest form of "always looks the same"): the v5/v6 poster identity carried into RTL Arabic A4 — warm paper, hairline tables, deep-navy ink + deep-teal accent, VIX colored by fear band (<20 green / 20-30 amber / >30 red — the level, never a change), trade plan = LAST CLOSE · BEST ENTRY (the per-pick 1×ATR limit, shown with its own +X.X%) · PEAK TARGET only, **every score earned/possible** ("17/18", never "17"), fixed Arabic honesty footer (rank WIN basis — top 500 / BIG WIN top 100 — + Sharia not-certified) on every page. Picks report = MARKET/regime + SCORES + WHY + TRADE PLAN + FLAGS + runners-up; results report = verdict + RESULTS (entry/exit AH, return, peak + target, rank-context) + WHAT HAPPENED (+ optional baseline/note lines) — no cutoff tiles, no track-record panel. Data fills verbatim from the run — never recomputed; Arabic prose slots are faithful translations of run-built text. `GRADE_PENDING_DATA` weeks render no results PDF; render failures never block a run. SSOT = `references/report-design.md` (spec v7); deps fpdf2 + uharfbuzz via `ensure-deps-us.sh`.
- Be transparent about track record — cite actual numbers.
- Never claim certainty — frame as "based on the model's analysis."
- **Never mention removed features** (speculative picks, estimated upside targets as WIN-threshold, v4.2 absolute-close-return WIN, R1 penalty, 60-point threshold with fallback, "exactly 5 or skip" pick-count rule retired 2026-05-11, Big Money Confidence as a 0-5 score slot retired 2026-05-12 (briefly re-scored v6.1-v6.2, re-retired 2026-09-01), Sharia Layer 2 AAOIFI financial-ratio screen retired 2026-05-25, Al Rajhi financial-ratio screen removed 2026-07-08). Also never present a retired era as current: the v6.2 money scoreboard and the v6.1 +2% peak-touch tiers (0 graded weeks each), the v5.6-v6.0 FULL-market rank basis, the absolute ≥+1% taxonomy (v5.4), the Setup component, the membership gates, the v5.7 matrix (Volume 8 / Catalyst 30 / Volatility 21), the S[6..10] pick band, the Entry Plan and the Sell Plan are all SUPERSEDED. If asked, explain the current system (v6.3, 2026-09-01; governance 2026-09-13) grades on **WEEKLY RANK** — the Mon 09:30 open → Fri regular close return ranked in the liquid ~$1M/day universe (~3,600-3,900 names): BIG WIN ≤ 100 / WIN ≤ 500 / FLAT 501-1500 / LOSS beyond (chance baseline ~13%), judged beside a seeded random-5 control and SPY's same week (the +2% minute-bar touch is reported beside its ~55-69% base rate; close return is context) — over a WHOLE-MARKET mid-to-mega picking universe ($2B + $10 floors, RSI 25-90; index membership is context only) with up to 5 picks (top 5 by score) at 70/100 threshold, scoring matrix Volume 16 / Price Momentum 11 / Catalyst 40 (Sig 21/Time 16/Conf 3) / Options 18 / R/L 15 / **Big Money informational, 0 points** (the restored v4.7/v4.8 layout; Big Money `hard_reject` = HARD filter), NO modelled trade plan (entry/exit are the user's own; the card carries a risk-in-dollars block + the stay-on-script line), the single-layer Sharia business-activity blacklist (Al Rajhi financial-ratio screen removed 2026-07-08), a full-universe agent fan-out with no momentum gate — **FROZEN under rule F1 until the 12th graded week** — and (since 2026-09-13) it amends its own rules only through the orchestrator's recorded Decision Review under the same pre-committed bar (logging/process only during the freeze), informing the user rather than asking.
Files in this skill
- SKILL.md
- references/board-charter.md
- references/flags-glossary.md
- references/report-design.md
- references/scoring-model.md
- references/sharia-blacklist.md
- references/us-picks-system-spec-history.md
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.