Insert facts. Facts with predicates outside the closed schema are
silently dropped (matches the FactExtractor contract). Subjects
are canonicalized; the stored form carries the canonical subject.
Per-(subject, predicate) entries stay time-sorted ascending so
getLatest is O(1) and getAllTimeOrdered is O(n).
Return the latest fact for (subject, predicate) or null. Supports
un-canonicalized subject input (canonicalized internally). Returns
null for predicates outside the closed schema.
Insert facts. Facts with predicates outside the closed schema are silently dropped (matches the
FactExtractorcontract). Subjects are canonicalized; the stored form carries the canonical subject. Per-(subject, predicate) entries stay time-sorted ascending so getLatest is O(1) and getAllTimeOrdered is O(n).