Tracking issue for the graph rework designed in paper/graph-model-v2.md (committed 86347bc).
Core: a single bi-temporal Fact edge primitive — (subject)—[predicate]→(object) carrying event-time validity (t_valid/t_invalid) + ingestion time (t_created/t_expired) + provenance. Adopted from Zep/Engram rather than reinvented.
Settled design decisions (doc §10):
- Variable-precision
TimeValue (year→subsecond) with recurrence + anchor.
- Open predicate vocabulary; cardinality inferred from data, not a hardcoded table.
- Only concepts merge; entities and facts are singular. Coreference = link, not fusion.
TIME_POINT kept for date-as-content / co-reference (distinct from date-as-validity).
polarity (asserted/negated) on facts; opinions = facts whose subject is the holder.
- One unified "referring-expression → node" resolver; local coref resolves structurally, only genuinely-underspecified refs defer to LLM.
- Retrieval gains an as-of point-in-time filter.
Sub-workstreams (to be split into issues when scheduled):
Absorbs/supersedes: #15 (signature identity — reframed: concepts merge, entities match), #17 (L2 META gets a job via bottom-up concepts). Blocks meaningful re-eval (#14) once reconnect chores land.
Tracking issue for the graph rework designed in
paper/graph-model-v2.md(committed 86347bc).Core: a single bi-temporal Fact edge primitive —
(subject)—[predicate]→(object)carrying event-time validity (t_valid/t_invalid) + ingestion time (t_created/t_expired) + provenance. Adopted from Zep/Engram rather than reinvented.Settled design decisions (doc §10):
TimeValue(year→subsecond) withrecurrence+anchor.TIME_POINTkept for date-as-content / co-reference (distinct from date-as-validity).polarity(asserted/negated) on facts; opinions = facts whose subject is the holder.Sub-workstreams (to be split into issues when scheduled):
TimeValuetype + variable precision + recurrencegraph.pyEdge(subject,predicate,object)extractionpolarity+ opinion (holder-as-subject) +INSTEAD_OFevent relationAbsorbs/supersedes: #15 (signature identity — reframed: concepts merge, entities match), #17 (L2 META gets a job via bottom-up concepts). Blocks meaningful re-eval (#14) once reconnect chores land.