feat(evidence): add table-free v3 and design guidance

This commit is contained in:
Codex
2026-08-26 12:15:40 +02:00
parent 38f02cfd08
commit 9d4f994d3e
11 changed files with 983 additions and 67 deletions
+10 -8
View File
@@ -50,15 +50,17 @@ traceability but never acquired by v2 runtime preprocessing.
### Curated unit representation
The `schema_version` inside each `curated/**/*.md` file is distinct from the workspace descriptor
version above. Unit schema v1 stores the complete typed unit in YAML frontmatter and remains
readable for compatibility. Unit schema v2 keeps short metadata in frontmatter and stores the
typed payload, supporting excerpts, and review items in a deterministic Markdown body.
version above. Unit schema v1 stores the complete typed unit in YAML frontmatter. Unit schema v2
keeps short metadata in frontmatter and stores the typed payload in the body. Both remain readable
for compatibility.
V2 bodies use headings, paragraphs, code lists, enum tables, fenced SQL, and blockquotes according
to the Evidence kind. Invisible `tht:` comments delimit typed fields. Parsers must reject missing,
duplicate, unknown, or unstructured body content; they must never silently ignore it. Newly
prepared units use v2. `tht evidence migrate <workspace-root>` upgrades existing v1 units locally
without a model call, commit, publication, or semantic change.
Unit schema v3 stores canonical machine metadata in an invisible `tht:metadata` comment and renders
the complete review surface as deterministic Markdown. It uses headings, paragraphs, wrapping
lists, fenced SQL, blockquotes, and a collapsed technical-details block. It never emits YAML
frontmatter or Markdown tables. Invisible `tht:` comments delimit typed fields. Parsers must reject
missing, duplicate, unknown, desynchronized, or unstructured body content; they must never silently
ignore it. Newly prepared units use v3. `tht evidence migrate <workspace-root>` upgrades existing
v1 and v2 units locally without a model call, commit, publication, or semantic change.
### Example: filesystem