refactor!: claim references are claim:TAG
lode is renamed paperclaim. A claim reference is claim:TAG or claim:host/TAG and a pin claim:TAG@hex6 (claimRef and claimPin in common.schema.json, spec/18 §18.4, spec/02, spec/20); the eight-character tags do not change. A project names its claim namespace as claims.paperclaim, and the main example's targeted receipts take the scope targeted:paperclaim. No old prefix or name is accepted. paperspec build regenerated the fixtures and vectors: the claim link's and the symbol's record IDs, the layer receipt, project.json, the two targeted receipts and Ben's spot-check, the QA report, the inclusion proof, the log's checkpoint and tiles, and the signature, spot-check, VRF and checkpoint vectors. The walkthrough and examples quote the new receipt IDs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SarHTuHhV9cS85XWy2NrLJ
This commit is contained in:
30 files changed
+70
-68
No files matched your search
+3
-3
@@ -4,7 +4,7 @@
|
||||
|
||||
| Object | Is | Identified by |
|
||||
| --- | --- | --- |
|
||||
| Work | The intellectual work, across all its versions. | A work key ([2.4](#24-work-and-document-keys)), and `same_as` identifiers: `doi:`, `arxiv:`, `isbn:`, `pmid:`, `pmcid:`, `openalex:`, `url:` or `lode:`. |
|
||||
| Work | The intellectual work, across all its versions. | A work key ([2.4](#24-work-and-document-keys)), and `same_as` identifiers: `doi:`, `arxiv:`, `isbn:`, `pmid:`, `pmcid:`, `openalex:`, `url:` or `claim:`. |
|
||||
| Version | One expression of the work: a preprint, an accepted manuscript, the version of record, an erratum, Supporting Information, a draft. | The work's key and a version type, with an optional sequence number and date. |
|
||||
| Witness | One file of a version: a PDF, JATS XML, a LaTeX source archive, an HTML page, an EPUB, a Typst project. | The SHA-256 of its bytes. |
|
||||
| Document | The text established for one version from one or more witnesses. | A key, and a root hash per revision. |
|
||||
@@ -83,8 +83,8 @@ The stop words are `a an the of on in for to and or at by with from as into onto
|
||||
|
||||
**The identity** is the work's first identifier among `doi`, `arxiv`, `isbn`, `pmid`, `pmcid` and `openalex` in `same_as`, in that order, written `<kind>:<value>` with a DOI's ASCII letters lower-cased.
|
||||
A work with none has the identity `meta:<title words>|<year>|<family>` from the same folded parts.
|
||||
`url:` and `lode:` identifiers name copies and claims, not the work, and never enter the identity.
|
||||
A `lode:` identifier is a claim reference as a layer writes one, `lode:<tag>` or `lode:<host>/<tag>` ([18.4](18-layers.md#184-bodies)).
|
||||
`url:` and `claim:` identifiers name copies and claims, not the work, and never enter the identity.
|
||||
A `claim:` identifier is a claim reference as a layer writes one, `claim:<tag>` or `claim:<host>/<tag>` ([18.4](18-layers.md#184-bodies)).
|
||||
|
||||
**The hash part** is the leading bits of SHA-256 of `scienting-key/1:` followed by the identity, in UTF-8, written in lowercase Crockford base32, five bits a character: four characters, or, when another work in the store already holds that key, six, eight and so on until the key is free.
|
||||
A key is minted once, when the work enters a store, and never recomputed: a corrected title or a year revised later leaves it alone, while the hash of an identifier still shows which work the key names.
|
||||
|
||||
+1
-1
@@ -37,7 +37,7 @@ A paper has thousands of nodes, and nobody signs thousands of times, so people s
|
||||
| `doc` | Yes | The document key. |
|
||||
| `rev` | Yes | The revision reviewed. |
|
||||
| `level` | Yes | `F1`, `F2` or `F3`. |
|
||||
| `scope` | Yes | `all`, `section:<id>`, `page:<n>`, `targeted:<name>` (such as `targeted:lode`), or `qa:<receipt id>` for a spot-check. |
|
||||
| `scope` | Yes | `all`, `section:<id>`, `page:<n>`, `targeted:<name>` (such as `targeted:paperclaim`), or `qa:<receipt id>` for a spot-check. |
|
||||
| `nodes` | Yes | `[[id, node_hash], …]`, sorted by ID without repeats. |
|
||||
| `records` | No | `[[kind, id, hash], …]` for other things signed in the sitting: `annotation`, `digitization`, `correction`, `layer` or `checklist`. |
|
||||
| `root` | Yes | The Merkle root ([8.5](#85-merkle-roots)). |
|
||||
|
||||
@@ -94,7 +94,7 @@ A later minor version of the form may add a kind, and a consumer that meets a ki
|
||||
**A symbol** is a base, which is a letter, a Greek letter, or a font or accent command on a group (`\mathbf{F}`, `\hat{H}`), with any subscript, any superscript that names rather than raises (`R^{*}`, `A^{\dagger}`, `E^{\text{LJ}}`), and primes.
|
||||
A text group alone is a symbol too, unless it holds several words, is a condition in `cases`, or is the set under a big operator.
|
||||
A symbol's key is its canonical TeX with `\mathrm` spelled `\text`, `\ast` spelled `*`, `\prime` spelled `'`, and no space inside text: `K_r` and `K_{r}` have the key `K_{r}`, and `r_{\mathrm{eq}}` has the key `r_{\text{eq}}`.
|
||||
The key is the one a lode claim store gives a symbol, so a symbol in a paper and the same symbol in a claim have one key, and a `symbol` annotation names its symbol by it ([18.4](18-layers.md#184-bodies)).
|
||||
The key is the one a paperclaim claim store gives a symbol, so a symbol in a paper and the same symbol in a claim have one key, and a `symbol` annotation names its symbol by it ([18.4](18-layers.md#184-bodies)).
|
||||
|
||||
**Issues** never stop the reading; each is `{code, message, at}`, with `at` the canonical TeX it is about.
|
||||
|
||||
|
||||
+3
-3
@@ -58,9 +58,9 @@ Replies are annotations that target annotations, so discussions are threads anch
|
||||
|
||||
A textual body has a `value`, and optionally a `format` (`text/plain` or `text/markdown`) and a `language`.
|
||||
|
||||
The `source` of a `claim-link` or `symbol` body is a claim in a lode claim store, written as lode writes a reference: `lode:` and the claim's tag, eight Crockford base32 capitals (the digits and the letters without I, L, O and U), as in `lode:272XTX7C`, or `lode:<host>/<tag>` for a claim in another store, `<host>` being a domain name.
|
||||
The `source` of a `claim-link` or `symbol` body is a claim in a paperclaim claim store, written as paperclaim writes a reference: `claim:` and the claim's tag, eight Crockford base32 capitals (the digits and the letters without I, L, O and U), as in `claim:272XTX7C`, or `claim:<host>/<tag>` for a claim in another store, `<host>` being a domain name.
|
||||
A tag never changes, while a claim's slug, such as `amber/k-bond`, may be renamed, so a slug is never a reference.
|
||||
The optional `pin` fixes the claim as the annotator read it: the same reference, `@`, and the first six lowercase hex digits of the claim's statement hash, as in `lode:272XTX7C@02f47b`.
|
||||
The optional `pin` fixes the claim as the annotator read it: the same reference, `@`, and the first six lowercase hex digits of the claim's statement hash, as in `claim:272XTX7C@02f47b`.
|
||||
`common.schema.json` defines both, as `claimRef` and `claimPin`.
|
||||
|
||||
A `symbol` body names its symbol twice, as the target's span and by `key`, the symbol's key in the math form `scienting-math/1` ([9.4](09-figures-tables-equations.md#94-the-math-form)), which a claim store gives the symbol a symbol claim defines: `K_{r}` for a span `$K_r$`.
|
||||
@@ -86,4 +86,4 @@ The store's `annotations` table keeps the category beside the body's kind ([13.4
|
||||
Nothing a model writes is ever stored as source text.
|
||||
A model may propose a `description`, and like any annotation it stays `proposed` until a person confirms it; an accessible export uses confirmed descriptions only, and a figure with none has no description.
|
||||
Other text a model writes about a span, such as a summary, is a `generated` annotation, which names its `generator`.
|
||||
`fixtures/records/layer/` holds a layer with one annotation of each common kind, each comment, caveat and question with its category, a claim link and a symbol that reference a lode claim and pin it, and the receipt that confirms some of them.
|
||||
`fixtures/records/layer/` holds a layer with one annotation of each common kind, each comment, caveat and question with its category, a claim link and a symbol that reference a paperclaim claim and pin it, and the receipt that confirms some of them.
|
||||
+2
-2
@@ -7,9 +7,9 @@ A project, `scienting-project/1`, is the unit a team works in.
|
||||
| `key`, `store`, `name`, `description` | Its identity. |
|
||||
| `members` | People with a `role` (`owner`, `editor`, `reader` or `guest`) and the roster keys they sign with. |
|
||||
| `documents` | The project's documents, each with the `reason` it is included, `tags`, and a reading `status` per member: `unread`, `reading` or `read`. |
|
||||
| `paths` | Reading paths: ordered steps through documents, nodes, claims and layers, for onboarding a student or preparing a reading group; a claim step's `ref` is a claim reference, `lode:<tag>` ([18.4](18-layers.md#184-bodies)). |
|
||||
| `paths` | Reading paths: ordered steps through documents, nodes, claims and layers, for onboarding a student or preparing a reading group; a claim step's `ref` is a claim reference, `claim:<tag>` ([18.4](18-layers.md#184-bodies)). |
|
||||
| `layers`, `datasets`, `views`, `drafts` | What the project holds. |
|
||||
| `claims` | The claim namespace or bundle it uses, as the `lode` setting. |
|
||||
| `claims` | The claim namespace or bundle it uses, as the `paperclaim` setting. |
|
||||
| `settings` | The digit rule for targeted F3 ([8.10](08-fidelity.md#810-targeted-f3)), the drift threshold ([6.6](06-anchors.md#66-drift)), the spot-check rate and minimum ([8.8](08-fidelity.md#88-spot-checks)), what happens when a right is unknown (`refuse`, the default, or `warn`), the stage requirements in use, as the `id` of their stage file ([14](14-rights.md)), and the project's transparency `log`: its `origin`, the roster keys that `witness` it, and the `threshold` of witnesses a checkpoint needs ([23](23-log.md)). |
|
||||
|
||||
Projects are small on purpose: everything about them is designed for hundreds of documents, not millions.
|
||||
|
||||
Reference in new issue
Block a user