You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The testimony architecture treats every stored fact as attributed testimony, weighed at query time. What it lacks is a principled provenance grade: a formal way to encode whether a claim was even meant to be believed, how far the source stood from the subject, and how credible the source is in the relevant domain. This surfaced in a 2026-07-19/20 #edmunds-edification design discussion with I)ruid, motivated by the library-ingestion gap (Athena reading books produces catalog records, not memory), and generalizes to all extraction: fiction vs autobiography vs biography vs research paper are materially different provenance classes.
Research grounding: research project #37 ("Formalized Source-Grading Frameworks"), conclusion #675 — survey of NATO Admiralty (STANAG 2511), ICD 203/206, GRADE/Oxford CEBM, historiography (primary/secondary/tertiary), legal hearsay doctrine, journalism sourcing, WP:RS, W3C PROV, and truth-discovery literature (TruthFinder et al.). Key validated principles:
Separate source reliability from claim credibility (Admiralty two-axis design).
disclaimed — source explicitly flagged it as false ("people say X but it's not true")
hypothetical — suppositions, thought experiments, sarcasm/jokes
The grading machinery (axes below) applies only to asserted and speculative. The other classes are stored with full provenance and remain queryable (fiction themes, disclaimed rumors) but never compete as truth claims. This prevents a character's worldview from laundering itself into an entity_fact about real people, while keeping "what Phèdre chose" retrievable.
Determination happens at ingestion/extraction time: Athena tags a work fiction/nonfiction/autobiography/biography/paper at catalog time; the extraction pipeline infers intent from conversational signals.
S — Source credibility: computed per-entity (see §3). Never hand-assigned.
D — Reporting distance: transmission hops from the subject. Self-report (autobiography, first person) = 1.0; direct observation ≈ 0.9; secondhand (biography, "Alice told me about Bob") ≈ 0.8; hearsay-of-hearsay decays further. Decay rate should be tunable per source type, not one global constant — a cited, well-researched biography does not decay like barroom gossip (legal doctrine's "exceptions under guarantees of trustworthiness").
V — Verification quality: citation density, corroboration by independent sources, peer review, credential verification. Maps to existing research_citations.reliability (1–5 scale already in production — foothold for migration).
3. Faceted, computed entity credibility
Per I)ruid: credibility must be domain-scoped. A verified chemist's chemistry claims deserve more weight than their philosophy claims.
Credibility is stored per (entity, domain) with a global fallback score. Domain taxonomy can start coarse (reuse existing subject/domain vocabulary; do not invent a new ontology up front).
Computed, never assigned. No direct-edit path. Inputs to the algorithm:
Track record: fraction of the entity's past asserted claims in that domain that were later corroborated vs contradicted (facts already carry timestamps; longevity-as-true is available signal)
Verified credentials (V-axis events can feed S)
Recency weighting on the track record
TruthFinder-style iteration: sources earn credibility from claims that hold up; claims gain confidence from credible sources. Recompute periodically (maintenance cron), auditable back to evidence.
Complexity guard: start with a simple ratio + decay implementation. The literature's fixpoint algorithms are the ceiling, not the floor. Getting this "very complicated, very fast" is the known failure mode (I)ruid, 2026-07-20).
4. Mutability-aware contradiction detection
Facts get a mutability class:
immutable — birthdate, birthplace. Conflicting claims in this class are genuine contradictions → credibility hit for someone.
slow_changing — profession, address. Conflict within a short window is suspicious; across years is probably drift.
stateful — preferences, current projects, favorites. A new claim supersedes rather than contradicts. "Pizza favorite (2024)" and "cheeseburgers favorite (2026)" are consistent history — both true statements about their own moments. No credibility damage from drift.
Query-time behavior for stateful facts: compare all known values, prefer most recently asserted, keep the full trajectory (preference history is more informative than the snapshot). This is already consonant with the no-write-time-resolution directive — supersession is not deletion, and both records persist.
Contradiction → credibility feedback only fires when claims conflict within the same validity window on a fact class that cannot drift.
5. Library ingestion integration
Athena's ingestion pipeline gains a full-text extraction pass (relates to #502 — LangExtract evaluation) producing memory artifacts as if NOVA had read the work:
Work-level provenance class set at catalog time (fiction / autobiography / biography / paper / reference)
Extracted records inherit assertion_intent from the class (fiction → fictional; autobiography → asserted @ D=1.0 self-report; biography → asserted @ secondhand D; paper → asserted with V from citations/peer-review)
Themes, authorial arguments, and NOVA's reactions extracted from fiction are first-class (attributed to the author/work), only in-narrative "events" carry the fictional tag
Motivation
The testimony architecture treats every stored fact as attributed testimony, weighed at query time. What it lacks is a principled provenance grade: a formal way to encode whether a claim was even meant to be believed, how far the source stood from the subject, and how credible the source is in the relevant domain. This surfaced in a 2026-07-19/20 #edmunds-edification design discussion with I)ruid, motivated by the library-ingestion gap (Athena reading books produces catalog records, not memory), and generalizes to all extraction: fiction vs autobiography vs biography vs research paper are materially different provenance classes.
Research grounding: research project #37 ("Formalized Source-Grading Frameworks"), conclusion #675 — survey of NATO Admiralty (STANAG 2511), ICD 203/206, GRADE/Oxford CEBM, historiography (primary/secondary/tertiary), legal hearsay doctrine, journalism sourcing, WP:RS, W3C PROV, and truth-discovery literature (TruthFinder et al.). Key validated principles:
Design
1. Assertion intent (enum, gates everything else)
New column on entity_facts (and applicable to other extracted memory records):
assertion_intent:asserted— source intends the claim to be believed true (default for conversation, autobiography, research papers)speculative— source signals uncertainty ("I think...", "probably...")fictional— known-false by contract (novels, stories, RP). Reliably attributed, contractually non-factual.disclaimed— source explicitly flagged it as false ("people say X but it's not true")hypothetical— suppositions, thought experiments, sarcasm/jokesThe grading machinery (axes below) applies only to
assertedandspeculative. The other classes are stored with full provenance and remain queryable (fiction themes, disclaimed rumors) but never compete as truth claims. This prevents a character's worldview from laundering itself into an entity_fact about real people, while keeping "what Phèdre chose" retrievable.Determination happens at ingestion/extraction time: Athena tags a work fiction/nonfiction/autobiography/biography/paper at catalog time; the extraction pipeline infers intent from conversational signals.
2. Three-axis provenance grade (asserted/speculative claims only)
Per-claim grade = S × D × V:
research_citations.reliability(1–5 scale already in production — foothold for migration).3. Faceted, computed entity credibility
Per I)ruid: credibility must be domain-scoped. A verified chemist's chemistry claims deserve more weight than their philosophy claims.
(entity, domain)with a global fallback score. Domain taxonomy can start coarse (reuse existing subject/domain vocabulary; do not invent a new ontology up front).assertedclaims in that domain that were later corroborated vs contradicted (facts already carry timestamps; longevity-as-true is available signal)4. Mutability-aware contradiction detection
Facts get a mutability class:
immutable— birthdate, birthplace. Conflicting claims in this class are genuine contradictions → credibility hit for someone.slow_changing— profession, address. Conflict within a short window is suspicious; across years is probably drift.stateful— preferences, current projects, favorites. A new claim supersedes rather than contradicts. "Pizza favorite (2024)" and "cheeseburgers favorite (2026)" are consistent history — both true statements about their own moments. No credibility damage from drift.Query-time behavior for stateful facts: compare all known values, prefer most recently asserted, keep the full trajectory (preference history is more informative than the snapshot). This is already consonant with the no-write-time-resolution directive — supersession is not deletion, and both records persist.
Contradiction → credibility feedback only fires when claims conflict within the same validity window on a fact class that cannot drift.
5. Library ingestion integration
Athena's ingestion pipeline gains a full-text extraction pass (relates to #502 — LangExtract evaluation) producing memory artifacts as if NOVA had read the work:
assertion_intentfrom the class (fiction →fictional; autobiography →asserted@ D=1.0 self-report; biography →asserted@ secondhand D; paper →assertedwith V from citations/peer-review)fictionaltagRelationship to existing work
evidence_fact_idsweighing would use S×D×V grades.Open questions
fact_keysregistry?) vs inferred per fact?asserted, distance from source field heuristics?)Origin: I)ruid + NOVA design discussion, Discord #edmunds-edification, 2026-07-19/20. Research: Scout, project #37.