% ---------------------------------------------------------------------------- % PROVISIONAL inline-number macros for the Stage E prose (Agent 10, 2026-11-05). % Every value below is copied from a Stage D audit output under results/ (file and % field given on each line) and is defined with \providecommand so that the % generated definition in tables/numbers.tex (code/make_tables.py, Agent 9) wins % as soon as it exists. The same list, with value/source/formula, is filed for the % generator in improvements/FIRC-0001/macro_requests_writing.json. Delete this % file once make_tables.py emits every macro (check: grep providecommand). % ---------------------------------------------------------------------------- % ---- ledger, calls, outage (results/ledger/*.json, gate_pass_by_run.csv) ---- \providecommand{\SPIDoutageRowsRemoved}{149{,}352} % log_summary.json:october.outage_rows_reconciliation.difference \providecommand{\SPIDoutageLargestGapStart}{01:25} % throughput.json:largest_gaps_seconds[-1] (2026-10-28) \providecommand{\SPIDoutageLargestGapEnd}{06:40} % throughput.json:largest_gaps_seconds[-1] \providecommand{\SPIDoutageZeroBatchRange}{47--60} % log_summary.json:october.anomalous_batches (batch ids with 0 mentions) \providecommand{\SPIDoutageZeroBatchWindow}{01:44--06:05} % log_summary.json:october.anomalous_batches (first/last timestamp) \providecommand{\SPIDoutageSurvivingRows}{504} % backfill_block.json:rows_in_outage_window[0] \providecommand{\SPIDoutageSurvivingMentions}{1{,}011} % backfill_block.json:rows_in_outage_window[1] \providecommand{\SPIDresumeBatchSections}{5{,}198} % log_summary.json:october.resume_batch1.log_sections \providecommand{\SPIDresumeBatchCiks}{20} % log_summary.json:october.resume_batch1.ciks (length) \providecommand{\SPIDresumeBatchCalls}{2{,}686} % log_summary.json:october.resume_batch1.ledger_calls \providecommand{\SPIDresumeBatchProductive}{23} % log_summary.json:october.resume_batch1.ledger_with_mentions \providecommand{\SPIDresumeBatchExpectedProductive}{536} % resume_batch1_vs_expected.csv: sum(expected_with_mentions) = 536.2 \providecommand{\SPIDresumeBatchMentions}{34} % log_summary.json:october.resume_batch1.log_mentions \providecommand{\SPIDresumeBatchWindow}{06:38--06:40} % log_summary.json:october.resume_batch1.window (2026-10-28) \providecommand{\SPIDresumeBatchZeroSharePct}{99.2} % flush_zero_groups_after_0622.csv (06:40 minute bin, 99.15) \providecommand{\SPIDjuneCalls}{95{,}286} % gate_pass_by_run.csv:backfilled_june.calls \providecommand{\SPIDjuneProductiveShareCalls}{25.6} % gate_pass_by_run.csv:backfilled_june.productive_pct_calls \providecommand{\SPIDoctoberProductiveShareCalls}{23.6} % gate_pass_by_run.csv:october.productive_pct_calls \providecommand{\SPIDlogExtractionCompleteSum}{1{,}117{,}479} % log_summary.json:october.extraction_complete_sum_sections \providecommand{\SPIDlogPendingSecondStart}{968{,}127} % log_summary.json:october.pending_lines[1] \providecommand{\SPIDconfExactDefault}{3{,}278} % code_vs_data_checks.json:confidence_exact_0600_total \providecommand{\SPIDconfExactDefaultJune}{304} % code_vs_data_checks.json:confidence_exact_0600_by_run \providecommand{\SPIDconfExactDefaultOctober}{2{,}974} % code_vs_data_checks.json:confidence_exact_0600_by_run \providecommand{\SPIDamountRawDeviations}{584} % code_vs_data_checks.json:amount_raw_rule_mismatch \providecommand{\SPIDamountNegative}{24} % results/grounding/amount_tail.json:lt_0 \providecommand{\SPIDamountZero}{584} % results/grounding/amount_tail.json:eq_0 \providecommand{\SPIDledgerBackendValue}{llm} % code_vs_data_checks.json:distinct_backend_ledger % ---- grounding (results/grounding/grounding_by_group.csv, grounding_all_structured.csv, grounding_element_level.csv, fallback_bounds.json, amount_tail.json) ---- \providecommand{\SPIDgroundBootstrapReps}{1{,}000} % a02_grounding.py (bootstrap replicates, clustered by section) \providecommand{\SPIDgroundYearsPct}{99.8} % grounding_by_group.csv all/years 0.9976 \providecommand{\SPIDgroundYearsCiLow}{99.7} % ci_low 0.9974 \providecommand{\SPIDgroundYearsCiHigh}{99.8} % ci_high 0.9978 \providecommand{\SPIDgroundPartnersPct}{99.4} % all/partners 0.9940 \providecommand{\SPIDgroundAmountNumberPct}{93.7} % all/amount_number 0.9372 \providecommand{\SPIDgroundAmountCurrencyPct}{80.5} % all/amount_with_currency 0.8047 \providecommand{\SPIDgroundLocationsPct}{78.3} % all/locations 0.7832 \providecommand{\SPIDgroundLocationsTenK}{85.7} % form/locations/10-K 0.8571 \providecommand{\SPIDgroundLocationsTenQ}{82.1} % form/locations/10-Q 0.8207 \providecommand{\SPIDgroundLocationsEightK}{67.8} % form/locations/8-K 0.6780 \providecommand{\SPIDgroundTechPct}{63.6} % all/technologies 0.6358 \providecommand{\SPIDgroundElemYears}{99.7} % grounding_element_level.csv years \providecommand{\SPIDgroundElemPartners}{99.6} % partners \providecommand{\SPIDgroundElemLocations}{84.2} % locations \providecommand{\SPIDgroundElemTech}{70.6} % technologies \providecommand{\SPIDgroundAllPct}{88.2} % grounding_all_structured.csv all 88.17 \providecommand{\SPIDgroundAllN}{276{,}168} % grounding_all_structured.csv all n_with_fields \providecommand{\SPIDgroundAllTenK}{92.2} % 10-K 92.15 \providecommand{\SPIDgroundAllTenQ}{92.4} % 10-Q 92.41 \providecommand{\SPIDgroundAllEightK}{76.6} % 8-K 76.57 \providecommand{\SPIDgroundAllJune}{84.5} % backfilled_june 84.51 \providecommand{\SPIDgroundAllOctober}{88.7} % october 88.74 \providecommand{\SPIDgroundAllTopBin}{86.4} % 0.9-1.0 bin 86.40 \providecommand{\SPIDgroundAllLowerBinsRange}{90.7--94.2} % bins 0.45-0.6 ... 0.8-0.9 \providecommand{\SPIDyearsNonEmptyN}{252{,}469} % fallback_bounds.json:years_nonempty \providecommand{\SPIDyearsRegexEqualN}{98{,}438} % fallback_bounds.json:years_eq_regex_desc \providecommand{\SPIDyearsRegexEqualPct}{39} % 98,438 / 252,469 \providecommand{\SPIDtechNonEmptyN}{36{,}740} % fallback_bounds.json:techs_nonempty \providecommand{\SPIDtechRegexEqualN}{16{,}949} % fallback_bounds.json:techs_eq_regex_desc \providecommand{\SPIDtechRegexEqualPct}{46} % 16,949 / 36,740 \providecommand{\SPIDyearsAbsentFromText}{604} % fallback_bounds.json:years_not_subset_of_text \providecommand{\SPIDtypeSignalMaPct}{79.8} % fallback_bounds.json:type_signal_in_name_desc_by_type ma_integration \providecommand{\SPIDtypeSignalTechDeployPct}{5.4} % technology_deployment 5.35 \providecommand{\SPIDtechDeployMentionedN}{124} % fallback_bounds.json:tech_deploy_total[1] \providecommand{\SPIDtechDeployMentionedNoSignal}{90} % fallback_bounds.json:tech_deploy_mentioned_no_any_signal \providecommand{\SPIDamountMaxSci}{1.0 \times 10^{12}} % amount_tail.json:max_amount (math mode) \providecommand{\SPIDamountGeFiftyBMentions}{161} % amount_tail.json:ge_50e9 \providecommand{\SPIDamountGeFiftyBProjects}{104} % amount_tail.json:projects_max_amount_ge_50e9 \providecommand{\SPIDamountTopNumberFound}{191} % amount_tail.json:top200_grounded_number[0] \providecommand{\SPIDamountTopCurrencyFound}{178} % amount_tail.json:top200_grounded_number[1] \providecommand{\SPIDamountTopN}{200} % amount_tail.json:top200_grounded_number[2] \providecommand{\SPIDamountNonUsdTokenN}{1{,}837} % amount_tail.json:nonusd_within_40_share[0] \providecommand{\SPIDamountLocatedN}{112{,}692} % amount_tail.json:nonusd_within_40_share[1] \providecommand{\SPIDamountNonUsdTokenPct}{1.6} % 1,837 / 112,692 % ---- resolver (results/resolver/composition.json, spec_curve.csv, top_name_tokens.csv, overmerge_by_type.csv, ties_idempotence.json, june_october_reconciliation.json) ---- \providecommand{\SPIDmentionsKeyedLocation}{118{,}783} % composition.json:mentions_by_key_branch location \providecommand{\SPIDmentionsKeyedNameToken}{187{,}212} % composition.json:mentions_by_key_branch name_token \providecommand{\SPIDmentionsKeyedNameTokenPct}{60.8} % 187,212 / 308,065 \providecommand{\SPIDtopTokenMentions}{40{,}407} % top_name_tokens.csv acquisition \providecommand{\SPIDtopTokenProjects}{2{,}256} % top_name_tokens.csv acquisition \providecommand{\SPIDtopTokenSharePct}{21.4} % pct_of_tokenkeyed_mentions \providecommand{\SPIDlocationKeysCountry}{8{,}126} % composition.json:location_keyed_projects_by_geo_kind country \providecommand{\SPIDlocationKeysUsState}{6{,}110} % us_state \providecommand{\SPIDlocationKeysCountryStatePct}{26} % (8,126 + 6,110) / 54,658 \providecommand{\SPIDlocationKeyUnitedStatesProjects}{2{,}551}% top_location_keys.csv 'united states' \providecommand{\SPIDprojectsKeyCikType}{21{,}027} % spec_curve.csv k_cik_type 0.45 \providecommand{\SPIDprojectsKeyTypeDropped}{96{,}749} % k_type_dropped 0.45 \providecommand{\SPIDprojectsKeyNameOnly}{114{,}244} % k_name_only 0.45 \providecommand{\SPIDprojectsKeyCityNorm}{123{,}246} % k_city_normalised 0.45 \providecommand{\SPIDprojectsKeyStopwords}{130{,}101} % k_current_stopwords 0.45 \providecommand{\SPIDprojectsKeyTwoTokens}{145{,}697} % k_two_tokens 0.45 \providecommand{\SPIDprojectsKeyStrict}{198{,}488} % k_strict 0.45 \providecommand{\SPIDprojectsKeyMentionLevel}{308{,}065} % k_mention_level 0.45 \providecommand{\SPIDprojectsCurrentKeyAtNine}{83{,}483} % k_current 0.9 \providecommand{\SPIDsingleMentionShareStrict}{75.8} % k_strict 0.45 single_mention_pct \providecommand{\SPIDsingleMentionShareCikType}{20.7} % k_cik_type 0.45 \providecommand{\SPIDchenierClusterCurrent}{8} % example_cluster_size_cheniere k_current \providecommand{\SPIDchenierClusterStrict}{1} % k_strict \providecommand{\SPIDchenierClusterNameOnly}{40} % k_name_only \providecommand{\SPIDchenierClusterCikType}{176} % k_cik_type \providecommand{\SPIDmaGeThreeNamesPct}{14.6} % overmerge_by_type.csv ma_integration pct_ge3_names \providecommand{\SPIDmaGeThreeNamesOverTenPct}{86.6} % overmerge_ma_by_bucket.csv >10 mentions \providecommand{\SPIDmaGeThreePartnersPct}{10.9} % overmerge_by_type.csv ma_integration pct_ge3_partners_among_with_partner \providecommand{\SPIDmaAmountOtherCounterpartyN}{1{,}630} % composition.json:amount_from_other_counterparty_ma[0] \providecommand{\SPIDmaAmountOtherCounterpartyDenom}{12{,}372}% composition.json:amount_from_other_counterparty_ma[1] \providecommand{\SPIDamountOtherCounterpartyN}{2{,}347} % composition.json:amount_from_other_counterparty[0] \providecommand{\SPIDamountOtherCounterpartyDenom}{21{,}908} % composition.json:amount_from_other_counterparty[1] \providecommand{\SPIDprojectsTieDistinctDescriptions}{29{,}954} % ties_idempotence.json \providecommand{\SPIDrebuiltNameDiff}{394} % ties_idempotence.json:rebuilt_vs_stored_diff[0] \providecommand{\SPIDrebuiltDescDiff}{600} % ties_idempotence.json:rebuilt_vs_stored_diff[2] \providecommand{\SPIDtiebreakNameDiff}{11{,}484} % ties_idempotence.json:deterministic_vs_stored_diff[0] \providecommand{\SPIDtiebreakStatusDiff}{503} % [1] \providecommand{\SPIDtiebreakDescDiff}{18{,}256} % [2] \providecommand{\SPIDjuneProjects}{19{,}227} % june_october_reconciliation.json:projects_from_backfilled_block_only \providecommand{\SPIDspMentions}{70{,}367} % sp500_mentions_total \providecommand{\SPIDspProjects}{27{,}766} % sp500_projects_total \providecommand{\SPIDspProjectsJuneOnly}{15{,}910} % sp500_projects_by_run_composition \providecommand{\SPIDspProjectsBothRuns}{3{,}317} \providecommand{\SPIDspProjectsOctoberOnly}{8{,}539} \providecommand{\SPIDoctoberSpTenQSections}{116{,}231} % sp500_october_ledger_by_form 10-Q \providecommand{\SPIDoctoberSpTenQFilings}{19{,}399} \providecommand{\SPIDoctoberSpTenQMentions}{28{,}963} % sp500_mentions_by_run_form october 10-Q \providecommand{\SPIDjuneTenQFilings}{3{,}710} % june_10q_accessions_in_block_ledger \providecommand{\SPIDjuneTenQSections}{23{,}873} % ledger_block_accessions_by_form 10-Q \providecommand{\SPIDjuneTenQMentions}{5{,}817} % sp500_mentions_by_run_form backfilled_june 10-Q \providecommand{\SPIDoctoberSpTenKMentions}{910} % october 10-K \providecommand{\SPIDoctoberSpEightKMentions}{564} % october 8-K % ---- two runs / two segmenters (results/runs/git_evidence.md, segmenters.json, segmenter_item_comparison.csv, funnel_10k.json, within_*.csv, table6_cohort*.json/csv, fiscal_year_audit.json) ---- \providecommand{\SPIDrepoCommits}{six} % git_evidence.md: all commits dated 2026-10-27/28 \providecommand{\SPIDextractorMtimeDate}{June~17, 2026} % git_evidence.md: llm.py, rules.py, base.py, taxonomy.py, resolve.py, ingest.py mtimes \providecommand{\SPIDdiffStoreLines}{$+3/-1$} % git_diff_df7905d_2324b58.patch (store.py) \providecommand{\SPIDdiffParserLines}{$+13/-7$} % git_diff_0304133_2324b58.patch (filing_parser.py) \providecommand{\SPIDlegacyTenKRows}{27{,}164} % segmenters.json:legacy_rows \providecommand{\SPIDlegacyTenKFilings}{7{,}368} % segmenters.json:legacy_accessions \providecommand{\SPIDlegacyShareTenKLedgerPct}{18.9} % 27,164 / 143,704 \providecommand{\SPIDsegPairs}{25{,}673} % segmenters.json:legacy_rows_matched_by_item \providecommand{\SPIDlegacyMdnaDollar}{141} % segmenter_item_comparison.csv md_and_a legacy_mean_dollar \providecommand{\SPIDparsedMdnaDollar}{272} % parsed_mean_dollar \providecommand{\SPIDlegacyMdnaWords}{9{,}921} % legacy_median_words \providecommand{\SPIDparsedMdnaWords}{11{,}661} % parsed_median_words \providecommand{\SPIDlegacyFewerMoneyPct}{92.3} % pct_legacy_fewer_money_tokens \providecommand{\SPIDlegacyMdnaNumeric}{596} % legacy_mean_numeric \providecommand{\SPIDparsedMdnaNumeric}{1{,}177} % parsed_mean_numeric \providecommand{\SPIDpropertiesLtHalfPct}{19.4} % properties pct_legacy_lt_half_words \providecommand{\SPIDfullBodyMedianWords}{44{,}514} % segmenters.json:full_body_rows[2] \providecommand{\SPIDfullBodyYield}{0.67} % full_body_ledger_yield[3] \providecommand{\SPIDfullBodyProductivePct}{25.7} % full_body_ledger_yield[4] \providecommand{\SPIDfullBodyWithParsedItems}{1{,}117} % implemented_changes.md N4 (segmenters.json) \providecommand{\SPIDfullBodyUnsubmittedSections}{5{,}385} % implemented_changes.md N4 (segmenters.json) \providecommand{\SPIDfullDocumentTenK}{86} % segmenters.json / funnel_10k.json \providecommand{\SPIDfullDocumentTenKLegacy}{51} % parsed_section_names_same_accessions full_document \providecommand{\SPIDfullDocumentTenKInvisible}{35} % 86 - 51 \providecommand{\SPIDfullDocumentTenQ}{243} % funnel_10k.json:parsed_10q_items full_document \providecommand{\SPIDfullDocumentTenQLedgered}{241} % funnel_10k.json:ledger_10q_items full_document \providecommand{\SPIDtenKparsedRows}{341{,}207} % funnel_10k.json:parsed_10k_rows_total \providecommand{\SPIDtenKoutOfScopeRows}{188{,}518} % parsed_10k_rows_out_of_scope_item \providecommand{\SPIDtenKlegacyAccessionRows}{35{,}037} % parsed_10k_in_scope_rows_of_legacy_accessions \providecommand{\SPIDtenKunderThirtyRows}{1{,}112} % parsed_10k_in_scope_rows_lt30_words_non_legacy \providecommand{\SPIDtenKparsedLedgered}{116{,}540} % parsed_10k_in_scope_rows_ge30_non_legacy \providecommand{\SPIDwithinProductiveJune}{12.4} % within_sp500_by_run_form.csv backfilled_june 10-Q productive_pct \providecommand{\SPIDwithinProductiveOctober}{12.7} % october 10-Q \providecommand{\SPIDwithinMentionsPerRowJune}{0.244} % mentions_per_row \providecommand{\SPIDwithinMentionsPerRowOctober}{0.250} \providecommand{\SPIDwithinConfJune}{0.889} % within_sp500_10q_mentions_by_run.csv mean_conf \providecommand{\SPIDwithinConfOctober}{0.893} \providecommand{\SPIDwithinMaShareJune}{49.9} % within_sp500_10q_type_mix_by_run.csv ma_integration \providecommand{\SPIDwithinMaShareOctober}{45.7} \providecommand{\SPIDpairedIssuers}{81} % within_issuer_paired_10q.json:issuers_paired \providecommand{\SPIDpairedDeltaPp}{0.6} % mean_diff_productive_share_oct_minus_june (pp) \providecommand{\SPIDpairedSePp}{1.3} % se (pp) \providecommand{\SPIDcohortIssuersBoth}{491} % table6_cohort.csv both.issuers \providecommand{\SPIDcohortIssuersRussellOnly}{1{,}992} % russell_only.issuers \providecommand{\SPIDcohortIssuersSpOnly}{9} % sp500_only.issuers \providecommand{\SPIDcohortBothPerIssuerAll}{55.8} % both.per_issuer_all \providecommand{\SPIDcohortRussellOnlyPerIssuer}{46.9} % russell_only.per_issuer_all \providecommand{\SPIDcohortBothPerIssuerOctober}{25.1} % both.per_issuer_october_only \providecommand{\SPIDcohortOlsAll}{8.84} % table6_cohort_regression.json:projects_all_on_sp500.in_sp500.coef \providecommand{\SPIDcohortOlsAllSe}{1.62} % hc1_se \providecommand{\SPIDcohortOlsOctober}{-22.98} % projects_october_only_on_sp500.in_sp500.coef \providecommand{\SPIDcohortOlsOctoberSe}{1.20} \providecommand{\SPIDcohortOlsControlled}{-0.28} % projects_all_on_sp500_log_rows.in_sp500.coef \providecommand{\SPIDcohortOlsControlledSe}{1.52} \providecommand{\SPIDcohortOlsN}{2{,}499} % n \providecommand{\SPIDfiscalYearNullMentions}{68{,}827} % fiscal_year_audit.json \providecommand{\SPIDfiscalYearNullOctTenK}{823} \providecommand{\SPIDfiscalYearNullOctTenQ}{28{,}074} \providecommand{\SPIDfiscalYearNullFilings}{134{,}124} % src_filings_fiscal_year_null_by_form (sum) \providecommand{\SPIDfiscalYearFillAccessions}{31{,}976} % fiscal_year_fill_by_accession.csv rows % ---- focus windows (results/focus/stats_keys.json, focus_coverage_by_form_item.csv, shown_fraction_bins.csv, mdna_10k_short_by_year.csv; results/rules/focus_recall_loss*.csv) ---- \providecommand{\SPIDfocusOverBudgetSections}{326{,}095} % stats_keys.json:ledger_sections_over_9000_chars \providecommand{\SPIDfocusOverBudgetSectionsPct}{29} % 326,095 / 1,123,098 \providecommand{\SPIDfocusOverBudgetCalls}{324{,}386} % stats_keys.json:calls_over_9000_chars \providecommand{\SPIDfocusOverBudgetCallsPct}{46} % 324,386 / 703,725 \providecommand{\SPIDfocusMeanShownOverBudgetPct}{15.9} % stats_keys.json:mean_shown_frac_over_budget \providecommand{\SPIDmdnaN}{28{,}919} % stats_keys.json:ledger_10k_mdna_n \providecommand{\SPIDmdnaMedianWords}{9{,}905} % stats_keys.json:ledger_10k_mdna_median_words \providecommand{\SPIDmdnaMedianChars}{64{,}194} % ledger_10k_mdna_median_chars \providecommand{\SPIDmdnaShownMedianPct}{9.3} % ledger_10k_mdna_shown_p50 \providecommand{\SPIDmdnaShownPTenPct}{4.3} % focus_coverage_by_form_item.csv 10-K md_and_a shown_p10 \providecommand{\SPIDmdnaShownPNinetyPct}{24} % shown_p90 \providecommand{\SPIDmdnaLastShownMedianPct}{16} % ledger_10k_mdna_last_p50 \providecommand{\SPIDmdnaShownLtTwentyFivePct}{90.5} % ledger_10k_mdna_pct_shown_lt_25 \providecommand{\SPIDmdnaHitsShownMedianPct}{15.6} % hits_shown_p50 \providecommand{\SPIDbusinessShownMedianPct}{15.7} % 10-K business shown_p50 \providecommand{\SPIDriskShownMedianPct}{10.1} % 10-K risk_factors shown_p50 \providecommand{\SPIDtenQmdnaShownMedianPct}{13.2} % 10-Q md_and_a shown_p50 \providecommand{\SPIDtenQfinShownMedianPct}{10.6} % 10-Q financial_statements shown_p50 \providecommand{\SPIDeightKWholePct}{91} % 100 - 8-K pct_over_9000 (8.82) \providecommand{\SPIDmsgTruncatedN}{0} % stats_keys.json:msg_truncated_14k \providecommand{\SPIDmentionsFromLtTwentyFive}{193{,}416} % stats_keys.json:mentions_from_sections_shown_lt_25 \providecommand{\SPIDmentionsFromLtTwentyFivePct}{62.7} % / 308,477 \providecommand{\SPIDmentionsFromLtTwentyFiveTenK}{84} % focus_coverage_by_form.csv 10-K pct_mentions_from_lt25 \providecommand{\SPIDmentionsFromLtTwentyFiveTenQ}{79} % 10-Q \providecommand{\SPIDmentionsFromLtTwentyFiveEightK}{6} % 8-K (5.74) \providecommand{\SPIDplateauLow}{0.4} % mentions_vs_length_by_item.csv 10-K md_and_a \providecommand{\SPIDplateauHigh}{1.5} \providecommand{\SPIDplateauRange}{1.2--1.6} \providecommand{\SPIDplateauKchars}{20{,}000} \providecommand{\SPIDmentionsPerTenKShownChars}{2.5} \providecommand{\SPIDcapexVocabShownMdnaPct}{5.8} % focus_coverage_by_form_item.csv pct_capex_vocab_shown_over_budget 10-K md_and_a \providecommand{\SPIDcapexVocabShownBusinessPct}{10.0} \providecommand{\SPIDcapexVocabShownTenQmdnaPct}{8.3} \providecommand{\SPIDshortMdnaN}{169} % mdna_10k_short_by_year.csv sum(lt30_words) \providecommand{\SPIDshortMdnaDenom}{29{,}088} % sum(mdna_sections) \providecommand{\SPIDshortMdnaPct}{0.6} \providecommand{\SPIDshortMdnaIncorporatedN}{470} % sum(lt300_incorporated_by_ref) \providecommand{\SPIDrulesFocusRecovered}{84{,}841} % focus_recall_loss_overall.csv rules_focused \providecommand{\SPIDrulesFocusTotal}{324{,}237} % rules_full \providecommand{\SPIDrulesFocusRecoveredPct}{26.2} % 100 - pct_lost \providecommand{\SPIDrulesFocusMdnaPct}{20.8} % focus_recall_loss.csv 10-K md_and_a (100 - 79.18) \providecommand{\SPIDrulesFocusBusinessPct}{36.9} % 10-K business \providecommand{\SPIDrulesFocusTenQmdnaPct}{25.1} % 10-Q md_and_a \providecommand{\SPIDrulesFocusEightKPct}{84.2} % 8-K full_body % ---- rules baseline (results/rules/agreement_overall.csv, agreement_by_form.csv, agreement_by_run.csv, type_agreement.csv) ---- \providecommand{\SPIDrulesSampleProductive}{30{,}000} % manifest.json notes.sample \providecommand{\SPIDrulesSampleZero}{30{,}000} \providecommand{\SPIDrulesGivenLlmPct}{85.7} % p_rules_given_llm \providecommand{\SPIDrulesGivenLlmTenK}{97.4} \providecommand{\SPIDrulesGivenLlmTenQ}{94.4} \providecommand{\SPIDrulesGivenLlmEightK}{69.2} \providecommand{\SPIDrulesGivenLlmJune}{79.8} \providecommand{\SPIDrulesGivenLlmOctober}{86.7} \providecommand{\SPIDllmGivenRulesPct}{32.5} % p_llm_given_rules_weighted \providecommand{\SPIDrulesFlagPct}{39.5} % rules_pos_pct_weighted \providecommand{\SPIDrulesAgreementPct}{71.2} % agreement_pct_w \providecommand{\SPIDrulesLlmOnlyPct}{2.1} \providecommand{\SPIDrulesOnlyPct}{26.6} \providecommand{\SPIDrulesTypeOverlapPct}{84.6} % type_overlap_pct_codetected \providecommand{\SPIDrulesTypeMa}{96.8} % type_agreement.csv \providecommand{\SPIDrulesTypeDrug}{92.5} \providecommand{\SPIDrulesTypeCost}{76.9} \providecommand{\SPIDrulesTypeCapex}{55.2} \providecommand{\SPIDrulesTypePlant}{40.7} \providecommand{\SPIDrulesTypeGeo}{36.5} % ---- financing / buy-back false-positive classes (results/fp_classes/summary.json, financing_regex_by_type.csv, _by_item.csv, _terms.csv, table5_restated_excl_financing.csv) ---- \providecommand{\SPIDfinMentions}{22{,}412} % summary.json:mentions_matched[0] \providecommand{\SPIDfinMentionsPct}{7.3} % 7.28 \providecommand{\SPIDfinAmountB}{17.8} % matched_amount_gusd[0] / 1000 \providecommand{\SPIDfinAmountDenomB}{104.2} % matched_amount_gusd[1] / 1000 \providecommand{\SPIDfinUnregN}{5{,}179} % unregistered_sales_matched[0] \providecommand{\SPIDfinUnregDenom}{9{,}506} \providecommand{\SPIDfinUnregPct}{54.5} \providecommand{\SPIDfinEightKPct}{19.2} % financing_regex_by_item.csv 8-K full_body \providecommand{\SPIDfinFinStatementsPct}{2.4} % 10-Q financial_statements \providecommand{\SPIDfinControlsPct}{0.2} % 10-Q controls_and_procedures \providecommand{\SPIDfinCapexPct}{52.6} % financing_regex_by_type.csv capex_program \providecommand{\SPIDfinCostPct}{16.4} % cost_reduction \providecommand{\SPIDfinMaPct}{7.0} % ma_integration \providecommand{\SPIDcapexProjectsExcl}{4{,}725} % table5_restated_excl_financing.csv capex_program \providecommand{\SPIDcapexShareExcl}{4.3} \providecommand{\SPIDcostProjectsExcl}{5{,}403} \providecommand{\SPIDmaProjectsExcl}{37{,}527} \providecommand{\SPIDfinProjectsRep}{12{,}027} % summary.json:projects_matched_rep[0] \providecommand{\SPIDfinProjectsRepPct}{9.9} \providecommand{\SPIDfinProjectsAny}{13{,}139} % projects_matched_rep[1] \providecommand{\SPIDitemTwoPairs}{77{,}869} % summary.json:item2_collision pairs \providecommand{\SPIDunregMedianWords}{602} \providecommand{\SPIDtenQmdnaMedianWords}{7{,}573} \providecommand{\SPIDunregGtThreeK}{1{,}001} \providecommand{\SPIDunregGtThreeKPct}{1.3} \providecommand{\SPIDswapCandidates}{296} \providecommand{\SPIDunregGtThreeKMentions}{425} \providecommand{\SPIDfinTermRepurchase}{10{,}886} % financing_regex_terms.csv \providecommand{\SPIDfinTermSeniorNotes}{3{,}375} \providecommand{\SPIDfinTermTermLoan}{2{,}263} % ---- 8-K item-code consistency (results/benchmark_8k/summary.json, item_vs_type.csv scope=all_8k_sections) ---- \providecommand{\SPIDeightKItemCodePct}{99.7} % summary.json:coverage_pct 99.74 \providecommand{\SPIDbenchMaGivenTwoOhOne}{0.911} % p_type_given_item ma_integration | Item 2.01 \providecommand{\SPIDbenchMaGivenTwoOhOneCiLow}{0.903} \providecommand{\SPIDbenchMaGivenTwoOhOneCiHigh}{0.918} \providecommand{\SPIDbenchTwoOhOneN}{5{,}456} % n_item \providecommand{\SPIDbenchMaGivenEightOhOne}{0.199} % Item 8.01 (control) \providecommand{\SPIDbenchMaGivenFiveOhTwo}{0.031} % Item 5.02 (control) \providecommand{\SPIDbenchMaBase}{0.095} % base_rate_type \providecommand{\SPIDbenchItemsGivenMa}{0.467} % p_item_given_type, Item 2.01 or 1.01 \providecommand{\SPIDbenchCostGivenTwoOhFive}{0.709} % cost_reduction | Item 2.05 \providecommand{\SPIDbenchCostGivenTwoOhFiveCiLow}{0.687} \providecommand{\SPIDbenchCostGivenTwoOhFiveCiHigh}{0.730} \providecommand{\SPIDbenchTwoOhFiveN}{1{,}700} \providecommand{\SPIDbenchCostLift}{92} % lift_type_given_item 92.05 \providecommand{\SPIDbenchTwoOhFiveGivenCost}{0.392} \providecommand{\SPIDbenchPartnershipGivenOneOhOne}{0.040} \providecommand{\SPIDbenchPartnershipBase}{0.011} % ---- annotation frame (results/annotation_frame/design.json) ---- \providecommand{\SPIDannSeed}{20261105} \providecommand{\SPIDannStrata}{192} \providecommand{\SPIDannNProductive}{1{,}677} \providecommand{\SPIDannNZero}{385} \providecommand{\SPIDannZeroGatePass}{285} \providecommand{\SPIDannZeroGateReject}{100} \providecommand{\SPIDannCore}{510} \providecommand{\SPIDannDev}{1{,}058} \providecommand{\SPIDannHoldout}{1{,}004} \providecommand{\SPIDannDeffProductive}{3.4} \providecommand{\SPIDannDeffZero}{1.2} \providecommand{\SPIDannHalfWidthPrecision}{4.4} % half_width_95_precision_p0.5 (pp) \providecommand{\SPIDannHalfWidthFn}{2.4} % half_width_95_zero_fn_rate 0.05 (pp) \providecommand{\SPIDannMde}{7.8} % mde_gate_recall_diff_at_p0.05 (pp) \providecommand{\SPIDannFloor}{10} \providecommand{\SPIDannOversample}{2} \providecommand{\SPIDannPopProductive}{168{,}230} \providecommand{\SPIDannPopZero}{954{,}868} % ---- time series (results/timeseries/summary.json, first_seen_fixed_cohort.csv) ---- \providecommand{\SPIDfirstSeenLastYear}{6{,}694} % all_issuers 2026 first_seen_current_key \providecommand{\SPIDfixedCohortIssuers}{1{,}389} % summary.json:cohort_issuers \providecommand{\SPIDfixedCohortMentionsPerIssuerFirst}{9.6} % 2011 \providecommand{\SPIDfixedCohortMentionsPerIssuerLast}{8.8} % 2025 (8.75) \providecommand{\SPIDfixedCohortNewPerIssuerFirst}{4.7} % 2011 \providecommand{\SPIDfixedCohortNewPerIssuerLast}{2.8} % 2025 (2.83) \providecommand{\SPIDfixedCohortFirstSeenFirst}{6{,}533} % 2011 \providecommand{\SPIDfixedCohortFirstSeenLast}{3{,}926} % 2025 \providecommand{\SPIDepisodesKthree}{131{,}823} % summary.json:episodes_k3_total \providecommand{\SPIDepisodesKfive}{126{,}318} % ---- universe and corpus artefacts (results/universe/universe_artefacts.json, results/russell_coverage.json, data/stats.json) ---- \providecommand{\SPIDdualClassCiks}{18} % 2,573 - 2,555 \providecommand{\SPIDuniverseBoth}{491} % implemented_changes.md N10 (universe.json) \providecommand{\SPIDuniverseSpOnly}{9} \providecommand{\SPIDuniverseRuOnly}{2{,}064} \providecommand{\SPIDparseErrors}{14} % filings_status_missing.csv parse_status = error \providecommand{\SPIDannualPanelFirms}{2{,}499} % stats.json:annual_panel_firms \providecommand{\SPIDrussellGapMax}{441} % 2,996 - 2,555 \providecommand{\SPIDrussellGapMaxPct}{14.7} \providecommand{\SPIDfactsheetDate}{September~30, 2026} % russell_coverage.json:index_as_of \providecommand{\SPIDiwvHoldingsDate}{October~23, 2026} % stats.json:universe.russell_holdings_as_of \providecommand{\SPIDiwvFetchDate}{October~27, 2026} % universe_artefacts.json:russell_scalars.fetched_at \providecommand{\SPIDiwvPageDate}{November~4, 2026} % russell_coverage.json:fund_holdings_as_of \providecommand{\SPIDiwvProspectusDate}{July~31, 2026} % russell_coverage.json:replication_source_title \providecommand{\SPIDuniverseJsonSha}{3967b29b} % universe_artefacts.json sha256 prefix \providecommand{\SPIDrussellJsonSha}{758cbebf} \providecommand{\SPIDspJsonSha}{50840752} \providecommand{\SPIDfactsheetSha}{281e9264} % russell_coverage.json:source_sha256 prefix \providecommand{\SPIDmethodologySha}{26d2d051} % methodology_document.sha256 prefix \providecommand{\SPIDissuersWithoutFilings}{65} % stats.json / Table 1 \providecommand{\SPIDissuersFilingsNoProject}{7} % 2,499 - 2,492 \providecommand{\SPIDspWikipediaRows}{503} % universe_artefacts.json:sp500_scalars.count \providecommand{\SPIDspWikipediaDate}{May~25, 2026} % sp500_scalars.fetched_at \providecommand{\SPIDtickerMapSize}{10{,}430} % cik_mapping_scalars.count % ---- run facts quoted in the text (docs/research_log.md, environment.md, reproducibility) ---- \providecommand{\SPIDtotalCostUsd}{775} % research_log.md 2026-10-27/28 (author-reported total) \providecommand{\SPIDworkers}{48} % log_summary.json:october.workers_values \providecommand{\SPIDrequirementsLockPackages}{88} % requirements.lock (N12) \providecommand{\SPIDpythonVersion}{3.12.15} % .python-version (N12) \providecommand{\SPIDduckdbVersion}{2.0.0} % environment.md (N12) \providecommand{\SPIDreferencesN}{42} % references.bib entries (L4) \providecommand{\SPIDdoiVerifiedN}{36} % L4: DOIs re-resolved 2026-11-05 \providecommand{\SPIDtestsN}{22} % tests/test_tables.py (L6) \providecommand{\SPIDsnapshotFilesN}{nine} % code/audit/spid_snapshot/SHA256SUMS \providecommand{\SPIDjuneRunDate}{June~18, 2026} % log_summary.json:june.first/last \providecommand{\SPIDbackfillTimestamp}{October~27, 2026, 13:12} % backfill_block.json:min_extracted_at % ---- added for Sections 3-4 (data.tex, methodology.tex) ---- \providecommand{\SPIDissuersFilingFirstYear}{1{,}392} % results/timeseries/first_seen_fixed_cohort.csv all_issuers 2010 issuers_filing \providecommand{\SPIDissuersFilingLastYear}{2{,}498} % all_issuers 2026 issuers_filing \providecommand{\SPIDfilingsNotParsedPct}{0.003} % 16 / 527,548 \providecommand{\SPIDcorpusDbGb}{68} % results/*/manifest.json edgar_research.duckdb 73,500,995,584 B (= 68.5 GiB) \providecommand{\SPIDspidDbGb}{3.2} % spid.duckdb 3,155,701,760 B \providecommand{\SPIDcorpusParquetGb}{29.1} % results/n0_probe (N0): parquet 1,342,283 sections / 29.1 GB \providecommand{\SPIDacqNewDocs}{about 400{,}000} % author-reported run fact (docs/research_log.md 2026-10-27); orchestrator log not archived with the paper \providecommand{\SPIDacqHours}{seven} % author-reported run fact; not archived \providecommand{\SPIDacqReqPerSec}{17} % author-reported run fact; not archived \providecommand{\SPIDacqNodes}{ten} % docs/research_log.md 2026-10-27 (10 cluster nodes + 1 external gateway) \providecommand{\SPIDacqNodeRate}{0.9} % author-reported (requests per second per node) \providecommand{\SPIDacqGatewayRate}{one} % author-reported (requests per second per shard on the gateway) \providecommand{\SPIDacqGatewayDivisor}{nine} % author-reported (requests per second shared behind one IP) \providecommand{\SPIDparseFilingsPerSec}{100} % author-reported run fact; not archived \providecommand{\SPIDparseMinutesRange}{five to thirteen} % author-reported run fact; not archived \providecommand{\SPIDembedMinutesRange}{15--40} % author-reported run fact; not archived \providecommand{\SPIDmergeMinutes}{seven} % author-reported run fact; not archived \providecommand{\SPIDworkersJune}{16} % results/ledger/log_summary.json:june.ciks_total_lines (workers=16) \providecommand{\SPIDjuneBatchSize}{15} % log_summary.json:june (batch=15) \providecommand{\SPIDoctoberBatchSize}{20} % log_summary.json:october.batch_values \providecommand{\SPIDfocusWindowBefore}{220} % code/audit/spid_snapshot/llm.py _focus (characters before a gate hit) \providecommand{\SPIDfocusWindowAfter}{380} % llm.py _focus (characters after a gate hit) \providecommand{\SPIDfocusCollectBudget}{12{,}600} % llm.py _focus (collection stop) \providecommand{\SPIDfocusEmitBudget}{9{,}000} % llm.py _focus (emitted budget) \providecommand{\SPIDuserMessageCap}{14{,}000} % llm.py:126 user message cut \providecommand{\SPIDminWords}{30} % config.py / pipeline.py minimum section length \providecommand{\SPIDconfThreshold}{0.45} % llm.py confidence threshold \providecommand{\SPIDconfDefault}{0.6} % llm.py:142-146 default when confidence is missing or non-numeric \providecommand{\SPIDcompletionTokens}{2{,}000} % llm.py completion limit \providecommand{\SPIDlistItemsMax}{eight} % llm.py list truncation \providecommand{\SPIDlistItemChars}{120} % llm.py list item truncation \providecommand{\SPIDidNameChars}{40} % llm.py:141 anchor = type + name[:40] \providecommand{\SPIDretries}{three} % llm.py:119-120 retries before returning an empty list \providecommand{\SPIDtimeoutSeconds}{120} % llm.py call timeout \providecommand{\SPIDtenKsectionsMax}{fourteen} % src/parsing/section_extractor.py (Items 1 to 9B) \providecommand{\SPIDtenQsectionsN}{seven} % src/parsing/section_extractor.py \providecommand{\SPIDchunkWords}{512} % src/parsing/chunker.py \providecommand{\SPIDchunkOverlap}{64} % src/parsing/chunker.py \providecommand{\SPIDmaxFileMb}{50} % src/parsing/html_parser.py \providecommand{\SPIDembeddingDim}{384} % MiniLM embedding dimension (scripts/build_embeddings.py) \providecommand{\SPIDsecRateLimit}{ten} % secfairaccess (requests per second) \providecommand{\SPIDcooldownSeconds}{65} % src/acquisition/bulk_downloader.py \providecommand{\SPIDfactorAnchors}{8} % scripts/build_factors.py (thematic anchors) \providecommand{\SPIDembeddingsRows}{10{,}720{,}890} % stats.json chunks \providecommand{\SPIDannualPanelRows}{32{,}852} % data/factor_tables.csv annual_panel rows \providecommand{\SPIDquarterlyPanelRows}{128{,}043} % data/factor_tables.csv quarterly_panel rows