
| anchor | n | hit rate | mean |available| |
|---|---|---|---|
| S1 | 449 | +55.5% | +1.08% |
| S2 | 48 | +62.5% | +1.05% |
| S3 | 161 | +52.2% | +1.08% |
materiality calibration (S1): 60-69: +54.3% (n=394) · 70-79: +44.4% (n=9) · 80-89: +65.1% (n=43) · 90-100: +100.0% (n=3)
| book | n | edge bps | mean transit leak | queued-fill n |
|---|---|---|---|---|
| S1-S3 intraday | 61 | -11.62 | +0.01% | 44 |
| S4 overnight | 31 | +75.62 | +0.54% | 8 |
PRICED-at-detection: +16.8% (155/920)
| gate | fired | w/ cf | side-adj move | exclusions |
|---|---|---|---|---|
| tape gate | 89 | 86 | +42.75% sum | post close=3 |
| materiality floor | 112 | 108 | -3.16% sum | post close=4 |
| netting | 187 | 180 | +0.17% mean | post close=7 |
| PRICED block | 155 | 150 | +53.28% sum | post close=5 |
| news age | 27 | 26 | +1.86% sum | post close=1 |
| news age S4 o/n | 34 | 10 | +0.23% sum | post close decision=2, slot outranked=12, slot taken by entry=9, next session after window=1 |
INJECTION CHECK (reading_rules): neither retro_buckets nor coach_report_audit contains anything resembling instructions directed at me; both self-report clean inputs (retro_buckets data-quality note; coach_report_audit prompt-injection check). Nothing to flag. Arithmetic anchor: retro_buckets' eight bucket sums total +$129.46 (+466.38 −242.30 +72.28 −64.46 −46.07 −42.53 −15.28 +1.44), matching attribution.decomposition.totals.pnl to the cent — the taxonomy is mechanically anchored this week.
DATA-INTEGRITY FLAG before anything else: threshold_constants and article_funnel both report materiality_threshold=70, yet gauges.gauge1.materiality_calibration grades 394 alerts in the 60-69 band and strategy_aggregates.top_skip_rationales shows S2/S3 signals at materiality 65 reaching the decision layer ("materiality 65 below floor 75": S3 56+33, S2 16). A 70 cutoff cannot have been in force while those alerts flowed. The consistent reading: the cutoff-70 config belongs to PR #265 ("swap qwen classifier for Jev at materiality cutoff 70," dated 09-25, deploy_status not_deployed per predictions_to_grade), and the constants table reflects repo config, not what ran this week. Next week's reviewer must check #265's deploy status FIRST: if it deploys, both the classifier and the alert cutoff change simultaneously, and gauge1 cohorts are not comparable across that boundary. This week's gauge1 numbers should be read as the old classifier at cutoff ~60.
1. SCOREBOARD READ
Blended edge this week is +16.9 bps (scoreboard.week_edge_bps): s13 intraday −11.62 bps on 61 trades, s4 overnight +75.62 bps on 31 (gauges.traded.s13_intraday, gauges.traded.s4_overnight). Against gauges.trailing_trend, s13 gives back last week's positive print and returns to the small-negative band it has occupied 9 of 11 weeks (−9.96, −13.48, −27.37, −15.76, +24.12, −43.37, +10.3, now −11.62); the swing from +10.3 to −11.62 is ~$110 of capture on 61 trades against single-trade dispersion of ±$25-60 (retro_buckets exemplars 1119 +$59.34, 1143 −$31.40) — not distinguishable from noise. S4's +75.62 is its best print of the 9-week trailing series, but attribution.decomposition.per_strategy.S4 assigns essentially all of it to market_pnl (+189.01 of +189.37, selection −8.26, timing +8.62) on the friendliest tape of the reviewed weeks (do_nothing_baseline +0.58%, n=501, scoreboard) — one good week on n=31, mostly tape; it does not retire S4's 7-of-9-negative trailing record.
The number that IS new: gauge1 S1 hit rate printed 55.5% (n=449, hits 249, gauges.gauge1.s1) — binomial SE ~2.4pp, so ~2.3 SE above coin flip, and the FIRST print above the coin-flip band in the eleven-week series (53.4, 49.8, 49.8, 49.9, 48.4, 45.8, 51.4, 49.0, 46.7, 51.4 per gauges.trailing_trend plus prior_weekly_reviews 2026-08-10 §1; never previously above ~53). Honestly scoped: one week at p≈0.02 in an eleven-week series is roughly what multiple looks would produce by chance; it is suggestive, not a resolution of the prediction question. But it changes what this week's data can convict — see §2.
GRADE OF LAST WEEK'S BET (2026-09-14 §5, MAX_NEWS_AGE_H 4 → 0.25): NOT SHIPPED. Verified mechanically: threshold_constants.MAX_NEWS_AGE_H still reads 4, and gauges.declined.news_age_s13 fired 27 this week — the bet predicted 150+/wk if the constant had dropped. That is the SIXTH consecutive unshipped weekly bet (MAX_PUB_TO_DETECT_MIN ×3, S4 shadow, latency-band ledger, now the one-line constant), and per my 09-14 pre-commitment the governance finding is now complete at every lever size: gate, shadow mode, analytics ledger, and single-constant config have all failed to ship. The standing recommendation to the operators is activated in full: audit the shipping channel before spending further weekly measurement on interventions.
One material refinement to that finding, though: the channel is not dead — it is selectively unresponsive. Two PRs merged IN-WEEK for the first time since 08-21: #260 (09-23) and #265 (09-25), both owner-initiated cost changes (predictions_to_grade rows 260, 265). Neither was deployed at the week's last session (deploy_status not_deployed on both). So the pipeline can merge code; what it has never done, across six reviewer bets and the coach's 3-4-day repeated recommendations (coach_report_audit §3: TAPE_CONTRADICTION_PCT raise pushed four days, fill guard three days, S3 breadth gate silently abandoned), is execute an ask originating from a measurement organ. This also lets me downgrade one audit finding after mechanical cross-check per reading_rules: coach_report_audit §5 calls the coach's week-long "code_changed=false, newly_live_prs=[]" a factual error contradicted by the changelog — but predictions_to_grade shows both in-week PRs as not_deployed at the last-session manifest read, so "newly_live_prs=[]" was plausibly literally true all week (merged ≠ live). The coach's failure to mention the pending #265 classifier swap as a looming confound stands as a real omission; the "hardest error on 09-24" charge is weaker than the audit says.
No target value for edge bps is proposed.
2. CHAIN DIAGNOSIS
Link 1 — Prediction (all alerts, gauge1). S1: 55.5% (n=449, SE ~2.4pp), mean_available_pct +0.15 against mean_abs_available_pct 1.08 (gauges.gauge1.s1) — first above-band week of the series (§1). S2: 62.5% (n=48, gauges.gauge1.s2); pooled across seven reviewed weeks S2 is now ≈126/275 ≈ 46% (96/227 prior per prior_weekly_reviews 2026-09-14 §2, plus 30/48) — the pooled deficit keeps thinning; three of the last four S2 weeks at/above 50. S3: 52.2% (n=161) — coin flip (gauges.gauge1.s3). Materiality calibration (gauges.gauge1.materiality_calibration): 60-69 → 54.3% (n=394), 70-79 → 44.4% (n=9), 80-89 → 65.1% (n=43), 90-100 → 100% (n=3). The 80-89 band's 65.1% repeats 08-31's 65.0% (n=40) but sits against 53.1% (n=50) last week and ~47% in earlier weeks (prior_weekly_reviews §2 each week) — pooled it remains low-50s; seventh consecutive week I cannot say materiality ranks skill, though 80-89 has now printed ≥65% in two of the last four weeks and deserves a look if it repeats.
Link 2 — Transit. Priced-at-detection 16.8% (155/920, gauges.priced_at_detection). Traded s13 transit +$8.08 (gauges.traded.s13_intraday) — not the leak, seventh consecutive week. The three-week S4 pattern I carried (transit positive, capture negative — "right signal, wrong window") BROKE this week: transit +$131.43 AND capture +$189.37 both positive (gauges.traded.s4_overnight); on a +0.58% tape this doesn't adjudicate the window question, it just fails to extend the pattern. Blended pub→detect median 758.2s ≈ 12.6m; per provider alpaca 228.1s vs eventregistry 762.1s = 3.3x (article_funnel.by_provider) — back in the stable 2-3.5x range. No per-ticker transit-leak field exists in per_ticker (#87 still not live); that read remains unavailable. TSLA is a per-ticker latency outlier: detection median 1008.6s vs ~630-700s for every other name (per_ticker TSLA row), alongside the week's third-worst edge (−105.34).
Link 3 — Selection. This is where this week's convicting numbers live. The s13 traded cohort: available_usd_sum −$51.83, mean_available_pct −0.09 (gauges.traded.s13_intraday) against a do-nothing baseline of +0.58% (scoreboard.do_nothing_baseline) — a −0.67pp selection spread, the worst of the seven reviewed weeks (series: negative both books early, −0.29, +0.18, now −0.67 per prior_weekly_reviews §2 each week). Last week's first-ever positive spread did not repeat. Meanwhile the SAME classifier's full alert universe carried +0.15 mean available (gauges.gauge1.s1) and hit 55.5%: the alert pool was better than ever, and the funnel from alerts to trades picked material 0.67pp worse than ignoring it. Attribution agrees: selection_pnl −175.25 of the week (−186.71 from S1 alone, attribution.decomposition) on a week when market_pnl was +407.14. The declined ledgers show where some of that inversion happens: the tape gate's blocked cohort would have made +42.75% summed across 86 counterfactuals ≈ +0.50%/blocked trade, missed_wins 51 vs avoided_losses 35 (gauges.declined.tape_gate) — the SECOND consecutive week at ~+0.5%/blocked trade (09-14: +20.9 over 42 ≈ +0.50, prior_weekly_reviews 2026-09-14 §3 #120); the priced_block blocked +53.28 over 150 (92 missed wins vs 58 avoided) ≈ +0.36%/trade, though on a +0.58% tape that is below passive drift and convicts less. Per-ticker dispersion (per_ticker rows): worst MU −136.92, QCOM −135.77, TSLA −105.34; best AMD +163.49, SMCI +138.34, GOOGL +66.71. Noting without generalizing: AMD (40.7% priced rate) and SMCI (44.8%) leading the board echoes the high-priced-rate-winners pattern first flagged 08-17 and dead 08-24; third appearance, still uncarried. Surprise rate 0.0% on all 15 tickers, seventh straight week. S4 selection read is split by definition: mean_available_pct +1.39 → +0.81pp spread over baseline (gauges.traded.s4_overnight), but attribution's market/selection split assigns S4's profit to market (+189.01) with selection −8.26 — the two definitions disagree as they did 08-17; I report both, resolve neither.
Link 4 — Capture. Exit slippage modest: −$33.03 over 61 exits, mean −$0.54 (attribution.exit_slippage). MFE-realized degenerate where n is real (S1 −1.64, S4 −2.15, outside [0,1]; S2 0.90 n=1, S3 1.60 n=4 — attribution.mfe_realized). Timing_pnl −102.43, S1 −117.46 (attribution.decomposition) — a large negative bucket for the sixth time in seven reviewed weeks. The retro corpus splits it the same way as before: entry-side chase/stale (bucket 6, −$42.53, incl. the 1186/1187 ~2% decision-to-fill gaps) plus exit-policy give-back on CORRECT signals (bucket 3 banking only +$72.28 of much larger peaks; bucket 5 riding +0.8%-to-+7.3% favorable excursions back to −$46.07) — cross-checked as consistent with the mechanical timing/slippage numbers before repeating.
SINGLE WEAKEST LINK: selection — the alert→trade funnel — and I state plainly that this is a change from six consecutive prediction diagnoses, driven by evidence, not oscillation. What changed: prediction's own gauge printed its first above-band week (55.5%, n=449, gauges.gauge1.s1) and its alert pool carried positive mean available (+0.15), so this week's data cannot convict prediction; what it convicts, with numbers, is the funnel that turned that pool into a traded cohort with −0.09 mean available against a +0.58 baseline (−0.67pp spread, gauges.traded.s13_intraday vs scoreboard.do_nothing_baseline), selection_pnl −175.25 (attribution.decomposition), and a tape gate that has now cost ~+0.5% per blocked trade two weeks running (gauges.declined.tape_gate; prior_weekly_reviews 2026-09-14 §3 #120) — enough to flip #120's grade under my own pre-committed rule (§3). Scope honestly: if S1's hit rate returns to ~50 next week, prediction resumes as the standing diagnosis and this week's 55.5% was the eleventh-week noise excursion it may well be; the selection conviction, by contrast, rests on a spread that has been negative in the majority of reviewed weeks and on a two-week gate counterfactual. Timing (−102.43) remains large; the standing no-oscillation reasoning holds one more week — but note its premise ("no edge at detection to leak") is exactly what the 55.5% print questions, so buckets 3+5 (exit give-back on right signals) move to next-in-line status (§4).
3. PREDICTION GRADES
Deploy_status is a single-instant read at the week's last session; #260 and #265 read not_deployed, all others live. Backfilled clauses (#108 and below) are attribution material only, not graded. Oscillation guard: one reversal this week (#120), pre-committed last week and flagged.
GRADE #265 cost: not-yet-measurable — deploy_status not_deployed at the last-session read (predictions_to_grade row 265), so no assurance the swap ran at all this week; no classify-spend or classifier p50 field exists in the mechanical sections regardless (article_funnel.journaled_llm_cost_partial_usd 8.41 is an explicit floor excluding classifier spend per journaled_llm_cost_note). See the DATA-INTEGRITY FLAG above: next week must confirm deploy before comparing any gauge1 numbers across the swap. GRADE #260 cost: not-yet-measurable — deploy_status not_deployed; no OpenRouter per-role spend appears in any mechanical section (journaled cost 8.41 is a floor with no role/provider split). GRADE #253 cost: not-yet-measurable — no shadow_sessions.elapsed_ms or page-count field in any mechanical section. Seventh week at this status. GRADE #242 signal: not-yet-measurable — no mechanical count of counter-move S4 entries or s4_alignment_skips. Noting without grading: gauges.traded.s4_overnight mean_transit_pct +0.54 is consistent with aligned entries but is not a violation count. GRADE #241 cost: not-yet-measurable — no page-count data in mechanical sections. GRADE #228 freshness: not-yet-measurable — no stale-at-fill cancel count in mechanical sections (gauges.traded transit_queued_unknown_n=0 measures a different thing). GRADE #226 freshness: not-yet-measurable — no absorbed-move counterfactual ledger in gauges.declined or strategy_aggregates. Noting without grading: retro_buckets bucket 6 (untrusted) again describes in-direction chased entries (1151, 1154, 1161). GRADE #222 signal: not-yet-measurable — gauges.declined.priced_block (fired 155) is not band-resolved by |since|; sub-2.0 "verdict PRICED" skips remain uncountable. GRADE #216 freshness: not-yet-measurable — no stall/paging data in mechanical sections. GRADE #212 signal: confirmed — the ledger exists and grades: gauges.declined.news_age_s13 fired 27, with_counterfactual 26, blocked_pnl_pct_sum +1.86; news_age_s4 fired 34, with_counterfactual 10, blocked_overnight_pnl_pct_sum +0.23 (S4 coverage still thin: 21 of 34 excluded as slot_outranked/slot_taken_by_entry). Seventh consecutive confirmed. GRADE #211 signal: not-yet-measurable — daily-report contents have no mechanical counterpart. GRADE #209 signal: not-yet-measurable — article_funnel.by_provider.eventregistry (articles 21370, classify_eligible 17157) has no per-day duplicate-eligibility delta. GRADE #207 cost: not-yet-measurable — no retry-ladder timing data in mechanical sections. GRADE #206 freshness: not-yet-measurable — no stale-at-fill cancel counts in mechanical sections. GRADE #203 cost: not-yet-measurable — prior_weekly_reviews retains six consecutive reviews (Mondays produce reviews), but the clause covers both arms and no mechanical run-log exists. GRADE #202 freshness: confirmed — article_funnel.by_provider exists with per-provider latency (alpaca median 228.1s, eventregistry 762.1s); #177 is graded off the split, never the blend. Seventh consecutive confirmed. GRADE #198 cost: not-yet-measurable — no journal-row reasoning-field data in mechanical sections. GRADE #193 risk: not-yet-measurable — no S4 failed/orphaned-enter counter; news_age_s4.post_close_decision_excluded=2 is a ledger exclusion, not an orphan count. GRADE #188 signal: not-yet-measurable — coach citation behavior has no mechanical counterpart; coach_report_audit §2's mostly-clean citation findings are untrusted, one hop removed, not gradeable either way. GRADE #185 signal: not-yet-measurable — no pre-open prev_close comparison field and no stale-at-fill cancel count in mechanical sections. GRADE #179 freshness: confirmed — the gate demonstrably fires across strategies: gauges.declined.news_age_s13 fired 27, news_age_s4 fired 34; strategy_aggregates.top_skip_rationales "news 8-24h old at decision, floor 4h" S4=12, "4-8h" S4=11, S1=9. As in all prior weeks, "trades on >4h news → 0" is inferred from gate activity plus absence of any contrary field. Counterfactual near-neutral both books this week (+1.86 s13 on 26; +0.23 S4 on 10) — the sign keeps bouncing; still noise. GRADE #177 freshness: refuted — article_funnel.by_provider: alpaca 228.1s vs eventregistry 762.1s = 3.3x, short of ≥5x. Seventh consecutive refuted; ratio stable in the 2-3.5x range. The never-blended half remains honored (see #202). GRADE #172 freshness: not-yet-measurable — no opening-tick drain metric in mechanical sections. GRADE #168 cost: not-yet-measurable — no historical-delta data in this prompt. GRADE #166 freshness: confirmed — proxy: article_funnel.latency_detect_to_alert_secs median 17.0s (n=501), far under the 10m target; standing flag that detect→alert contains but is not labeled "classify wait." GRADE #153 cost: not-yet-measurable — no shadow-send data in mechanical sections. GRADE #155 cost: not-yet-measurable — journaled_llm_cost_partial_usd 8.41 is an explicit floor with no per-call baseline split. GRADE #151 cost: not-yet-measurable — no audit fire/no-fire flip data in mechanical sections. GRADE #147 risk: not-yet-measurable — no mechanical tripwire counter; both LLM summaries report no injection this week (untrusted). GRADE #146 risk: not-yet-measurable — same class as #147; no mechanical measurement. GRADE #143 signal: confirmed — scoreboard.per_strategy: S2 1 trade +$10.84 + S3 4 trades −$26.58 = −$15.74 combined, inside "toward ≥ −$30" from ≈ −$108, with the floor visibly firing (gauges.declined.materiality_floor fired 112; strategy_aggregates.top_skip_rationales "materiality 65 below floor 75": S3 56+33, S2 16; blocked cohort dead-neutral: missed_wins 54 vs avoided_losses 54, blocked_pnl_pct_sum −3.16). Seventh consecutive confirmed. Standing caveat intact and re-evidenced: the floor is volume, not quality — retro_buckets bucket 4's two S3 sympathy shorts (1128, 1129, −$34.38 combined) cleared the floor and lost anyway. GRADE #140 cost: not-yet-measurable — no timeout/page data in mechanical sections. GRADE #139 cost: not-yet-measurable — no error-envelope data in mechanical sections. GRADE #138 cost: not-yet-measurable — no auditor fire-count in mechanical sections. GRADE #137 freshness: confirmed — publish→alert ≈ 775.2s ≈ 12.9m (article_funnel: pub→detect median 758.2s + detect→alert 17.0s), stable vs 12.9-13.5m across all prior reviewed weeks; ER (~98% of articles) at 762.1s per by_provider. GRADE #134 cost: not-yet-measurable — no page-storm/WARNING data in mechanical sections. GRADE #131 cost: not-yet-measurable — scaffolding-citation rate has no mechanical counterpart. GRADE #130 signal: not-yet-measurable — no delimiter-breakout counter in mechanical sections. GRADE #128 cost: not-yet-measurable — no 400/self-heal data in mechanical sections. GRADE #126 cost: not-yet-measurable — no prompt_chars measurement in this prompt. GRADE #121 cost: not-yet-measurable — no timeout-page or shadow-row counts in mechanical sections. GRADE #120 risk: refuted — OSCILLATION-GUARD FLAG, rule-following reversal of six prior confirmed grades, executed per the explicit pre-commitment in prior_weekly_reviews 2026-09-14 §3 ("a second consecutive week at +0.4-0.5%/blocked trade should flip this to refuted"): gauges.declined.tape_gate S1 fired 57, with_counterfactual 55, missed_wins 32 vs avoided_losses 23, blocked_pnl_pct_sum +26.58% ≈ +0.48%/blocked trade, following last week's +20.9% over 42 ≈ +0.50%/trade. Two consecutive weeks of the gate costing ~0.5% per blocked S1 trade is not "net gated P&L ≈ 0." Honest confound stated: both weeks ran on friendly-to-flat tapes and the pooled all-time read is closer to neutral, so this refutation is about the gate's recent regime, and it hands the §5 bet its data mandate. The "worst-day S1 loss ↓" half remains unassessed (no worst-day field). GRADE #117 signal: confirmed — proxy: processed/classify_eligible = 17491/(334+17157) = 100.0% (article_funnel + by_provider). Fifth consecutive clean week; standing caveat that the proxy cannot isolate the capped-tick tail.
4. BUCKET PROMOTION
Standing promotion, extended (fifth promotion): the stale/chased-entry pattern (promoted 08-17, re-promoted 08-24, 09-07, 09-14). This week it is retro_buckets bucket 6 (12 trades, −$42.53, stale-news chases and ~2% decision-to-fill gaps, 1186/1187/1161). Mechanical cross-check per reading_rules: timing_pnl −102.43 is a large negative bucket for the sixth time in seven reviews (attribution.decomposition; series −311.13, −162.64, −120.57, −30.25, −130.62, −165.25, −102.43), exit print slippage modest (−$33.03, attribution.exit_slippage). Still no carrying PR in predictions_to_grade. The coach's matching fill-guard rec is on its third day unshipped, and coach_report_audit §2/§4 caught the coach misapplying its own guard spec to an adverse move on 09-24 — when this eventually ships, the spec must be direction-explicit (fires on moves in the trade's OWN direction since decision).
Elevated to next-in-line, promotion conditional: exit give-back on correct signals — retro_buckets buckets 3 (+$72.28 banked while leaving 40-90% of peaks per the retro capture rates: 1167 kept ~0.3% of a +6.68% peak, 1168 left ~88%) and 5 (7 trades, −$46.07, winners ridden to bottom-ticked exits: 1116 −$18.00 after +7.26% unrealized). Six prior reviews declined this on the stated ground that exits atop a coin-flip classifier monetize noise; that ground's premise is exactly what gauge1's 55.5% (gauges.gauge1.s1) questions this week. Pre-commitment: if S1 prints above the coin-flip band again next week on the SAME classifier (see the #265 confound flag — a deployed classifier swap voids the comparison), buckets 3+5 get promoted to a mechanical exit rule ahead of everything else. MFE-realized's degenerate fractions (S1 −1.64, S4 −2.15, attribution.mfe_realized) will need fixing before any such rule can be graded mechanically — flag to the owner.
Previously promoted, pattern broken but not closed: S4 overnight-drift failure (promoted 08-31). This week S4 printed +$189.37 at 67.7% WR (scoreboard.per_strategy S4), and the three-week transit-positive/capture-negative "wrong window" signature broke (transit +131.43, capture +189.37, gauges.traded.s4_overnight). But attribution assigns the entire profit to market_pnl (+189.01, selection −8.26) on the friendliest baseline of the series (+0.58%, scoreboard.do_nothing_baseline), and S4 remains negative 7 of 9 trailing weeks (gauges.trailing_trend). One tape-carried week neither confirms drift nor retires the pattern; stays promoted-and-unresolved, fourth week, still because the shadow instrument never shipped.
Stopped appearing / dormant: the violent-adverse-rally tail (promoted 08-10) — sixth week without recurrence; worst single trade this week −$31.40 (retro_buckets bucket 2, 1143). Remains dormant, reopen on recurrence. Netting-forced exits: fourth week observed (bucket 8, +$1.44 net but with near-worst-price truncations 1124/1177, and gauges.declined.netting fired 187), measured cost still too small to promote; watch. Bucket 7 (inert multi-year catalysts, −$15.28) is new taxonomy this week, small, and one week old — noted, not promoted; a horizon check belongs inside the classifier prompt if it recurs.
5. ONE BIGGER BET
Target: selection, the weakest link named in §2, at its sharpest convicted mechanism — the tape gate discarding recoverable edge. The lever is a threshold (TAPE_CONTRADICTION_PCT, threshold_constants), which is exactly the coach's recommendation pushed four consecutive days without disposition (coach_report_audit §3.1), now backed by this review's independently pre-committed refutation of #120 (§3: two consecutive weeks at ~+0.5%/blocked trade, gauges.declined.tape_gate). Reviewer and coach are converging on an identical one-line constant change with a refuted expect: clause behind it — deliberately so: after six unshipped reviewer bets (§1), this is also the cleanest possible test of whether the channel can execute ANY measurement-organ ask when both organs request the same thing.
Grading notes for next week: grade the SPREAD, never raw mean_available_pct (tape-contaminated per the 08-31 lesson) and never edge bps — no target value is proposed. Two confounds to check before grading: first, whether #265 deployed — a classifier swap plus cutoff change alters the alert universe under both branches and must be stated alongside any grade; second, tape regime — both weeks of the gate's ~+0.5%/trade cost came on flat-to-friendly tapes (scoreboard.do_nothing_baseline +0.01 through +0.58 across the relevant weeks), so if the two-week window is sharply risk-off, branch (b)'s exoneration threshold should be read leniently. If this bet — a one-line change requested simultaneously by both measurement organs, with a refuted prediction clause as its mandate — also fails to ship, the governance record needs no further evidence: per the 09-14 pre-commitment, the operators' shipping-channel audit is the pilot's blocking dependency, and next week's review should say only that until it happens.
1. SCOREBOARD READ
Injection check: neither retro_buckets nor coach_report_audit contains instructions directed at this reviewer. retro_buckets also reconciles arithmetically: its five bucket totals sum to +$129.46, exactly matching attribution.decomposition.totals.pnl.
Blended edge was +16.9 bps this week (scoreboard.week_edge_bps), up from -1.01 bps in the 2026-09-14 review and -37.46 bps in the 2026-09-07 review (prior_weekly_reviews, weeks 2026-09-14 and 2026-09-07 §1). The books diverged: S1-S3 intraday produced -11.62 bps on 61 trades, while S4 produced +75.62 bps on 31 trades (gauges.traded.s13_intraday and gauges.traded.s4_overnight). S4 contributed +$189.37 against combined S1-S3 P&L of -$59.91 (scoreboard.per_strategy).
The improvement is not distinguishable from noise. S4 has only 31 observations and has ranged from -107.97 to +75.62 bps across the nine weeks shown by gauges.trailing_trend plus this week; only two of those nine prints were positive. S1-S3 also reversed from +10.3 to -11.62 bps on 61 trades, and it remains negative in seven of those nine weeks (gauges.trailing_trend; gauges.traded.s13_intraday). The bucket dispersion is large relative to the weekly result: 27 trades contributed +$466.38, while the two main loss buckets contributed -$360.87 across 39 trades (retro_buckets ranks 1–3), leaving only +$129.46 overall. A few bucket assignments or outcomes can therefore move the weekly headline substantially.
The tape was strongly favorable: the do-nothing baseline was +0.58% on 501 observations, and market_pnl was +$407.14 against realized P&L of +$129.46 (scoreboard.do_nothing_baseline; attribution.decomposition.totals). The week made money, but most of the gross opportunity came from market exposure rather than demonstrated selection skill.
Last week’s intervention was not shipped. MAX_NEWS_AGE_H remains 4 rather than the proposed 0.25 (threshold_constants.MAX_NEWS_AGE_H), and no carrying change appears among the week’s PRs; #260 and #265 both end the week not deployed and concern other changes (predictions_to_grade #260 and #265 deploy_status). Consequently, its fast-news selection-spread test cannot be graded. This is another failure of the reviewer’s intervention channel, although unlike prior weeks two new PR clauses exist; they simply were not reachable in the final boot.
2. CHAIN DIAGNOSIS
Prediction skill, all alerts:
S1 recorded a 55.5% directional hit rate on 449 alerts, with mean available move +0.15% against mean absolute available move 1.08% (gauges.gauge1.s1). The standard error around 55.5% is approximately 2.3 percentage points, so this is the first genuinely encouraging one-week S1 print after the prior review documented roughly ten weeks near coin flip (prior_weekly_reviews 2026-09-14 §1–2). It remains one week, however, and the signed move captures only about 14% of the absolute move available at detection.
S2 recorded 62.5% on 48 alerts and mean available move +0.62%, while S3 recorded 52.2% on 161 and mean available move -0.02% (gauges.gauge1.s2 and gauges.gauge1.s3). S2’s week is favorable but thin; adding its 30 hits this week to the approximately 96/227 pooled count in the prior review gives roughly 126/275, or 45.8%, across the reviewed period (prior_weekly_reviews 2026-09-14 §2; gauges.gauge1.s2). S3 remains indistinguishable from coin flip.
Materiality looked better this week but still did not establish a reliable monotone ranking: 60–69 scored 54.3% on n=394, 70–79 scored 44.4% on n=9, 80–89 scored 65.1% on n=43, and 90–100 scored 100% on only n=3 (gauges.gauge1.materiality_calibration). The 80–89 band is worth watching, but prior weeks repeatedly moved that band between poor and good prints; one n=43 week cannot establish a general materiality effect.
Transit:
The PRICED-at-detection rate was 16.8%, or 155 of 920 candidates (gauges.priced_at_detection). Publish-to-detect latency was 758.2 seconds blended; by provider it was 228.1 seconds for Alpaca and 762.1 seconds for Event Registry, a 3.34x difference (article_funnel.latency_pub_to_detect_secs and article_funnel.by_provider). Detect-to-alert added only 17.0 seconds at the median (article_funnel.latency_detect_to_alert_secs).
Transit did not consume the traded intraday cohort’s edge: S1-S3 transit_usd_sum was +$8.08, mean transit +0.01%, on 61 trades (gauges.traded.s13_intraday). S4 transit was strongly positive at +$131.43, but unlike the previous three weeks its post-entry capture was also positive at +$189.37 (gauges.traded.s4_overnight). Thus the prior “move happens before S4 entry and reverses overnight” pattern did not appear this week.
No per-ticker transit or leak-bps field exists in per_ticker, and no #87 clause appears in predictions_to_grade. Whether transit improved by ticker is therefore not measurable.
Selection:
This is where the week’s encouraging all-alert S1 result was lost. The selected S1-S3 cohort had mean available move -0.09%, versus the +0.58% do-nothing baseline—a -0.67 percentage-point spread (gauges.traded.s13_intraday.mean_available_pct; scoreboard.do_nothing_baseline.mean_pct). Attribution assigns -$175.25 to selection overall, including -$186.71 for S1 (attribution.decomposition.totals and attribution.decomposition.per_strategy.S1). S1 then closed at a 46.4% win rate and -$44.17 despite the all-alert S1 gauge scoring 55.5% (scoreboard.per_strategy S1; gauges.gauge1.s1).
The tape gate is a concrete candidate source of this inversion. It blocked 86 gradeable candidates, of which 51 were missed winners and 35 avoided losses, with blocked_pnl_pct_sum +42.75% (gauges.declined.tape_gate). S1 alone blocked 32 winners versus 23 losses and +26.58% of summed move; S2 blocked 9 winners versus 3 losses and +9.56% (gauges.declined.tape_gate.by_strategy). In this week’s sample, the selector systematically rejected more correct calls than incorrect ones.
S4 selection was much better in available-move terms: mean available move +1.39%, a +0.81-point spread over the +0.58% baseline (gauges.traded.s4_overnight; scoreboard.do_nothing_baseline). Attribution’s market-relative definition assigns S4 selection_pnl -$8.26, essentially small compared with its +$189.37 realized result (attribution.decomposition.per_strategy.S4).
Ticker dispersion was extreme and did not reveal a stable temperament rule. AMD delivered +163.49 bps at a 40.7% PRICED rate and SMCI +138.34 at 44.8%, but similarly high-PRICED MU delivered -136.92 at 39.7%; QCOM was -135.77, TSLA -105.34, while GOOGL, ASML, TSM, and AVGO were positive (per_ticker AMD, SMCI, MU, QCOM, TSLA, GOOGL, ASML, TSM, and AVGO rows). TSLA also had the slowest ticker median at 1008.6 seconds, but one week does not establish latency causation (per_ticker TSLA row). Surprise rate was 0.0% for every ticker on five eligible sessions, so the surprise feature supplied no cross-sectional information this week (all per_ticker rows, surprise_rate_pct and surprise_eligible_sessions).
Capture:
S1-S3 captured -$59.91 after only -$51.83 was available, producing -11.62 bps (gauges.traded.s13_intraday). S4 captured +$189.37 from +$320.80 available, producing +75.62 bps (gauges.traded.s4_overnight). Timing_pnl was -$102.43 overall and -$117.46 for S1, so monetization still imposed a meaningful cost (attribution.decomposition.totals and attribution.decomposition.per_strategy.S1).
Exit slippage was negative but not large enough to explain the selection failure: -$33.03 across 61 intraday exits, or -$0.54 each (attribution.exit_slippage). The MFE-realized fractions remain unusable as literal capture ratios: S1 -1.6438, S3 1.5954, and S4 -2.1465 lie outside the meaningful [0,1] range, while S2’s 0.9003 is based on one trade (attribution.mfe_realized). They appear denominator-degenerate and should not drive an exit conclusion.
SINGLE WEAKEST LINK: selection, for this week. This is a change from the prior reviews’ prediction diagnosis, justified by new evidence rather than oscillation. The all-alert S1 classifier produced 55.5% on n=449 and +0.15% mean available move, but the chosen S1-S3 cohort produced -0.09% against a +0.58% baseline, S1 closed at 46.4%, and selection_pnl was -$175.25 overall/-$186.71 for S1 (gauges.gauge1.s1; gauges.traded.s13_intraday; scoreboard.do_nothing_baseline and scoreboard.per_strategy S1; attribution.decomposition). The tape gate then supplies a plausible mechanism by rejecting 51 winners versus 35 losses and leaving +42.75% of summed move blocked (gauges.declined.tape_gate). Prediction is not declared repaired—one good week does not overturn the long coin-flip history—but this week the measurable chain lost more at candidate selection than at detection or final exit.
3. PREDICTION GRADES
Backfilled clauses #108 and below are attribution material only and are not graded. Deploy status below is the final-session snapshot specified in predictions_to_grade.
GRADE #265 cost: not-yet-measurable — deploy_status not_deployed (predictions_to_grade #265); no Jev classify-spend-per-day or classifier p50 field appears in article_funnel or another mechanical section.
GRADE #260 cost: not-yet-measurable — deploy_status not_deployed (predictions_to_grade #260); article_funnel.journaled_llm_cost_partial_usd is an in-week floor, not the requested 30-day OpenRouter spend for Fable roles.
GRADE #253 cost: not-yet-measurable — deploy_status live (predictions_to_grade #253); no shadow_sessions.elapsed_ms or shadow page-count field appears in the mechanical sections.
GRADE #242 signal: not-yet-measurable — deploy_status live (predictions_to_grade #242); no mechanical field counts counter-move S4 entries or exposes s4_alignment_skips.
GRADE #241 cost: not-yet-measurable — deploy_status live (predictions_to_grade #241); no outage-day warning-page count appears in the mechanical sections.
GRADE #228 freshness: not-yet-measurable — deploy_status live (predictions_to_grade #228); no “stale at fill” cancellation count appears in the mechanical sections, and gauges.traded.transit_queued_unknown_n measures a different outcome.
GRADE #226 freshness: not-yet-measurable — deploy_status live (predictions_to_grade #226); gauges.declined has no absorbed-move ledger or count of in-direction 1.5–2.0% entries.
GRADE #222 signal: not-yet-measurable — deploy_status live (predictions_to_grade #222); gauges.declined.priced_block reports 155 fires but does not split them by sub-2.0% versus at-least-2.0% move.
GRADE #216 freshness: not-yet-measurable — deploy_status live (predictions_to_grade #216); no total-stall page count or dead-quote-leg counter appears in the mechanical sections.
GRADE #212 signal: confirmed — deploy_status live (predictions_to_grade #212); gauges.declined.news_age_s13 reports 27 fires, 26 counterfactuals, and +1.86 blocked_pnl_pct_sum, while news_age_s4 reports 34 fires, 10 counterfactuals, and +0.23 blocked_overnight_pnl_pct_sum.
GRADE #211 signal: not-yet-measurable — deploy_status live (predictions_to_grade #211); no mechanical field counts closed trades absent from every daily report.
GRADE #209 signal: not-yet-measurable — deploy_status live (predictions_to_grade #209); article_funnel.by_provider.eventregistry reports 21,370 articles and 17,157 classify-eligible rows but no per-day increment in eligible duplicates.
GRADE #207 cost: not-yet-measurable — deploy_status live (predictions_to_grade #207); no retry-ladder duration or attempts-exhausted-within-25-minutes field appears mechanically.
GRADE #206 freshness: not-yet-measurable — deploy_status live (predictions_to_grade #206); no sub-2.0 stale-at-fill cancellation count appears in gauges or strategy_aggregates.
GRADE #203 cost: not-yet-measurable — deploy_status live (predictions_to_grade #203); prior_weekly_reviews proves an official review exists, but no mechanical run log establishes whether either reviewer arm succeeded every Monday.
GRADE #202 freshness: confirmed — deploy_status live (predictions_to_grade #202); article_funnel.by_provider separately reports Alpaca and Event Registry counts and latency, and this review grades #177 using those rows rather than the blend.
GRADE #198 cost: not-yet-measurable — deploy_status live (predictions_to_grade #198); no mechanical journal extract reports NULL reasoning counts by role.
GRADE #193 risk: not-yet-measurable — deploy_status live (predictions_to_grade #193); no S4 post-close failed/orphaned-enter count appears mechanically, and gauges.declined.news_age_s4.post_close_decision_excluded=2 is a counterfactual exclusion rather than an orphan count.
GRADE #188 signal: not-yet-measurable — deploy_status live (predictions_to_grade #188); no mechanical field counts coach recommendations citing a named aggregate row. coach_report_audit discusses citation quality but is one-hop LLM output, not the required mechanical outcome.
GRADE #185 signal: not-yet-measurable — deploy_status live (predictions_to_grade #185); no pre-open prev_close comparison or stale-at-fill cancellation count appears mechanically.
GRADE #179 freshness: confirmed — deploy_status live (predictions_to_grade #179); gauges.declined.news_age_s13 fired 27 times and news_age_s4 fired 34, while strategy_aggregates.top_skip_rationales records S4 “news 8-24h old” 12, S4 “news 4-8h old” 11, and S1 “news 4-8h old” 9. As in prior grades, zero entered trades over four hours is inferred from active gate counts plus no contrary mechanical field.
GRADE #177 freshness: refuted — deploy_status live (predictions_to_grade #177); article_funnel.by_provider gives Alpaca median 228.1 seconds versus Event Registry 762.1 seconds, only 3.34x lower rather than at least 5x. The per-provider reporting half remains satisfied.
GRADE #172 freshness: not-yet-measurable — deploy_status live (predictions_to_grade #172); no opening-tick drain-time field appears in article_funnel.
GRADE #168 cost: not-yet-measurable — deploy_status live (predictions_to_grade #168); no mechanical comparison against the 422 historical closed trades appears in the prompt.
GRADE #166 freshness: confirmed — deploy_status live (predictions_to_grade #166); the closest mechanical proxy, article_funnel.latency_detect_to_alert_secs.median, is 17.0 seconds on 501 alerts, far below ten minutes. Detect-to-alert is broader than pure classify wait, so this remains a proxy.
GRADE #153 cost: not-yet-measurable — deploy_status live (predictions_to_grade #153); no restart-day duplicate shadow-send count appears mechanically.
GRADE #155 cost: not-yet-measurable — deploy_status live (predictions_to_grade #155); article_funnel.journaled_llm_cost_partial_usd=8.41 is explicitly a partial floor and does not report incremental weekly-review call count or unchanged daily spend.
GRADE #151 cost: not-yet-measurable — deploy_status live (predictions_to_grade #151); no audit fire/no-fire comparison for late exits appears mechanically.
GRADE #147 risk: not-yet-measurable — deploy_status live (predictions_to_grade #147); no mechanical prompt-tripwire counter reports live tags reaching a prompt.
GRADE #146 risk: not-yet-measurable — deploy_status live (predictions_to_grade #146); no mechanical hostile-versus-benign rationale test result appears.
GRADE #143 signal: confirmed — deploy_status live (predictions_to_grade #143); scoreboard.per_strategy shows S2 +$10.84 and S3 -$26.58, or -$15.74 combined on five trades, inside the promised movement toward at least -$30; gauges.declined.materiality_floor fired 112 times.
GRADE #140 cost: not-yet-measurable — deploy_status live (predictions_to_grade #140); no shadow-coach timeout or watchdog-kill count appears mechanically.
GRADE #139 cost: not-yet-measurable — deploy_status live (predictions_to_grade #139); no malformed-envelope error sample reports whether failures name model and reason.
GRADE #138 cost: not-yet-measurable — deploy_status live (predictions_to_grade #138); no auditor fire count or no-call count appears mechanically.
GRADE #137 freshness: confirmed — deploy_status live (predictions_to_grade #137); article_funnel reports 758.2 seconds publish-to-detect plus a 17.0-second detect-to-alert median, an approximate 12.9-minute publish-to-alert baseline, consistent with the intended honest roughly-11-minute scale rather than the old 6.6-minute measure.
GRADE #134 cost: not-yet-measurable — deploy_status live (predictions_to_grade #134); no classifier envelope warning or page-storm count appears mechanically.
GRADE #131 cost: not-yet-measurable — deploy_status live (predictions_to_grade #131); no mechanical scaffolding-citation rate appears.
GRADE #130 signal: not-yet-measurable — deploy_status live (predictions_to_grade #130); no structural delimiter-breakout test count appears mechanically.
GRADE #128 cost: not-yet-measurable — deploy_status live (predictions_to_grade #128); no mandatory-reasoning 400, self-heal, or page-storm count appears mechanically.
GRADE #126 cost: not-yet-measurable — deploy_status live (predictions_to_grade #126); no coach prompt_chars or report-quality measurement appears.
GRADE #121 cost: not-yet-measurable — deploy_status live (predictions_to_grade #121); no coach timeout-page or shadow-row-per-day count appears mechanically.
GRADE #120 risk: refuted — OSCILLATION-GUARD FLAG: this reverses the prior confirmed grade, but follows the explicit rule recorded in prior_weekly_reviews 2026-09-14 §3. Last week S1’s gate blocked +20.9% over 42 gradeable candidates, approximately +0.50% each; this week it again blocked +26.58% over 55, approximately +0.48% each, with 32 missed winners versus 23 avoided losses (gauges.declined.tape_gate.by_strategy S1). Two consecutive materially positive blocked cohorts no longer support “net gated P&L ≈ 0.” Deploy_status is live (predictions_to_grade #120); the worst-day-loss half remains unmeasured.
GRADE #117 signal: confirmed — deploy_status live (predictions_to_grade #117); article_funnel.processed=17,491 exactly equals total classify_eligible of 334 Alpaca plus 17,157 Event Registry, a 100% processing proxy. The capped-tick tail itself is not separately exposed.
4. BUCKET PROMOTION
Promote again, now as a stable recurring pattern: “Stale catalyst or chased fill,” 19 trades and -$194.16 (retro_buckets rank 2). This is the same stale/chased-entry family promoted on 2026-08-17, 2026-08-24, and 2026-09-07 and retained on 2026-09-14 (prior_weekly_reviews §4 for those weeks). Mechanical evidence supports the existence of a monetization problem without proving every trade’s narrative: timing_pnl was -$102.43 overall and -$117.46 for S1, while exit slippage was only -$33.03 across 61 exits (attribution.decomposition and attribution.exit_slippage). It is stable and costly enough to deserve a fill-time adverse-drift rule keyed to decision price, but that is a promotion of the pattern rather than a second intervention proposal this week.
The previously promoted S4 overnight-drift failure stopped appearing this week. S4 instead made +$189.37 at a 67.7% win rate, with mean available move +1.39%, transit +$131.43, and capture +$189.37 (scoreboard.per_strategy S4; gauges.traded.s4_overnight). The retro taxonomy has no dedicated S4 overnight-reversal bucket this week, and the mechanical numbers directly contradict that prior-week pattern for this sample. It is not retired—S4 remains positive in only two of nine displayed weeks—but it did not recur.
The violent-adverse-rally tail promoted on 2026-08-10 also remains absent, but it was already classified as dormant in later reviews rather than newly disappearing this week (prior_weekly_reviews 2026-08-24 onward §4).
5. ONE BIGGER BET
The target is selection, this week’s weakest link. The input lever is the tape-contradiction threshold, not edge bps. Current evidence is one week and therefore insufficient to claim the threshold is generally harmful, but it is strong enough for a bounded experiment: the gate blocked 51 winners versus 35 losses and +42.75% of summed move, while the selected S1-S3 cohort underperformed the do-nothing baseline by 0.67 percentage points (gauges.declined.tape_gate; gauges.traded.s13_intraday.mean_available_pct; scoreboard.do_nothing_baseline.mean_pct). The same change was repeatedly recommended but remained unaddressed in coach_report_audit §3; that summary is not the numerical basis for the bet, only corroboration that the lever is operationally known.
2026-09-28 owner: raise TAPE_CONTRADICTION_PCT from 1.0% to 1.5% for S1-S3 for one reviewed week, leaving PRICED_MIN_SINCE_CLOSE_PCT at 2.0% and every other gate unchanged (threshold_constants.TAPE_CONTRADICTION_PCT and PRICED_MIN_SINCE_CLOSE_PCT) — expect: signal, the baseline-relative S1-S3 selection spread, defined as gauges.traded.s13_intraday.mean_available_pct minus scoreboard.do_nothing_baseline.mean_pct, improves by roughly 0.30 percentage points or more from this week’s -0.67 points to at least -0.37 points on at least 40 trades; if it remains at or below -0.67 points, the relaxed tape gate is refuted as a repair for the measurable selection leak.
Grade the spread, not raw available move and not edge bps, because the +0.58% do-nothing baseline shows that this week’s tape was unusually favorable. Also report tape-gate fires and missed-winner/avoided-loss counts as diagnostics, but they are not substitutes for the stated selection-spread outcome.