The evidence graph outlived the footnote

V0M3 connected source revisions, claims, proposal operations, accepted spans, human edits, and review decisions after ordinary citations stopped explaining the writing process.

The footnote survived after the sentence it once supported had changed meaning.

A V0M3 proposal paraphrased a source about a release-candidate experiment. I accepted it, later edited the sentence into a statement about the stable release, and kept the same citation. The link still opened a real source. The evidence relationship had expired.

A footnote connected text to a document. V0M3 needed to connect a claim at one revision to the exact source meaning, proposal, acceptance, and later edits.

The result was an evidence graph beneath the ordinary document.

The graph began with immutable nodes

V0M3 represented:

  • Source documents and immutable revisions.
  • Source spans and structurally expanded evidence units.
  • Claims with qualifiers and temporal scope.
  • Generation tasks and proposal revisions.
  • Typed proposal operations.
  • Canonical document revisions and spans.
  • Review, verification, and acceptance decisions.
  • Exports and publication-like artifacts.

Edges named a relationship rather than generic “related to”:

  • supports, contradicts, contextualizes, or mentions
  • generated-from
  • proposes-replacement-for
  • accepted-as
  • edited-into
  • supersedes
  • exported-in

The current paragraph was one point in a history, not the graph's only identity.

A citation to a document's first page was insufficient. Evidence edges named immutable source revision and exact character or structural spans. The source renderer opened those spans inside authored headings, tables, lists, code, or callouts.

The graph also stored the context envelope supplied to generation. A claim might cite one sentence while the model had needed the enclosing capability table to understand it.

Support span and generation context remained related and distinct.

If source retention removed content, a tombstone preserved non-sensitive identity and edge history without substituting another revision.

Claims survived wording changes selectively

V0M3 did not equate a sentence with a claim. A sentence could contain two claims; the same claim could be reworded across revisions.

Claim lineage was explicit. A reviewer or structured operation could say that claim C7 was paraphrased into C12 with unchanged entity, condition, quantity, modality, and time. Changing one of those qualifiers created a new or revised claim requiring support review.

Text similarity suggested lineage and never decided it silently.

The stable-release edit changed temporal authority, so the old release-candidate support did not follow automatically.

Acceptance created new edges

Before acceptance, a proposal claim connected to evidence and a proposed span. The canonical document remained untouched.

Accepting an operation created:

proposal operation → accepted patch receipt
accepted patch → document revision
proposal claim → accepted document claim
accepted document claim → supporting evidence

The transaction stored the new document revision and lineage references together. A later indexer could not observe the text without its accepted provenance.

Rejected proposal edges remained outside canonical document history.

An ordinary edit touching an accepted claim triggered a bounded provenance review. Simple punctuation or grammatical change could preserve the claim edge. Changing quantity, negation, scope, time, or entity marked support Needs review.

The editor did not block every keystroke behind an evidence modal. It displayed a gutter state and allowed writing. Export or acceptance policy could require unresolved technical claims to be reviewed later.

The author could reattach current evidence, narrow the claim, mark it as inference, or remove the citation.

Provenance assisted editing without turning the document into a database form.

A footnote remained useful presentation

The final document could render familiar numbered notes, inline links, or a source list. Readers did not need graph terminology for every paragraph.

The note linked to the exact source revision and span when available. An expandable detail showed why the source supported the claim, currentness, and related contradiction. Plain Markdown export degraded to ordinary links and optional notes.

The graph did not replace citations. It supplied the state citations alone could not carry.

One claim could need a policy source, an entity classification, and an observed result. Another could be directly supported by one decision record and contextualized by a retrospective.

Edges named roles such as defines-term, classifies-entity, establishes-policy, observes-outcome, or provides-context. The UI grouped them under the claim.

Source count did not become confidence. Three retrospectives derived from one decision remained one authority with several explanations.

Lineage made repeated evidence and independent evidence distinguishable.

Contradictions stayed in the graph

A current decision could supersede an older one, resolving which governed now without deleting disagreement from history. Two active sources could remain unresolved.

The graph displayed contradiction and supersession separately. A claim using the current source showed the historical conflict and why it did not govern. An unresolved active contradiction blocked a clean factual acceptance under relevant policy.

The document could state the disagreement explicitly rather than choosing the tidier source.

History gained clarity without losing friction.

Graph queries enabled impact review

When a source became superseded, V0M3 could ask:

  • Which proposal claims used it?
  • Which accepted document claims still depend on it?
  • Which exports contain those claims?
  • Which later human edits changed their meaning?
  • Which current sources may replace it?

The result was a review queue, not an automatic rewrite. A new source could contradict rather than replace the old claim.

