Files
github-actions[bot] de02cfbad3 chore: publish from main
2026-08-05 05:18:23 +00:00

102 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Evidence map schema
The canonical artifact is UTF-8 JSON. Use a `.doubt.json` suffix when practical.
```json
{
"title": "Short artifact title",
"question": "One decision-changing question?",
"updatedAt": "YYYY-MM-DD",
"verdict": "A provisional, evidence-bounded answer.",
"nodes": [
{
"id": "current-position",
"type": "position",
"label": "Current position",
"text": "The proposition represented by this node."
},
{
"id": "primary-observation",
"type": "evidence",
"label": "Observed result",
"text": "A faithful statement of the source region.",
"sourceId": "source-1"
},
{
"id": "missing-baseline",
"type": "unknown",
"label": "Missing baseline",
"text": "The exact absent fact and why it matters."
}
],
"edges": [
{
"from": "primary-observation",
"to": "current-position",
"relation": "supports",
"note": "Why the observation increases reason to accept the position."
},
{
"from": "missing-baseline",
"to": "current-position",
"relation": "missing",
"note": "Why this missing baseline could reverse the position."
}
],
"sources": [
{
"id": "source-1",
"title": "Source title",
"url": "https://example.com/source",
"publisher": "Publisher",
"date": "YYYY-MM-DD",
"retrievedAt": "YYYY-MM-DD",
"locator": "Section: Results, p. 7, § 2.1, L12-L18, or 00:04:31",
"excerpt": "A short, checkable excerpt or bounded source-region description."
}
]
}
```
## Invariants
- Allowed node types: `position`, `claim`, `evidence`, `unknown`.
- Allowed relations: `supports`, `contradicts`, `qualifies`, `missing`.
- Exactly one `position` node is required.
- Evidence nodes require `sourceId`.
- Every evidence node must be the `from` side of at least one edge.
- Every non-position node must have a directed path to the position.
- Duplicate reasoning edges and directed cycles are rejected.
- Every source must be used by an evidence node.
- Every edge needs a plain-language `note`.
- Map and source dates are real ISO calendar dates; source dates cannot be later
than `updatedAt`.
- Every source records `retrievedAt`. Receipts cover that value and the recorded
excerpt, not the mutable bytes currently served by the URL.
- Locators identify a bounded section, page, line range, or timestamp.
- Excerpts contain 40500 characters of varied, checkable content; repeated
filler is invalid.
- `confidence` fields are invalid. Use an `unknown` node or a qualified claim.
## Optional verification record
Only a successful explicit source-verification command may add this object to a
source:
```json
{
"verification": {
"status": "verified",
"method": "normalized-excerpt-match",
"checkedAt": "YYYY-MM-DDTHH:mm:ss.sssZ",
"contentSha256": "64 lowercase hexadecimal characters",
"excerptSha256": "64 lowercase hexadecimal characters",
"finalUrl": "The checked URL or absolute local path",
"locatorStatus": "matched"
}
}
```
`locatorStatus` may be `not-machine-checked` for page, section, and timestamp
locators. Do not treat it as proof that the region was manually confirmed.