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

+4 -1
View File
@@ -212,7 +212,9 @@ Every fix is a correction: an operation with its evidence, its author and a reas
```
A document's history is its first reading plus its corrections, and its revision is the index of the last one.
The operations are `replace`, `insert`, `delete`, `split`, `merge`, `move`, `reclassify`, `relabel` and `set`.
The operations are `replace`, `insert`, `delete`, `split`, `merge`, `move`, `reclassify`, `relabel`, `set`, `emend`, `relink` and `resolve`.
A `replace` fixes what the converter misread; an `emend` fixes a typo the authors printed, and keeps the printed text, so the sentence still agrees with the PDF and keeps its level.
A `relink` changes which references a citation names, and a `resolve` what a reference resolves to.
Evidence is a crop (an image of the page region), a witness, a source file by SHA-256, or a named person.
A gate refuses any correction that would change a digit without a crop of the page as evidence, or that would let a digit change anywhere it did not declare.
@@ -371,6 +373,7 @@ A statement true independently of the paper is a claim, which is checked and lev
A statement about reading the paper belongs in a layer, where it is attributed and signed and not checked.
Claims are not defined in this repository.
A comment, caveat or question also says what it is about with a `category` from a fixed list: a general `comment`, `context`, a `critique`, a `question`, a `correction` of an error in the paper, `feedback` for the authors, or a `resource`.
Model-written text is always a `generated` annotation, never source, and a model's annotation stays `proposed` until a person confirms it.
Whether a generic Web Annotation client displays an `AnchorSelector` has not been tested; the fallback exists so that it can still use the quote.
Layers are `candidate`.
+4
View File
@@ -62,6 +62,10 @@ Drift
: The amount that has changed below a container since an anchor on it was made, counted from the corrections: the share of the container's leaves touched by later corrections.
It is reported as `none`, `low` or `high`, with a default threshold of a quarter. ([6.6](../spec/06-anchors.md#66-drift))
Emend
: A correction of the authors' own typo, spelling, grammar, punctuation or wording, where the reading matches the page and the page is wrong; a `replace` fixes a misreading instead.
The emended run keeps the text as printed, so the leaf as printed, which is what witnesses are compared with, stays what it was, and so do its match hash and its level. ([11.6](../spec/11-corrections.md#116-emendations), [3.6](../spec/03-nodes.md#36-the-plain-projection))
Exercise
: An annotation whose body holds a prompt, an answer key and a grading rule.
The key is anchors, a verdict, a chain, a value or planted errors, by exercise kind. ([19.1](../spec/19-exercises.md#191-exercises))