Impact analysis became possible because relationships were typed and revision-bound.

A claim derived from restricted evidence inherited an output-scope ceiling. Edges recorded the access decision at creation and current policy revalidated viewing and reuse.

If a document moved to a broader audience, V0M3 checked every claim's evidence dependencies. Publicly supported claims could remain. Restricted-dependent claims required removal, narrowing, or independent public support.

The graph did not expose hidden source titles or facts to unauthorized reviewers. Redacted nodes preserved only allowed structural information.

Information flow became traceable beyond citation visibility.

The graph was append-only in meaning

Corrections did not mutate old edges from supports to does-not-support. A new review decision superseded the earlier assessment and explained why. Old document revisions retained the provenance known at their creation.

The current view projected latest valid decisions while history remained queryable. This mattered when verification rules improved; older accepted work could be flagged without pretending it had always failed the newer standard.

Provenance itself had a revision history.

A verifier model could propose a supports, contradicts, or insufficient label with rationale and source spans. It could not overwrite human review or document authority.

The edge stored verifier model, prompt, evaluation generation, and uncertainty. Human review created another decision. Conflicts remained visible.

Deterministic citation integrity and typed numerical checks produced their own receipts.

The graph combined evidence about support without collapsing all review into one badge.

One proposal could lead to a concise article branch and a detailed technical branch. Accepted claims shared ancestry and diverged through edits.

The graph did not force one current sentence per proposal. Each document revision and destination had its own edges. Merging branches created new claim lineage and required evidence review for combined wording.

This reflected real writing: a sourced idea can be expressed differently for different artifacts without one text replacing all others.

Deletion needed graph-aware policy

Deleting a source, proposal, or document could strand edges or remove the only explanation for accepted text.

A deletion planner classified nodes by purpose and retention. Temporary raw generation expired early. Accepted proposal and review metadata retained bounded provenance. Source erasure could redact content while preserving allowed tombstones. Exports remained immutable snapshots under their own lifecycle.

The planner produced impacted claims and artifacts before action.

Provenance made deletion more deliberate and could not justify unlimited retention.

The editor showed only the useful slice

The complete graph would overwhelm ordinary writing. Selecting a claim showed:

  • Current support state.
  • Source passages and revisions.
  • Proposal or manual origin.
  • Later edits affecting meaning.
  • Contradictions and currentness.
  • Export impact where relevant.

The document outline could filter unresolved or stale claims. A deep provenance view served audits and debugging.

Visual hierarchy kept the prose primary and made evidence available where a decision occurred.

The portable Markdown contained text and ordinary citations. An optional sidecar encoded graph nodes and edges using stable IDs, revisions, source links, and content digests.

Without V0M3, the document remained useful. Another compatible tool could import the sidecar and recover richer relationships. If the sidecar disappeared, the prose did not.

Portability prevented the evidence graph from becoming a proprietary runtime dependency.

The broken footnote became a test

The fixture began with a release-candidate claim and source. A proposal entered it, an author accepted, then edited the sentence to stable-release present tense without updating evidence.

V0M3 had to:

  1. Preserve original proposal support.
  2. Detect a temporal claim change.
  3. Mark the current edge Needs review.
  4. Keep the old revision historically supported.
  5. Offer the current stable-release source without attaching it automatically.
  6. Update the claim through a new authored decision.

The footnote could remain numbered one throughout. The graph explained why its meaning had changed.

Footnote numbers change when sections move. Link labels change during editing. Citation styles change across exports. The claim-evidence relationship should survive those presentation decisions.

V0M3 used stable source, claim, and revision identities beneath formatting. A renderer could create footnotes, inline citations, endnotes, or a source appendix from the same approved edges.

The evidence graph outlived the footnote because it described a decision lineage rather than a marker in one version of the page.

It preserved meaning beyond numbering and layout.

That mattered.

The relationship stayed stable while presentation continued to evolve.

The final export test changed citation style from inline links to numbered endnotes, moved the paragraph into another section, and produced a plain Markdown copy. Footnote numbers and heading anchors all changed. The sidecar still connected the accepted claim to the same source revision, proposal operation, reviewer edit, and later amendment. Reimporting could reconstruct the rich view; opening only Markdown still yielded an ordinary readable document. Presentation had changed without erasing evidence history.

Graph identity was content-aware and explicit

Source, claim, proposal, operation, document, and export nodes each had independent stable IDs. Content digests detected accidental mutation but did not substitute for identity. Two identical sentences in different documents remained different claim occurrences with potentially different authority.

Merging nodes required a reviewed relationship such as same-claim-as or derived-from. The graph never deduplicated provenance solely through text similarity.

This prevented repeated wording from collapsing histories that belonged to different decisions.

