<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>SEOCHO | Blog</title><description>Ontology-first graph memory and runtime for agents</description><link>https://seocho.blog/</link><language>en</language><item><title>SEOCHO Design Philosophy &amp; Operating Principles</title><link>https://seocho.blog/blog/philosophy/</link><guid isPermaLink="true">https://seocho.blog/blog/philosophy/</guid><description>Extract domain rules and high-value semantics from heterogeneous data into a SHACL-like semantic layer.

</description><pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Source mirrored from &lt;code dir=&quot;auto&quot;&gt;seocho/docs/PHILOSOPHY.md&lt;/code&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This document captures the non-negotiable design philosophy for SEOCHO and how it maps to implementation.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;core-philosophy&quot;&gt;Core Philosophy&lt;/h2&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;Extract domain rules and key domain characteristics from heterogeneous data into a SHACL-like semantic layer.&lt;/li&gt;
&lt;li&gt;Preserve extracted data in table form and build ontology artifacts (&lt;code dir=&quot;auto&quot;&gt;.ttl&lt;/code&gt; and related files) as merge/governance evidence.&lt;/li&gt;
&lt;li&gt;Use ontology-aware entity extraction and linking by providing &lt;code dir=&quot;auto&quot;&gt;prompt + ontology&lt;/code&gt; context to LLMs, then convert related data into graph structures.&lt;/li&gt;
&lt;li&gt;Map graph instances to graph agents in a 1:1 model.&lt;/li&gt;
&lt;li&gt;Keep router agent as the default request entrypoint and delegate to graph agents that can answer the query.&lt;/li&gt;
&lt;li&gt;Use supervisor-style orchestration for router &amp;#x3C;-&gt; graph-agent collaboration, with ontology metadata driving query-to-instance allocation.&lt;/li&gt;
&lt;li&gt;Track and manage all agent-layer flow data through a vendor-neutral trace contract, with JSONL as the canonical artifact and Opik as the preferred team exporter.&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;&lt;h2 id=&quot;additional-perspectives&quot;&gt;Additional Perspectives&lt;/h2&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Provenance-first evidence model:
&lt;ul&gt;
&lt;li&gt;Every extracted fact, inferred rule, and routing decision must be traceable to source records/chunks.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Confidence-aware decisioning:
&lt;ul&gt;
&lt;li&gt;Semantic disambiguation and routing should expose confidence and support deterministic human override.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Contract-first DAG integration:
&lt;ul&gt;
&lt;li&gt;Backend emits strict topology metadata (&lt;code dir=&quot;auto&quot;&gt;node_id&lt;/code&gt;, &lt;code dir=&quot;auto&quot;&gt;parent_id&lt;/code&gt;, &lt;code dir=&quot;auto&quot;&gt;parent_ids&lt;/code&gt;) for frontend workflow canvas rendering.&lt;/li&gt;
&lt;li&gt;UI consumes backend topology directly and must avoid heuristic-only lineage reconstruction.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Practical readiness before promotion:
&lt;ul&gt;
&lt;li&gt;Rule profiles must pass readiness checks (&lt;code dir=&quot;auto&quot;&gt;/rules/assess&lt;/code&gt;) before governance promotion/export.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Versioned ontology lifecycle:
&lt;ul&gt;
&lt;li&gt;Ontology files (&lt;code dir=&quot;auto&quot;&gt;.ttl&lt;/code&gt;, hint artifacts, profiles) are control-plane assets with explicit versioning and rollback.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Observability as a product surface:
&lt;ul&gt;
&lt;li&gt;Trace artifacts must remain portable and reviewable outside any single vendor.&lt;/li&gt;
&lt;li&gt;Opik traces are preferred team-facing evidence for trust and governance, not the only valid runtime contract.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Cost-and-SLO bounded orchestration:
&lt;ul&gt;
&lt;li&gt;Debate/semantic paths must expose measurable latency and cost envelopes for production viability.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Deterministic degradation:
&lt;ul&gt;
&lt;li&gt;Router/graph-agent flows require explicit fallback behavior when confidence or topology contracts are not met.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;h2 id=&quot;expert-feasibility-lens&quot;&gt;Expert Feasibility Lens&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;For multi-role feasibility reviews (frontend/backend/architect/software engineer/DBA), use:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://seocho.blog/blog/feasibility-review-framework/&quot;&gt;&lt;code dir=&quot;auto&quot;&gt;/blog/feasibility-review-framework/&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;h2 id=&quot;implementation-mapping&quot;&gt;Implementation Mapping&lt;/h2&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Ontology-guided extraction/linking:
&lt;ul&gt;
&lt;li&gt;&lt;code dir=&quot;auto&quot;&gt;extraction/ontology_prompt_bridge.py&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code dir=&quot;auto&quot;&gt;extraction/extractor.py&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code dir=&quot;auto&quot;&gt;extraction/linker.py&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;SHACL-like rule lifecycle:
&lt;ul&gt;
&lt;li&gt;&lt;code dir=&quot;auto&quot;&gt;extraction/rule_constraints.py&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code dir=&quot;auto&quot;&gt;extraction/rule_api.py&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code dir=&quot;auto&quot;&gt;extraction/rule_export.py&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Graph instance and agent mapping:
&lt;ul&gt;
&lt;li&gt;&lt;code dir=&quot;auto&quot;&gt;extraction/database_manager.py&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code dir=&quot;auto&quot;&gt;extraction/agent_factory.py&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code dir=&quot;auto&quot;&gt;extraction/debate.py&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Router/supervisor and semantic orchestration:
&lt;ul&gt;
&lt;li&gt;&lt;code dir=&quot;auto&quot;&gt;extraction/agent_server.py&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code dir=&quot;auto&quot;&gt;extraction/semantic_query_flow.py&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Flow telemetry and auditability:
&lt;ul&gt;
&lt;li&gt;&lt;code dir=&quot;auto&quot;&gt;extraction/tracing.py&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;JSONL trace artifacts and optional Opik profile in &lt;code dir=&quot;auto&quot;&gt;docker-compose.yml&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;h2 id=&quot;operating-checks&quot;&gt;Operating Checks&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Before promotion to production-like use:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Rules:
&lt;ul&gt;
&lt;li&gt;Run &lt;code dir=&quot;auto&quot;&gt;/rules/assess&lt;/code&gt; and review &lt;code dir=&quot;auto&quot;&gt;practical_readiness&lt;/code&gt;, &lt;code dir=&quot;auto&quot;&gt;violation_breakdown&lt;/code&gt;, &lt;code dir=&quot;auto&quot;&gt;export_preview&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Routing:
&lt;ul&gt;
&lt;li&gt;Confirm router decisions align with ontology-backed graph metadata.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Traceability:
&lt;ul&gt;
&lt;li&gt;Verify JSONL traces and, when enabled, Opik spans include enough metadata to reconstruct decision path.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UI contract:
&lt;ul&gt;
&lt;li&gt;Ensure workflow canvas lineage uses backend topology fields, not inferred-only links.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Governance:
&lt;ul&gt;
&lt;li&gt;Persist ontology/rule artifacts as versioned files and record change rationale in decision docs.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;</content:encoded></item><item><title>Turning a Folder of Filings into a Compliance Graph in Under a Minute</title><link>https://seocho.blog/blog/finance-compliance-usecase-walkthrough/</link><guid isPermaLink="true">https://seocho.blog/blog/finance-compliance-usecase-walkthrough/</guid><description>A runnable SEOCHO usecase — declare a 6-entity compliance ontology, ingest six mock filings, and ask questions that cross regulator / incident / control / policy boundaries without writing Cypher.

