{"success":true,"protocol":{"schema":"moneyball.public.winners.v1","xlsx_generated":"2026-04-11","homepage_fetch_date":"2026-09-05","ci_os_ssot":"subsites/facebkk/bundled/almanac/Exhaustive Competitive Intelligence & Outperformance System.md","ci_os_part_ii_types":["Network Effects","Switching Costs (Informational)","Intangible Assets (Trust/Brand)","Cost Advantage (Scale/Process)","Data Moat","Emotional Moat","Efficient Scale"],"excel_matrix_dimensions":["Network Effects","Switching Costs","Data Moat","Emotional Moat","Brand Trust","Info Asymmetry","Engagement (Open Rate)","Moat Durability"],"excel_grades_include_s":false,"peer_count":39,"public_chrome":{"html_fragment":"src/moneyball_news/winner_chrome.html","paints_competitor_revenue":false,"paints_invented_open_rates":false,"pretty_markets":"/markets"},"compose":{"proprietary_object":"finance_edition + basket_sleeve + compute_full_adpa_profile","archive":"/archive","track_record":"event_paper_trader Almanac Bank paper book FO-P05","ladder":"tier=free + trader letter list $29/mo pro / $99/mo founding + weekly/buyback/earnings env Stripe (never $4,999) + Holdings Full $4,999 idle-treasury seat (not a letter price)","cadence":"weekly ADPA + quant daily MBQ-* (not fake 5x/week)","markets":"GET /markets composes Polymarket/Kalshi honesty; CFTM not rank IC","editions":"week / MBBB- / MBEE- / MBTH- / MBQ- / WATCH-* on one archive table, not a twelfth CMS","high_arpu":"watch overlay jurisdica_holdings_full $4,999/mo idle-treasury seat","trust":"HOME_CONCEPT_DECK measured not narrated; refuse Agora fear funnel","paper_portfolio":{"schema":"moneyball.almanac_bank.event_paper.v1","account_id":"almanac_bank_standard","firm_id":"almanac_bank_standard","strategy_id":"strat_moneyball_adpa_event","strategy_type":"moneyball_adpa_event","http":"/api/v10/moneyball/paper-portfolio","reconcile":"/api/v10/moneyball/paper-portfolio/reconcile","finance_sdk":"AlmanacFoClient.moneyballEventPaper","rank_ssot":"compute_full_adpa_profile + adpa_event_stats_cache (ADPA-Q01)","paper_is_not_the_only_honest_test":true,"paper_consumes_rank":true,"paper_produces_rank":false,"validation_honesty":"GET /api/v10/adpa/quant/validation-honesty (ADPA-Q185)","powered_by":"event trader / ADPA hold path (purchase-at-open, sell-at-close)","enrichment_may_rank_adpa":false,"cftm_not_rank_ic":true,"jepa_not_rank_ic":true,"fo_p05":true,"paper_sim":true,"real_portfolio":true,"real_money":false,"attested_nav":false,"never_live":true,"never_ordersend":true,"never_genius_act_swing_paper":true,"never_hl_copy_200":true,"never_idle_adpa_sleeves":true,"never_second_ledger":true,"all_holds_span_weekend":true,"enter_on_trading_days_only":true,"no_venue_blocks":true,"never_flatten_friday":true,"almanac_bank_weekend_holding_false_is_not_this_book":true,"always_open_venues_enter_any_day":true,"session_calendar":"US names: NYSE SessionCalendar. NSE/BSE: nse_astro_autonomy civil + dated JSONB overlay. Lunar never invented.","us_equity_holidays_are_not_session_bars":true,"labor_day_is_not_a_session_bar":true,"nse_republic_day_is_not_a_session_bar":true,"nse_lunar_holidays_remain_jsonb_not_invented_diwali":true,"never_nse_ordersend":true,"tv_mill_is_not_a_broker":true,"venue_civil_today":true,"paper_uses_civil_date_not_occurrence_instant":true,"engine_join_occupancy_is_not_session_bar":true,"nse_astro_autonomy":{"schema":"moneyball.nse_astro_autonomy.v1","adpa_q190":true,"occupancy_bakeoff_remains_q189":true,"rank_ssot":"compute_full_adpa_profile + adpa_event_stats_cache (ADPA-Q01)","rank_bars":"load_daily_ohlc_bars (ADPA-Q110 md_core ∪ Q180 daily warehouse)","size_ssot":"sequential_deployable + adpa_mm_bakeoff (ADPA-Q158)","paper_ssot":"almanac_bank_standard (ADPA-Q152 / FO-P05)","us_session_calendar":"NYSE via is_session_day (ADPA-Q152 unchanged)","nse_session_calendar":"SessionCalendar(NSE|BSE) + compute_exchange_holiday civil ∪ dated JSONB","nse_republic_day_is_not_a_session_bar":true,"nse_lunar_holidays_remain_jsonb_not_invented_diwali":true,"never_invent_diwali":true,"jsonb_name_only_diwali_does_not_close":true,"never_nse_ordersend":true,"never_live":true,"location_align":"resolve_event_market_alignment (ADPA-Q110)","idea_selection":"Event Generation DSL + location_astro_catalog (ADPA-Q147/Q114) — this mill is the NSE session clock, not the idea mill","backtest":"compute_full_adpa_profile on historical occurrence dates (adpa_rank_dates)","forward_calendar":"moneyball.forward_calendar EventRegistryAstroAu lane","engine_join_remains_q195":true,"occupancy_cite_is_not_nse_clock":true,"last_close":"plant last-close else md_core daily last (never $100 proxy)","civil_today":"venue timezone (Asia/Kolkata for NSE/BSE; America/New_York for US)","autonomy":"existing Friday ET generate + spawn_event_paper_mtm_worker; NSE fills defer to next NSE session","tv_mill_is_not_a_broker":true,"live_sibling":"ADPA-Q194 nse_hdfc_live","cftm_not_rank_ic":true,"occupancy_not_rank_ic":true,"public_chrome_never_names_plant_vendors":true,"clock_resolved":"ADPA-QT108","standing_constraint":"ADPA-QT109","lunar_standing":"ADPA-QT110"},"skip_entry_without_last":true,"never_proxy_last_100":true,"never_open_on_or_after_hold_exit":true,"stop_target_on_session_days_only":true,"zero_sequential_does_not_force_one_lot":true,"same_issue_consumes_sequential":true,"drawdown_halt_refuses_new_risk":true,"drawdown_halt_does_not_flatten_friday":true,"paper_pnl_never_writes_adpa_mm_bakeoff_cache":true,"mtm_worker":true,"quant_ws":"moneyball_event_paper","cli":"circadian-trader quant moneyball-paper","mm_compounding":"/api/v10/moneyball/mm-compounding","mm_compounding_ws":"moneyball_mm_compounding","size_ssot":"almanac_bank_standard sequential_deployable + adpa_mm_bakeoff_cache needle else CompoundingAdvisor.rank (ADPA-Q158)","mm_bakeoff_does_not_rank_allocation":true,"min_adpa_quality":0.4,"max_outperformers_per_event":3,"max_new_opens_per_issue":12,"presidential_action_lane":{"protocol":"/api/v10/moneyball/presidential-actions/protocol","identity_plane":"presidential_action","auto_book_requires_adpa_q01":true,"vendor_coverage_is_not_book_eligible":true,"never_genius_act_swing_paper":true,"honesty_window":"moneyball_news::event_paper_trader::presidential_honesty_window"},"option_matrix_at_entry":{"schema":"moneyball.om_occupancy_cite.v1","adpa_q188":true,"adpa_q143":true,"adpa_qt104":true,"adpa_qt105":true,"occupancy_ssot":"resolve_occupancy","occupancy_http":"/api/v10/options/matrix/adpa-occupancy","not_rank_ic":true,"not_size_ic":true,"not_atm_scalar":true,"not_new_jsonb_column":true,"not_second_occupancy_http":true,"rank_ssot_remains_q01":true,"size_ssot_remains_q158":true,"universe":"thesis_candidates_live_listed_chain","not_spy_qqq_iwm_allowlist":true,"missing_chain_is_honest_skip":true,"post_attaches_outperformer_occupancy":true,"entry_merges_rule_check_results":true,"entry_refetches_live_chain":true,"never_ordersend":true,"q189_bakeoff_not_auto_run":true,"q192_mm_os_not_auto_run":true,"public_chrome_never_names_plant_vendors":true}},"free_subscribe":"/api/v10/moneyball/public/subscribe","weekly_checkout":"/api/v10/moneyball/public/checkout","watch":"/watch-overlay","watch_sku":"jurisdica_holdings_full","watch_usd":4999,"weekly":"/weekly","quant":"/quant-daily","home":"/api/v10/moneyball/site"},"honesty":{"never_registers_actix_root":true,"never_substitute_4999":true,"enrichment_may_rank_adpa":false,"cftm_not_rank_ic":true,"http_200_status_is_not_live_ready":true,"paper_portfolio_is_not_live_cash":true,"not_a_second_cms":true,"not_wordpress":true,"chrome_never_names_mills":true,"not_a_newsletter_price":true,"not_live_aum":true,"adpa_q187":true,"adpa_q188":true,"adpa_q189":true,"adpa_q190":true,"adpa_q191":true,"adpa_q192":true,"adpa_q193":true,"adpa_q194":true,"adpa_q195":true,"occupancy_not_rank_ic":true,"occupancy_not_atm_scalar":true,"not_live_chain_as_history":true,"polymarket_status":"/api/v10/polymarket/status","kalshi_status":"/api/v10/kalshi/status"},"falsehoods":[{"id":"FH-S-TIER","excel_or_chat":"Chat claimed wide-moat S-tier for Bloomberg/Agora/MarketWise/Fool","surviving":"CI Moat Scoring grades are A/B/C only. Max observed total 33/40 (Bankless). No S cell exists.","class":"FACT"},{"id":"FH-DOOMBERG-MATH","excel_or_chat":"Doomberg $4.8M+ and '20%+ of revenue from $1,200/yr Pro = $2.4M'","surviving":"If Pro is $2.4M at 20%, total is $12M, not $4.8M. Internal contradiction. Revenue remains ESTIMATE_NOT_AUDITED.","class":"INTERNAL_CONTRADICTION"},{"id":"FH-CITRINI-HIGHEST","excel_or_chat":"Citrini $125/mo is the highest price point in the category","surviving":"Same workbook lists SemiAnalysis enterprise and Fool One at far higher ARPU. Highest-in-class is false.","class":"FACT"},{"id":"FH-BLOOMBERG-4B","excel_or_chat":"Bloomberg Media newsletter revenue $4B+","surviving":"That figure is Bloomberg LP / terminal economics, not a newsletter P&L. Do not paint it on Moneyball chrome.","class":"INTERNAL_CONTRADICTION"},{"id":"FH-AGORA-1B","excel_or_chat":"Agora Financial $1B+","surviving":"Conflates Agora Inc / historical newsletter conglomerates. Not an audited 2026 Moneyball comparator. Refuse the fear funnel regardless.","class":"ESTIMATE_NOT_AUDITED"},{"id":"FH-FOOL-1053","excel_or_chat":"Stock Advisor +1,053% vs S&P is the moat","surviving":"Vendor marketing, not an audited series in this evidence pack. Moneyball track record is ADPA + paper book FO-P05.","class":"VENDOR_MARKETING"},{"id":"FH-PM-WHITE-SPACE","excel_or_chat":"No dedicated quantitative prediction-market newsletter exists","surviving":"Silver Bulletin is forecasting-as-product (FACT, homepage 200). Circadian already has PM/Kalshi honesty routes. White space is INFERENCE: event-window ADPA fused to contract quotes.","class":"INFERENCE"},{"id":"FH-PM-STARS","excel_or_chat":"Star = verifiable prediction-market coverage","surviving":"Substack chrome contaminates 'polymarket/kalshi' needles. thediff.co custom domain did not match; diff.substack.com did. Stars are not FACT of a PM desk.","class":"INFERENCE"},{"id":"FH-OPEN-RATE","excel_or_chat":"Exec Sum 50% / 1440 60% open rates as moat scores","surviving":"No method, no ESP export in the pack. Unscored on public chrome. Invented open rates refused.","class":"ASSUMPTION"},{"id":"FH-CITRINI-2PCT","excel_or_chat":"Citrini 2% conversion = $1M+","surviving":"Conversion rate is an invented arithmetic, not a disclosed Substack metric in the pack.","class":"ASSUMPTION"},{"id":"FH-GENERALIST-3PCT","excel_or_chat":"If 3% of 90k convert at $499 = $1.3M ARR","surviving":"Counterfactual. ASSUMPTION. Do not copy onto Moneyball as a forecast.","class":"ASSUMPTION"},{"id":"FH-MARKETWISE-326","excel_or_chat":"MarketWise $326M as current run-rate","surviving":"Same sheet notes subscriber decline. Filing year not in pack (SEC_FILING_NOT_IN_PACK). Homepage 403.","class":"SEC_FILING_NOT_IN_PACK"},{"id":"FH-ENGAGEMENT-MOAT","excel_or_chat":"Excel 8th dimension Engagement (Open Rate) is from CI OS Part II","surviving":"Part II lists 7 types; open rate is not one. Excel matrix is a FACE-adapted scorecard, not the OS table.","class":"FACT"},{"id":"FH-MILLIONS-PER-TYPE","excel_or_chat":"Hundreds of thousands of event types and millions of historical dates for each type (e.g. all Monaco GP)","surviving":"Almanac IoE floor is ~313K+ occurrence rows (live COUNT SSOT). Series = normalized types (Monaco Grand Prix 2025 → Monaco Grand Prix). Dates per series are the occurrence tape, not millions per type. Chrome uses live counts; operating-since-2013 stays off chrome (ASSUMPTION).","class":"FACT"},{"id":"FH-SCALE-FIRST-IOE","excel_or_chat":"Lead the Internet of Events with 410,612 events across 213 countries (or lake COUNT as the hero)","surviving":"410,612 / 213 countries is not Moneyball SSOT. Public #ioe hero is the scored hold versus sitting in the market. COUNT / Almanac IoE floor live in lake-honesty details. Documented floor is ≥313,000 occurrence rows.","class":"FACT"},{"id":"FH-HOTEL-DEMAND-IOE","excel_or_chat":"IoE is a demand-intelligence API for hotel staffing / restaurant labor savings / retail inventory","surviving":"Moneyball IoE scores dated windows as a hold versus sitting in the market for event desks. It is not a hotel staffing feed. Do not paint hospitality ROI dollars on moneyball.news.","class":"FACT"},{"id":"FH-PM-SETTLEMENT-IOE","excel_or_chat":"The events lake is purpose-built to feed prediction-market pricing and attendance-based settlement risk","surviving":"Prediction-market settlement is not Moneyball rank IC. Rank SSOT remains compute_full_adpa_profile on the event-date tape. Public chrome says the lake is not a prediction-market settlement tape.","class":"FACT"},{"id":"FH-NEWSLETTER-4999","excel_or_chat":"The $4,999/mo Holdings Full Price is a watch overlay newsletter / Substack-class list price","surviving":"Holdings OS Full $4,999/mo is the public-equity idle-treasury operating seat (paper event-window book + report mill + watch overlay). It is not a newsletter list price, not live AUM, not fund NAV, not OrderSend. Weekly/buyback/earnings remain separate env Prices. WATCH-* is an edition prefix on the existing archive, not the SKU.","class":"FACT"},{"id":"FH-OM-ATM-SCALAR","excel_or_chat":"Moneyball's option plane is the ATM European-call return-on-premium scalar (options_adpa_bridge)","surviving":"That scalar is a comparable to futures path quality, not a tradable quote. Moneyball post/entry freeze Option Matrix listed occupancy via resolve_occupancy (ADPA-Q143/Q188). Occupancy never ranks who is posted or booked.","class":"FACT"},{"id":"FH-MB-NO-CHAIN-AT-POST-ENTRY","excel_or_chat":"Moneyball posts and paper entries are already Option-Matrix-optimized because a comment mentions occupancy / three ETFs have listed options","surviving":"Pre-fix generate and record_entry never called resolve_occupancy. Maximalist mill is attach_outperformer_occupancy at t_post and cite_occupancy merged into rule_check_results at t_entry on the live listed chain. Missing chain is honest skip, not invented IV, not an SPY/QQQ/IWM allowlist.","class":"FACT"},{"id":"FH-OM-LIVE-CHAIN-AS-HISTORY","excel_or_chat":"Replay occupancy at a past ADPA execution date using today's live listed chain / invented IV / Monte Carlo marks so every historical instance has an option P/L","surviving":"Historical instance bakeoff (ADPA-Q189) walks OptionChainSourceId snapshots then listed option bars as-of that session. LivePrepared is live/next-scheduled only. Missing history is honesty skip. Empirical P/L is intrinsic at hold-exit close. Event Analytics Pro replays as_of on the same occupancy HTTP. Public chrome says live listed / chain snapshots / listed option bars — never plant vendor names.","class":"FACT"},{"id":"FH-NSE-NYSE-CLOCK","excel_or_chat":"Almanac Bank paper uses the NYSE session clock for every sessioned name, including NSE:RELIANCE, so US Labor Day skips India and Republic Day is a trading bar","surviving":"US names keep the NYSE SessionCalendar (Labor Day 2026-09-07 is not a US session bar). NSE/BSE names use SessionCalendar + compute_exchange_holiday civil (Republic Day 2026-01-26 is not an NSE session bar) plus dated holiday_closures JSONB. Civil today is venue-local (Friday 16:00 ET generate is Saturday IST). ADPA-Q190 / ADPA-QT108.","class":"FACT"},{"id":"FH-NSE-WAREHOUSE-ONLY-RANK","excel_or_chat":"Q01 rank for India/astro windows only reads the US daily warehouse, so NSE names with md_core history cannot profile","surviving":"compute_full_adpa_profile reads load_daily_ohlc_bars (Q110 md_core ∪ Q180 warehouse). fetch_daily_bars remains the warehouse arm inside that loader. India events overlay resolve_event_market_alignment onto thesis candidates. ADPA-Q190.","class":"FACT"},{"id":"FH-NSE-ORDERSEND","excel_or_chat":"Astrology Moneyball on NSE is live broker OrderSend / a TradingView mill that is itself the broker","surviving":"Paper remains almanac_bank_standard (FO-P05). Never live NSE OrderSend in nse_astro_autonomy.rs (TVE-P07 / ADPA-QT109). Live NSE cash is the ADPA-Q194 hdfc mill when CIRCADIAN_HDFC_LIVE=1 and RD_LAB_PRODUCTION_KILL=0. History ingest is operator mill POST, not a broker. Lunar Diwali is JSONB-dated or not a close — never invented (ADPA-QT110).","class":"FACT"},{"id":"FH-NSE-Q190-IS-HDFC","excel_or_chat":"Astrology Moneyball on NSE (Q190 / nse_astro_autonomy.rs) is the HDFC InvestRight live mill","surviving":"Q190 remains venue clock + paper mill. Live HDFC cash is nse_hdfc_live.rs (ADPA-Q194). nse_astro_autonomy.rs never contains OrderSend or hdfc_investright_nse.","class":"FACT"},{"id":"FH-HDFC-USD-AS-INR","excel_or_chat":"Almanac Bank $250k sequential_deployable is the HDFC NSE lot size","surviving":"Q194 sizes from HDFC available INR cash × name fraction, lot-aligned. Q158 remains USD paper size SSOT (ADPA-QT120).","class":"FACT"},{"id":"FH-HDFC-RETRY-PLACE","excel_or_chat":"Retry HDFC place/modify/cancel on transport timeout until OMS ack","surviving":"Mutations never retry (HDFC P3/P14). Transport timeout is outcome-ambiguous — reconcile by external_reference / broker_order_id.","class":"FACT"},{"id":"FH-HDFC-COLLISION-PICK","excel_or_chat":"When the security master has two EQUITY rows for RELIANCE, pick the first","surviving":"Collision skip. Pass metadata.security_id. P13 collision-preserving master.","class":"FACT"},{"id":"FH-HDFC-NAKED-SHORT","excel_or_chat":"HDFC NSE cash mill places DELIVERY SELL for a Moneyball short as a naked short","surviving":"Cash equity DELIVERY never naked-shorts. Q194 skips short direction; SELL is holdings-only. Paper shorts remain Q152 Almanac Bank (ADPA-QT120 sibling of INR size).","class":"FACT"},{"id":"FH-ANE-IS-JPL","excel_or_chat":"mbp1 ANE waterfall is the JPL ephemeris that writes EventRegistry astro dates","surviving":"ANE is CFTM infer (forecast_with_ane_waterfall). Detector remains EventGenerator JPL / location_condition_timeline. Engine-join never calls ANE. ADPA-Q195 / ADPA-QT123.","class":"FACT"},{"id":"FH-CALENDAR-DETECTS-ASTRO","excel_or_chat":"The Moneyball forward calendar detects astrology by re-running JPL in the 14-day window","surviving":"compose_forward_calendar is a windowed union lookup of already-stored event_date rows. Detection is EventGenerator + from-dsl / location-astro catalog (Q114/Q147). Empty lake is lake_miss. ADPA-Q157 / Q195 / QT122.","class":"FACT"},{"id":"FH-CFTM-OCCUPANCY-MINTS-ASTRO","excel_or_chat":"CFTM occupancy extra / @full_moon time_expression mints astro: EventRegistry ids and ranks them","surviving":"Occupancy extra is event_timestamps + event_canonical_ys from event_occurrences_v. Chronos TTE is overlay grammar, not genesis. Rank remains compute_full_adpa_profile. ADPA-Q195 / QT121 / QT122.","class":"FACT"},{"id":"FH-CHRONOS-FULL-MOON-EQUALS-REGISTRY","excel_or_chat":"Occupancy time_expression @full_moon is the same mill as POST /au/event/from-dsl EventRegistry mint","surviving":"from-dsl mints via EventGenerator + fingerprint/reuse (Q147). Chronos @full_moon stamps TimeToEvent occupancy only. Engine-join binds the lake instant, not a second parser genesis. ADPA-QT122.","class":"FACT"},{"id":"FH-SYMBOLIC-ENCODE-IS-GENESIS","excel_or_chat":"Mode-1 encode_to_symbolic / pgrust LZ4 creates event_ids","surviving":"encode_to_symbolic is Mode-1 speak of occupancy extra (PRODUCTION_DICTIONARY). pgrust 5-layer LZ4 compresses durable JSONB. Engine-join adds no column and no event_id. ADPA-QT123.","class":"FACT"},{"id":"FH-JEPA-RANKS-ASTRO","excel_or_chat":"JEPA/TRE/CFTM fusion weights rank astrology on the forward calendar","surviving":"location_astro_fusion_manifest fusion_modulators_only. moneyball_score is Q01 composite when cache-eligible else 0. fusion_modulator shrinks size (Q158), never rank. ADPA-Q32 / Q195 / QT121.","class":"FACT"},{"id":"FH-KEPLERIAN-IS-CHEBYSHEV","excel_or_chat":"Keplerian two-body fallback is the Chebyshev JPL ephemeris that mints astro: dates","surviving":"EventGenerator Chebyshev JPL is the detector. Keplerian fallback is not Chebyshev. Engine-join never recomputes either; it cites event_occurrences_v.occurred_at. ADPA-Q195.","class":"FACT"},{"id":"FH-LAKE-MIDNIGHT-INVENTED","excel_or_chat":"A stored 00:00:00 UTC occurrence is invented JPL, or lake_miss should mint midnight so CFTM always has a timestamp","surviving":"classify_lake_timestamp: miss | date_cast_midnight | subday. Stored midnight is classified, never rewritten. gregorian_date::timestamptz is date-cast even when session TimeZone shifts the UTC clock. DISTINCT ON prefers a non-midnight UTC clock. occupancy_extra_eligible is subday only — date-cast does not enter CFTM event_timestamps. Empty lake is lake_miss. ADPA-Q195 / QT124.","class":"FACT"},{"id":"FH-DATE-CAST-FEEDS-TTE","excel_or_chat":"A classified date-cast or gregorian_date::timestamptz still belongs in occupancy extra so CFTM time-to-event has an anchor","surviving":"occupancy_extra_eligible is Subday only. Date-cast (UTC midnight or gregorian session-TZ cast) sets occupancy_extra_withheld and omits event_timestamps / event_canonical_ys. DISTINCT ON prefers a real sub-day clock. ADPA-QT124. FH-DATE-CAST-FEEDS-TTE.","class":"FACT"},{"id":"FH-COALESCE-MASKS-SUBDAY","excel_or_chat":"event_occurrences_v COALESCE(timestamp_utc, event_date_timestamp) is the occurrence instant, so a midnight timestamp_utc is the clock even when event_date_timestamp is sub-day","surviving":"prefer_subday_clock reads both columns. A non-midnight event_date_timestamp wins over a midnight timestamp_utc on the same row. DISTINCT ON prefers a row that has either sub-day clock, not the COALESCE mask. ADPA-QT124. FH-COALESCE-MASKS-SUBDAY.","class":"FACT"},{"id":"FH-SESSION-TZ-DATE","excel_or_chat":"timestamptz::date is the civil day of the occurrence, so the calendar row and the occupancy instant share that session date","surviving":"occurrence_civil_utc_date is the UTC date of prefer_subday_clock, else gregorian_date. The join map and load_astro_au_window both use it. Session timestamptz::date is not the key. ADPA-QT124. FH-SESSION-TZ-DATE.","class":"FACT"},{"id":"FH-LANE-DATE-MASKS-ASTRO","excel_or_chat":"The first lane to insert an event_id owns as_of_date, so the astrology civil date is only used when the event is new","surviving":"adopt_occurrence_civil_date: an EventRegistry astro row replaces an earlier lane date. A later non-astro lane does not replace it. Attach looks up that civil date. ADPA-QT124. FH-LANE-DATE-MASKS-ASTRO.","class":"FACT"},{"id":"FH-OUT-OF-WINDOW-SUBDAY","excel_or_chat":"Any sub-day clock on the row is the occurrence, even when that clock is outside the forward window and a midnight clock sits inside it","surviving":"prefer_subday_clock_in_window ignores a sub-day clock whose UTC date is outside [start, end]. An in-window midnight remains the cite and is still withheld from occupancy extra. ADPA-QT124. FH-OUT-OF-WINDOW-SUBDAY.","class":"FACT"},{"id":"FH-EXIT-TAG-IS-WINDOW","excel_or_chat":"An exit-tagged occurrence still sets the forward-calendar civil date; :exit only means the hold finished","surviving":"load_astro_au_window and the join both skip COALESCE(event_date_source, source) LIKE '%:exit'. An exit instant does not set as_of_date and is not an occupancy cite. ADPA-QT124. FH-EXIT-TAG-IS-WINDOW.","class":"FACT"},{"id":"FH-GREGORIAN-CAST-CLOCK","excel_or_chat":"gregorian_date::timestamptz is the occurrence instant, so a date-only row publishes that session-shifted clock","surviving":"cited_instant for a gregorian cast is UTC midnight of the civil date. The session-shifted timestamptz is not occurrence_timestamp_utc and not occupancy extra. ADPA-QT124. FH-GREGORIAN-CAST-CLOCK.","class":"FACT"},{"id":"FH-ASTRO-SQL-UNBALANCED","excel_or_chat":"The astrology window primary query is valid because the exit filter string is present","surviving":"Both raw SQL strings in load_astro_au_window have balanced parentheses. The source IN catalog list is closed before AND NOT LIKE '%:exit'. A parse error must not be the path to the event_id fallback. ADPA-QT124. FH-ASTRO-SQL-UNBALANCED.","class":"FACT"},{"id":"FH-QUERY-ORDER-IS-CITE","excel_or_chat":"Whichever event_date row comes back first is the occupancy instant for that civil date","surviving":"prefer_loaded_occurrence: a sub-day clock beats a date-cast, and two clocks of the same class keep the earlier instant. Query order does not choose the cite. ADPA-QT124. FH-QUERY-ORDER-IS-CITE.","class":"FACT"},{"id":"FH-LOAD-FAULT-IS-MISS","excel_or_chat":"If the occurrence query fails, stamp lake_miss — an empty map means the lake has no instant","surviving":"LakeWindowLoad.load_fault is true only when the view and the fallback both fail. The cite then sets lake_load_fault and lake_miss_is_not_proven. A successful empty read remains lake_miss. ADPA-QT124. FH-LOAD-FAULT-IS-MISS.","class":"FACT"},{"id":"FH-FAULT-STILL-SAYS-MISS","excel_or_chat":"lake_load_fault beside lake_miss true is enough; readers of lake_miss still see an empty lake","surviving":"apply_load_fault sets lake_miss false, lake_load_fault true, and grain load_fault. A successful empty read still has lake_miss true. ADPA-QT124. FH-FAULT-STILL-SAYS-MISS.","class":"FACT"},{"id":"FH-EVENT-REGISTRY-SOURCE-IS-ASTRO","excel_or_chat":"source = event_registry means the row belongs in the astrology forward window","surviving":"The primary astrology SELECT admits astro:/au:/jpl: names and the astrology mint sources only. Generic event_registry is not an admit. Those rows do not become EventRegistryAstroAu and do not replace a lane date. ADPA-QT124. FH-EVENT-REGISTRY-SOURCE-IS-ASTRO.","class":"FACT"},{"id":"FH-ASTRO-FALLBACK-DROPS-MINT","excel_or_chat":"The event_id astrology fallback is the same window as the primary query, and an empty result means there is no astrology","surviving":"The fallback admits the same mint sources as the primary SELECT. If that query fails, astro_window_load_fault is true and an empty lane is not a proven empty window. ADPA-QT124. FH-ASTRO-FALLBACK-DROPS-MINT.","class":"FACT"},{"id":"FH-GREGORIAN-SUBSTITUTES-FOR-CLOCK","excel_or_chat":"An in-window gregorian_date is the astrology civil date even when the only clocks are outside the window","surviving":"Gregorian is the civil date only when both clocks are absent. An out-of-window clock does not adopt an in-window gregorian_date, and that date does not replace a lane date. ADPA-QT124. FH-GREGORIAN-SUBSTITUTES-FOR-CLOCK.","class":"FACT"},{"id":"FH-FALLBACK-DROPS-GREGORIAN-CAST","excel_or_chat":"When the occurrence view fails, a gregorian-only row is lake_miss because the fallback has no date-cast","surviving":"The public.event_date fallback computes gregorian_date_cast the same way as the view. A pure gregorian row cites UTC midnight and grain date_cast_midnight. Occupancy extra stays withheld. ADPA-QT124. FH-FALLBACK-DROPS-GREGORIAN-CAST.","class":"FACT"},{"id":"FH-ASTRO-DATE-KEEPS-EARLIER-PLANE","excel_or_chat":"Adopting the astrology civil date leaves the earlier lane plane and title, and the fusion cite stays non-astro","surviving":"An EventRegistryAstroAu row adopts identity_plane, source lane, and title with the civil date. A later non-astro lane does not replace that plane or title. ADPA-QT124. FH-ASTRO-DATE-KEEPS-EARLIER-PLANE.","class":"FACT"},{"id":"FH-GRAIN-OMITS-LOAD-FAULT","excel_or_chat":"The published grain list is miss, date-cast, and subday, so a failed read is not a grain the client can name","surviving":"engine_join_protocol lists load_fault beside miss, date_cast_midnight, and subday. The finance SDK LakeTimestampGrain union includes load_fault, and MoneyballEngineJoinCite carries lake_load_fault. ADPA-QT124. FH-GRAIN-OMITS-LOAD-FAULT.","class":"FACT"},{"id":"FH-SYMBOLIC-CAP-DROPS-ASTRO","excel_or_chat":"A dense symbolic processing bucket may drop later astrology rows before the cite is attached","surviving":"truncate_processing_keep_astro keeps every EventRegistryAstroAu row and caps the other processing rows. Symbolic density does not remove the astrology cite. ADPA-QT124. FH-SYMBOLIC-CAP-DROPS-ASTRO.","class":"FACT"},{"id":"FH-ALLOCATION-CAP-DROPS-ASTRO","excel_or_chat":"A profiled astrology row may be truncated out of the Q01 allocation bucket before the cite is attached","surviving":"truncate_allocation_keep_astro keeps every EventRegistryAstroAu row in Q01 order and caps the other allocation rows. The cite still attaches. ADPA-QT124. FH-ALLOCATION-CAP-DROPS-ASTRO.","class":"FACT"},{"id":"FH-ASTRO-WINDOW-TRUNCATE-IS-COMPLETE","excel_or_chat":"An astrology lane shorter than the catalog is the whole window when astro_window_load_fault is false","surviving":"cap_astro_window_rows publishes astro_window_omitted and astro_window_truncated. A short lane with those clear is a real short window. Truncation is not a load fault. ADPA-QT124. FH-ASTRO-WINDOW-TRUNCATE-IS-COMPLETE.","class":"FACT"},{"id":"FH-CACHE-INSTANCES-ARE-WINDOW-COUNT","excel_or_chat":"Astrology occurrence_count is the Q01 cache instance total, or zero when the cache is absent","surviving":"in_window_civil_date_count is the astrology occurrence_count. Cache instances, GDELT, and anniversary history do not replace it. ADPA-QT124. FH-CACHE-INSTANCES-ARE-WINDOW-COUNT.","class":"FACT"},{"id":"FH-LIVE-DROPS-WINDOW-COUNT","excel_or_chat":"The live feed and the Ask slice show the astrology row without the in-window occurrence count","surviving":"LiveUpcomingRow and calendar_ops_slice copy occurrence_count. The SDK row type names it. That count is in_window_civil_date_count, not cache instances. ADPA-QT124. FH-LIVE-DROPS-WINDOW-COUNT.","class":"FACT"},{"id":"FH-COMPOSE-FAILURE-IS-LAKE-MISS","excel_or_chat":"When the forward calendar compose fails, the live fallback rows are lake_miss","surviving":"Fallback rows use grain load_fault. LiveCalendarFeed.forward_calendar_load_fault is true. A compose failure is not a proven empty lake. ADPA-QT124. FH-COMPOSE-FAILURE-IS-LAKE-MISS.","class":"FACT"},{"id":"FH-OCCUPANCY-EXTRA-IS-ONLY-CHOSEN-DATE","excel_or_chat":"Occupancy extra event_timestamps holds only the chosen as_of_date even when later sub-day clocks are in the window","surviving":"subday_instants_for_event collects every in-window sub-day clock. widen_occupancy_extra_to_subday_instants writes that list. Date-cast dates stay out. ADPA-QT124. FH-OCCUPANCY-EXTRA-IS-ONLY-CHOSEN-DATE.","class":"FACT"},{"id":"FH-ASK-SLICE-DROPS-UNPROFILED-ASTRO","excel_or_chat":"The Ask calendar book is the allocation head, so unprofiled astrology occupancy never arrives","surviving":"calendar_ops_slice keeps allocation_head as the Q01 head and adds astro_rows from the full snapshot, including processing. Those rows are not allocation rank. ADPA-QT124. FH-ASK-SLICE-DROPS-UNPROFILED-ASTRO.","class":"FACT"},{"id":"FH-LIVE-GENERATES-LUNAR-EPHEMERIS","excel_or_chat":"The live feed generates full-moon and new-moon dates beside the lake cite","surviving":"compose_live_calendar_feed does not call EventGenerator for lunar phases. Lunar dates are the engine-join cite on upcoming rows. ADPA-QT122. FH-LIVE-GENERATES-LUNAR-EPHEMERIS.","class":"FACT"},{"id":"FH-ASTRONOMICAL-IS-A-LIVE-LANE","excel_or_chat":"The live protocol astronomical lane is a list of generated lunar dates","surviving":"There is no astronomical lane. Lunar dates are the engine-join cite on the forward-calendar union. ADPA-QT122. FH-ASTRONOMICAL-IS-A-LIVE-LANE.","class":"FACT"},{"id":"FH-LIVE-GENERATES-SOLAR-NOON","excel_or_chat":"The live feed's intraday lane generates a JPL solar-noon skew and writes it into the calendar notes","surviving":"compose_live_calendar_feed does not call nyc_philly_solar_noon_skew_note. There is no intraday_au lane on this feed. Solar noon is not a generated ephemeris beside the engine-join cite. ADPA-QT122. FH-LIVE-GENERATES-SOLAR-NOON.","class":"FACT"},{"id":"FH-HUMPHREY-FAULT-IS-EMPTY-CALENDAR","excel_or_chat":"When Humphrey cannot reach the calendar, the protocol document is an empty successful calendar","surviving":"Both compose-or-http fallbacks set forward_calendar_load_fault and grain load_fault. A protocol document is not an empty feed or an empty calendar. ADPA-QT124. FH-HUMPHREY-FAULT-IS-EMPTY-CALENDAR.","class":"FACT"},{"id":"FH-ASK-CALENDAR-ERROR-IS-EMPTY","excel_or_chat":"An Ask calendar compose error is an empty astrology book","surviving":"compose_ask_cite_snapshot and the Ask brain set forward_calendar_load_fault and grain load_fault when compose_forward_calendar fails. The Humphrey ask-cite fallback does the same when compose and HTTP both fail. ADPA-QT124. FH-ASK-CALENDAR-ERROR-IS-EMPTY.","class":"FACT"},{"id":"FH-CIRCADIAN-RUN-FAULT-IS-EMPTY-CALENDAR","excel_or_chat":"circadian-run with no DATABASE_URL prints the protocol as an empty calendar","surviving":"The forward-calendar and newsletter-live commands set forward_calendar_load_fault and grain load_fault when DATABASE_URL is unset. That body is not an empty lake. ADPA-QT124. FH-CIRCADIAN-RUN-FAULT-IS-EMPTY-CALENDAR.","class":"FACT"},{"id":"FH-WS-FAULT-IS-EMPTY-CALENDAR","excel_or_chat":"A quant websocket compose error is an empty calendar","surviving":"moneyball_forward_calendar and moneyball_newsletter_live set forward_calendar_load_fault and grain load_fault when compose fails. The protocol on that body is not an empty lake. ADPA-QT124. FH-WS-FAULT-IS-EMPTY-CALENDAR.","class":"FACT"},{"id":"FH-OPS-CALENDAR-FAULT-IS-EMPTY","excel_or_chat":"An ops calendar compose error is an empty calendar inside a successful ops book","surviving":"compose_ops_snapshot sets forward_calendar_load_fault and grain load_fault on the forward_calendar field when compose fails. The protocol on that field is not an empty lake. ADPA-QT124. FH-OPS-CALENDAR-FAULT-IS-EMPTY.","class":"FACT"},{"id":"FH-LIVE-HTTP-FAULT-IS-EMPTY-FEED","excel_or_chat":"A live HTTP compose error is an empty feed","surviving":"live_calendar_http_json sets forward_calendar_load_fault and grain load_fault when compose_live_calendar_feed fails. The protocol on that body is not an empty lake. ADPA-QT124. FH-LIVE-HTTP-FAULT-IS-EMPTY-FEED.","class":"FACT"},{"id":"FH-HTTP-CALENDAR-FAULT-IS-EMPTY","excel_or_chat":"A forward-calendar HTTP compose error is an empty calendar of that schema","surviving":"get_forward_calendar sets forward_calendar_load_fault and grain load_fault when compose fails. The schema on that 500 is not an empty lake. ADPA-QT124. FH-HTTP-CALENDAR-FAULT-IS-EMPTY.","class":"FACT"},{"id":"FH-LIVE-HTTP-SUCCESS-HIDES-FAULT","excel_or_chat":"A live HTTP success flag means the feed composed","surviving":"live_calendar_http_json copies feed.forward_calendar_load_fault onto success and ok. A faulted feed is not a successful calendar. ADPA-QT124. FH-LIVE-HTTP-SUCCESS-HIDES-FAULT.","class":"FACT"},{"id":"FH-SYMBOLIC-FALLBACK-IS-UNION","excel_or_chat":"A symbolic fallback is the forward-calendar union","surviving":"fetch_upcoming_for_moneyball returns Err when compose fails. It does not return the symbolic plane as Ok. ADPA-QT124. FH-SYMBOLIC-FALLBACK-IS-UNION.","class":"FACT"},{"id":"FH-ASTRO-WINDOW-TIMEOUT-IS-EMPTY","excel_or_chat":"A statement timeout on the astrology window is an empty lane","surviving":"The event_id and name-only window queries restrict to astrology event_id first. SQLSTATE 57014 sets astro_window_load_fault and does not start another full scan. ADPA-QT124. FH-ASTRO-WINDOW-TIMEOUT-IS-EMPTY.","class":"FACT"},{"id":"FH-PAPER-SUBDAY-SESSION","excel_or_chat":"Paper books the occupancy instant as the venue session bar so astro sub-day times become fills","surviving":"Paper remains civil_today + venue SessionCalendar (ADPA-Q152/Q190). Occupancy extra is CFTM TimeToEvent modulator, never a session bar. ADPA-QT125. FH-PAPER-SUBDAY-SESSION.","class":"FACT"},{"id":"FH-TRE-I32-IS-CALENDAR-I64","excel_or_chat":"Coerce calendar event_id i64 into TRE fetch_event_timestamps i32 so occupancy and TRE share one PK mill","surviving":"TRE coordinator fetch_event_timestamps stays i32 PK. Calendar event_id is i64. Engine-join cites the standing constraint and never coerces. ADPA-QT126.","class":"FACT"},{"id":"FH-ENGINE-JOIN-NEW-HTTP","excel_or_chat":"Mint GET /api/v10/adpa/quant/engine-join as a second mill so occupancy cite has its own HTTP","surviving":"Surfaces stay existing Q157 HTTP/WS/CLI plus protocol/Humphrey/circadian-run/research mirrors. never_http_mill. ADPA-Q195 / QT126. FH-ENGINE-JOIN-NEW-HTTP.","class":"FACT"},{"id":"FH-LIVE-FEED-DROPS-OCCUPANCY","excel_or_chat":"Newsletter live calendar / ops slice may drop occupancy_extra — CFTM overlay is calendar-HTTP only","surviving":"calendar_ops_slice and compose_live_calendar_feed map occupancy_extra_from_cite. live_feed_drops_occupancy_extra=false. ADPA-Q195.","class":"FACT"},{"id":"FH-CATS-EQUALS-IQFEED-PLANT","excel_or_chat":"Point Accrue/AI at CATS / db.almanac.ai and you are on the IQFeed plant","surviving":"CATS HTTP is not the IQFeed plant. Plant is mbp1 iqfeedd. Accrue/AI CATS wire is cats_iqfeed_compat on pgrust + iqfeed_backtest_lake (ADPA-Q191). Never HDT on this mill.","class":"FACT"},{"id":"FH-ACCRUE-RDS-EQUALS-PGRUST","excel_or_chat":"Accrue AWS RDS / localhost:5432 is mb2 pgrust","surviving":"Overlay the DSN. Sole pgrust writer is mb2 :55432. Accrue RDS is a different cluster (ADPA-QT112).","class":"FACT"},{"id":"FH-EVENT-ID-I32-ONLY","excel_or_chat":"Every event path is Accrue serial i32","surviving":"Accrue serial is i32; Almanac lake PK may be i64 or a name. Dual identity via resolve_event_id_flexible / EventIdRef / DateListIdentifier EventPk+EventName.","class":"FACT"},{"id":"FH-ACCRUE-7082-HOSTS-ADPA","excel_or_chat":"Host Accrue ADPA on accrue_http_edge :7082","surviving":":7082 is screener/PM only (ADPA-Q139). CATS mill and kebab ADPA stay :7070 (ADPA-Q191).","class":"FACT"},{"id":"FH-CATS-FAKE-BARS","excel_or_chat":"When the lake is empty, return hardcoded CATS OHLCV so Accrue charts still paint","surviving":"Empty lake is {data:[], lake_miss:true}. comprehensive_integrations fetch_iqfeed_data reads iqfeed_backtest_lake or returns empty — never 533.05 placeholders.","class":"FACT"},{"id":"FH-CATS-MASTER-STILL-REQUIRED","excel_or_chat":"Keep running r_d/accrue_legacy/cats-master as the IQFeed HTTP proxy for Accrue/AI","surviving":"cats-master is archive-only. Accrue/AI CATS wire is cats_iqfeed_compat on :7070 (ADPA-Q191). Options stay Option Matrix, not cats.iqfeed.optionchain. Never start the Clojure IQFeed proxy.","class":"FACT"},{"id":"FH-EAP-ALREADY-HAS-EVENT-SEARCH","excel_or_chat":"Event Analytics Pro already has Accrue-class event search because Universal ref + Resolve exist","surviving":"Universal ref is identity. Accrue nadpa is ajax-autocomplete on /db/api/events-search. EAP search is eap_event_explore wrapping that mill (ADPA-Q193).","class":"FACT"},{"id":"FH-MINT-NEW-EAP-CHATBOT","excel_or_chat":"Mint a new chatbot on Event Analytics Pro instead of Benjamin/Ask","surviving":"Kaswari Ask, Horaeum Ora, and Jurisdica Alph stay those pages. EAP Ask is AgenticResearchChat + UnifiedNodeBuilderPro with native page-action dispatch. FH-MINT-NEW-EAP-CHATBOT.","class":"FACT"},{"id":"FH-JULY4-CANNOT-BE-A-TRADE","excel_or_chat":"Markets closed on July 4 means Independence Day cannot be the event / skip Hormel","surviving":"Civil event date stays July 4. HRL enters first_session_on_or_after (2026-07-04 Sat → 2026-07-06 Mon). ADPA-Q152 / ADPA-QT117.","class":"FACT"},{"id":"FH-RECREATE-ACCRUE-SEARCH","excel_or_chat":"Rewrite Accrue events-search as a greenfield mill for EAP","surviving":"Wrap cats_iqfeed_compat::events_search and GET /api/v1/events/search. Dual identity stays Q191.","class":"FACT"},{"id":"FH-EAP-SEARCH-IS-Q191-CATS","excel_or_chat":"EAP explore is the CATS mill / steal Q191 or Q190 or Q192","surviving":"Q191 remains Accrue/AI CATS. Q193 consumes it for EAP autocomplete + page actions. Q190 NSE astro and Q192 MM OS stay those mills.","class":"FACT"},{"id":"FH-OFFSET-ZERO-ON-HOLIDAY-IS-FILL","excel_or_chat":"offset_session_days(July 4, 0) is the Hormel fill because offset 0 means first open","surviving":"offset 0 returns the civil anchor even on a holiday. First-open fill is first_session_on_or_after_for, then ADPA offset 0 on daily bars that omit holidays.","class":"FACT"},{"id":"FH-FULL-MOON-IS-THE-ONLY-CADENCE","excel_or_chat":"Full Moon is the only cadence worth comparing; no explore-by-tag","surviving":"frequency_vs_full_moon lists lake series with more occurrences than @full_moon in the same window, with astronomical tags. Full Moon is the baseline, not the only event.","class":"FACT"},{"id":"FH-EAP-EXPLORE-ON-7082","excel_or_chat":"Host EAP event explore on accrue_http_edge :7082","surviving":":7082 is screener/PM only (ADPA-Q139). EAP explore HTTP stays :7070 (ADPA-Q193).","class":"FACT"},{"id":"FH-MM-FULL-SAMPLE-AS-PIT","excel_or_chat":"Full-sample ADPA MM bakeoff (Q101) is already the point-in-time OS at each historical execution clock","surviving":"Q101 remains the claim mill (n≥5 floor). ADPA-Q192 walks each instance PIT with simulated B0, expanding-prior Sharpe gate, and sequential compounding only on participated fills.","class":"FACT"},{"id":"FH-SHARPE-GATE-IS-RANK","excel_or_chat":"Sharpe > 1.35 is a second ADPA-Q01 rank IC that picks the name","surviving":"Expanding-prior Sharpe (Q47) is PIT participation only on the simulated OS. Name rank remains compute_full_adpa_profile. Occupancy rank remains Q143. ADPA-QT114.","class":"FACT"},{"id":"FH-SIM-B0-IS-NAV","excel_or_chat":"The MM OS simulated B0 is Almanac Bank sequential NAV / live AUM","surviving":"Q192 B0 is research-paper simulated equity (default 100_000). Q158 remains live sequential_deployable. Never live AUM. ADPA-QT115.","class":"FACT"},{"id":"FH-CFTM-PREDICTS-FUTURE-SHARPE","excel_or_chat":"CFTM/JEPA/TRE forecast next expanding Sharpe so the OS can trade the first three instances","surviving":"Future Sharpe is not predicted and is not required. Gate is Q47 past-only (n≥3 and nonzero variance). CFTM/JEPA/TRE remain shrink modulators. PSR/DSR are diagnostics. ADPA-QT114.","class":"FACT"},{"id":"FH-Q191-IS-INSTANCE-MM-OS","excel_or_chat":"ADPA-Q191 is the instance money-management operating system","surviving":"ADPA-Q191 is Accrue/AI CATS on pgrust. The instance MM OS is ADPA-Q192 / MM-S17.","class":"FACT"},{"id":"FH-THIRTY-THREE-LIVE-ELIGIBLE","excel_or_chat":"All 33 techniques are live-eligible OS rankers, including martingale / Project202","surviving":"Catalog cite is 33 via run_mm_bakeoff. OS rank is TechniqueId::live_eligible() — 27 of 33. Forbidden-live stay out. Copy five-technique subset stays MM-S14.","class":"FACT"},{"id":"FH-OS-COPY-TAKEABILITY","excel_or_chat":"HL $10 / 1-share copy takeability should skip OS fills when notional cannot buy one share","surviving":"OS venue min is $0. Diagnostic share count never zeros a positive would-notional. Copy takeability remains MM-S14.","class":"FACT"}],"refuse":["competitor_revenue_as_fact","invented_open_rates","affiliate_majority_as_product","agora_fear_funnel","wordpress_or_second_archive","weekly_substitutes_4999","cftm_as_rank_ic","mill_vendor_names","actix_get_slash","substack_needle_as_pm_coverage","vendor_track_record_as_audited_fact"],"peers":[{"id":"citrini","name":"Citrini Research","category":"Finance","homepage":"https://www.citriniresearch.com","homepage_fetch":"HTTP_200","homepage_title":"Citrini Research | Substack","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"$1.25M–$3M+","excel_moat_grade":"B","excel_total":29,"pm_coverage":"editorial_beat","surviving_patterns":["proprietary_object_as_product","high_arpu_back_end"],"refuse":["competitor_revenue_as_fact"],"public_chrome_paints_revenue":false},{"id":"the_diff","name":"The Diff","category":"Finance/Tech","homepage":"https://www.thediff.co","homepage_fetch":"HTTP_200","homepage_title":"The Diff - Inflections in finance and tech","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"$1M–$2M est.","excel_moat_grade":"B","excel_total":29,"pm_coverage":"occasional_or_overstated","surviving_patterns":["informational_archive_switching_cost","cadence_as_workflow"],"refuse":["substack_needle_as_pm_coverage"],"public_chrome_paints_revenue":false},{"id":"doomberg","name":"Doomberg","category":"Finance/Energy","homepage":"https://newsletter.doomberg.com/","homepage_fetch":"HTTP_200","homepage_title":"Doomberg | Substack","revenue_class":"INTERNAL_CONTRADICTION","excel_revenue_not_fact":"$4.8M+ est. vs Pro $2.4M as 20%","excel_moat_grade":"A","excel_total":32,"pm_coverage":"substack_needle_contaminated","surviving_patterns":["honest_price_ladder","high_arpu_back_end","track_record_as_moat"],"refuse":["competitor_revenue_as_fact"],"public_chrome_paints_revenue":false},{"id":"kyla","name":"Kyla's Newsletter","category":"Economics","homepage":"https://kyla.substack.com","homepage_fetch":"HTTP_200","homepage_title":"Kyla’s Newsletter | Substack","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"$500K–$1M est.","excel_moat_grade":"C","excel_total":22,"pm_coverage":"none_documented","surviving_patterns":["trust_honesty_not_fear"],"refuse":["competitor_revenue_as_fact"],"public_chrome_paints_revenue":false},{"id":"noahpinion","name":"Noahpinion","category":"Economics","homepage":"https://www.noahpinion.blog","homepage_fetch":"HTTP_200","homepage_title":"Noahpinion | Substack","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"$1M est.","excel_moat_grade":"C","excel_total":24,"pm_coverage":"occasional_or_overstated","surviving_patterns":["informational_archive_switching_cost","cadence_as_workflow"],"refuse":["competitor_revenue_as_fact"],"public_chrome_paints_revenue":false},{"id":"capital_wars","name":"Capital Wars","category":"Finance/Macro","homepage":"https://capitalwars.substack.com","homepage_fetch":"HTTP_200","homepage_title":"Capital Wars | Michael Howell | Substack","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"$750K+ est.","excel_moat_grade":"B","excel_total":27,"pm_coverage":"occasional_or_overstated","surviving_patterns":["proprietary_object_as_product","high_arpu_back_end"],"refuse":["competitor_revenue_as_fact"],"public_chrome_paints_revenue":false},{"id":"grant_williams","name":"Grant Williams TTMYGH","category":"Finance/Macro","homepage":"https://www.grant-williams.com","homepage_fetch":"HTTP_202","homepage_title":"","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"Est. $1M+","excel_moat_grade":"B","excel_total":27,"pm_coverage":"none_documented","surviving_patterns":["trust_honesty_not_fear"],"refuse":["competitor_revenue_as_fact"],"public_chrome_paints_revenue":false},{"id":"semianalysis","name":"SemiAnalysis","category":"Finance/Tech","homepage":"https://www.semianalysis.com","homepage_fetch":"HTTP_200","homepage_title":"SemiAnalysis","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"Est. $5M–$10M","excel_moat_grade":"A","excel_total":31,"pm_coverage":"none_documented","surviving_patterns":["proprietary_object_as_product","high_arpu_back_end"],"refuse":["competitor_revenue_as_fact"],"public_chrome_paints_revenue":false},{"id":"irrational","name":"Irrational Analysis","category":"Finance","homepage":"https://irrationalanalysis.substack.com","homepage_fetch":"HTTP_200","homepage_title":"Irrational Analysis | Substack","revenue_class":"VENDOR_MARKETING","excel_revenue_not_fact":"Est. $500K–$1M","excel_moat_grade":"C","excel_total":24,"pm_coverage":"none_documented","surviving_patterns":["track_record_as_moat"],"refuse":["vendor_track_record_as_audited_fact"],"public_chrome_paints_revenue":false},{"id":"global_tech","name":"Global Tech Research","category":"Finance","homepage":"","homepage_fetch":"CONNECT_FAIL","homepage_title":"","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"Est. $300K–$700K","excel_moat_grade":"","excel_total":null,"pm_coverage":"none_documented","surviving_patterns":["track_record_as_moat"],"refuse":["competitor_revenue_as_fact"],"public_chrome_paints_revenue":false},{"id":"newcomer","name":"Newcomer","category":"Finance/VC","homepage":"https://www.newcomer.co","homepage_fetch":"HTTP_200","homepage_title":"Newcomer | Substack","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"$1.6M est.","excel_moat_grade":"B","excel_total":26,"pm_coverage":"occasional_or_overstated","surviving_patterns":["informational_archive_switching_cost","cadence_as_workflow"],"refuse":["competitor_revenue_as_fact"],"public_chrome_paints_revenue":false},{"id":"generalist","name":"The Generalist","category":"VC/Tech","homepage":"https://www.generalist.com","homepage_fetch":"HTTP_200","homepage_title":"The Generalist | Mario Gabriele | Substack","revenue_class":"ASSUMPTION","excel_revenue_not_fact":"$1M–$2M est. (3% of 90k × $499)","excel_moat_grade":"","excel_total":null,"pm_coverage":"none_documented","surviving_patterns":["informational_archive_switching_cost","cadence_as_workflow"],"refuse":["competitor_revenue_as_fact"],"public_chrome_paints_revenue":false},{"id":"exec_sum","name":"Exec Sum (Litquidity)","category":"Finance","homepage":"https://www.execsum.co","homepage_fetch":"HTTP_200","homepage_title":"Home | Exec Sum","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"Est. $1M–$3M (ads+IR)","excel_moat_grade":"B","excel_total":28,"pm_coverage":"none_documented","surviving_patterns":["cadence_as_workflow"],"refuse":["invented_open_rates"],"public_chrome_paints_revenue":false},{"id":"marketbeat","name":"MarketBeat","category":"Finance","homepage":"https://www.marketbeat.com","homepage_fetch":"HTTP_200","homepage_title":"MarketBeat: Stock Market News and Research Tools","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"$40M–$50M est.","excel_moat_grade":"B","excel_total":26,"pm_coverage":"none_documented","surviving_patterns":["honest_price_ladder","high_arpu_back_end","track_record_as_moat"],"refuse":["affiliate_majority_as_product","competitor_revenue_as_fact"],"public_chrome_paints_revenue":false},{"id":"stratechery","name":"Stratechery","category":"Tech/Finance","homepage":"https://stratechery.com","homepage_fetch":"HTTP_200","homepage_title":"Stratechery by Ben Thompson","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"$5M+","excel_moat_grade":"A","excel_total":30,"pm_coverage":"none_documented","surviving_patterns":["informational_archive_switching_cost","cadence_as_workflow"],"refuse":["competitor_revenue_as_fact"],"public_chrome_paints_revenue":false},{"id":"slow_boring","name":"Slow Boring","category":"Politics/Policy","homepage":"","homepage_fetch":"CONNECT_FAIL","homepage_title":"","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"listed, no audited $","excel_moat_grade":"","excel_total":null,"pm_coverage":"none_documented","surviving_patterns":["informational_archive_switching_cost","cadence_as_workflow"],"refuse":["competitor_revenue_as_fact"],"public_chrome_paints_revenue":false},{"id":"morning_brew","name":"Morning Brew","category":"Business/Tech","homepage":"https://www.morningbrew.com","homepage_fetch":"HTTP_403_CHALLENGE","homepage_title":"Just a moment...","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"$70M","excel_moat_grade":"B","excel_total":29,"pm_coverage":"none_documented","surviving_patterns":["cadence_as_workflow"],"refuse":["invented_open_rates"],"public_chrome_paints_revenue":false},{"id":"tldr","name":"TLDR","category":"Tech","homepage":"https://tldr.tech","homepage_fetch":"HTTP_200","homepage_title":"TLDR - A Byte Sized Daily Tech Newsletter","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"$10M+","excel_moat_grade":"B","excel_total":27,"pm_coverage":"none_documented","surviving_patterns":["multi_edition_segmentation"],"refuse":["competitor_revenue_as_fact"],"public_chrome_paints_revenue":false},{"id":"lenny","name":"Lenny's Newsletter","category":"Product/Business","homepage":"https://www.lennysnewsletter.com","homepage_fetch":"HTTP_200","homepage_title":"Lenny's Newsletter | Substack","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"$2–3M","excel_moat_grade":"B","excel_total":28,"pm_coverage":"none_documented","surviving_patterns":["informational_archive_switching_cost","cadence_as_workflow"],"refuse":["competitor_revenue_as_fact"],"public_chrome_paints_revenue":false},{"id":"n1440","name":"1440","category":"News","homepage":"https://join1440.com","homepage_fetch":"HTTP_403_CHALLENGE","homepage_title":"Just a moment...","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"$15M","excel_moat_grade":"C","excel_total":23,"pm_coverage":"none_documented","surviving_patterns":["cadence_as_workflow"],"refuse":["invented_open_rates"],"public_chrome_paints_revenue":false},{"id":"pragmatic","name":"The Pragmatic Engineer","category":"Tech","homepage":"https://www.pragmaticengineer.com","homepage_fetch":"HTTP_200","homepage_title":"The Pragmatic Engineer","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"$1.5M+","excel_moat_grade":"A","excel_total":30,"pm_coverage":"none_documented","surviving_patterns":["informational_archive_switching_cost","cadence_as_workflow"],"refuse":["competitor_revenue_as_fact"],"public_chrome_paints_revenue":false},{"id":"silver_bulletin","name":"Silver Bulletin","category":"Forecasting","homepage":"https://www.natesilver.net","homepage_fetch":"HTTP_200","homepage_title":"Silver Bulletin | Substack","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"$1M+","excel_moat_grade":"B","excel_total":29,"pm_coverage":"dedicated_forecast_product","surviving_patterns":["prediction_market_as_product"],"refuse":["competitor_revenue_as_fact"],"public_chrome_paints_revenue":false},{"id":"big_technology","name":"Big Technology","category":"Tech","homepage":"","homepage_fetch":"CONNECT_FAIL","homepage_title":"","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"listed, no audited $","excel_moat_grade":"","excel_total":null,"pm_coverage":"none_documented","surviving_patterns":["informational_archive_switching_cost","cadence_as_workflow"],"refuse":["competitor_revenue_as_fact"],"public_chrome_paints_revenue":false},{"id":"the_hustle","name":"The Hustle","category":"Business","homepage":"","homepage_fetch":"CONNECT_FAIL","homepage_title":"","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"listed, no audited $","excel_moat_grade":"","excel_total":null,"pm_coverage":"none_documented","surviving_patterns":["cadence_as_workflow"],"refuse":["competitor_revenue_as_fact"],"public_chrome_paints_revenue":false},{"id":"axios","name":"Axios Newsletters","category":"News","homepage":"","homepage_fetch":"CONNECT_FAIL","homepage_title":"","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"listed, no audited $","excel_moat_grade":"","excel_total":null,"pm_coverage":"none_documented","surviving_patterns":["multi_edition_segmentation"],"refuse":["competitor_revenue_as_fact"],"public_chrome_paints_revenue":false},{"id":"tangle","name":"Tangle / Isaac Saul","category":"News","homepage":"","homepage_fetch":"CONNECT_FAIL","homepage_title":"","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"listed, no audited $","excel_moat_grade":"","excel_total":null,"pm_coverage":"none_documented","surviving_patterns":["trust_honesty_not_fear"],"refuse":["competitor_revenue_as_fact"],"public_chrome_paints_revenue":false},{"id":"pomp","name":"The Pomp Letter","category":"Crypto/Finance","homepage":"https://pomp.substack.com","homepage_fetch":"HTTP_200","homepage_title":"The Pomp Letter | Anthony Pompliano | Substack","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"$2–5M","excel_moat_grade":"B","excel_total":26,"pm_coverage":"editorial_beat","surviving_patterns":["prediction_market_as_product"],"refuse":["competitor_revenue_as_fact"],"public_chrome_paints_revenue":false},{"id":"milk_road","name":"Milk Road","category":"Crypto","homepage":"https://milkroad.com","homepage_fetch":"HTTP_200","homepage_title":"Milk Road","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"$1M ARR (at sale)","excel_moat_grade":"B","excel_total":25,"pm_coverage":"occasional_or_overstated","surviving_patterns":["trust_honesty_not_fear"],"refuse":["competitor_revenue_as_fact"],"public_chrome_paints_revenue":false},{"id":"messari","name":"Messari","category":"Crypto","homepage":"https://messari.io","homepage_fetch":"HTTP_429","homepage_title":"Vercel Security Checkpoint","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"$5–15M","excel_moat_grade":"A","excel_total":32,"pm_coverage":"editorial_beat","surviving_patterns":["proprietary_object_as_product","high_arpu_back_end"],"refuse":["competitor_revenue_as_fact"],"public_chrome_paints_revenue":false},{"id":"the_block","name":"The Block","category":"Crypto/Institutional","homepage":"https://www.theblock.co","homepage_fetch":"HTTP_403_CHALLENGE","homepage_title":"Just a moment...","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"$5–15M","excel_moat_grade":"B","excel_total":27,"pm_coverage":"editorial_beat","surviving_patterns":["proprietary_object_as_product","high_arpu_back_end"],"refuse":["competitor_revenue_as_fact"],"public_chrome_paints_revenue":false},{"id":"decrypt","name":"Decrypt","category":"Crypto","homepage":"https://decrypt.co","homepage_fetch":"HTTP_200","homepage_title":"Decrypt: AI, Bitcoin, Culture, Gaming, and Crypto News - Decrypt","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"listed, no audited $","excel_moat_grade":"","excel_total":null,"pm_coverage":"occasional_or_overstated","surviving_patterns":["cadence_as_workflow"],"refuse":["competitor_revenue_as_fact"],"public_chrome_paints_revenue":false},{"id":"bankless","name":"Bankless","category":"Crypto","homepage":"https://www.bankless.com","homepage_fetch":"HTTP_200","homepage_title":"Crypto News & Expert Analysis, Industry Leading Podcast | Bankless","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"$3–6M","excel_moat_grade":"A","excel_total":33,"pm_coverage":"editorial_beat","surviving_patterns":["trust_honesty_not_fear"],"refuse":["competitor_revenue_as_fact"],"public_chrome_paints_revenue":false},{"id":"week_eth","name":"Week in Ethereum News","category":"Crypto","homepage":"","homepage_fetch":"CONNECT_FAIL","homepage_title":"","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"listed, no audited $","excel_moat_grade":"","excel_total":null,"pm_coverage":"none_documented","surviving_patterns":["cadence_as_workflow"],"refuse":["competitor_revenue_as_fact"],"public_chrome_paints_revenue":false},{"id":"agora","name":"Agora Financial","category":"Enterprise","homepage":"https://agorafinancial.com","homepage_fetch":"HTTP_200","homepage_title":"Agora Financial","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"$1B+","excel_moat_grade":"B","excel_total":27,"pm_coverage":"none_documented","surviving_patterns":["trust_honesty_not_fear"],"refuse":["agora_fear_funnel"],"public_chrome_paints_revenue":false},{"id":"marketwise","name":"MarketWise","category":"Enterprise","homepage":"https://investors.marketwise.com","homepage_fetch":"HTTP_403_CHALLENGE","homepage_title":"Access Denied","revenue_class":"SEC_FILING_NOT_IN_PACK","excel_revenue_not_fact":"$326M","excel_moat_grade":"B","excel_total":26,"pm_coverage":"none_documented","surviving_patterns":["honest_price_ladder","high_arpu_back_end","track_record_as_moat"],"refuse":["competitor_revenue_as_fact"],"public_chrome_paints_revenue":false},{"id":"motley_fool","name":"Motley Fool","category":"Enterprise","homepage":"https://www.fool.com","homepage_fetch":"HTTP_200","homepage_title":"Stock Market News & Investing Research | The Motley Fool","revenue_class":"VENDOR_MARKETING","excel_revenue_not_fact":"$100M–$200M est.","excel_moat_grade":"B","excel_total":28,"pm_coverage":"none_documented","surviving_patterns":["honest_price_ladder","high_arpu_back_end","track_record_as_moat"],"refuse":["vendor_track_record_as_audited_fact"],"public_chrome_paints_revenue":false},{"id":"the_information","name":"The Information","category":"Enterprise","homepage":"https://www.theinformation.com","homepage_fetch":"HTTP_403_CHALLENGE","homepage_title":"Just a moment...","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"$30M–$50M est.","excel_moat_grade":"","excel_total":null,"pm_coverage":"none_documented","surviving_patterns":["proprietary_object_as_product","high_arpu_back_end"],"refuse":["competitor_revenue_as_fact"],"public_chrome_paints_revenue":false},{"id":"puck","name":"Puck News","category":"Enterprise","homepage":"https://puck.news","homepage_fetch":"HTTP_403_CHALLENGE","homepage_title":"Just a moment...","revenue_class":"ESTIMATE_NOT_AUDITED","excel_revenue_not_fact":"$10M–$20M est.","excel_moat_grade":"","excel_total":null,"pm_coverage":"none_documented","surviving_patterns":["informational_archive_switching_cost","cadence_as_workflow"],"refuse":["competitor_revenue_as_fact"],"public_chrome_paints_revenue":false},{"id":"bloomberg","name":"Bloomberg Terminal/Media","category":"Enterprise","homepage":"https://www.bloomberg.com","homepage_fetch":"HTTP_403_CHALLENGE","homepage_title":"Bloomberg - Are you a robot?","revenue_class":"INTERNAL_CONTRADICTION","excel_revenue_not_fact":"$4B+ (Bloomberg LP total, not a newsletter)","excel_moat_grade":"A","excel_total":32,"pm_coverage":"editorial_beat","surviving_patterns":["proprietary_object_as_product","high_arpu_back_end"],"refuse":["competitor_revenue_as_fact"],"public_chrome_paints_revenue":false}]}}