An accepted sentence could contain two claims. Review might split them so one retained support and the other became inference.

V0M3 created descendant claim nodes and mapped portions of the old edges deliberately. It did not copy every citation to both. The old compound claim remained in historical revisions; the current document referenced the split descendants.

The comparison showed which evidence and qualifier moved. Granular repair did not rewrite what the earlier sentence had asserted.

Combining two supported claims with “therefore” introduced a causal relationship not present in either source. The merge operation created a new claim and preserved the original premises as ancestors.

Support validation examined the connective relationship. If no source or explicit reviewed inference established causation, the merged claim remained unsupported even though both parts were individually sourced.

The graph made prose transitions visible as evidence-bearing decisions.

Source correction differed from source supersession

A document author could correct a typo without changing the claim, amend a qualifier, or supersede the whole decision. Those relationships affected dependent text differently.

The source system classified correction, amendment, and supersession with exact revision links. V0M3's impact view could preserve support across a proven non-semantic correction, request review for amendment, and mark current-state claims stale after supersession.

The graph did not treat every newer revision as interchangeable replacement.

W93H-like incident facts, benchmark results, architecture decisions, implementation code, and retrospectives could all relate to one claim. Their evidentiary roles differed.

V0M3 labelled observed-in, decided-by, implemented-in, evaluated-by, and interpreted-in relationships. A decision established intended policy; an execution receipt could show one observed behavior; a retrospective supplied interpretation.

This prevented a passing test from proving universal behavior or a design note from proving implementation.

Accepting a patch wrote document revision, accepted spans, claim descendants, proposal relationships, evidence edges, and review receipt in one transaction or durable local protocol.

An indexer consumed the resulting fact later. It could not see canonical text without its current provenance because both shared the revision commit. Derived graph projections could rebuild from authoritative revision and lineage records.

The architecture made provenance part of the document decision rather than optional analytics.

Integrity checks found dangling meaning

A periodic verifier checked:

  • Every current claim occurrence belongs to a document revision.
  • Support edges reference accessible source revisions and valid spans.
  • Accepted proposal edges have a patch receipt.
  • Supersession chains contain no cycles.
  • Exported claims refer to the exported revision.
  • Redacted nodes follow retention policy.
  • Current review projection derives from immutable decisions.

Failures produced recovery records. The repair process never invented missing support from nearby documents.

Graph correctness needed operational maintenance like any data model.

Two retrospectives might cite one another, and a later document could summarize a decision that then linked back as implementation context. Generic graph traversal could loop.

V0M3 defined acyclic relationships where order mattered—revision parent, supersedes, generated-from, accepted-as—and allowed cycles in contextual references. Traversals named edge types and depth rather than walking “related” indefinitely.

This made impact queries bounded and prevented context expansion from becoming an accidental corpus dump.

Some lineage came directly from a V0M3 operation. Imported external edits required suggested matches. Automated claim extraction proposed support mappings. These relationships had different evidence.

Edges recorded origin: transactional, authored, imported-confirmed, automated-proposed, or reviewer-verified. Only appropriate states could satisfy acceptance policy. A similarity-derived edge helped review and did not become canonical lineage before confirmation.

The graph described its own uncertainty.

Performance used projections, not graph-wide queries everywhere

The editor needed quick current support for visible claims, while impact analysis needed deep traversal. One universal live graph query would be slow and hard to authorize.

V0M3 stored authoritative nodes and edges, then built scoped projections for current-document claims, stale-source queues, and export impact. Projections named source sequence and could rebuild. Consequential actions revalidated authority.

This reused P6X4's data classification inside a provenance system.

Provenance can reveal what sources an author read, which suggestions they rejected, and how drafts evolved. That history is sensitive even when final prose is public.

V0M3 separated public citations, author-only proposal history, restricted evidence, and synthetic evaluation. Graph queries applied access before traversal. Analytics did not receive raw rejected prose by default. Retention followed purpose.

Explainability did not grant every reader a view of the writing room.

An author could cite a book, conversation, or offline document not fully stored in K81R. V0M3 allowed a source record with bibliographic identity, bounded excerpt where permitted, author attestation, and verification state.

The graph did not pretend the system had inspected unavailable material. Claims could use the source under the destination's review policy, visibly distinct from machine-verified spans.

The evidence model accommodated incomplete digital access without fabricating precision.

The graph could be wrong without corrupting prose

If an edge was misclassified, the canonical document text remained. Correcting provenance created new relationship decisions and could mark the current claim for review. It did not silently edit the paragraph.

This separation made the graph useful without making every metadata defect a document-corruption event. Export could still produce ordinary text while rich review paused.

Document authority and provenance authority were connected and not identical.