feat: scienting-math/1 sources and derived/math.jsonl; lode references; stress fixes

Math content may say its source is in scienting-math/1's canonical TeX (form,
in no hash); derived/math.jsonl holds papermath's tree, symbols and issues,
and the validator now checks derived files. A symbol annotation names its
symbol by key; lode claim references use lode's tag and pin syntax. The zip
reader refuses entries zipfile cannot read, and checkpoint lines end in LF only.

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:44:28 -04:00
1 parent 8b5ee87275
commit 17880686fa
40 files changed
+750 -63

No files matched your search

+5 -5
View File
@@ -33,7 +33,7 @@ The repository's name, paperspec, is a separate matter.
## An example from the fixtures
[`fixtures/records/layer/annotations.jsonl`](../fixtures/records/layer/annotations.jsonl) holds eleven annotations on the example paper `hale2026harmonic-damb`.
[`fixtures/records/layer/annotations.jsonl`](../fixtures/records/layer/annotations.jsonl) holds twelve annotations on the example paper `hale2026harmonic-damb`.
The first is a `gloss`, an explanation for a novice, of the phrase "bond force constant".
Shortened, it reads:
@@ -57,10 +57,10 @@ This context defines `kind`, `status`, `audience`, `AnchorSelector` and `anchor`
## What it defines
The file defines 24 terms.
Twenty-three map to IRIs under `https://paperspec.scient.ing/vocab#`: `format`, `kind`, `status`, `receipt`, `layer`, `audience`, `visibility`, `purpose`, `project`, `docs`, `pin`, `role`, `symbol`, `verdict`, `reason`, `reference`, `for`, `category`, `generator`, `exercise`, `anchor`, `rights_use` and the class `AnchorSelector`.
Three are renamed: `for` is `sct:questionFor`, `generator` is `sct:generatedBy`, and `rights_use` is `sct:rightsUse`.
The twenty-fourth, `total`, maps to `totalItems` in the ActivityStreams namespace.
The file defines 25 terms.
Twenty-four map to IRIs under `https://paperspec.scient.ing/vocab#`: `format`, `kind`, `status`, `receipt`, `layer`, `audience`, `visibility`, `purpose`, `project`, `docs`, `pin`, `role`, `symbol`, `key`, `verdict`, `reason`, `reference`, `for`, `category`, `generator`, `exercise`, `anchor`, `rights_use` and the class `AnchorSelector`.
Four are renamed: `key`, the key of a `symbol` body's symbol, is `sct:symbolKey`, `for` is `sct:questionFor`, `generator` is `sct:generatedBy`, and `rights_use` is `sct:rightsUse`.
The twenty-fifth, `total`, maps to `totalItems` in the ActivityStreams namespace.
Two terms carry a type rule.
A processor reads `layer` as an IRI, and it always reads `docs` as a set, so a one-element list stays a list.
+1
View File
@@ -21,6 +21,7 @@
"pin": "sct:pin",
"role": "sct:role",
"symbol": "sct:symbol",
"key": "sct:symbolKey",
"verdict": "sct:verdict",
"reason": "sct:reason",
"reference": "sct:reference",