N5: focus-window coverage of every ledger section (shown fraction, last offset, gate hits shown, plateau, short MD&As)
Items: FIRC0001-EDIT-08 THEO-09 AI_C-06 ECON-05 AI_C-20 DATA-08 THEO-13. _focus replicated span-exactly on 1,123,098 sections (0 mismatches; 23.4 GB streamed in 585 s); Python gate = DuckDB gate = 703,737. 10-K MD&A: median 9,905 words / 64,194 chars reproduced; median shown 9.3 %, last shown offset at 16 % of the text, 90.5 % of sections shown < 25 %; 62.7 % of all mentions come from sections shown < 25 %; 0 messages cut at 14,000 chars; mentions/section plateau ~1.5 beyond 20k chars. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
10 changed files +446 −0
added
code/audit/a05_focus_coverage.py
+165 −0
@@ -0,0 +1,165 @@ | ||
| 1 | +"""N5 - focus-window coverage: what share of every ledger section the model actually saw (cluster E). | |
| 2 | + | |
| 3 | +Imports _focus / _PROJECT_GATE from the hash-verified snapshot (pure functions). For each of the | |
| 4 | +1,123,098 ledger sections: length, Python gate pass, gate hits, shown characters (replicated span | |
| 5 | +logic, asserted equal to the real _focus output), offset of the last shown character, hits shown, | |
| 6 | +14,000-character message cut, capex vocabulary inside/outside the shown windows. Aggregates by form x | |
| 7 | +item; n_mentions vs length (plateau); <30-word / incorporated-by-reference 10-K MD&As by year; | |
| 8 | +median words of ledger 10-K MD&A (the 9,905 figure). Read-only; per-section features kept on the node. | |
| 9 | +""" | |
| 10 | +from __future__ import annotations | |
| 11 | +import json, re, sys, time | |
| 12 | +from pathlib import Path | |
| 13 | +import multiprocessing as mp | |
| 14 | +sys.path.insert(0, str(Path(__file__).resolve().parent)) | |
| 15 | +from common import * | |
| 16 | +sys.path.insert(0, str(Path(__file__).resolve().parent)) | |
| 17 | +from spid.extract.llm import _focus # snapshot copy | |
| 18 | +from spid.extract.rules import _PROJECT_GATE # snapshot copy | |
| 19 | + | |
| 20 | +BUDGET = 9000 | |
| 21 | +CAPEX = re.compile(r"capital expenditure|liquidity and capital resources|commitment", re.I) | |
| 22 | + | |
| 23 | +def spans_like_focus(text: str, hits): | |
| 24 | + """Replicates _focus (llm.py:55-80) and returns the chunks [(a,b)] actually emitted.""" | |
| 25 | + L = len(text) | |
| 26 | + if L <= BUDGET: | |
| 27 | + return [(0, L)], True | |
| 28 | + spans = [] | |
| 29 | + for s, e in hits: | |
| 30 | + spans.append((max(0, s - 220), min(L, e + 380))) | |
| 31 | + if sum(b - a for a, b in spans) > BUDGET * 1.4: | |
| 32 | + break | |
| 33 | + if not spans: | |
| 34 | + return [(0, BUDGET)], True | |
| 35 | + spans.sort() | |
| 36 | + merged = [spans[0]] | |
| 37 | + for a, b in spans[1:]: | |
| 38 | + if a <= merged[-1][1]: | |
| 39 | + merged[-1] = (merged[-1][0], max(merged[-1][1], b)) | |
| 40 | + else: | |
| 41 | + merged.append((a, b)) | |
| 42 | + chunks, total = [], 0 | |
| 43 | + for a, b in merged: | |
| 44 | + chunks.append((a, b)); total += b - a | |
| 45 | + if total >= BUDGET: | |
| 46 | + break | |
| 47 | + return chunks, False | |
| 48 | + | |
| 49 | +def feat(item): | |
| 50 | + sid, text = item | |
| 51 | + L = len(text) | |
| 52 | + hits = [(m.start(), m.end()) for m in _PROJECT_GATE.finditer(text)] | |
| 53 | + nh = len(hits) | |
| 54 | + chunks, whole = spans_like_focus(text, hits) | |
| 55 | + shown = sum(b - a for a, b in chunks) | |
| 56 | + last = chunks[-1][1] | |
| 57 | + focus = _focus(text) | |
| 58 | + eq = ("\n...\n".join(text[a:b] for a, b in chunks) == focus) | |
| 59 | + # hits inside the chunks | |
| 60 | + hs = 0; ci = 0 | |
| 61 | + for s, _ in hits: | |
| 62 | + while ci < len(chunks) and s >= chunks[ci][1]: | |
| 63 | + ci += 1 | |
| 64 | + if ci < len(chunks) and chunks[ci][0] <= s < chunks[ci][1]: | |
| 65 | + hs += 1 | |
| 66 | + cap_all = 0; cap_in = 0 | |
| 67 | + if L > BUDGET: | |
| 68 | + for m in CAPEX.finditer(text): | |
| 69 | + cap_all += 1 | |
| 70 | + s = m.start() | |
| 71 | + if any(a <= s < b for a, b in chunks): | |
| 72 | + cap_in += 1 | |
| 73 | + return (sid, L, nh > 0, nh, shown, last, hs, len(focus), eq, cap_all, cap_in, len(chunks)) | |
| 74 | + | |
| 75 | +def main(): | |
| 76 | + r = Run("focus") | |
| 77 | + con = connect(SPID_DB) | |
| 78 | + con.execute("CREATE TEMP TABLE led AS SELECT section_id FROM extracted_sections") | |
| 79 | + q = """SELECT s.section_id, s.text FROM src_sections s JOIN led USING (section_id) | |
| 80 | + UNION ALL SELECT s.section_id, s.text FROM spid_sections s JOIN led USING (section_id)""" | |
| 81 | + cur = con.execute(q) | |
| 82 | + rows_out = []; t0 = time.time(); done = 0; chars = 0 | |
| 83 | + ctx = mp.get_context("fork") | |
| 84 | + with ctx.Pool(4) as pool: | |
| 85 | + while True: | |
| 86 | + rows = cur.fetchmany(4000) | |
| 87 | + if not rows: | |
| 88 | + break | |
| 89 | + chars += sum(len(t) for _, t in rows) | |
| 90 | + rows_out.extend(pool.imap_unordered(feat, rows, chunksize=100)) | |
| 91 | + done += len(rows) | |
| 92 | + if done % 100000 < 4000: | |
| 93 | + print(f" {done} sections, {chars/1e9:.2f} GB, {time.time()-t0:.0f}s", flush=True) | |
| 94 | + r.notes["sections_streamed"] = done; r.notes["chars_streamed"] = chars | |
| 95 | + import pyarrow as pa, pyarrow.parquet as pq | |
| 96 | + names = ["section_id", "nchar", "gate_py", "n_hits", "shown_chars", "last_offset", "hits_shown", "focus_len", "replica_eq", "capex_all", "capex_shown", "n_chunks"] | |
| 97 | + tbl = pa.table({n: [row[i] for row in rows_out] for i, n in enumerate(names)}) | |
| 98 | + pq.write_table(tbl, r.out / "section_features.parquet") # stays on the node | |
| 99 | + con.register("ft", tbl) | |
| 100 | + tmin = con.execute("select min(extracted_at) from extracted_sections").fetchone()[0] | |
| 101 | + con.execute(f"""CREATE TEMP TABLE F AS | |
| 102 | + SELECT ft.*, e.n_mentions, CASE WHEN e.extracted_at = TIMESTAMP '{tmin}' THEN 'backfilled_june' ELSE 'october' END run, | |
| 103 | + m.section_name item, m.word_count, f.form_type form, year(f.filing_date) yr, | |
| 104 | + shown_chars*1.0/nchar AS shown_frac, last_offset*1.0/nchar AS last_frac, | |
| 105 | + CASE WHEN n_hits > 0 THEN hits_shown*1.0/n_hits END AS hits_frac, | |
| 106 | + (9 + length(m.section_name) + 2 + focus_len) > 14000 AS msg_truncated, | |
| 107 | + nchar > {BUDGET} AS over_budget | |
| 108 | + FROM ft JOIN extracted_sections e USING (section_id) | |
| 109 | + JOIN (SELECT section_id, section_name, word_count FROM src_sections UNION ALL SELECT section_id, section_name, word_count FROM spid_sections) m USING (section_id) | |
| 110 | + JOIN src_filings f ON f.accession_number = e.accession_number""") | |
| 111 | + r.notes["replica_mismatches"] = con.execute("select count(*) from F where not replica_eq").fetchone()[0] | |
| 112 | + r.notes["gate_py_pass"] = con.execute("select count(*) from F where gate_py").fetchone()[0] | |
| 113 | + r.notes["gate_py_pass_by_form"] = con.execute("select form, count(*) filter (where gate_py), count(*) from F group by 1 order by 1").fetchall() | |
| 114 | + r.notes["gate_fail_with_mentions"] = con.execute("select count(*) from F where not gate_py and n_mentions>0").fetchone()[0] | |
| 115 | + agg = """count(*) n, count(*) FILTER (WHERE gate_py) gate_pass, count(*) FILTER (WHERE over_budget) over_9000_chars, round(100.0*count(*) FILTER (WHERE over_budget)/count(*),2) pct_over_9000, | |
| 116 | + round(quantile_cont(nchar,0.1)) chars_p10, round(quantile_cont(nchar,0.5)) chars_p50, round(quantile_cont(nchar,0.9)) chars_p90, | |
| 117 | + round(quantile_cont(shown_frac,0.1),3) shown_p10, round(quantile_cont(shown_frac,0.5),3) shown_p50, round(quantile_cont(shown_frac,0.9),3) shown_p90, round(avg(shown_frac),3) shown_mean, | |
| 118 | + round(quantile_cont(shown_frac,0.5) FILTER (WHERE over_budget),3) shown_p50_over_budget, | |
| 119 | + round(quantile_cont(last_frac,0.1),3) last_p10, round(quantile_cont(last_frac,0.5),3) last_p50, round(quantile_cont(last_frac,0.9),3) last_p90, | |
| 120 | + round(100.0*count(*) FILTER (WHERE shown_frac < 0.25)/count(*),2) pct_shown_lt_25, round(100.0*count(*) FILTER (WHERE last_frac < 0.5)/count(*),2) pct_last_lt_50, | |
| 121 | + round(100.0*count(*) FILTER (WHERE msg_truncated)/count(*),2) pct_msg_truncated_14k, round(avg(hits_frac),3) hits_shown_mean, round(quantile_cont(hits_frac,0.5),3) hits_shown_p50, | |
| 122 | + sum(n_mentions) mentions, sum(n_mentions) FILTER (WHERE shown_frac < 0.25) mentions_from_lt25, round(100.0*sum(n_mentions) FILTER (WHERE shown_frac < 0.25)/nullif(sum(n_mentions),0),2) pct_mentions_from_lt25, | |
| 123 | + round(100.0*sum(capex_shown)/nullif(sum(capex_all),0),2) pct_capex_vocab_shown_over_budget""" | |
| 124 | + r.dump("focus_coverage_by_form_item.csv", con, f"SELECT form, item, {agg} FROM F GROUP BY 1,2 ORDER BY 1,2") | |
| 125 | + r.dump("focus_coverage_by_form.csv", con, f"SELECT form, {agg} FROM F GROUP BY 1 ORDER BY 1") | |
| 126 | + r.dump("focus_coverage_by_form_item_run.csv", con, f"SELECT form, item, run, {agg} FROM F GROUP BY 1,2,3 ORDER BY 1,2,3") | |
| 127 | + r.dump("focus_coverage_calls_only_by_form_item.csv", con, f"SELECT form, item, {agg} FROM F WHERE gate_py AND word_count >= 30 GROUP BY 1,2 ORDER BY 1,2") | |
| 128 | + r.dump("mentions_vs_length_by_item.csv", con, """ | |
| 129 | + SELECT form, item, CASE WHEN nchar<3000 THEN 'a<3k' WHEN nchar<6000 THEN 'b3-6k' WHEN nchar<9000 THEN 'c6-9k' WHEN nchar<12000 THEN 'd9-12k' WHEN nchar<20000 THEN 'e12-20k' WHEN nchar<40000 THEN 'f20-40k' WHEN nchar<80000 THEN 'g40-80k' ELSE 'h>=80k' END len_bin, | |
| 130 | + count(*) n, count(*) FILTER (WHERE gate_py) calls, round(avg(n_mentions),4) mean_mentions, round(avg(n_mentions) FILTER (WHERE gate_py),4) mean_mentions_per_call, | |
| 131 | + round(100.0*count(*) FILTER (WHERE n_mentions>0)/count(*),2) productive_pct, round(avg(shown_frac),3) shown_mean, round(avg(shown_chars)) shown_chars_mean, | |
| 132 | + round(1e4*sum(n_mentions)/nullif(sum(shown_chars),0),4) mentions_per_10k_shown_chars | |
| 133 | + FROM F GROUP BY 1,2,3 ORDER BY 1,2,3""") | |
| 134 | + r.dump("shown_fraction_bins.csv", con, """ | |
| 135 | + SELECT form, CASE WHEN shown_frac >= 0.9 THEN 'a>=0.9' WHEN shown_frac >= 0.25 THEN 'b0.25-0.9' ELSE 'c<0.25' END bin, count(*) n, count(*) FILTER (WHERE gate_py AND word_count>=30) calls, | |
| 136 | + count(*) FILTER (WHERE n_mentions>0) with_mentions, sum(n_mentions) mentions FROM F GROUP BY 1,2 ORDER BY 1,2""") | |
| 137 | + # 10-K MD&A coverage hole by year: all parsed + legacy 10-K md_and_a sections (ledgered or not) | |
| 138 | + r.dump("mdna_10k_short_by_year.csv", con, """ | |
| 139 | + WITH a AS (SELECT s.section_id, s.word_count, year(f.filing_date) yr, s.section_id IN (SELECT section_id FROM extracted_sections) ledgered, | |
| 140 | + regexp_matches(left(s.text, 3000), 'incorporated .{0,40}by reference', 'i') incorp_head | |
| 141 | + FROM src_sections s JOIN src_filings f USING (accession_number) WHERE f.form_type='10-K' AND s.section_name='md_and_a' AND s.accession_number NOT IN (SELECT accession_number FROM spid_sections) | |
| 142 | + UNION ALL | |
| 143 | + SELECT s.section_id, s.word_count, year(f.filing_date), TRUE, regexp_matches(left(s.text, 3000), 'incorporated .{0,40}by reference', 'i') | |
| 144 | + FROM spid_sections s JOIN src_filings f USING (accession_number) WHERE s.section_name='md_and_a') | |
| 145 | + SELECT yr, count(*) mdna_sections, count(*) FILTER (WHERE word_count < 30) lt30_words, round(100.0*count(*) FILTER (WHERE word_count < 30)/count(*),2) pct_lt30, | |
| 146 | + count(*) FILTER (WHERE word_count < 300 AND incorp_head) lt300_incorporated_by_ref, count(*) FILTER (WHERE NOT ledgered) not_ledgered, round(median(word_count)) median_words | |
| 147 | + FROM a GROUP BY 1 ORDER BY 1""") | |
| 148 | + K = {} | |
| 149 | + K["ledger_10k_mdna_median_words"] = con.execute("select median(word_count) from F where form='10-K' and item='md_and_a'").fetchone()[0] | |
| 150 | + K["ledger_10k_mdna_median_chars"] = con.execute("select median(nchar) from F where form='10-K' and item='md_and_a'").fetchone()[0] | |
| 151 | + K["ledger_10k_mdna_n"] = con.execute("select count(*) from F where form='10-K' and item='md_and_a'").fetchone()[0] | |
| 152 | + K["ledger_10k_mdna_shown_p50"] = con.execute("select median(shown_frac) from F where form='10-K' and item='md_and_a'").fetchone()[0] | |
| 153 | + K["ledger_10k_mdna_last_p50"] = con.execute("select median(last_frac) from F where form='10-K' and item='md_and_a'").fetchone()[0] | |
| 154 | + K["ledger_10k_mdna_pct_shown_lt_25"] = con.execute("select 100.0*count(*) filter (where shown_frac<0.25)/count(*) from F where form='10-K' and item='md_and_a'").fetchone()[0] | |
| 155 | + K["ledger_sections_over_9000_chars"], K["ledger_sections"] = con.execute("select count(*) filter (where over_budget), count(*) from F").fetchone() | |
| 156 | + K["calls_over_9000_chars"], K["calls"] = con.execute("select count(*) filter (where over_budget), count(*) from F where gate_py and word_count>=30").fetchone() | |
| 157 | + K["mentions_from_sections_shown_lt_25"], K["mentions_total"] = con.execute("select sum(n_mentions) filter (where shown_frac<0.25), sum(n_mentions) from F").fetchone() | |
| 158 | + K["msg_truncated_14k"] = con.execute("select count(*) from F where msg_truncated").fetchone()[0] | |
| 159 | + K["gate_py_pass_total"] = r.notes["gate_py_pass"]; K["gate_duckdb_pass_total_N1"] = 703737 | |
| 160 | + K["mean_shown_frac_over_budget"] = con.execute("select avg(shown_frac) from F where over_budget").fetchone()[0] | |
| 161 | + r.write_json("stats_keys.json", K) | |
| 162 | + r.finish() | |
| 163 | + | |
| 164 | +if __name__ == "__main__": | |
| 165 | + main() | |
added
results/focus/focus_coverage_by_form.csv
+4 −0
@@ -0,0 +1,4 @@ | ||
| 1 | +form,n,gate_pass,over_9000_chars,pct_over_9000,chars_p10,chars_p50,chars_p90,shown_p10,shown_p50,shown_p90,shown_mean,shown_p50_over_budget,last_p10,last_p50,last_p90,pct_shown_lt_25,pct_last_lt_50,pct_msg_truncated_14k,hits_shown_mean,hits_shown_p50,mentions,mentions_from_lt25,pct_mentions_from_lt25,pct_capex_vocab_shown_over_budget | |
| 2 | +10-K,143704,135310,85179,59.27,924.0,28255.0,110017.0,0.051,0.217,1.0,0.487,0.102,0.078,0.443,1.0,52.12,51.66,0.0,0.53,0.338,81622,68572,84.01,7.44 | |
| 3 | +10-Q,578793,363985,205571,35.52,335.0,3503.0,78237.0,0.08,1.0,1.0,0.695,0.115,0.147,1.0,1.0,31.4,28.96,0.0,0.61,0.656,152261,120560,79.18,9.02 | |
| 4 | +8-K,400601,204442,35345,8.82,2538.0,3816.0,8528.0,1.0,1.0,1.0,0.94,0.304,1.0,1.0,1.0,3.32,1.14,0.0,0.984,1.0,74594,4284,5.74,51.49 | |
added
results/focus/focus_coverage_by_form_item.csv
+16 −0
@@ -0,0 +1,16 @@ | ||
| 1 | +form,item,n,gate_pass,over_9000_chars,pct_over_9000,chars_p10,chars_p50,chars_p90,shown_p10,shown_p50,shown_p90,shown_mean,shown_p50_over_budget,last_p10,last_p50,last_p90,pct_shown_lt_25,pct_last_lt_50,pct_msg_truncated_14k,hits_shown_mean,hits_shown_p50,mentions,mentions_from_lt25,pct_mentions_from_lt25,pct_capex_vocab_shown_over_budget | |
| 2 | +10-K,business,29285,29118,23748,81.09,5587.0,37168.0,100505.0,0.053,0.157,1.0,0.32,0.127,0.076,0.259,1.0,66.62,68.33,0.0,0.423,0.261,30492,26256,86.11,10.03 | |
| 3 | +10-K,full_body,1230,1229,1229,99.92,165349.0,304265.0,517545.0,0.011,0.021,0.043,0.027,0.021,0.028,0.064,0.186,99.84,98.94,0.0,0.056,0.041,824,824,100.0,1.72 | |
| 4 | +10-K,md_and_a,28919,28050,27175,93.97,26935.0,64194.0,123299.0,0.043,0.093,0.24,0.159,0.089,0.063,0.162,0.573,90.5,87.88,0.0,0.214,0.156,39099,37824,96.74,5.79 | |
| 5 | +10-K,properties,28236,25940,1592,5.64,491.0,1255.0,4866.0,1.0,1.0,1.0,0.957,0.217,1.0,1.0,1.0,3.21,2.66,0.0,0.975,1.0,7879,891,11.31,14.03 | |
| 6 | +10-K,quantitative_disclosures,26876,22032,3208,11.94,638.0,3354.0,9995.0,0.449,1.0,1.0,0.912,0.28,0.97,1.0,1.0,5.38,4.96,0.0,0.947,1.0,531,176,33.15,8.5 | |
| 7 | +10-K,risk_factors,29158,28941,28227,96.81,22943.0,62542.0,156060.0,0.038,0.101,0.277,0.151,0.098,0.051,0.177,0.578,87.93,87.52,0.0,0.25,0.176,2797,2601,92.99,11.49 | |
| 8 | +10-Q,controls_and_procedures,92393,20913,1727,1.87,985.0,1710.0,3574.0,1.0,1.0,1.0,0.986,0.162,1.0,1.0,1.0,1.05,0.97,0.0,0.961,1.0,7082,227,3.21,5.81 | |
| 9 | +10-Q,financial_statements,91882,90106,88971,96.83,31004.0,64457.0,123191.0,0.053,0.106,0.225,0.146,0.104,0.097,0.239,0.654,92.4,83.74,0.0,0.307,0.234,30159,28422,94.24,9.69 | |
| 10 | +10-Q,full_document,241,241,241,100.0,118565.0,348536.0,823174.0,0.008,0.019,0.068,0.03,0.019,0.026,0.143,0.347,100.0,100.0,0.0,0.061,0.046,107,107,100.0,2.48 | |
| 11 | +10-Q,legal_proceedings,66998,20043,2219,3.31,232.0,522.0,3847.0,1.0,1.0,1.0,0.976,0.25,1.0,1.0,1.0,1.66,0.87,0.0,0.98,1.0,845,92,10.89,15.22 | |
| 12 | +10-Q,md_and_a,91371,90269,86279,94.43,21446.0,47488.0,95664.0,0.057,0.132,0.309,0.192,0.126,0.086,0.24,0.731,84.69,79.65,0.0,0.28,0.211,99305,89215,89.84,8.26 | |
| 13 | +10-Q,quantitative_disclosures,83138,46720,4039,4.86,251.0,1510.0,6250.0,1.0,1.0,1.0,0.969,0.36,1.0,1.0,1.0,1.04,0.73,0.0,0.986,1.0,808,62,7.67,30.96 | |
| 14 | +10-Q,risk_factors,72560,33826,16590,22.86,197.0,969.0,93477.0,0.067,1.0,1.0,0.807,0.078,0.11,1.0,1.0,17.69,17.8,0.0,0.664,1.0,4420,1894,42.85,10.53 | |
| 15 | +10-Q,unregistered_sales,80210,61867,5505,6.86,2253.0,3886.0,7603.0,1.0,1.0,1.0,0.948,0.193,1.0,1.0,1.0,4.28,3.28,0.0,0.984,1.0,9535,541,5.67,11.08 | |
| 16 | +8-K,full_body,400601,204442,35345,8.82,2538.0,3816.0,8528.0,1.0,1.0,1.0,0.94,0.304,1.0,1.0,1.0,3.32,1.14,0.0,0.984,1.0,74594,4284,5.74,51.49 | |
added
results/focus/focus_coverage_by_form_item_run.csv
+29 −0
@@ -0,0 +1,29 @@ | ||
| 1 | +form,item,run,n,gate_pass,over_9000_chars,pct_over_9000,chars_p10,chars_p50,chars_p90,shown_p10,shown_p50,shown_p90,shown_mean,shown_p50_over_budget,last_p10,last_p50,last_p90,pct_shown_lt_25,pct_last_lt_50,pct_msg_truncated_14k,hits_shown_mean,hits_shown_p50,mentions,mentions_from_lt25,pct_mentions_from_lt25,pct_capex_vocab_shown_over_budget | |
| 2 | +10-K,business,backfilled_june,5545,5542,5257,94.81,14938.0,40344.0,92815.0,0.056,0.146,0.403,0.213,0.138,0.079,0.227,0.81,75.62,78.83,0.0,0.326,0.226,5934,4752,80.08,9.15 | |
| 3 | +10-K,business,october,23740,23576,18491,77.89,5212.0,36319.0,102479.0,0.053,0.16,1.0,0.346,0.124,0.075,0.268,1.0,64.52,65.88,0.0,0.445,0.272,24558,21504,87.56,10.38 | |
| 4 | +10-K,full_body,backfilled_june,1230,1229,1229,99.92,165349.0,304265.0,517545.0,0.011,0.021,0.043,0.027,0.021,0.028,0.064,0.186,99.84,98.94,0.0,0.056,0.041,824,824,100.0,1.72 | |
| 5 | +10-K,md_and_a,backfilled_june,5198,5096,4927,94.79,30305.0,65644.0,135048.0,0.039,0.088,0.214,0.146,0.085,0.056,0.149,0.487,92.32,90.4,0.0,0.195,0.141,6703,6487,96.78,5.8 | |
| 6 | +10-K,md_and_a,october,23721,22954,22248,93.79,25898.0,63899.0,120928.0,0.044,0.094,0.248,0.162,0.09,0.065,0.165,0.594,90.11,87.32,0.0,0.218,0.16,32396,31337,96.73,5.78 | |
| 7 | +10-K,properties,backfilled_june,5084,4897,216,4.25,608.0,1268.0,4547.0,1.0,1.0,1.0,0.965,0.125,1.0,1.0,1.0,2.97,3.07,0.0,0.971,1.0,1721,123,7.15,6.85 | |
| 8 | +10-K,properties,october,23152,21043,1376,5.94,465.0,1253.0,4926.0,1.0,1.0,1.0,0.955,0.228,1.0,1.0,1.0,3.26,2.57,0.0,0.976,1.0,6158,768,12.47,19.14 | |
| 9 | +10-K,quantitative_disclosures,backfilled_june,4502,3992,762,16.93,1577.0,4637.0,12451.0,0.338,1.0,1.0,0.878,0.28,0.778,1.0,1.0,7.6,6.6,0.0,0.933,1.0,110,41,37.27,6.74 | |
| 10 | +10-K,quantitative_disclosures,october,22374,18040,2446,10.93,466.0,3101.0,9492.0,0.497,1.0,1.0,0.919,0.279,0.998,1.0,1.0,4.94,4.63,0.0,0.951,1.0,421,135,32.07,9.2 | |
| 11 | +10-K,risk_factors,backfilled_june,5605,5580,5432,96.91,21076.0,57055.0,120678.0,0.048,0.111,0.304,0.163,0.109,0.068,0.197,0.614,86.03,86.64,0.0,0.269,0.188,495,462,93.33,10.35 | |
| 12 | +10-K,risk_factors,october,23553,23361,22795,96.78,23359.0,63934.0,162644.0,0.036,0.098,0.272,0.148,0.095,0.048,0.171,0.566,88.38,87.73,0.0,0.246,0.173,2302,2139,92.92,11.78 | |
| 13 | +10-Q,controls_and_procedures,backfilled_june,3567,797,67,1.88,949.0,1537.0,2991.0,1.0,1.0,1.0,0.988,0.44,1.0,1.0,1.0,0.59,0.5,0.0,0.981,1.0,338,5,1.48,6.38 | |
| 14 | +10-Q,controls_and_procedures,october,88826,20116,1660,1.87,987.0,1718.0,3587.0,1.0,1.0,1.0,0.986,0.142,1.0,1.0,1.0,1.07,0.99,0.0,0.96,1.0,6744,222,3.29,5.8 | |
| 15 | +10-Q,financial_statements,backfilled_june,3594,3507,3442,95.77,27539.0,64649.0,126238.0,0.049,0.1,0.246,0.152,0.097,0.091,0.231,0.666,90.35,84.75,0.0,0.299,0.226,1183,1128,95.35,10.06 | |
| 16 | +10-Q,financial_statements,october,88288,86599,85529,96.88,31134.0,64450.0,123134.0,0.053,0.106,0.224,0.146,0.104,0.097,0.239,0.653,92.49,83.7,0.0,0.307,0.235,28976,27294,94.2,9.68 | |
| 17 | +10-Q,full_document,october,241,241,241,100.0,118565.0,348536.0,823174.0,0.008,0.019,0.068,0.03,0.019,0.026,0.143,0.347,100.0,100.0,0.0,0.061,0.046,107,107,100.0,2.48 | |
| 18 | +10-Q,legal_proceedings,backfilled_june,3024,956,97,3.21,190.0,414.0,3756.0,1.0,1.0,1.0,0.978,0.335,1.0,1.0,1.0,1.03,1.19,0.0,0.971,1.0,20,0,0.0,23.58 | |
| 19 | +10-Q,legal_proceedings,october,63974,19087,2122,3.32,235.0,526.0,3853.0,1.0,1.0,1.0,0.976,0.245,1.0,1.0,1.0,1.69,0.86,0.0,0.98,1.0,825,92,11.15,14.88 | |
| 20 | +10-Q,md_and_a,backfilled_june,3606,3599,3370,93.46,24110.0,47690.0,90435.0,0.048,0.125,0.292,0.19,0.119,0.065,0.223,0.724,85.55,80.45,0.0,0.28,0.204,3791,3572,94.22,6.82 | |
| 21 | +10-Q,md_and_a,october,87765,86670,82909,94.47,21373.0,47480.0,95926.0,0.057,0.132,0.31,0.192,0.126,0.087,0.241,0.732,84.65,79.61,0.0,0.28,0.212,95514,85643,89.67,8.33 | |
| 22 | +10-Q,quantitative_disclosures,backfilled_june,3394,1662,105,3.09,191.0,763.0,5332.0,1.0,1.0,1.0,0.979,0.258,1.0,1.0,1.0,1.47,0.29,0.0,0.989,1.0,51,0,0.0,36.8 | |
| 23 | +10-Q,quantitative_disclosures,october,79744,45058,3934,4.93,254.0,1536.0,6287.0,1.0,1.0,1.0,0.968,0.361,1.0,1.0,1.0,1.02,0.75,0.0,0.986,1.0,757,62,8.19,30.83 | |
| 24 | +10-Q,risk_factors,backfilled_june,3344,1200,550,16.45,157.0,461.0,52830.0,0.132,1.0,1.0,0.862,0.097,0.235,1.0,1.0,13.04,12.74,0.0,0.701,1.0,150,58,38.67,11.06 | |
| 25 | +10-Q,risk_factors,october,69216,32626,16040,23.17,199.0,1051.0,96420.0,0.065,1.0,1.0,0.804,0.077,0.107,1.0,1.0,17.91,18.04,0.0,0.662,1.0,4270,1836,43.0,10.51 | |
| 26 | +10-Q,unregistered_sales,backfilled_june,3344,2881,259,7.75,2369.0,4027.0,8314.0,1.0,1.0,1.0,0.942,0.262,1.0,1.0,1.0,3.35,3.77,0.0,0.976,1.0,284,6,2.11,34.3 | |
| 27 | +10-Q,unregistered_sales,october,76866,58986,5246,6.82,2247.0,3880.0,7558.0,1.0,1.0,1.0,0.948,0.189,1.0,1.0,1.0,4.32,3.26,0.0,0.985,1.0,9251,535,5.78,9.25 | |
| 28 | +8-K,full_body,backfilled_june,103927,54360,9952,9.58,2502.0,3963.0,8844.0,1.0,1.0,1.0,0.935,0.315,1.0,1.0,1.0,3.46,1.14,0.0,0.982,1.0,18326,1051,5.74,53.74 | |
| 29 | +8-K,full_body,october,296674,150082,25393,8.56,2551.0,3777.0,8403.0,1.0,1.0,1.0,0.941,0.3,1.0,1.0,1.0,3.27,1.14,0.0,0.984,1.0,56268,3233,5.75,50.42 | |
added
results/focus/focus_coverage_calls_only_by_form_item.csv
+16 −0
@@ -0,0 +1,16 @@ | ||
| 1 | +form,item,n,gate_pass,over_9000_chars,pct_over_9000,chars_p10,chars_p50,chars_p90,shown_p10,shown_p50,shown_p90,shown_mean,shown_p50_over_budget,last_p10,last_p50,last_p90,pct_shown_lt_25,pct_last_lt_50,pct_msg_truncated_14k,hits_shown_mean,hits_shown_p50,mentions,mentions_from_lt25,pct_mentions_from_lt25,pct_capex_vocab_shown_over_budget | |
| 2 | +10-K,business,29118,29118,23740,81.53,5692.0,37414.0,100781.0,0.053,0.156,1.0,0.317,0.127,0.076,0.257,1.0,67.0,68.72,0.0,0.423,0.261,30492,26256,86.11,10.03 | |
| 3 | +10-K,full_body,1229,1229,1229,100.0,165620.0,304421.0,517577.0,0.011,0.021,0.043,0.026,0.021,0.028,0.064,0.186,99.92,99.02,0.0,0.056,0.041,824,824,100.0,1.72 | |
| 4 | +10-K,md_and_a,28050,28050,27175,96.88,32291.0,65376.0,124448.0,0.042,0.091,0.203,0.133,0.089,0.062,0.157,0.484,93.31,90.6,0.0,0.214,0.156,39099,37824,96.74,5.79 | |
| 5 | +10-K,properties,25940,25940,1584,6.11,543.0,1329.0,5223.0,1.0,1.0,1.0,0.953,0.216,1.0,1.0,1.0,3.49,2.9,0.0,0.975,1.0,7879,891,11.31,14.03 | |
| 6 | +10-K,quantitative_disclosures,22032,22032,3204,14.54,1458.0,3906.0,11849.0,0.363,1.0,1.0,0.893,0.279,0.867,1.0,1.0,6.57,6.05,0.0,0.947,1.0,531,176,33.15,8.48 | |
| 7 | +10-K,risk_factors,28941,28941,28227,97.53,23748.0,62854.0,156605.0,0.038,0.1,0.268,0.144,0.098,0.051,0.175,0.554,88.59,88.17,0.0,0.25,0.176,2797,2601,92.99,11.49 | |
| 8 | +10-Q,controls_and_procedures,20913,20913,1670,7.99,1621.0,2840.0,7778.0,1.0,1.0,1.0,0.939,0.137,1.0,1.0,1.0,4.64,4.25,0.0,0.961,1.0,7082,227,3.21,5.81 | |
| 9 | +10-Q,financial_statements,90106,90106,88971,98.74,33182.0,65241.0,123919.0,0.052,0.105,0.212,0.13,0.104,0.096,0.234,0.594,94.23,85.39,0.0,0.307,0.234,30159,28422,94.24,9.69 | |
| 10 | +10-Q,full_document,241,241,241,100.0,118565.0,348536.0,823174.0,0.008,0.019,0.068,0.03,0.019,0.026,0.143,0.347,100.0,100.0,0.0,0.061,0.046,107,107,100.0,2.48 | |
| 11 | +10-Q,legal_proceedings,20031,20031,2161,10.79,438.0,1940.0,9517.0,0.49,1.0,1.0,0.919,0.242,1.0,1.0,1.0,5.57,2.91,0.0,0.98,1.0,845,92,10.89,15.22 | |
| 12 | +10-Q,md_and_a,90269,90269,86279,95.58,22824.0,47840.0,96131.0,0.057,0.13,0.293,0.182,0.126,0.086,0.237,0.694,85.72,80.62,0.0,0.28,0.211,99305,89215,89.84,8.26 | |
| 13 | +10-Q,quantitative_disclosures,46720,46720,4024,8.61,990.0,3112.0,8289.0,1.0,1.0,1.0,0.945,0.359,1.0,1.0,1.0,1.85,1.3,0.0,0.986,1.0,808,62,7.67,30.95 | |
| 14 | +10-Q,risk_factors,33826,33826,16505,48.79,1110.0,8463.0,170977.0,0.036,1.0,1.0,0.586,0.078,0.052,1.0,1.0,37.94,38.13,0.0,0.664,1.0,4420,1894,42.85,10.52 | |
| 15 | +10-Q,unregistered_sales,61867,61867,5236,8.46,2671.0,4220.0,8312.0,1.0,1.0,1.0,0.934,0.184,1.0,1.0,1.0,5.54,4.19,0.0,0.984,1.0,9535,541,5.67,10.67 | |
| 16 | +8-K,full_body,204442,204442,34140,16.7,2919.0,4915.0,11170.0,0.338,1.0,1.0,0.883,0.296,0.887,1.0,1.0,6.51,2.22,0.0,0.984,1.0,74594,4284,5.74,51.36 | |
added
results/focus/manifest.json
+58 −0
@@ -0,0 +1,58 @@ | ||
| 1 | +{ | |
| 2 | + "package": "focus", | |
| 3 | + "script": "/Users/simon-pierreboucher/firc0001_review/scripts/a05_focus_coverage.py", | |
| 4 | + "script_sha256": "fa903dc8721c69533f3d4cf34315c9c047d408699ff7d6284e95aa35b1eb8665", | |
| 5 | + "started": "2026-11-05T14:31:09", | |
| 6 | + "ended": "2026-11-05T14:40:54", | |
| 7 | + "wall_seconds": 584.9, | |
| 8 | + "node": "m3u96b", | |
| 9 | + "python": "3.12.15", | |
| 10 | + "duckdb": "2.0.0", | |
| 11 | + "threads": 4, | |
| 12 | + "memory_limit": "24GB", | |
| 13 | + "seed": 20261105, | |
| 14 | + "databases": { | |
| 15 | + "/Users/simon-pierreboucher/UQO_RESEARCH_DB/project-db/data/db/spid.duckdb": { | |
| 16 | + "bytes": 3155701760, | |
| 17 | + "mtime": "2026-10-28T12:21:11.091389" | |
| 18 | + }, | |
| 19 | + "/Users/simon-pierreboucher/UQO_RESEARCH_DB/data/duckdb/edgar_research.duckdb": { | |
| 20 | + "bytes": 73500995584, | |
| 21 | + "mtime": "2026-10-27T21:34:46.297884" | |
| 22 | + } | |
| 23 | + }, | |
| 24 | + "read_only": true, | |
| 25 | + "row_counts": { | |
| 26 | + "focus_coverage_by_form_item.csv": 15, | |
| 27 | + "focus_coverage_by_form.csv": 3, | |
| 28 | + "focus_coverage_by_form_item_run.csv": 28, | |
| 29 | + "focus_coverage_calls_only_by_form_item.csv": 15, | |
| 30 | + "mentions_vs_length_by_item.csv": 111, | |
| 31 | + "shown_fraction_bins.csv": 9, | |
| 32 | + "mdna_10k_short_by_year.csv": 17 | |
| 33 | + }, | |
| 34 | + "notes": { | |
| 35 | + "sections_streamed": 1123098, | |
| 36 | + "chars_streamed": 23372396141, | |
| 37 | + "replica_mismatches": 0, | |
| 38 | + "gate_py_pass": 703737, | |
| 39 | + "gate_py_pass_by_form": [ | |
| 40 | + [ | |
| 41 | + "10-K", | |
| 42 | + 135310, | |
| 43 | + 143704 | |
| 44 | + ], | |
| 45 | + [ | |
| 46 | + "10-Q", | |
| 47 | + 363985, | |
| 48 | + 578793 | |
| 49 | + ], | |
| 50 | + [ | |
| 51 | + "8-K", | |
| 52 | + 204442, | |
| 53 | + 400601 | |
| 54 | + ] | |
| 55 | + ], | |
| 56 | + "gate_fail_with_mentions": 0 | |
| 57 | + } | |
| 58 | +} | |
| \ No newline at end of file | ||
added
results/focus/mdna_10k_short_by_year.csv
+18 −0
@@ -0,0 +1,18 @@ | ||
| 1 | +yr,mdna_sections,lt30_words,pct_lt30,lt300_incorporated_by_ref,not_ledgered,median_words | |
| 2 | +2010,1120,18,1.61,39,18,9990.0 | |
| 3 | +2011,1185,11,0.93,43,11,10348.0 | |
| 4 | +2012,1239,10,0.81,41,10,10555.0 | |
| 5 | +2013,1297,10,0.77,39,10,10655.0 | |
| 6 | +2014,1375,6,0.44,34,6,11029.0 | |
| 7 | +2015,1461,8,0.55,33,8,10966.0 | |
| 8 | +2016,1522,8,0.53,26,8,11044.0 | |
| 9 | +2017,1567,8,0.51,27,8,11191.0 | |
| 10 | +2018,1652,6,0.36,25,6,11155.0 | |
| 11 | +2019,1724,6,0.35,23,6,10555.0 | |
| 12 | +2020,1841,6,0.33,19,6,9819.0 | |
| 13 | +2021,2017,8,0.4,16,8,9981.0 | |
| 14 | +2022,2147,9,0.42,14,9,9365.0 | |
| 15 | +2023,2185,11,0.5,13,11,9057.0 | |
| 16 | +2024,2229,13,0.58,12,13,8677.0 | |
| 17 | +2025,2299,14,0.61,12,14,8550.0 | |
| 18 | +2026,2228,17,0.76,14,17,8600.0 | |
added
results/focus/mentions_vs_length_by_item.csv
+112 −0
@@ -0,0 +1,112 @@ | ||
| 1 | +form,item,len_bin,n,calls,mean_mentions,mean_mentions_per_call,productive_pct,shown_mean,shown_chars_mean,mentions_per_10k_shown_chars | |
| 2 | +10-K,business,a<3k,568,437,0.0158,0.0206,1.58,1.0,1814.0,0.0873 | |
| 3 | +10-K,business,b3-6k,2824,2801,0.0602,0.0607,3.33,1.0,4706.0,0.1279 | |
| 4 | +10-K,business,c6-9k,2145,2140,0.1552,0.1556,6.81,1.0,7259.0,0.2139 | |
| 5 | +10-K,business,d9-12k,787,784,0.3926,0.3941,14.99,0.529,5423.0,0.7239 | |
| 6 | +10-K,business,e12-20k,1839,1835,0.8836,0.8856,33.44,0.356,5722.0,1.5443 | |
| 7 | +10-K,business,f20-40k,7522,7521,1.1922,1.1924,40.83,0.206,6003.0,1.986 | |
| 8 | +10-K,business,g40-80k,8794,8794,1.3041,1.3041,45.92,0.111,6052.0,2.1547 | |
| 9 | +10-K,business,h>=80k,4806,4806,1.5834,1.5834,51.54,0.053,6017.0,2.6318 | |
| 10 | +10-K,full_body,c6-9k,1,0,0.0,,0.0,1.0,6878.0,0.0 | |
| 11 | +10-K,full_body,e12-20k,1,1,0.0,0.0,0.0,0.083,1251.0,0.0 | |
| 12 | +10-K,full_body,f20-40k,5,5,0.2,0.2,20.0,0.213,6828.0,0.2929 | |
| 13 | +10-K,full_body,g40-80k,28,28,1.0714,1.0714,42.86,0.098,5786.0,1.8518 | |
| 14 | +10-K,full_body,h>=80k,1195,1195,0.6636,0.6636,25.36,0.023,6476.0,1.0248 | |
| 15 | +10-K,md_and_a,a<3k,1184,328,0.0186,0.0671,1.01,1.0,825.0,0.2253 | |
| 16 | +10-K,md_and_a,b3-6k,332,319,0.4096,0.4263,16.57,1.0,4593.0,0.8919 | |
| 17 | +10-K,md_and_a,c6-9k,228,228,0.75,0.75,28.95,1.0,7220.0,1.0388 | |
| 18 | +10-K,md_and_a,d9-12k,148,148,0.6689,0.6689,28.38,0.477,4983.0,1.3423 | |
| 19 | +10-K,md_and_a,e12-20k,409,409,1.0782,1.0782,43.03,0.354,5681.0,1.898 | |
| 20 | +10-K,md_and_a,f20-40k,3147,3147,1.5113,1.5113,55.2,0.195,6113.0,2.4722 | |
| 21 | +10-K,md_and_a,g40-80k,14194,14194,1.5696,1.5696,55.5,0.106,6092.0,2.5766 | |
| 22 | +10-K,md_and_a,h>=80k,9277,9277,1.2067,1.2067,46.56,0.056,6118.0,1.9723 | |
| 23 | +10-K,properties,a<3k,23372,21123,0.1518,0.168,9.75,1.0,1206.0,1.2592 | |
| 24 | +10-K,properties,b3-6k,2586,2547,0.6906,0.7012,27.57,1.0,4050.0,1.7054 | |
| 25 | +10-K,properties,c6-9k,686,686,1.4752,1.4752,43.88,1.0,7269.0,2.0295 | |
| 26 | +10-K,properties,d9-12k,346,346,0.7486,0.7486,24.86,0.383,3969.0,1.8858 | |
| 27 | +10-K,properties,e12-20k,421,413,0.9382,0.9564,34.68,0.3,4535.0,2.0687 | |
| 28 | +10-K,properties,f20-40k,434,434,1.1037,1.1037,43.32,0.212,5680.0,1.9432 | |
| 29 | +10-K,properties,g40-80k,214,214,1.229,1.229,52.8,0.113,6045.0,2.0332 | |
| 30 | +10-K,properties,h>=80k,177,177,0.7684,0.7684,32.2,0.041,5982.0,1.2845 | |
| 31 | +10-K,quantitative_disclosures,a<3k,11994,7807,0.0043,0.0067,0.37,1.0,1545.0,0.0281 | |
| 32 | +10-K,quantitative_disclosures,b3-6k,8604,8035,0.0191,0.0204,1.28,1.0,4258.0,0.0448 | |
| 33 | +10-K,quantitative_disclosures,c6-9k,3070,2986,0.0267,0.0275,1.69,1.0,7243.0,0.0369 | |
| 34 | +10-K,quantitative_disclosures,d9-12k,1035,1033,0.0309,0.031,1.64,0.38,3862.0,0.0801 | |
| 35 | +10-K,quantitative_disclosures,e12-20k,874,872,0.0275,0.0275,1.49,0.351,5305.0,0.0518 | |
| 36 | +10-K,quantitative_disclosures,f20-40k,367,367,0.0245,0.0245,1.91,0.258,6510.0,0.0377 | |
| 37 | +10-K,quantitative_disclosures,g40-80k,92,92,0.3804,0.3804,19.57,0.114,6571.0,0.579 | |
| 38 | +10-K,quantitative_disclosures,h>=80k,840,840,0.1583,0.1583,11.19,0.049,7130.0,0.2221 | |
| 39 | +10-K,risk_factors,a<3k,461,257,0.0217,0.0389,2.17,1.0,1318.0,0.1646 | |
| 40 | +10-K,risk_factors,b3-6k,264,251,0.0379,0.0398,2.65,1.0,4409.0,0.0859 | |
| 41 | +10-K,risk_factors,c6-9k,206,206,0.0146,0.0146,0.97,1.0,7203.0,0.0202 | |
| 42 | +10-K,risk_factors,d9-12k,213,213,0.1127,0.1127,7.51,0.45,4777.0,0.2359 | |
| 43 | +10-K,risk_factors,e12-20k,1217,1217,0.1085,0.1085,6.0,0.364,5862.0,0.185 | |
| 44 | +10-K,risk_factors,f20-40k,5294,5294,0.0852,0.0852,4.53,0.209,6221.0,0.1369 | |
| 45 | +10-K,risk_factors,g40-80k,11571,11571,0.0924,0.0924,5.32,0.112,6379.0,0.1448 | |
| 46 | +10-K,risk_factors,h>=80k,9932,9932,0.1106,0.1106,5.11,0.052,6371.0,0.1735 | |
| 47 | +10-Q,controls_and_procedures,a<3k,78712,11221,0.062,0.4348,5.28,1.0,1645.0,0.3768 | |
| 48 | +10-Q,controls_and_procedures,b3-6k,10287,6460,0.1367,0.2176,9.68,1.0,3912.0,0.3494 | |
| 49 | +10-Q,controls_and_procedures,c6-9k,1667,1562,0.1746,0.1863,10.5,1.0,7207.0,0.2422 | |
| 50 | +10-Q,controls_and_procedures,d9-12k,540,516,0.187,0.1957,11.67,0.457,4718.0,0.3964 | |
| 51 | +10-Q,controls_and_procedures,e12-20k,300,268,0.6033,0.6754,18.0,0.367,5439.0,1.1092 | |
| 52 | +10-Q,controls_and_procedures,f20-40k,84,83,0.2143,0.2169,14.29,0.2,5176.0,0.414 | |
| 53 | +10-Q,controls_and_procedures,g40-80k,175,175,0.3829,0.3829,30.29,0.115,6940.0,0.5517 | |
| 54 | +10-Q,controls_and_procedures,h>=80k,628,628,0.2213,0.2213,15.29,0.048,6806.0,0.3252 | |
| 55 | +10-Q,financial_statements,a<3k,2293,555,0.0279,0.1153,1.61,1.0,869.0,0.3211 | |
| 56 | +10-Q,financial_statements,b3-6k,403,368,0.2258,0.2473,11.91,1.0,4313.0,0.5236 | |
| 57 | +10-Q,financial_statements,c6-9k,215,212,0.3442,0.3491,19.07,1.0,7290.0,0.4721 | |
| 58 | +10-Q,financial_statements,d9-12k,228,228,0.2412,0.2412,15.35,0.399,4167.0,0.5788 | |
| 59 | +10-Q,financial_statements,e12-20k,1102,1102,0.4156,0.4156,24.41,0.339,5608.0,0.7411 | |
| 60 | +10-Q,financial_statements,f20-40k,12758,12758,0.4176,0.4176,26.98,0.216,6776.0,0.6163 | |
| 61 | +10-Q,financial_statements,g40-80k,44583,44583,0.3653,0.3653,22.95,0.121,6922.0,0.5277 | |
| 62 | +10-Q,financial_statements,h>=80k,30300,30300,0.2576,0.2576,16.19,0.063,6899.0,0.3733 | |
| 63 | +10-Q,full_document,g40-80k,8,8,1.375,1.375,75.0,0.106,6613.0,2.0794 | |
| 64 | +10-Q,full_document,h>=80k,233,233,0.412,0.412,13.73,0.028,6715.0,0.6136 | |
| 65 | +10-Q,legal_proceedings,a<3k,58328,12572,0.005,0.023,0.45,1.0,697.0,0.0711 | |
| 66 | +10-Q,legal_proceedings,b3-6k,4790,3799,0.0436,0.055,3.09,1.0,4215.0,0.1035 | |
| 67 | +10-Q,legal_proceedings,c6-9k,1660,1510,0.0705,0.0775,4.7,1.0,7300.0,0.0965 | |
| 68 | +10-Q,legal_proceedings,d9-12k,798,764,0.084,0.0877,6.39,0.324,3352.0,0.2505 | |
| 69 | +10-Q,legal_proceedings,e12-20k,759,735,0.0883,0.0912,4.74,0.302,4505.0,0.1959 | |
| 70 | +10-Q,legal_proceedings,f20-40k,328,328,0.122,0.122,7.93,0.25,6501.0,0.1876 | |
| 71 | +10-Q,legal_proceedings,g40-80k,108,108,0.0926,0.0926,8.33,0.116,6063.0,0.1527 | |
| 72 | +10-Q,legal_proceedings,h>=80k,227,227,0.2026,0.2026,12.78,0.052,6894.0,0.2939 | |
| 73 | +10-Q,md_and_a,a<3k,3162,2149,0.0927,0.1363,7.37,1.0,1353.0,0.6848 | |
| 74 | +10-Q,md_and_a,b3-6k,1474,1405,0.2252,0.2363,12.96,1.0,4255.0,0.5294 | |
| 75 | +10-Q,md_and_a,c6-9k,456,436,0.4781,0.5,26.54,1.0,7363.0,0.6493 | |
| 76 | +10-Q,md_and_a,d9-12k,406,406,0.6872,0.6872,30.05,0.491,5144.0,1.3358 | |
| 77 | +10-Q,md_and_a,e12-20k,2696,2696,1.079,1.079,46.88,0.364,6061.0,1.7803 | |
| 78 | +10-Q,md_and_a,f20-40k,25258,25258,1.3259,1.3259,51.16,0.21,6401.0,2.0716 | |
| 79 | +10-Q,md_and_a,g40-80k,43048,43048,1.1532,1.1532,45.35,0.118,6330.0,1.8219 | |
| 80 | +10-Q,md_and_a,h>=80k,14871,14871,0.8165,0.8165,36.41,0.058,6250.0,1.3064 | |
| 81 | +10-Q,quantitative_disclosures,a<3k,57596,22443,0.004,0.0104,0.36,1.0,1009.0,0.0401 | |
| 82 | +10-Q,quantitative_disclosures,b3-6k,16617,15452,0.0205,0.0221,1.46,1.0,4204.0,0.0488 | |
| 83 | +10-Q,quantitative_disclosures,c6-9k,4886,4801,0.0244,0.0248,1.58,1.0,7245.0,0.0336 | |
| 84 | +10-Q,quantitative_disclosures,d9-12k,1866,1857,0.0139,0.014,1.18,0.392,4006.0,0.0348 | |
| 85 | +10-Q,quantitative_disclosures,e12-20k,1513,1507,0.0145,0.0146,0.73,0.37,5552.0,0.0262 | |
| 86 | +10-Q,quantitative_disclosures,f20-40k,527,527,0.0266,0.0266,1.52,0.277,6953.0,0.0382 | |
| 87 | +10-Q,quantitative_disclosures,g40-80k,66,66,0.3939,0.3939,15.15,0.124,6607.0,0.5963 | |
| 88 | +10-Q,quantitative_disclosures,h>=80k,67,67,0.403,0.403,19.4,0.053,7043.0,0.5722 | |
| 89 | +10-Q,risk_factors,a<3k,45276,8173,0.0106,0.0586,0.96,1.0,703.0,0.1504 | |
| 90 | +10-Q,risk_factors,b3-6k,7464,6079,0.1101,0.1352,9.11,1.0,4262.0,0.2584 | |
| 91 | +10-Q,risk_factors,c6-9k,3229,3068,0.1963,0.2066,14.21,1.0,7322.0,0.2682 | |
| 92 | +10-Q,risk_factors,d9-12k,1800,1750,0.1517,0.156,12.72,0.44,4562.0,0.3324 | |
| 93 | +10-Q,risk_factors,e12-20k,1908,1886,0.173,0.175,14.52,0.373,5563.0,0.3109 | |
| 94 | +10-Q,risk_factors,f20-40k,1526,1514,0.1664,0.1678,11.53,0.233,6452.0,0.258 | |
| 95 | +10-Q,risk_factors,g40-80k,3007,3006,0.1217,0.1218,7.15,0.106,6274.0,0.194 | |
| 96 | +10-Q,risk_factors,h>=80k,8350,8350,0.1511,0.1511,6.29,0.046,6452.0,0.2343 | |
| 97 | +10-Q,unregistered_sales,a<3k,21342,10524,0.0209,0.0424,1.97,1.0,2333.0,0.0896 | |
| 98 | +10-Q,unregistered_sales,b3-6k,44577,37930,0.1305,0.1533,10.24,1.0,4186.0,0.3117 | |
| 99 | +10-Q,unregistered_sales,c6-9k,8785,8176,0.266,0.2858,17.3,1.0,7117.0,0.3738 | |
| 100 | +10-Q,unregistered_sales,d9-12k,2259,2096,0.1284,0.1384,7.97,0.315,3211.0,0.3998 | |
| 101 | +10-Q,unregistered_sales,e12-20k,1847,1774,0.1153,0.1201,6.82,0.244,3558.0,0.3241 | |
| 102 | +10-Q,unregistered_sales,f20-40k,569,538,0.2074,0.2193,11.42,0.187,4810.0,0.4311 | |
| 103 | +10-Q,unregistered_sales,g40-80k,260,260,0.6654,0.6654,27.31,0.113,6399.0,1.0398 | |
| 104 | +10-Q,unregistered_sales,h>=80k,571,569,0.2487,0.2496,16.11,0.055,6777.0,0.3669 | |
| 105 | +8-K,full_body,a<3k,91457,23244,0.0649,0.2552,6.21,1.0,2546.0,0.2547 | |
| 106 | +8-K,full_body,b3-6k,225916,106791,0.1281,0.2709,11.4,1.0,4063.0,0.3152 | |
| 107 | +8-K,full_body,c6-9k,47878,40262,0.4634,0.5511,37.21,1.0,7229.0,0.641 | |
| 108 | +8-K,full_body,d9-12k,17948,17023,0.3668,0.3868,27.7,0.348,3565.0,1.0289 | |
| 109 | +8-K,full_body,e12-20k,12599,12331,0.5425,0.5543,38.92,0.313,4581.0,1.1842 | |
| 110 | +8-K,full_body,f20-40k,3859,3847,0.8785,0.8812,54.6,0.24,6209.0,1.4148 | |
| 111 | +8-K,full_body,g40-80k,759,759,0.7457,0.7457,44.53,0.136,6933.0,1.0756 | |
| 112 | +8-K,full_body,h>=80k,185,185,0.8919,0.8919,45.95,0.048,6668.0,1.3375 | |
added
results/focus/shown_fraction_bins.csv
+10 −0
@@ -0,0 +1,10 @@ | ||
| 1 | +form,bin,n,calls,with_mentions,mentions | |
| 2 | +10-K,a>=0.9,58527,50151,3900,7509 | |
| 3 | +10-K,b0.25-0.9,10276,10258,2136,5541 | |
| 4 | +10-K,c<0.25,74901,74901,24841,68572 | |
| 5 | +10-Q,a>=0.9,373347,158886,15093,19490 | |
| 6 | +10-Q,b0.25-0.9,23708,23354,5810,12211 | |
| 7 | +10-Q,c<0.25,181738,181733,54802,120560 | |
| 8 | +8-K,a>=0.9,365776,170302,49247,57058 | |
| 9 | +8-K,b0.25-0.9,21524,20839,9537,13252 | |
| 10 | +8-K,c<0.25,13301,13301,2864,4284 | |
added
results/focus/stats_keys.json
+18 −0
@@ -0,0 +1,18 @@ | ||
| 1 | +{ | |
| 2 | + "ledger_10k_mdna_median_words": 9905.0, | |
| 3 | + "ledger_10k_mdna_median_chars": 64194.0, | |
| 4 | + "ledger_10k_mdna_n": 28919, | |
| 5 | + "ledger_10k_mdna_shown_p50": 0.09323377723039027, | |
| 6 | + "ledger_10k_mdna_last_p50": 0.16183513990420972, | |
| 7 | + "ledger_10k_mdna_pct_shown_lt_25": 90.50451260417027, | |
| 8 | + "ledger_sections_over_9000_chars": 326095, | |
| 9 | + "ledger_sections": 1123098, | |
| 10 | + "calls_over_9000_chars": 324386, | |
| 11 | + "calls": 703725, | |
| 12 | + "mentions_from_sections_shown_lt_25": 193416, | |
| 13 | + "mentions_total": 308477, | |
| 14 | + "msg_truncated_14k": 0, | |
| 15 | + "gate_py_pass_total": 703737, | |
| 16 | + "gate_duckdb_pass_total_N1": 703737, | |
| 17 | + "mean_shown_frac_over_budget": 0.15934812827563005 | |
| 18 | +} | |
| \ No newline at end of file | ||
| 19 | ||