feat: comment categories; emend, relink and resolve corrections

scienting-layer/1: an optional, fixed category on comment, caveat and
question bodies (comment, context, critique, question, correction,
feedback, resource).

Corrections: emend fixes the authors' own slip and keeps what was printed
(a run's printed), never lowering fidelity or a witness match; relink sets
or removes what a citation names; resolve sets a reference's resolution.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017R7sgDNvUGWY2zFPCq2JH6
This commit is contained in:
alexmandClaude committed 2026-10-17 06:17:10 -04:00
1 parent 4d59b29b63
commit 8b5ee87275
33 files changed
+726 -80

No files matched your search

+22 -2
View File
@@ -5,9 +5,14 @@
"rules": [
{
"id": "correction.digits",
"description": "A digit changes without crop evidence, or a leaf's digits change undeclared.",
"description": "A digit changes without crop evidence, an emend changes a digit or edits beside one, or a leaf's digits change undeclared.",
"chapter": "spec/22-conformance.md"
},
{
"id": "correction.emend",
"description": "An emend targets no runs, falls in math or across runs, or another operation changes an emended run or writes `printed`.",
"chapter": "spec/11-corrections.md"
},
{
"id": "correction.evidence",
"description": "An insert has no crop evidence.",
@@ -48,11 +53,21 @@
"description": "The kind takes no label.",
"chapter": "spec/22-conformance.md"
},
{
"id": "correction.relink",
"description": "A relink names no text or cite run of a node with runs, or unlinks a run that is not a cite.",
"chapter": "spec/11-corrections.md"
},
{
"id": "correction.replace",
"description": "Runs replace text outside a text run, or include an equation run.",
"chapter": "spec/22-conformance.md"
},
{
"id": "correction.resolve",
"description": "A resolve names a node that is not a reference, or a resolution that is not doi, document or none.",
"chapter": "spec/11-corrections.md"
},
{
"id": "correction.schema",
"description": "A proposed correction does not match the correction schema.",
@@ -88,6 +103,11 @@
"description": "Correction indexes do not count from 1 without gaps.",
"chapter": "spec/22-conformance.md"
},
{
"id": "doc.correction.resolution",
"description": "The last resolve of a reference does not end at its resolution in references.jsonl.",
"chapter": "spec/11-corrections.md"
},
{
"id": "doc.correction.rev",
"description": "document.json's rev is not the number of corrections.",
@@ -330,7 +350,7 @@
},
{
"id": "doc.run.canonical",
"description": "Runs are not canonical: an empty text run, or two adjacent text runs with the same styles.",
"description": "Runs are not canonical: an empty text run, two adjacent text runs with the same styles and no `printed`, or a `printed` equal to its run's text.",
"chapter": "spec/22-conformance.md"
},
{