{
"path": "/3mc7tusse2s2v",
"site": "at://did:plc:p7sxjpo2opcfkn7cgi5jqyqi/site.standard.publication/3m6ok44enms2r",
"tags": [],
"$type": "site.standard.document",
"title": "Causal Graphs as the Missing Layer: Bridging Context Graphs, Decision Traces, and Semantic Spacetime",
"content": {
"$type": "pub.leaflet.content",
"pages": [
{
"id": "019bb1c2-6bff-799c-852f-b0151da4da03",
"$type": "pub.leaflet.pages.linearDocument",
"blocks": [
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 1,
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.image",
"image": {
"$type": "blob",
"ref": {
"$link": "bafkreih6eug5e3nkx24yoduhtf6nfudpy6a7bdg7h62liqvchmlqbjwpye"
},
"mimeType": "image/png",
"size": 3144055
},
"aspectRatio": {
"width": 1536,
"height": 1024
}
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 76,
"byteStart": 53
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 136,
"byteStart": 122
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 194,
"byteStart": 176
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 708,
"byteStart": 686
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 747,
"byteStart": 715
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "The convergence of three architectural patterns — causal knowledge graphs (prioritizing cause-effect relationships), context graphs (capturing decision provenance), and semantic spacetime (modeling temporal-relational knowledge) — reveals the next evolution in AI memory systems. Recent research from Luo et al. (2025) demonstrates that filtering knowledge graphs to emphasize causal edges yields 10% accuracy improvements in medical reasoning tasks. When combined with Foundation Capital’s context graph thesis and the temporal-relational modeling of semantic spacetime, a clear architecture emerges for building AI systems that don’t just retrieve facts — they trace why decisions happened and how knowledge flows through time."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "The Core Problem — Correlation Masquerading as Causation"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "What Traditional Knowledge Graphs Get Wrong"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 40,
"byteStart": 36
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 57,
"byteStart": 54
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Knowledge graphs excel at modeling what exists and how things relate, but they fundamentally conflate two distinct relationship types:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.unorderedList",
"children": [
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 19,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Correlational edges: “Disease X is associated with Gene Y” (co-occurrence, similarity)"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 12,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Causal edges: “Gene Y mutation causes Disease X through pathway Z” (directional, mechanistic)"
},
"children": []
}
]
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "When an LLM retrieves from a traditional knowledge graph, it receives a massive subgraph mixing both types. The retrieval system cannot distinguish between:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.code",
"language": "plaintext",
"plaintext": "Gene_Y --ASSOCIATED_WITH--> Disease_XGene_Y --CAUSES--> \nProtein_Dysfunction --LEADS_TO--> Disease_X"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "The first edge is correlation noise. The second is a causal mechanism. But standard graph traversal treats both as equally valid paths."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "The Medical Reasoning Benchmark Reveals the Gap"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Luo et al. tested this hypothesis on MedMCQA and MedQA datasets using SemMedDB (a medical knowledge graph with 94+ million edges). Their key insight:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 201,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "When you filter a knowledge graph to retain only edges with explicit causal significance, then align retrieval with the LLM’s chain-of-thought reasoning steps, accuracy jumps by 10 percentage points."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Their CGMT (Causal Graphs Meet Thoughts) pipeline works in three stages:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.code",
"language": "plaintext",
"plaintext": "1. Causal Subgraph Construction \n└── Scan KG, score edges by causality function f(r) \n└── Discard edges where f(r) < threshold θ \n└── Result: GC = filtered graph with only cause-effect edges"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.code",
"language": "plaintext",
"plaintext": "2. CoT-Driven Stepwise Retrieval \n└── LLM generates chain-of-thought: \"S₁ → S₂ → S₃\" \n└── For each step Si, extract entities E(Si) \n└── Query GC for paths connecting E(Si) to E(Si+1) \n└── Fallback to full KG if no causal path exists3. \nPath Scoring & Re-injection \n└── Score paths: α·CUI_overlap + β·semantic_overlap + γ·length_penalty └── Merge similar paths, prune loops └── Re-inject top paths + original CoT into LLM for synthesis"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 15,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Critical result: GPT-4o on MedMCQA achieved 92.90% precision with causal filtering versus 85.52% with direct inference — a 7.38 point gain from graph structure alone."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "Why This Matters for Context Graphs"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 96,
"byteStart": 80
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Foundation Capital’s “context graph” thesis argues that enterprises lose decision context — the reasoning chains that connect data to actions. When a sales agent approves a 20% discount (violating policy), the CRM stores the outcome but discards:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.unorderedList",
"children": [
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 14,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Evidence chain: 3 SEV-1 incidents from PagerDuty + open escalation in Zendesk"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 17,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Policy evaluation: Checked 10% cap, identified exception condition"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 14,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Approval route: Sent to VP, received override confirmation"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 20,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Causal justification: Churn risk > policy compliance in this case"
},
"children": []
}
]
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 59,
"byteStart": 40
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 208,
"byteStart": 203
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 261,
"byteStart": 250
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "The causal graph research provides the filtering mechanism that context graphs need. Not all edges in a decision trace have equal explanatory power. The challenge is identifying which edges represent cause (input that drove the decision) versus correlation (data that happened to be present)."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "Decision Traces Are Reified Causal Chains"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "Reification: Making Reasoning Visible"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 201,
"byteStart": 190
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "TrustGraph’s Daniel Davis correctly argues that “decision trace” is a misnomer — computers don’t “decide” in the epistemological sense. What these systems actually capture is reification: representing statements about statements."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "In RDF 1.2 syntax (December 2024 release):"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.code",
"language": "plaintext",
"plaintext": "<<Agent_Sales_001 :approved :Discount_20pct>> :timestamp \"2025-01-12T14:32Z\" ; :causedBy :ChurnRisk_High ; :overridesPolicy :MaxDiscount_10pct ; :authorizedBy :VP_Sales ."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 33,
"byteStart": 11
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 136,
"byteStart": 133
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "This is a second-order statement — a claim about a claim. The discount approval (first-order) is wrapped in metadata explaining why it occurred (second-order causation)."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "Connecting to W3C PROV Ontology"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "The W3C PROV-O standard (2013) already provides the formal framework:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.code",
"language": "plaintext",
"plaintext": ":discount_approval a prov:Activity ; \n prov:used :customer_incident_history ; \nprov:used :churn_risk_score ; \nprov:wasAssociatedWith :agent_001 ; \nprov:wasInfluencedBy :policy_exception_rule ."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.code",
"language": "plaintext",
"plaintext": ":customer_incident_history a prov:Entity ; \nprov:wasGeneratedBy :pagerduty_query ; \nprov:wasDerivedFrom :sev1_incident_001, \n:sev1_incident_002, :sev1_incident_003 ."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 27,
"byteStart": 5
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 87,
"byteStart": 72
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#code"
}
]
}
],
"plaintext": "The causal graph filtering from Luo et al. maps directly to PROV’s wasInfluencedBy relationships—these are directional, explanatory edges rather than mere associations."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "The Epistemology Connection"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 44,
"byteStart": 27
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "For AI systems to produce justified beliefs (not just correlated outputs), they need:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.unorderedList",
"children": [
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 16,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Causal grounding: Entity → Activity → Agent chains showing mechanism"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 17,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Temporal validity: When was this causal relationship true?"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 22,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Confidence attribution: What evidence strength supports this causal claim?"
},
"children": []
}
]
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "The CGMT pipeline provides #1 through edge filtering. Context graphs add #2 through bi-temporal modeling. Your epistemology layer work provides #3 through belief strength propagation."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "Semantic Spacetime as the Unifying Framework"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "The Four Fundamental Relations Revisited"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Your Semantic Spacetime framework defines four primitive relationships that all knowledge graphs ultimately reduce to:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.unorderedList",
"children": [
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 15,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "NEAR/SIMILAR_TO: Proximity in embedding space, shared attributes"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 8,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "LEADS_TO: Temporal or causal succession"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 8,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "CONTAINS: Compositional hierarchy, part-whole relationships"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 18,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "EXPRESSES_PROPERTY: Attribution, characteristic assignment"
},
"children": []
}
]
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 11,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Key insight: Causal edges are a specialized form of LEADS_TO with mechanistic grounding."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 63,
"byteStart": 44
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#code"
}
]
}
],
"plaintext": "When Luo et al. filter for causality using Causality(r) = f(r), they're implicitly scoring how strongly an edge belongs to the LEADS_TO category versus NEAR/SIMILAR_TO."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Compare these edge types:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.code",
"language": "plaintext",
"plaintext": "# NEAR/SIMILAR_TO \n(correlation, low causal weight)Gene_Y --CO_OCCURS_WITH--> Disease_X \n f(r) = 0.2"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.code",
"language": "plaintext",
"plaintext": "# LEADS_TO with weak causal mechanism \n Gene_Y --ASSOCIATED_WITH--> Disease_X \n f(r) = 0.4# LEADS_TO with strong causal mechanismGene_Y --CAUSES--> Pathway_Z --RESULTS_IN--> Disease_X f(r) = 0.9"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 28,
"byteStart": 24
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#code"
}
]
},
{
"index": {
"byteEnd": 76,
"byteStart": 56
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "The causality function f(r) is essentially measuring directional strength of the LEADS_TO relation."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "Temporal Validity: When Does Causation Hold?"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 40,
"byteStart": 20
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Context graphs add bi-temporal modeling:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.unorderedList",
"children": [
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 7,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#code"
}
]
}
],
"plaintext": "t_valid: When was this causal relationship true in reality?"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 13,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#code"
}
]
}
],
"plaintext": "t_transaction: When did the system record this knowledge?"
},
"children": []
}
]
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "This maps to semantic spacetime’s temporal dimension. A causal edge like:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.code",
"language": "plaintext",
"plaintext": "Smoking --CAUSES--> Lung_Cancer [causal_strength: 0.85]"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Actually requires temporal bounds:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.code",
"language": "plaintext",
"plaintext": "<<:smoking :LEADS_TO :lung_cancer>> :valid_from \"1950-01-01\"^^xsd:date ; # When medical consensus formed :causal_strength 0.85 ; :mechanism :chronic_inflammation ; :latency_period \"20-30 years\" ."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 19,
"byteStart": 5
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 139,
"byteStart": 124
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "The latency_period annotation is critical — causation in semantic spacetime isn’t instantaneous. LEADS_TO edges have temporal extent."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "Bringing It Together: The Four-Layer Architecture"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Combining these three frameworks yields a unified stack:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.code",
"language": "plaintext",
"plaintext": "┌─────────────────────────────────────────────┐\n│ Layer 4:\n Synthetic Reasoning Layer ││ \n(LLM chain-of-thought outputs) \n│├─────────────────────────────────────────────┤│ \n Layer 3: Causal Knowledge Graph \n││ (Filtered for cause-effect edges) ││ \n• Causality scoring: f(r) ≥ θ ││ \n• Maps to LEADS_TO relations \n│├─────────────────────────────────────────────┤│ \nLayer 2: Context Graph / Decision Traces ││ \n (Bi-temporal provenance) ││ \n• PROV-O: Entity-Activity-Agent ││ \n• Valid time + Transaction time ││ \n• Reified statements about reasoning \n│├─────────────────────────────────────────────┤│ \nLayer 1: Semantic Spacetime Foundation ││ \n (Four fundamental relations) ││ \n• NEAR/SIMILAR_TO: Correlation space ││ \n• LEADS_TO: Causal & temporal chains ││ \n• CONTAINS: Hierarchical structure ││ \n• EXPRESSES_PROPERTY: Attribution \n│└─────────────────────────────────────────────┘"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 9,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Data flow:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.unorderedList",
"children": [
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Raw observations enter Layer 1 as semantic triples"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Layer 2 wraps them in PROV-O provenance (who, when, why)"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Layer 3 filters Layer 1 edges for causal strength, prioritizing LEADS_TO"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Layer 4 retrieves from Layer 3 using CoT-driven queries, synthesizes answers"
},
"children": []
}
]
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "Implementation Architecture & Technical Patterns"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "Causal Edge Scoring in Practice"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 17,
"byteStart": 5
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#code"
}
]
},
{
"index": {
"byteEnd": 91,
"byteStart": 68
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "The Causality(r) function from the paper can be implemented as a relation type hierarchy with pre-assigned weights:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.code",
"language": "plaintext",
"plaintext": "CAUSAL_WEIGHTS = { \n # Strong causal (LEADS_TO with mechanism) \n\"CAUSES\": 1.0, \"RESULTS_IN\": 0.95, \n\"MANIFESTATION_OF\": 0.9, \n\"INDUCES\": 0.85, \n# Moderate causal (LEADS_TO without full mechanism) \n \"ASSOCIATED_WITH\": 0.4, \"PREDISPOSES\": 0.5, \n \"COMPLICATES\": 0.45, \n# Weak/correlation (NEAR/SIMILAR_TO) \n\"CO_OCCURS_WITH\": 0.2, \"RELATED_TO\": 0.15, \"LOCATION_OF\": 0.1, \n# Structural (CONTAINS, EXPRESSES_PROPERTY) \"HAS_PART\": 0.0, # Not causal \"PROPERTY_OF\": 0.0,}"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.code",
"language": "python",
"plaintext": "def filter_causal_subgraph(kg, threshold=0.5): \n return { \n (u, r, v) for (u, r, v) in kg.edges \n if CAUSAL_WEIGHTS.get(r, 0.0) >= threshold \n}"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "This trivially maps to Cypher queries in Neo4j:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.code",
"language": "plaintext",
"plaintext": "// Build causal subgraph \nviewMATCH (u)-[r]->(v)WHERE r.causal_weight >= 0.5RETURN u,\n r, v"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "CoT-Aligned Retrieval Pattern"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "The CGMT paper’s stepwise retrieval aligns perfectly with agentic workflows:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.code",
"language": "python",
"plaintext": "def cot_causal_retrieval(query, llm, causal_graph): \n # Stage 1: Generate chain-of-thought \ncot_prompt = f\"Break down this query into reasoning steps:\\n{query}\" \ncot = llm.generate(cot_prompt) \nsteps = parse_cot_steps(cot) \n# [\"S1 → S2 → S3\"] \n# Stage 2: Stepwise entity extraction + path finding all_paths = [] for i, (step_i, step_j) in enumerate(zip(steps[:-1], steps[1:])): entities_i = extract_entities(step_i) entities_j = extract_entities(step_j) # Query causal subgraph first paths = find_causal_paths( causal_graph, source=entities_i, target=entities_j, max_hops=3 ) # Fallback to full KG if no causal path if not paths: paths = find_any_paths(full_kg, entities_i, entities_j) all_paths.extend(paths) # Stage 3: Score and re-inject scored_paths = score_paths(all_paths, query) top_paths = heapq.nlargest(5, scored_paths, key=lambda p: p.score) final_prompt = f\"\"\" Original query: {query} Chain of thought: {cot} Relevant knowledge paths: {serialize_paths(top_paths)} Synthesize a final answer using only the provided paths as evidence. \"\"\" return llm.generate(final_prompt)"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "Path Scoring with Semantic Spacetime Awareness"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "The paper’s scoring function:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.code",
"language": "plaintext",
"plaintext": "TotalScore(p) = α·CUI_overlap + β·semantic_overlap + \nγ·length_penalty"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Can be enhanced with relation-type awareness from semantic spacetime:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.code",
"language": "plaintext",
"plaintext": "def score_path_semantic_spacetime(path, query):\n # Original scoring components \ncui_overlap = compute_cui_overlap(path, query) \nsemantic_overlap = compute_embedding_similarity(path, query) \nlength_penalty = 1 / (1 + len(path)) \n# NEW: Relation type scoring \nrelation_score = 0 for edge in path: \nif edge.relation in [\"CAUSES\", \"RESULTS_IN\", \"LEADS_TO\"]:\n relation_score += edge.causal_weight * 1.0 \n# Strongly prefer causal \nelif edge.relation in [\"CONTAINS\", \"HAS_PART\"]: \n relation_score += 0.3 # Structural context is useful\n elif edge.relation in [\"SIMILAR_TO\", \"RELATED_TO\"]: \n relation_score += 0.1 # Correlation is weak evidence \n relation_score /= len(path) \n# Normalize \n# NEW: Temporal validity scoring \n temporal_score = 0 \ncurrent_time = datetime.now() \n for edge in path: \nif hasattr(edge, 't_valid') and hasattr(edge, 't_invalid'):\n if edge.t_valid <= current_time < edge.t_invalid: \ntemporal_score += 1.0 # Edge is currently valid \n else: temporal_score += 0.2 # Historical edge, less relevant \n else: temporal_score += 0.5 # No temporal bounds = assume valid \n temporal_score /= len(path) # Combined scoring with semantic spacetime awareness \n return ( 0.25 * cui_overlap + 0.20 * semantic_overlap + 0.15 * length_penalty + \n 0.30 * relation_score + \n# Prioritize causal chains \n0.10 * temporal_score \n# Prefer current knowledge \n)"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "Bi-Temporal Context Graph Schema"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Combining PROV-O with bi-temporal modeling:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.code",
"language": "python",
"plaintext": "from dataclasses import dataclassfrom datetime \nimport datetime"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.code",
"language": "python",
"plaintext": "@dataclassclass TemporalCausalEdge: \n \"\"\" A causal edge with bi-temporal validity tracking. Maps to both PROV-O and semantic spacetime frameworks. \"\"\" source: str # Source entity target: str # Target entity relation: str # LEADS_TO, CAUSES, etc. causal_weight: float # Causality strength f(r) # Bi-temporal tracking t_valid_start: datetime # When relationship became true t_valid_end: datetime # When relationship ceased being true t_transaction: datetime # When system recorded this edge t_expired: datetime # When record was marked invalid # Provenance (PROV-O) generated_by: str # prov:Activity that created this edge derived_from: List[str] # prov:Entity sources attributed_to: str # prov:Agent responsible # Semantic spacetime metadata mechanism: Optional[str] # Causal mechanism description confidence: float # Belief strength (0-1) evidence: List[str] # Supporting entity IDs# Query pattern for \"what did we know at time T?\"def query_knowledge_at_time(kg, query_entities, as_of_date): \"\"\" Reconstruct knowledge state as of historical date. Uses transaction time to determine what was recorded by then. \"\"\" return [ edge for edge in kg.edges if edge.t_transaction <= as_of_date and edge.t_valid_start <= as_of_date < edge.t_valid_end and edge.source in query_entities ]"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "The Hype vs. Substance Assessment"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "What’s Genuinely New"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.unorderedList",
"children": [
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 45,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Empirical validation of causal prioritization: The CGMT paper provides concrete evidence that filtering for cause-effect edges improves reasoning accuracy. Previous Graph-RAG work assumed all edges were equal."
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 27,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "CoT-graph alignment pattern: Synchronizing LLM reasoning steps with graph queries is architecturally significant. Standard RAG dumps context upfront; this approach fetches incrementally as reasoning unfolds."
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 28,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Multi-stage path enhancement: The two-phase process (retrieve → re-inject for synthesis) reduces context dilution compared to single-shot retrieval."
},
"children": []
}
]
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "What’s Repackaged"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.unorderedList",
"children": [
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 43,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "“Context graphs” = temporal KG + PROV-O: Foundation Capital’s framing is investment thesis positioning. The technical patterns are bi-temporal databases (1990s) + W3C provenance standards (2013)."
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 35,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 135,
"byteStart": 107
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#code"
}
]
}
],
"plaintext": "“Decision traces” = reification: This is standard RDF/OWL practice since the early 2000s. RDF 1.2’s <<subject predicate object>> syntax codifies what was already being done with named graphs."
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 23,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 187,
"byteStart": 154
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Causal inference in KGs: Pearl’s causality framework (2000s) and causal knowledge graphs have existed in academic literature for years. The novelty is productionizing for LLM retrieval."
},
"children": []
}
]
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "What’s Actually Hard"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "The paper downplays three major challenges:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 27,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "1. Causal weight estimation"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 28,
"byteStart": 24
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#code"
}
]
}
],
"plaintext": "The causality function f(r) requires either:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.unorderedList",
"children": [
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Manual annotation of relation types (doesn’t scale)"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Automated causal discovery algorithms (PC, FCI) which are computationally expensive and assume Markov conditions"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "LLM-based causal scoring (introduces model bias)"
},
"children": []
}
]
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "No perfect solution exists. The paper sidesteps this by using SemMedDB’s pre-existing relation types."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 18,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "2. CoT instability"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "The paper acknowledges: “CoT outlines can vary under identical prompts, leading to contradictory intermediate states.” This is a killer problem for production systems. If retrieval depends on CoT parsing, and CoT is stochastic, you get non-deterministic results for the same query."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 31,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "3. Knowledge graph completeness"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "The paper admits: “Certain clinically relevant edges may be missing, forcing fallback retrieval from correlation-based links.” In practice, causal subgraphs will have massive coverage gaps. The fallback mechanism undermines the core thesis."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "Synthesis — A Unified Model"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "Mapping the Three Frameworks"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 7,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 35,
"byteStart": 9
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 72,
"byteStart": 37
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 102,
"byteStart": 74
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 116,
"byteStart": 104
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 236,
"byteStart": 228
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 354,
"byteStart": 340
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 480,
"byteStart": 467
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 535,
"byteStart": 526
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#code"
}
]
},
{
"index": {
"byteEnd": 598,
"byteStart": 581
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 716,
"byteStart": 704
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Concept Causal Graphs (Luo et al.) Context Graphs (Foundation Capital) Semantic Spacetime (Volodia) Core Problem Correlation noise drowns causal signal Decision context is lost post-hoc Need temporal-relational primitives Solution Filter KG for cause-effect edges Capture provenance at decision time Four fundamental relation types Data Structure Weighted directed graph G_C Bi-temporal triple store 4D manifold: entities × relations × time × confidence Key Operation Causality scoring f(r) ≥ θ Reification: <<S P O>> metadata Projection onto LEADS_TO subspace Retrieval Pattern CoT-driven stepwise queries Query by decision event + time range Navigate relation-type-filtered paths Epistemology Causal inference (Pearl) Provenance (PROV-O) Justified belief propagation"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "The Complete Architecture"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.code",
"language": "plaintext",
"plaintext": "User Query \n↓┌───────────────────────────────────────┐\n│ 1. Chain-of-Thought Generation \n││ └─ LLM produces reasoning steps │\n└───────────────────────────────────────┘ \n↓┌───────────────────────────────────────┐\n│ 2. Semantic Spacetime Query Planning ││ \n└─ Map CoT to relation types: ││ \n\"Why?\" → LEADS_TO filter ││ \n\"What contains?\" → CONTAINS ││ \n \"Similar to?\" → NEAR/SIMILAR_TO │\n└───────────────────────────────────────┘ \n↓┌───────────────────────────────────────┐\n│ 3. Causal Subgraph Retrieval ││ \n └─ Filter: f(r) ≥ threshold ││ \n└─ Find paths connecting CoT steps ││ \n└─ Fallback to full KG if needed │\n└───────────────────────────────────────┘ \n↓┌───────────────────────────────────────┐\n│ 4. Context Graph Validation ││ \n └─ Check bi-temporal validity ││ \n└─ Verify provenance chain ││ \n└─ Score by temporal recency │\n└───────────────────────────────────────┘ \n↓┌───────────────────────────────────────┐\n│ 5. Path Scoring & Synthesis ││ \n └─ Multi-factor scoring: ││ \n α·overlap + β·semantic + ││ \nγ·length + δ·causal_weight + ││ \n ε·temporal_validity │\n└───────────────────────────────────────┘ \n↓┌───────────────────────────────────────┐\n│ 6. LLM Re-injection & Final Answer ││ \n└─ Combine: query + CoT + paths ││ \n└─ Generate: justified response ││ \n └─ Annotate: confidence + sources │\n└───────────────────────────────────────┘"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "Production Implementation Sketch"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.code",
"language": "python",
"plaintext": "class UnifiedCausalContextGraph: \n \"\"\" Combines causal graph filtering (Luo et al.), \n context graph provenance (Foundation Capital), \nand semantic spacetime relations (Volodia). \n \"\"\" def __init__(self, neo4j_uri, llm): \n self.graph = Neo4jGraph(neo4j_uri) \n self.llm = llm \n # Precompute causal subgraph \n self.causal_view = self.graph.query(\"\"\" \n MATCH (u)-[r]->(v) \n WHERE r.causal_weight >= 0.5 \n RETURN u, r, v \"\"\") \n\ndef query(self, user_query, as_of_time=None): \n # Stage 1: Generate CoT \ncot = self.llm.generate_cot(user_query) \n steps = self.parse_cot(cot) \n # Stage 2: Map CoT steps to semantic spacetime relation types \n relation_filters = [] \nfor step in steps: \nif \"why\" in step.lower() or \"cause\" in step.lower():\n relation_filters.append(\"LEADS_TO\")\n elif \"what\" in step.lower(): \n relation_filters.append([\"CONTAINS\", \"EXPRESSES_PROPERTY\"]) \n else: \nrelation_filters.append(None) \n # No filter \n # Stage 3: Stepwise causal retrieval \nall_paths = [] \nfor i, (step_i, step_j) in \nenumerate(zip(steps[:-1], steps[1:])): \n entities_i = self.extract_entities(step_i) \nentities_j = self.extract_entities(step_j) \n # Build cypher query with relation type filter\n rel_filter = relation_filters[i] \n if rel_filter: \ntype_constraint = f\"WHERE type(r) IN {rel_filter}\" \n else: type_constraint = \"\" \n paths = self.graph.query(f\"\"\" \n MATCH path = (u)-[r*1..3]->(v) \n WHERE u.id IN $source_ids \n AND v.id IN $target_ids \nAND r.causal_weight >= 0.5 \n{type_constraint} \n RETURN path \n LIMIT 10 \"\"\",\n source_ids=entities_i, target_ids=entities_j) \n all_paths.extend(paths) \n # Stage 4: Context graph temporal filtering \n if as_of_time: all_paths = [ \n p for p in all_paths \n if all( \nedge.t_valid_start <= as_of_time < edge.t_valid_end \n and edge.t_transaction <= as_of_time \n for edge in p ) \n ] \n # Stage 5: Multi-dimensional path scoring \n scored_paths = [ \n(path, self.score_path(path, user_query)) \n for path in all_paths ] \ntop_paths = heapq.nlargest(5, scored_paths, key=lambda x: x[1]) \n # Stage 6: LLM synthesis with provenance \ncontext = self.serialize_paths_with_provenance(top_paths)\n final_prompt = f\"\"\" Query: {user_query} \n Reasoning trace: {cot} \n Supporting evidence: {context} \n Synthesize an answer. For each claim, cite the supporting path ID.\n \"\"\" \nanswer = self.llm.generate(final_prompt) \n return { \n \"answer\": answer, \n \"cot\": cot, \n \"evidence_paths\": top_paths, \n \"as_of_time\": as_of_time, } \n def score_path(self, path, query): \n\"\"\"Multi-factor scoring per semantic spacetime framework.\"\"\" \n # Entity overlap (CUI matching) \nentity_score = self.compute_entity_overlap(path, query) \n # Semantic similarity (embedding distance) \n semantic_score = self.compute_semantic_similarity(path, query) \n # Length penalty (prefer shorter paths) \nlength_score = 1 / (1 + len(path)) \n # Causal weight (prefer LEADS_TO over NEAR/SIMILAR_TO) \n causal_score = sum(e.causal_weight for e in path) / len(path) \n # Temporal validity (prefer current knowledge)\n now = datetime.now() \n temporal_score = sum( \n 1.0 if e.t_valid_start <= now < e.t_valid_end else 0.2 \n for e in path ) / len(path) \n return ( 0.20 * entity_score + \n 0.15 * semantic_score + 0.10 * length_score + \n 0.40 * causal_score + # Highest weight \n 0.15 * temporal_score )\n"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "Open Questions & Research Directions"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "Automated Causal Weight Estimation"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 7,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Problem: Manual annotation doesn’t scale. Automated causal discovery (PC algorithm, etc.) assumes:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.unorderedList",
"children": [
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Causal sufficiency (no hidden confounders)"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Markov condition (local independence)"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Large sample sizes"
},
"children": []
}
]
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 50,
"byteStart": 32
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Medical KGs violate all three. Research direction: Can LLMs reliably score causal strength from relation type + entity context?"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.code",
"language": "plaintext",
"plaintext": "# Experiment: LLM-based causal scoringdef llm_estimate_causality(source, relation, target, context): prompt = f\"\"\" Given: {source} --{relation}--> {target} Context: {context} On a scale 0-1, how strong is the causal relationship? 0 = Pure correlation/co-occurrence 1 = Direct mechanistic causation Score: \"\"\" score = llm.generate(prompt) return float(score)"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 17,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Validation needed: Compare LLM scores to expert-annotated medical literature."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "CoT Stabilization for Deterministic Retrieval"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 7,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Problem: Stochastic CoT → non-deterministic retrieval → unreliable production systems."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 19,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Potential solutions:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.unorderedList",
"children": [
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Self-consistency decoding: Generate N CoTs, pick majority path"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Constrained CoT generation: Force specific step templates"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Caching: Store (query → CoT) mappings, reuse when applicable"
},
"children": []
}
]
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 18,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Research direction: Benchmark CoT variance across different models and prompt strategies."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "Ontology Alignment: Semantic Spacetime → Domain KGs"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 7,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Problem: Medical KGs use domain relations (TREATS, DIAGNOSES). How do these map to the four semantic spacetime primitives?"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.code",
"language": "plaintext",
"plaintext": "TREATS: Drug → Disease → LEADS_TO? (Drug causes symptom reduction) → NEAR/SIMILAR_TO? (Drug and disease co-occur in treatment contexts)"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.code",
"language": "plaintext",
"plaintext": "DIAGNOSES: Symptom → Disease → LEADS_TO? (Symptom is caused by disease) → EXPRESSES_PROPERTY? (Symptom is a manifestation of disease)"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 18,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Research direction: Build explicit mapping functions from domain ontologies to semantic spacetime."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "Provenance Chain Compression"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 7,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Problem: Reifying every decision edge creates graph explosion. A single agent action might generate 100+ provenance triples."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 7,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Example:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.code",
"language": "plaintext",
"plaintext": ":action_123 a prov:Activity ; prov:used :input_1, :input_2, ..., :input_50 ; prov:wasAssociatedWith :agent_X ; prov:wasInfluencedBy :rule_A, :rule_B, ..., :rule_Z ."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 18,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Research direction: Develop provenance summarization techniques that preserve causal chain fidelity while reducing storage overhead."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "Multi-Agent Causal Attribution"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 7,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Problem: In agent collaboration, decisions emerge from interaction. How do you attribute causality when multiple agents contribute?"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.code",
"language": "plaintext",
"plaintext": "Agent_A suggests Action_X (confidence: 0.7)Agent_B critiques (confidence: 0.4) Agent_C approves modified Action_X' (confidence: 0.9)"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 21,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Which edge is causal?"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.unorderedList",
"children": [
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "A → X’ ? (Original suggestion)"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "C → X’ ? (Final approval)"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "{A, B, C} → X’ ? (Collective attribution)"
},
"children": []
}
]
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 18,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Research direction: Extend PROV-O with multi-agent attribution patterns."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "Conclusion: The Path Forward"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 105,
"byteStart": 84
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "The convergence of causal graphs, context graphs, and semantic spacetime reveals a coherent architecture for next-generation AI memory systems:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.unorderedList",
"children": [
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 18,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 55,
"byteStart": 34
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Semantic spacetime provides the foundational ontology: four relation types (NEAR, LEADS_TO, CONTAINS, EXPRESSES_PROPERTY) that all knowledge reduces to."
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 13,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 47,
"byteStart": 28
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Causal graphs provide the filtering mechanism: prioritize LEADS_TO edges with high causal weights, prune correlation noise."
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 14,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 45,
"byteStart": 29
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Context graphs provide the provenance layer: wrap causal chains in bi-temporal metadata (who, when, why) using PROV-O patterns."
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 21,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 52,
"byteStart": 37
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "CoT-aligned retrieval provides the query interface: LLMs generate reasoning steps, graph system fetches relevant causal paths per step."
},
"children": []
}
]
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 17,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "For practitioners:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.unorderedList",
"children": [
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 39,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Start with relation type classification: Audit your existing KG. Which edges are causal (LEADS_TO) vs. correlational (NEAR/SIMILAR_TO)?"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 43,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 113,
"byteStart": 106
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#code"
}
]
},
{
"index": {
"byteEnd": 133,
"byteStart": 120
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#code"
}
]
}
],
"plaintext": "Implement bi-temporal tracking from day one: Retrofitting temporal validity is painful. Every edge needs t_valid and t_transaction."
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 25,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Use PROV-O for provenance: Don’t invent custom schemas. W3C standards exist for good reason."
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 18,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Test CoT stability: Measure variance in CoT generation across multiple runs before deploying to production."
},
"children": []
}
]
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 21,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 61,
"byteStart": 32
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "The honest assessment: This is solid integration engineering, not revolutionary invention. The academic novelty is validating that causal prioritization + CoT alignment improves accuracy. The engineering novelty is packaging three established patterns (temporal KGs, provenance tracking, causal inference) into a coherent stack optimized for LLM retrieval."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 81,
"byteStart": 71
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 194,
"byteStart": 188
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
},
{
"index": {
"byteEnd": 222,
"byteStart": 215
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "The “trillion-dollar opportunity” framing is venture theater. The real value is making provenance infrastructure accessible for the agentic era — ensuring AI systems don’t just answer questions but can justify their reasoning with auditable causal chains."
}
}
]
}
]
},
"bskyPostRef": {
"cid": "bafyreig3rg3vjonmp3lii64xhjcch4oxgou7uh5ij7nptxhua2lq5kkb3i",
"uri": "at://did:plc:p7sxjpo2opcfkn7cgi5jqyqi/app.bsky.feed.post/3mc7tv2ymnc2v",
"commit": {
"cid": "bafyreiaw6uyb2en3atn44xm3p5ginuecq5mpcixjlpit3e2jnrjh3c7rl4",
"rev": "3mc7tv33r3o2y"
},
"validationStatus": "valid"
},
"description": "",
"publishedAt": "2026-01-12T10:37:18.079Z"
}