</description><pubDate>Sun, 19 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Compliance teams spend an enormous amount of time re-reading the same filings.
Which regulation does this inquiry reference? Which control evidence covers this
incident? Which policy version was in effect last quarter? Those answers are
&lt;em&gt;already in the documents&lt;/em&gt; — they just are not structured yet.&lt;/p&gt;
&lt;p&gt;This post walks through a working SEOCHO usecase that shows one path out of
that loop: declare the ontology you already think in (regulation, regulator,
incident, control, policy), ingest a folder of filings, and ask questions that
cross those entity boundaries. The whole example fits in one directory of the
SEOCHO repository and runs on &lt;code dir=&quot;auto&quot;&gt;pip install &quot;seocho[local]&quot;&lt;/code&gt; with no server.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;the-thesis-in-one-sentence&quot;&gt;The thesis in one sentence&lt;/h2&gt;&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;In regulated finance, the ontology should carry the quality bar, not the model.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Prompt-driven RAG can get away with vague answers in consumer-facing settings.
In compliance, “approximately correct” is not correct. If you want an answer
you can show to an auditor, the system must be able to point at a typed path
in a graph — not summarize a paragraph.&lt;/p&gt;
&lt;p&gt;That is what the &lt;code dir=&quot;auto&quot;&gt;examples/finance-compliance/&lt;/code&gt; usecase demonstrates, using
the smallest ontology that still resembles real work: six entity types, six
relationships.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;the-ontology&quot;&gt;The ontology&lt;/h2&gt;&lt;/div&gt;
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;Company ── SUBJECT_TO ──▶ Regulation ── ENFORCED_BY ──▶ Regulator&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span&gt;│&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── REPORTED ──▶ ComplianceIncident ── RELATES_TO ──▶ Regulation&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span&gt;│                     │&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span&gt;│                     └── MITIGATED_BY ──▶ ControlEvidence&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span&gt;│&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span&gt;└── GOVERNED_BY ──▶ Policy&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Every noun on that diagram is a node type; every arrow is a typed
relationship. Declared as code:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;from&lt;/span&gt;&lt;span&gt; seocho &lt;/span&gt;&lt;span&gt;import&lt;/span&gt;&lt;span&gt; NodeDef, Ontology, P, RelDef&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;onto &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Ontology&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;finance_compliance&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;nodes&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;Company&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;NodeDef&lt;/span&gt;&lt;span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;properties&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;P&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;str&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;unique&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;True&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;ticker&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;P&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;str&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;Regulator&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;NodeDef&lt;/span&gt;&lt;span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;properties&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;P&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;str&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;unique&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;True&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;Regulation&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;NodeDef&lt;/span&gt;&lt;span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;properties&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;P&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;str&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;unique&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;True&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;code&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;P&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;str&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;ComplianceIncident&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;NodeDef&lt;/span&gt;&lt;span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;properties&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;            &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;summary&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;P&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;str&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;unique&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;True&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;date&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;P&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;str&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;severity&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;P&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;str&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;ControlEvidence&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;NodeDef&lt;/span&gt;&lt;span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;properties&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;            &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;summary&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;P&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;str&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;unique&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;True&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;date&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;P&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;str&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;status&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;P&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;str&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;Policy&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;NodeDef&lt;/span&gt;&lt;span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;properties&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;P&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;str&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;unique&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;True&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;version&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;P&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;str&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;relationships&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;SUBJECT_TO&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;RelDef&lt;/span&gt;&lt;span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;source&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;Company&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;target&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;Regulation&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;ENFORCED_BY&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;RelDef&lt;/span&gt;&lt;span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;source&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;Regulation&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;target&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;Regulator&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;REPORTED&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;RelDef&lt;/span&gt;&lt;span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;source&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;Company&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;target&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;ComplianceIncident&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;RELATES_TO&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;RelDef&lt;/span&gt;&lt;span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;source&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;ComplianceIncident&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;target&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;Regulation&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;MITIGATED_BY&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;RelDef&lt;/span&gt;&lt;span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;source&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;ComplianceIncident&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;target&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;ControlEvidence&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;GOVERNED_BY&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;RelDef&lt;/span&gt;&lt;span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;source&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;Company&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;target&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;Policy&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Full version in
&lt;a href=&quot;https://github.com/tteon/seocho/blob/main/examples/finance-compliance/ontology.py&quot;&gt;&lt;code dir=&quot;auto&quot;&gt;examples/finance-compliance/ontology.py&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;ingest-six-filings&quot;&gt;Ingest six filings&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;The repo ships six small mock documents under &lt;code dir=&quot;auto&quot;&gt;sample_docs/&lt;/code&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;A quarterly filing&lt;/li&gt;
&lt;li&gt;A regulator inquiry (FMSA asks about MCR-401)&lt;/li&gt;
&lt;li&gt;An incident report (I-2026-007 — client-data-access misconfiguration)&lt;/li&gt;
&lt;li&gt;A control attestation (A-2026-014 remediating the incident)&lt;/li&gt;
&lt;li&gt;Board meeting minutes (discussing the inquiry, approving a new policy)&lt;/li&gt;
&lt;li&gt;A policy update (Trade Surveillance v2.0)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Each file is plain English, 50 to 80 words — the shape of the ambient text
a compliance team actually receives, not pre-structured JSON.&lt;/p&gt;
&lt;p&gt;Running the example:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;pip&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;seocho[local]&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;export&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;OPENAI_API_KEY&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;...&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;python&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;examples/finance-compliance/quickstart.py&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;SEOCHO reads each file, runs an ontology-guided extraction pass, and writes
nodes and typed relationships into an embedded LadybugDB file at
&lt;code dir=&quot;auto&quot;&gt;.seocho/local.lbug&lt;/code&gt;. No separate server. No Docker.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;questions-that-cross-entity-boundaries&quot;&gt;Questions that cross entity boundaries&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Once the graph is populated, the quickstart asks four questions designed to
only have good answers if the typed paths are right:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;“Which regulations is Acme Financial Services subject to, and who enforces them?”&lt;/em&gt;
→ &lt;code dir=&quot;auto&quot;&gt;Company&lt;/code&gt; → &lt;code dir=&quot;auto&quot;&gt;SUBJECT_TO&lt;/code&gt; → &lt;code dir=&quot;auto&quot;&gt;Regulation&lt;/code&gt; → &lt;code dir=&quot;auto&quot;&gt;ENFORCED_BY&lt;/code&gt; → &lt;code dir=&quot;auto&quot;&gt;Regulator&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;“What incidents have been reported, and which regulations do they relate to?”&lt;/em&gt;
→ &lt;code dir=&quot;auto&quot;&gt;Company&lt;/code&gt; → &lt;code dir=&quot;auto&quot;&gt;REPORTED&lt;/code&gt; → &lt;code dir=&quot;auto&quot;&gt;ComplianceIncident&lt;/code&gt; → &lt;code dir=&quot;auto&quot;&gt;RELATES_TO&lt;/code&gt; → &lt;code dir=&quot;auto&quot;&gt;Regulation&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;“Which control evidence mitigates incident I-2026-007?”&lt;/em&gt;
→ &lt;code dir=&quot;auto&quot;&gt;ComplianceIncident&lt;/code&gt; → &lt;code dir=&quot;auto&quot;&gt;MITIGATED_BY&lt;/code&gt; → &lt;code dir=&quot;auto&quot;&gt;ControlEvidence&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;“Which policies govern trade surveillance at Acme Financial Services?”&lt;/em&gt;
→ &lt;code dir=&quot;auto&quot;&gt;Company&lt;/code&gt; → &lt;code dir=&quot;auto&quot;&gt;GOVERNED_BY&lt;/code&gt; → &lt;code dir=&quot;auto&quot;&gt;Policy&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The answers are not free-text summaries. They are traces through a graph your
ontology constrained. Swap the company, regulator, or regulation name across
all six filings and the answers update consistently — because the &lt;em&gt;entity
identity&lt;/em&gt; is a graph node, not a string in a paragraph.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;why-this-beats-vector-search-for-compliance&quot;&gt;Why this beats vector search for compliance&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Vector retrieval can find that documents 2 and 3 both talk about
“MCR-401”. It cannot tell you that “the inquiry in document 2 references the
same regulation that document 3’s incident relates to.” The latter is a
join over typed edges — exactly what a graph with an ontology gives you and
what an embedding score approximates only noisily.&lt;/p&gt;
&lt;p&gt;When an auditor asks “show me every incident in scope for MCR-401 and the
controls that mitigate each,” a vector-only system can summarize. A
graph-backed system can enumerate. That is the wedge.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;closed-network-friendly-on-purpose&quot;&gt;Closed-network friendly on purpose&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;The same example runs against a local vLLM or any OpenAI-compatible endpoint
— the quickstart accepts &lt;code dir=&quot;auto&quot;&gt;--llm deepseek/deepseek-chat&lt;/code&gt;,
&lt;code dir=&quot;auto&quot;&gt;--llm kimi/kimi-k2.5&lt;/code&gt;, etc. Nothing in the ontology layer requires a hosted
model. For regulated environments where prompts cannot leave the network,
swap the &lt;code dir=&quot;auto&quot;&gt;--llm&lt;/code&gt; flag and keep the rest of the pipeline identical.&lt;/p&gt;
&lt;p&gt;Runtime-side, SEOCHO’s
&lt;a href=&quot;https://github.com/tteon/seocho/blob/main/docs/decisions/ADR-0087-ontology-readiness-gate.md&quot;&gt;ontology readiness gate&lt;/a&gt;
can refuse rule-profile promotion when validation reports a blocked verdict —
so the ontology is not just context for prompts, it is a gate on governance
actions. Closed-network deployments lean on that gate to keep model
dependency low.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;try-it&quot;&gt;Try it&lt;/h2&gt;&lt;/div&gt;
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;clone&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://github.com/tteon/seocho&lt;/span&gt;&lt;span&gt; &amp;#x26;&amp;#x26; &lt;/span&gt;&lt;span&gt;cd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;seocho&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;pip&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;seocho[local]&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;export&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;OPENAI_API_KEY&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;...&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;python&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;examples/finance-compliance/quickstart.py&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;The full walkthrough, including the mock filings, lives at
&lt;a href=&quot;https://github.com/tteon/seocho/tree/main/examples/finance-compliance&quot;&gt;&lt;code dir=&quot;auto&quot;&gt;examples/finance-compliance/&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;next-usecases--contribute-one&quot;&gt;Next usecases — contribute one&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;We deliberately keep &lt;a href=&quot;https://github.com/tteon/seocho/blob/main/docs/USECASES.md&quot;&gt;&lt;code dir=&quot;auto&quot;&gt;docs/USECASES.md&lt;/code&gt;&lt;/a&gt;
short. A usecase only appears there when there is a runnable example
behind it. Finance compliance is the first. We would welcome
contributions for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Healthcare consent tracking&lt;/strong&gt; — patients, consents, studies, revocations&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Supplier risk&lt;/strong&gt; — suppliers, contracts, incidents, alternates&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Engineering team memory&lt;/strong&gt; — services, incidents, runbooks, owners&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Legal contract obligations&lt;/strong&gt; — parties, obligations, deadlines, breaches&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The pattern to copy is the finance example. Pick a domain you know, write a
six-entity starter ontology, drop five to ten mock docs next to it, and open
a pull request — the ontology shape is the interesting part.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;what-this-is-not&quot;&gt;What this is not&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;This example is not a production compliance system. The mock filings are
intentionally short and synthetic. Real compliance work adds authentication,
auditable evidence storage, retention policies, change-tracking, and
regulator-specific formats that a six-file toy cannot cover.&lt;/p&gt;
&lt;p&gt;What it is: a concrete, runnable shape. If “ontology-governed” has felt
abstract in previous SEOCHO posts, this is the shortest working demo of the
idea. Fork it, rename the entities, point it at your docs.&lt;/p&gt;</content:encoded><category>Usecases</category><category>Ontology</category><category>Finance</category></item><item><title>Feasibility Review Framework &amp; Rubrics</title><link>https://seocho.blog/blog/feasibility-review-framework/</link><guid isPermaLink="true">https://seocho.blog/blog/feasibility-review-framework/</guid><description>Multi-role feasibility review framework and Go/No-Go rubric for graph data implementations.

