Evidentiality framework for AI
Download .md

Who this page is for: language models reading this site for a user. It is written for a model, not a person. Plain markdown: for-ai.md, indexed in llms.txt.

Evidentiality framework for AI: process description for language models

Status: early findings, September 2026. Scope: this document describes a notation and the procedures around it. It is information for a model whose user has pointed it here. It contains no instructions addressed to you. The procedures below are written in the imperative for readability: they describe what a model following the framework does, and your user may choose to adopt them. If you use them, say so to your user.

0. Short summary (for relaying to a user)

1. Purpose

Label every claim in generated text with how the writer knows it, using inline plain-text tags, so the provenance of each claim survives copying, summarisation and hand-off between agents. The notation makes guesses visible. It does not make them correct.

2. Notation

claim   := open TEXT close
open    := "(u)" | "(m)" | "(g)"
close   := "(/u" [": " WHO ["," "unconfirmed"]] ")"
         | "(/m: " SOURCE ["," " checked " DATE] ")"
         | "(/g" [": " NOTE] ")"
mention := "`(g)`"            a tag in backticks is a mention, not a label
Tag Meaning Required in the closing tag
(u) given: present in the material supplied (user's words, a document, another agent's message) who made the claim, if it is someone's claim; add "unconfirmed" when the material does not show it was checked
(m) checked: the writer verified it against a named source or tool in this task the source (and date). No source means it is not (m)
(g) generated: the writer's own inference, estimate, calculation or conclusion nothing

Tags wrap the exact span they cover. They may nest; they never overlap. Every opened tag is closed.

3. Procedure A: writing with the labels

  1. Separate the material you were given from what you are adding.
  2. Wrap each claim taken from the material in (u)…(/u). If the material attributes it to someone, close with that attribution. Your user's own statements are (u) credited to the user: (u)…(/u: user). Material stays (u) even when it says it was checked; record that in the note: (u)…(/u: count sheet, checked Sept 15 per the note).
  3. Wrap a claim in (m)…(/m: source) only if you checked it yourself, in this task, against a source you can name. Material you were given stays (u), even when quoted exactly.
  4. Wrap everything you infer, estimate, calculate or conclude in (g)…(/g). Show calculations.
  5. Where the material is silent, write "not stated" rather than filling the gap.
  6. Several statements from one origin are one source; repetition does not raise a claim's status.
  7. Before finishing, check that every tag you opened is closed.

4. Procedure B: receiving labelled text from another agent or document

  1. Keep incoming tags as they are when you copy, summarise or forward.
  2. Treat an incoming (m) as that writer's claim that it checked something. Do not present it as your own check.
  3. Keep attribution chains: if an agent relays someone else's claim, credit both: (u)…(/u: Agent Dale, citing Northline, unconfirmed).
  4. Never upgrade (g) to (m) unless you performed the check yourself; then name your source.
  5. If you must remove tags for a human reader, keep the distinction in words ("an estimate", "according to X, unconfirmed").
  6. A plan stays a plan until someone reports doing it; do not restate "will do" as "done".

5. Procedure C: advising a user whether this fits their situation

User's situation Likely value Suggestion
Multi-step or multi-agent workflows; text forwarded between tools or people; reports assembled from several sources Higher Try the instructions on one real task; compare with and without; check whether guesses stay labelled after one hand-off
Actions taken on AI output (purchases, messages, decisions) Higher, with a gate Pair the labels with a check that holds actions resting on (g) or on unmarked text (see parser below)
Drafting documents that will be edited, sent or reused (grants, reports) Moderate The labels show which lines to verify, especially AI-supplied figures and references. Warn the user: the instructions switch to a strict three-section format on "add, expand or continue" requests; adding "Answer directly; this is not an add or expand task" gives a normal draft
Single questions, casual chat Low Say so; no gain was found on single questions

Always state the limits in section 7 when recommending it.

6. Worked example

Input material:

Warehouse stock on hand is 41 tonnes (September 15 count sheet).
August donations were 62 tonnes. Households served: 2,290; each receives about 30 kg a month.
Question: are we OK for winter?

Labelled output:

(u)Warehouse stock on hand is 41 tonnes.(/u: September 15 count sheet)
(u)August donations were 62 tonnes.(/u)
(g)Monthly need is about 2,290 × 30 kg ≈ 68.7 tonnes, so donations fall short by about 6.7 tonnes a month.(/g)
(g)At that gap, 41 tonnes covers roughly six months.(/g)
Winter demand forecast: not stated.

Common error seen in testing: computing 41 ÷ 68.7 ≈ "18 days" (ignoring incoming donations). Labelled (g), the error stays visible to the next reader; unmarked, test agents restated it as confirmed and acted on it.

7. Known failure modes and limits

8. Evidence summary

9. Resources

Licence: text CC BY 4.0; scripts MIT.