{ "meta": { "id": "sec-analysis", "title": "SEC Document Analysis", "subtitle": "Filing Intelligence with Episteme", "version": "1.0.0" }, "actors": {}, "slides": [ { "type": "title", "id": "title" }, { "type": "hook", "id": "hook", "line": "Your filings contradict each other.", "subline": "And every agent reading them gets a different answer." }, { "type": "code", "id": "drift-revenue", "title": "10-K: Annual revenue", "code": "// Agent extracts from 10-K filing\n// CIK: 0001234567, Filed: 2024-02-28\n\n{\n \"subject\": \"ACME/revenue/annual\",\n \"source\": \"10-K/2023\",\n \"value\": \"$847M\"\n}\n" }, { "type": "code", "id": "drift-revenue-2", "title": "10-Q: Quarterly revenue tells a different story", "code": "// Agent extracts from Q4 10-Q filing\n// Same company, same fiscal year\n\n{\n \"subject\": \"ACME/revenue/Q4\",\n \"source\": \"10-Q/2023-Q4\",\n \"value\": \"$218M\"\n}\n\n// Q1 + Q2 + Q3 + Q4 = $872M annualized\n// 10-K says $847M\n// Delta: $25M. Which is right?\n" }, { "type": "code", "id": "drift-amendment", "title": "Original 10-K: No impairment", "code": "// Filed: 2024-02-28\n// Form: 10-K\n\n{\n \"subject\": \"ACME/goodwill/impairment\",\n \"source\": \"10-K/2023\",\n \"value\": \"$0\"\n}\n\n// Clean bill of health.\n" }, { "type": "code", "id": "drift-amendment-2", "title": "10-K/A: $340M impairment appears", "code": "// Filed: 2024-06-15 (amended filing)\n// Form: 10-K/A\n\n{\n \"subject\": \"ACME/goodwill/impairment\",\n \"source\": \"10-K-A/2023\",\n \"value\": \"$340M\"\n}\n\n// The amendment supersedes the original.\n// But which sections? All of them? Just Note 7?\n// The rest of the 10-K -- still valid?\n" }, { "type": "code", "id": "spiral", "title": "Same data, extracted 3 times, 3 answers", "code": "// Q3 Revenue appears in:\n\"10-Q/2023-Q3\" -> $213M // quarterly filing\n\"10-K/2023\" -> $209M // annual summary table\n\"DEF 14A/2024\" -> $211M // proxy exec comp section\n\n// Two analysts read the same proxy statement\n// Analyst A: CEO comp = $14.2M (includes options)\n// Analyst B: CEO comp = $8.7M (base + bonus only)\n\n// Both are \"correct\" -- different definitions\n" }, { "type": "hook", "id": "spiral-question", "line": "Which extraction is correct?", "subline": "Depends on the filing, the section, and what you're measuring." }, { "type": "code", "id": "catastrophe", "title": "The Catastrophe", "code": "// Agent builds a DCF model\n// Revenue: pulled from 10-K/A -> $847M (amended)\n// Cost of revenue: pulled from 10-K -> $612M (original)\n//\n// But the amendment changed cost allocations too.\n// Actual cost of revenue post-amendment: $658M\n//\n// Gross margin: 27.7% (agent's model)\n// Actual: 22.3%\n//\n// DCF valuation: off by $180M\n//\n// The model mixed amended and pre-amendment data\n// because there was no way to track the amendment chain.\n" }, { "type": "code", "id": "catastrophe-why", "title": "The Root Cause", "code": "// Filings were stored as flat key-value pairs\n// No amendment chain linking 10-K to 10-K/A\n// No section-level tracking\n// No way to know which data points were superseded\n//\n// The agent had no concept of \"this number was restated\"\n// It just grabbed the first match for each field\n//\n// Garbage in, $180M garbage out.\n" }, { "type": "hook", "id": "fix-intro", "line": "What if filings carried their own lineage?", "subline": "Every extraction linked to its source, section, and amendment chain." }, { "type": "code", "id": "fix-store", "title": "Store extractions with filing metadata", "code": "episteme.assert({\n subject: \"ACME/revenue/annual/2023\",\n predicate: \"value\",\n value: \"$847M\",\n\n source: {\n cik: \"0001234567\",\n form: \"10-K\",\n filed: \"2024-02-28\",\n section: \"Part II, Item 8\",\n accession: \"0001234567-24-000042\"\n },\n\n lifecycle: \"current\",\n confidence: 0.95\n});\n" }, { "type": "code", "id": "fix-amendment", "title": "Amendments supersede cleanly", "code": "// When the 10-K/A arrives:\nepisteme.assert({\n subject: \"ACME/goodwill/impairment/2023\",\n predicate: \"value\",\n value: \"$340M\",\n\n source: {\n form: \"10-K/A\",\n filed: \"2024-06-15\",\n amends: \"0001234567-24-000042\", // links to original\n sections_amended: [\"Note 7\", \"Part II Item 8\"]\n },\n\n lifecycle: \"current\",\n supersedes: \"ax7f3k9...\" // the $0 assertion\n});\n\n// The original $0 assertion is now lifecycle: \"superseded\"\n// Sections NOT in sections_amended remain valid\n" }, { "type": "code", "id": "fix-query", "title": "Query with lifecycle: only current data", "code": "// Agent building a DCF model queries:\nconst revenue = await episteme.query({\n subject: \"ACME/revenue/annual/2023\",\n lifecycle: \"current\"\n});\n// Returns $847M from 10-K/A (amended value)\n\nconst cost = await episteme.query({\n subject: \"ACME/cost-of-revenue/annual/2023\",\n lifecycle: \"current\"\n});\n// Returns $658M from 10-K/A (amended value)\n\n// Both values from the same amendment.\n// No mixing. No $180M error.\n" }, { "type": "code", "id": "time-travel", "title": "What did we believe before the restatement?", "code": "// Audit question: what was our position on March 1?\n// (before the 10-K/A was filed on June 15)\n\nepisteme.query({\n subject: \"ACME/goodwill/impairment/2023\",\n as_of: \"2024-03-01T00:00:00Z\"\n});\n\n// Returns: $0 (the original 10-K assertion)\n// At that point, that WAS the truth.\n\nepisteme.diff({\n subject: \"ACME/goodwill/impairment/2023\",\n from: \"2024-03-01\",\n to: \"2024-07-01\"\n});\n\n// Shows: 10-K/A filed June 15, impairment changed $0 -> $340M\n// Full audit trail. No guessing.\n" }, { "type": "code", "id": "multi-analyst", "title": "Competing extractions coexist", "code": "// Analyst A extracts CEO comp from proxy (DEF 14A)\nepisteme.assert({\n subject: \"ACME/exec-comp/CEO/2023\",\n value: \"$14.2M\",\n source: { form: \"DEF 14A\", section: \"Summary Compensation\" },\n confidence: 0.9,\n author: \"analyst-A\"\n});\n\n// Analyst B extracts from the same proxy\nepisteme.assert({\n subject: \"ACME/exec-comp/CEO/2023\",\n value: \"$8.7M\",\n source: { form: \"DEF 14A\", section: \"Summary Compensation\" },\n confidence: 0.85,\n author: \"analyst-B\"\n});\n\n// Both assertions coexist. No overwrite.\n" }, { "type": "code", "id": "multi-analyst-resolve", "title": "Lens resolves at query time", "code": "// Default lens: highest confidence wins\nepisteme.query({\n subject: \"ACME/exec-comp/CEO/2023\",\n lens: \"authority\"\n});\n// Returns: $14.2M (analyst-A, confidence 0.9)\n\n// But you can ask: show me all claims\nepisteme.query({\n subject: \"ACME/exec-comp/CEO/2023\",\n lens: \"all\"\n});\n// Returns both: $14.2M and $8.7M\n// With full provenance on each\n\n// The disagreement IS the signal.\n// Someone needs to reconcile definitions.\n" }, { "type": "vision", "id": "vision", "title": "Episteme", "points": [ "Amendment chains, not flat overwrites.", "Section-level provenance for every extraction.", "Competing analyst reads coexist until resolved.", "Time travel for audit and restatement analysis." ], "tagline": "Git for Truth" } ] }