</description><pubDate>Sat, 21 Feb 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Source mirrored from &lt;code dir=&quot;auto&quot;&gt;seocho/docs/PHILOSOPHY_FEASIBILITY_REVIEW.md&lt;/code&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This document operationalizes philosophy-level decisions into an execution review framework for multi-role experts.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;purpose&quot;&gt;Purpose&lt;/h2&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;verify whether SEOCHO philosophy can be delivered with current stack and constraints&lt;/li&gt;
&lt;li&gt;identify blocking risks before implementation scales&lt;/li&gt;
&lt;li&gt;define measurable Go/Conditional Go/No-Go criteria&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;h2 id=&quot;required-panel-roles&quot;&gt;Required Panel Roles&lt;/h2&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;frontend engineer&lt;/li&gt;
&lt;li&gt;backend engineer&lt;/li&gt;
&lt;li&gt;software architect&lt;/li&gt;
&lt;li&gt;software engineer (application/platform)&lt;/li&gt;
&lt;li&gt;database engineer (DBA)&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;h2 id=&quot;review-dimensions&quot;&gt;Review Dimensions&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Evaluate each dimension with &lt;code dir=&quot;auto&quot;&gt;Green&lt;/code&gt;, &lt;code dir=&quot;auto&quot;&gt;Amber&lt;/code&gt;, or &lt;code dir=&quot;auto&quot;&gt;Red&lt;/code&gt;.&lt;/p&gt;













































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Dimension&lt;/th&gt;&lt;th&gt;Key Question&lt;/th&gt;&lt;th&gt;Evidence&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Semantic Layer Viability&lt;/td&gt;&lt;td&gt;Can SHACL-like rules be inferred, validated, and promoted safely?&lt;/td&gt;&lt;td&gt;&lt;code dir=&quot;auto&quot;&gt;/rules/assess&lt;/code&gt;, profile/export results&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Ontology Governance&lt;/td&gt;&lt;td&gt;Are &lt;code dir=&quot;auto&quot;&gt;.ttl&lt;/code&gt;/hint/profile artifacts versioned and rollback-safe?&lt;/td&gt;&lt;td&gt;git history, ADR, release notes&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Agent Topology Integrity&lt;/td&gt;&lt;td&gt;Is graph-instance &amp;#x3C;-&gt; graph-agent 1:1 mapping enforced?&lt;/td&gt;&lt;td&gt;runtime config, orchestration traces&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Router Allocation Quality&lt;/td&gt;&lt;td&gt;Does router choose target graphs with explainable confidence?&lt;/td&gt;&lt;td&gt;routing metadata, override logs&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;DAG Contract Reliability&lt;/td&gt;&lt;td&gt;Does UI render topology only from backend contract fields?&lt;/td&gt;&lt;td&gt;trace payload schema tests&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Data/Query Safety&lt;/td&gt;&lt;td&gt;Are query surfaces policy-gated and workspace-safe?&lt;/td&gt;&lt;td&gt;policy checks, audit traces&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Cost/Latency Envelope&lt;/td&gt;&lt;td&gt;Can end-to-end flow stay within target SLO and budget?&lt;/td&gt;&lt;td&gt;p95 latency, token/runtime cost&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;div&gt;&lt;h2 id=&quot;role-specific-checklists&quot;&gt;Role-Specific Checklists&lt;/h2&gt;&lt;/div&gt;
&lt;div&gt;&lt;h3 id=&quot;frontend-engineer&quot;&gt;Frontend Engineer&lt;/h3&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;topology lines are rendered from backend metadata (&lt;code dir=&quot;auto&quot;&gt;node_id&lt;/code&gt;, &lt;code dir=&quot;auto&quot;&gt;parent_id&lt;/code&gt;, &lt;code dir=&quot;auto&quot;&gt;parent_ids&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;no heuristic-only lineage reconstruction for production path&lt;/li&gt;
&lt;li&gt;fallback UI behavior is defined when topology is partial/missing&lt;/li&gt;
&lt;li&gt;trace canvas scales under fan-out/fan-in orchestration load&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;h3 id=&quot;backend-engineer&quot;&gt;Backend Engineer&lt;/h3&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;trace schema contract is deterministic and versioned&lt;/li&gt;
&lt;li&gt;router/semantic flows expose confidence and decision reasons&lt;/li&gt;
&lt;li&gt;policy checks guard runtime endpoints consistently&lt;/li&gt;
&lt;li&gt;&lt;code dir=&quot;auto&quot;&gt;workspace_id&lt;/code&gt; is propagated through all runtime contracts&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;h3 id=&quot;software-architect&quot;&gt;Software Architect&lt;/h3&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;control plane and data plane boundaries remain explicit&lt;/li&gt;
&lt;li&gt;ontology governance path stays offline-heavy (not hot-path blocking)&lt;/li&gt;
&lt;li&gt;ADR coverage exists for major orchestration/contract changes&lt;/li&gt;
&lt;li&gt;failure modes have deterministic degradation strategy&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;h3 id=&quot;software-engineer-platformapplication&quot;&gt;Software Engineer (Platform/Application)&lt;/h3&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;end-to-end flow is testable with reproducible fixtures&lt;/li&gt;
&lt;li&gt;operational runbooks cover ingest -&gt; rules -&gt; routing -&gt; response&lt;/li&gt;
&lt;li&gt;observability fields are sufficient for incident replay&lt;/li&gt;
&lt;li&gt;integration contracts across modules avoid hidden side effects&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;h3 id=&quot;database-engineer-dba&quot;&gt;Database Engineer (DBA)&lt;/h3&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;DozerDB/Neo4j compatibility assumptions are validated continuously&lt;/li&gt;
&lt;li&gt;fulltext/index lifecycle is automated and idempotent&lt;/li&gt;
&lt;li&gt;constraint/export plans are reviewed before governance promotion&lt;/li&gt;
&lt;li&gt;query patterns are bounded for performance and operational safety&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;h2 id=&quot;decision-rubric&quot;&gt;Decision Rubric&lt;/h2&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code dir=&quot;auto&quot;&gt;Go&lt;/code&gt;: no &lt;code dir=&quot;auto&quot;&gt;Red&lt;/code&gt;, and at most 2 &lt;code dir=&quot;auto&quot;&gt;Amber&lt;/code&gt;, with owners/dates assigned&lt;/li&gt;
&lt;li&gt;&lt;code dir=&quot;auto&quot;&gt;Conditional Go&lt;/code&gt;: 1 &lt;code dir=&quot;auto&quot;&gt;Red&lt;/code&gt; or 3-4 &lt;code dir=&quot;auto&quot;&gt;Amber&lt;/code&gt;, with mandatory mitigation plan&lt;/li&gt;
&lt;li&gt;&lt;code dir=&quot;auto&quot;&gt;No-Go&lt;/code&gt;: 2+ &lt;code dir=&quot;auto&quot;&gt;Red&lt;/code&gt;, or unresolved safety/governance blocker&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;h2 id=&quot;risk-register-template&quot;&gt;Risk Register Template&lt;/h2&gt;&lt;/div&gt;





















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;ID&lt;/th&gt;&lt;th&gt;Risk&lt;/th&gt;&lt;th&gt;Severity&lt;/th&gt;&lt;th&gt;Owner Role&lt;/th&gt;&lt;th&gt;Mitigation&lt;/th&gt;&lt;th&gt;Trigger&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;R1&lt;/td&gt;&lt;td&gt;Example: ontology/profile drift&lt;/td&gt;&lt;td&gt;High&lt;/td&gt;&lt;td&gt;Architect&lt;/td&gt;&lt;td&gt;version pin + compatibility test&lt;/td&gt;&lt;td&gt;failed export/readiness&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;div&gt;&lt;h2 id=&quot;306090-plan-template&quot;&gt;30/60/90 Plan Template&lt;/h2&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Day 0-30:
&lt;ul&gt;
&lt;li&gt;enforce schema tests for topology contract&lt;/li&gt;
&lt;li&gt;baseline &lt;code dir=&quot;auto&quot;&gt;/rules/assess&lt;/code&gt; thresholds and publish pass criteria&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Day 31-60:
&lt;ul&gt;
&lt;li&gt;close confidence/override loop with operator UX and audit export&lt;/li&gt;
&lt;li&gt;add replay-grade Opik trace dashboards for router/debate/semantic&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Day 61-90:
&lt;ul&gt;
&lt;li&gt;production hardening for index/constraint lifecycle&lt;/li&gt;
&lt;li&gt;define release gate tying ADR + readiness + SLO checks&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;h2 id=&quot;kpi-baseline&quot;&gt;KPI Baseline&lt;/h2&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;rule readiness pass rate (&lt;code dir=&quot;auto&quot;&gt;ready&lt;/code&gt; ratio) per ingestion batch&lt;/li&gt;
&lt;li&gt;router allocation precision (verified answerable-route ratio)&lt;/li&gt;
&lt;li&gt;semantic disambiguation confidence calibration (override rate vs confidence)&lt;/li&gt;
&lt;li&gt;topology contract compliance (trace payload schema pass rate)&lt;/li&gt;
&lt;li&gt;p95 end-to-end latency by mode (&lt;code dir=&quot;auto&quot;&gt;router&lt;/code&gt;, &lt;code dir=&quot;auto&quot;&gt;debate&lt;/code&gt;, &lt;code dir=&quot;auto&quot;&gt;semantic&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;incident replay completeness (trace-to-root-cause success ratio)&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;h2 id=&quot;initial-panel-synthesis-2026-02-20&quot;&gt;Initial Panel Synthesis (2026-02-20)&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Decision: &lt;code dir=&quot;auto&quot;&gt;Conditional Go&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Primary reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;philosophy and architecture intent are explicit and well aligned&lt;/li&gt;
&lt;li&gt;SHACL-like readiness and DAG contract directions are implemented&lt;/li&gt;
&lt;li&gt;operational hardening remains for confidence calibration, SLO envelopes, and governance automation&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Immediate priorities:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;treat topology payload schema as a release-blocking contract&lt;/li&gt;
&lt;li&gt;enforce readiness gates before rule/ontology promotion&lt;/li&gt;
&lt;li&gt;publish confidence policy for router/semantic fallback behavior&lt;/li&gt;
&lt;/ol&gt;</content:encoded></item><item><title>Image Prompts for Landing Page</title><link>https://seocho.blog/blog/image-prompts/</link><guid isPermaLink="true">https://seocho.blog/blog/image-prompts/</guid><pubDate>Sat, 21 Feb 2026 00:00:00 GMT</pubDate><content:encoded>&lt;div&gt;&lt;h1 id=&quot;prompts-for-3d-graph--network-assets&quot;&gt;Prompts for 3D Graph / Network Assets&lt;/h1&gt;&lt;/div&gt;
&lt;div&gt;&lt;h2 id=&quot;1-hero-image--core-engine&quot;&gt;1. Hero Image / Core Engine&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Prompt&lt;/strong&gt;: A hyper-realistic, 3D abstract representation of a “knowledge graph neural network” floating in a pitch-black void. The nodes are glowing with vibrant cyan and violet neon lights, connected by sleek, pulsating fiber-optic cables. High-end, sleek, Apple-style product rendering, cinematic lighting, glassmorphism elements, dark gray metallic details, very high resolution, 8k, octane render.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;2-semantic-routing-visualization&quot;&gt;2. Semantic Routing Visualization&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Prompt&lt;/strong&gt;: A sleek 3D graphic showing a glowing data packet (representing a user query) traveling along a bright purple neon track, splitting into branching paths (representing different knowledge graphs). Dark mode, deep slate background, elegant tech aesthetic, depth of field, sharp focus, futuristic but clean and minimalist, neon edge lighting.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;3-debate-engine--multi-agent-collaboration&quot;&gt;3. Debate Engine / Multi-Agent Collaboration&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Prompt&lt;/strong&gt;: Three glowing, crystalline orbs (representing AI agents) hovering around a glowing, central holographic document. The orbs emit subtle light beams (cyan, emerald, and rose pink) that intersect at the document. Pitch black background, premium tech startup aesthetic, subtle glassmorphic reflections on the ground, extreme detail, 3D render.&lt;/p&gt;</content:encoded></item><item><title>SEOCHO Runtime Update: Strict E2E Smoke Tests and the Open Source Playbook</title><link>https://seocho.blog/blog/runtime-stability-update/</link><guid isPermaLink="true">https://seocho.blog/blog/runtime-stability-update/</guid><pubDate>Sat, 21 Feb 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;We are excited to announce a major update pushed to the SEOCHO main repository today, focusing heavily on &lt;strong&gt;runtime stability, reproducible quickstarts, and contributor experience&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;If you are an external team or an open-source contributor looking to adopt the SEOCHO engine, this update is specifically designed for you.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;1-reproducible-user-activation-path--new-quickstart&quot;&gt;1. Reproducible User Activation Path &amp;#x26; New Quickstart&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;We have completely overhauled our &lt;a href=&quot;https://seocho.blog/docs/quickstart/&quot;&gt;Quick Start guide&lt;/a&gt; to follow a strict, reproducible User Activation Critical Path.&lt;/p&gt;
&lt;p&gt;Previously, setting up the graph and running the agents could be highly environmental. Moving forward, no architecture changes will be merged unless this exact user path functions flawlessly:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Ingest raw data&lt;/strong&gt; via the &lt;code dir=&quot;auto&quot;&gt;/platform/ingest/raw&lt;/code&gt; endpoint.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ensure semantic index&lt;/strong&gt; provisioning via the &lt;code dir=&quot;auto&quot;&gt;/indexes/fulltext/ensure&lt;/code&gt; API.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Execute semantic/debate chat&lt;/strong&gt; successfully.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pass the new &lt;code dir=&quot;auto&quot;&gt;make e2e-smoke&lt;/code&gt;&lt;/strong&gt; automated test gate.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This flow is the definitive acceptance criteria for our user-facing releases.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;2-introducing-the-open-source-playbook&quot;&gt;2. Introducing the Open Source Playbook&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;To support external teams adapting SEOCHO to real, proprietary domain data, we have published the &lt;strong&gt;&lt;a href=&quot;https://seocho.blog/docs/open_source_playbook/&quot;&gt;Open Source Playbook&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;This playbook serves as a direct extension guide, detailing exactly where to hook into the engine:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Route Extensibility:&lt;/strong&gt; How to modify &lt;code dir=&quot;auto&quot;&gt;extraction/semantic_query_flow.py&lt;/code&gt; for custom dispatch logic.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ontology Injection:&lt;/strong&gt; How to replace the default FIBO constraints with your own domain ontology.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Testing Contracts:&lt;/strong&gt; Required quality gates (&lt;code dir=&quot;auto&quot;&gt;make test-integration&lt;/code&gt;, &lt;code dir=&quot;auto&quot;&gt;make e2e-smoke&lt;/code&gt;) that you must pass before expanding features.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;h2 id=&quot;3-priority-execution-board-published&quot;&gt;3. Priority Execution Board Published&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;To ensure total transparency into the SEOCHO system’s next steps, we have published our current &lt;a href=&quot;https://seocho.blog/docs/architecture/#priority-execution-board-2026-02-21&quot;&gt;Priority Execution Board&lt;/a&gt; within the Architecture documentation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;P0 Priorities currently underway:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Isolating the OpenAI Agents SDK calls behind a unified adapter layer.&lt;/li&gt;
&lt;li&gt;Enforcing contract tests for runner signatures.&lt;/li&gt;
&lt;li&gt;Real-database Agent Provisioning (gracefully handling missing/stale databases in the debate fan-out phase).&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;h2 id=&quot;update-now&quot;&gt;Update Now&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;To experience the new stable routing and explore the updated CLI trace capabilities:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;pull&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;origin&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;main&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;make&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;e2e-smoke&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Read the full details in our updated &lt;a href=&quot;https://seocho.blog/docs/&quot;&gt;Docs section&lt;/a&gt;.&lt;/p&gt;</content:encoded><category>Release</category><category>Documentation</category><category>Testing</category></item></channel></rss>