4 Commits

Author SHA1 Message Date
ba314bc664 docs(adr): 0009 — reified Relation edges; recall + tool-dispatch reframes
Three findings from the Cognee-API review:

ADR 0009 (the big one): edges with time/confidence are reified
:Relation nodes, promoted v1.1 -> v1. Cognee's graph_model can't
carry valid_from/valid_until/confidence on a native edge (an edge
is a nested DataPoint field; the Edge object only has weight +
relationship_type). So any edge the time model, consistency engine,
disputed-edge machinery, and retcon policy operate on is a Relation
node. Structural edges (is_type, template-wiring) stay native.
Propagated: 11-extensibility (Relation now v1, +disputed/retcon
fields), 04-consistency (Category A + B Cypher match through Relation
nodes, materialize is_disputed/disputed_with), 00-overview count,
CONTEXT.md (+Relation term), slice 1/3/6 notes.

Finding 1: cognee.recall is not 'low-precision' — it returns scored
multi-source RecallResponse objects (incl cypher/triplet/temporal
kinds), session-aware. It's the fallback because results are
un-typed/un-cited/un-time-bounded, not low-precision. Reframed in
07-reasoning-harness + 05-mcp-tools.

Finding 3: 'register our 45 tools with Cognee's dispatch' was false.
Cognee ships cognee-mcp (a fixed 14-tool surface) — a reference
server, not a registry we extend. Lore Engine runs its own MCP
server (45 tools), calls Cognee's Python API in-process. Reframed
in 00-overview + 22-cognee-boundary.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-17 23:20:26 -04:00
0f939b3bdb docs(adr): 0008 — graph backend is Neo4j (overrides Cognee's Kuzu default)
Cognee's default graph DB is Kuzu (PR #1022, June 2025). We override
to Neo4j for battle-testedness + Java UDFs. The time model
(time_in_window/overlap, era tree, current token) now ships as a
Neo4j Java UDF — queryable inline in Cypher, the contract was_true_at
depends on. Kuzu has no Java UDF mechanism, so on Kuzu the time model
would have been app-layer Python called outside the query. The POC's
pure-Python port becomes the reference impl + test oracle.

Resolves the 'verify which backend' hedge that was never executed:
  - 08-architecture.md: storage line, diagram, time-model impl, hosting
  - 22-cognee-boundary.md: storage ownership
  - CONTEXT.md: Cognee entry pinned to Neo4j
  - 00-overview.md: ADR index

Post-cognify consistency hook (Q10 second half): Cognee exposes no
built-in hook. 04-consistency.md updated — live sweep runs as a final
Task in run_custom_pipeline (post-ingest, <100ms); nightly full sweep
runs as external cron. Both write the same :ConsistencyRun shape.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-17 22:55:21 -04:00
50d8deab55 docs: reframe consistency engine as from-scratch on Cognee; add CONTEXT.md glossary
Research into Cognee's actual API (docs.cognee.ai) confirmed the
docs made a load-bearing false claim: that the Lore Engine
'inherits and generalizes' a Contradiction node, get_contradictions
tool, 8 inherited MCP tools, and neo4j-init.cypher from the substrate.

Cognee ships NONE of that. Cognee provides DataPoint + custom graph
models + remember/recall + a Cypher/APOC graph-rule pattern. So:
  - Slice 2 (consistency) is a from-scratch BUILD, not a generalization
  - Categories A/B/D (Contradiction/Anachronism/Orphan) are ours
  - Category C (declarative OntologyRule) rides Cognee's Cypher pattern
  - '8 inherited tools' -> '8 base tools' (one wraps cognee.recall)
  - '7 inherited labels' -> '7 base types' (Lore Engine originals on DataPoint)

Fixed across 04-consistency, 01-ontology, 05-mcp-tools, 00-overview,
09-roadmap, 15-related-work, 16-comparison. Historical GraphMCP
comparisons left intact.

Added CONTEXT.md (glossary) — the grill-with-docs skill mandates it
and 6 ADRs' worth of resolved terms (Lineage/Faction/Region/Plane/
LoreSource/extraction+source confidence/disputed edge/retcon/Setting/
ConsistencyRun/Cognee) had no single home. New readers no longer mine
ADR prose for the vocabulary.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-17 22:36:07 -04:00
Hermes Agent
7c4ed58a5b docs: initial Lore Engine design (11 docs, ~140KB)
- 00-overview: goals, what we inherit from GraphMCP-Example, naming
- 01-ontology: 14 node labels, 40+ edge types, time-bound properties
- 02-time-model: era hierarchy, {era}.{year} canonical format, time_in_window UDF
- 03-macro-micro: 3 association patterns, lookup+active context, expand_context
- 04-consistency: Contradiction/Anachronism/Orphan/OntologyViolation, 4 rule categories
- 05-mcp-tools: 30 tools (8 inherited + 22 new), 5 composition patterns, 10 starter rules
- 06-ingestion: 3 paths (prose, structured YAML, dialogue), YAML schemas for 6 source types
- 07-reasoning-harness: 5 question types, system prompt, failure modes, worked example
- 08-architecture: system diagram, services layout, UDFs, schema bootstrap
- 09-roadmap: 11 phases, MVP = 19 days end of phase 4
- 10-critique: pressure-test, S1-S4 severity, open questions
2026-06-16 04:59:12 +00:00