From ea0a7efa78f6c118a946d6fff89d875ce3610c3f Mon Sep 17 00:00:00 2001 From: Alex Maldonado Date: Wed, 14 Oct 2026 20:07:22 -0400 Subject: [PATCH] feat: zipped packages, target set, checklists, audit fixes and a stress test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Features for the next six months (accessible HTML export, paperpack and Lode on packages, the personal bundle): - Zipped packages: the oracle writes and reads `.sct.zip` archives under the rules of spec/12 §12.2; validate.py and load.py accept them; a byte-identical zip of the tiny package joins the fixtures, and two broken archives (traversal, symbolic link) join fixtures/invalid. - The target set of targeted F3 (spec/08 §8.10) is computed by the oracle and pinned by vectors/targets.jsonl under each digit rule; the rule now covers cells as well as sentences and the leaves of anchored containers, and defines a node's section. - scienting-checklist/1 (provisional): a conformance check of an export, covered by a receipt as ["checklist", id, hash] (spec/08 §8.11), with a WCAG 2.1 AA fixture and its receipt. - QA reports are signed like receipts (spec/08 §8.9). - A `description` annotation body with role alt or long, so an accessible export can find a confirmed figure description; the layer fixture carries one, and the store's body-kind constraint allows it. - scienting-spot-check/1, the seed payload, is registered with a schema. - exercise, submission and grade are provisional until a course has used them. Audit fixes, each with a vector or a broken package where one was missing: - Folder packages: symbolic links are refused on validate and load, manifest paths must not collide under case folding, listed files are matched by exact name, files are hashed in chunks under a size limit. - Files are compared byte for byte, so CR LF, a byte order mark, NaN, a lone surrogate or invalid UTF-8 is refused instead of translated; integers beyond 2^53 are read as doubles, as canonical JSON writes them. - Receipts: signature.key must equal by and the key must be valid when signed; a qa receipt's nodes must be the sample at the original's hashes, its scope must name qa.of, its errors must be sampled nodes; statuses are computed once, iteratively, so chains of spot-checks hundreds deep settle; Base64 and manifest shape errors become refusals instead of tracebacks; counts and the fidelity of roster-less packages are recomputed. - The gate enforces rule 11 of spec/11 §11.4: changed nodes are validated against the node schema and the references between nodes are checked, so a set to a bad value, an insert with unknown properties or a delete of a referenced header cell is refused; a relabel to null drops the label; a reclassify drops foreign attributes; a split strips whitespace across runs; ids.jsonl order follows spec/04 §4.4 in every state; a move after itself is refused. - Anchors: the relabel rule requires that nothing else changed below the node; an alias chain ending in a deletion no longer crashes resolve. - Notation: a script after an empty group applies to the previous atom ({}^{14}C); letters are defined by Unicode block in spec/05 §5.4 and the oracle; \left) is complex. - Page fingerprints delete whitespace before folding, so "10 -20" and "10-20" fold alike (spec/07 §7.1). - Grades are summed with exact decimals; the reviewer error bound is computed with integer arithmetic. - receipts and revocations are keyed by (doc_key, id) in SQL, since one revocation may be carried by several packages. Checking: - tools/stress.py: seeded randomized property tests over canonical JSON, normalization, notation, random correction walks, anchor resolution, Merkle roots, spot-check samples, error bounds, fingerprints, mutated archives and packages, rights and spot-check chains; CI runs it. - check.py verifies every count and version the prose states against the repository, the zipped fixture and crafted archives, the checklist coverage, and nine more broken packages. - CONTRIBUTING.md gains a release checklist. Co-Authored-By: Claude Fable 5.1 --- .gitea/workflows/check.yml | 2 + CHANGELOG.md | 13 +- CONTRIBUTING.md | 13 + README.md | 6 +- docs/comparison.md | 6 +- docs/concepts.md | 5 +- docs/faq.md | 6 +- docs/glossary.md | 9 +- docs/overview.md | 10 +- docs/rationale.md | 2 +- docs/walkthrough.md | 2 +- fixtures/README.md | 17 +- fixtures/invalid/counts-wrong/expect.json | 1 + .../counts-wrong/package/MANIFEST.json | 1 + .../counts-wrong/package/document.json | 1 + .../invalid/counts-wrong/package/nodes.jsonl | 22 + .../counts-wrong/package/provenance.json | 1 + .../counts-wrong/package/receipts.jsonl | 1 + .../counts-wrong/package/references.jsonl | 1 + .../invalid/counts-wrong/package/roster.json | 1 + .../counts-wrong/package/witnesses.json | 1 + fixtures/invalid/crlf/expect.json | 1 + fixtures/invalid/crlf/package/MANIFEST.json | 1 + fixtures/invalid/crlf/package/document.json | 1 + fixtures/invalid/crlf/package/nodes.jsonl | 22 + fixtures/invalid/crlf/package/provenance.json | 1 + fixtures/invalid/crlf/package/receipts.jsonl | 1 + .../invalid/crlf/package/references.jsonl | 1 + fixtures/invalid/crlf/package/roster.json | 1 + fixtures/invalid/crlf/package/witnesses.json | 1 + fixtures/invalid/manifest-key/expect.json | 1 + .../manifest-key/package/MANIFEST.json | 1 + .../manifest-key/package/document.json | 1 + .../invalid/manifest-key/package/nodes.jsonl | 22 + .../manifest-key/package/provenance.json | 1 + .../manifest-key/package/receipts.jsonl | 1 + .../manifest-key/package/references.jsonl | 1 + .../invalid/manifest-key/package/roster.json | 1 + .../manifest-key/package/witnesses.json | 1 + .../invalid/missing-required-file/expect.json | 1 + .../package/MANIFEST.json | 1 + .../package/document.json | 1 + .../missing-required-file/package/nodes.jsonl | 22 + .../package/receipts.jsonl | 1 + .../package/references.jsonl | 1 + .../missing-required-file/package/roster.json | 1 + .../package/witnesses.json | 1 + .../receipt-unsorted-nodes/expect.json | 1 + .../package/MANIFEST.json | 1 + .../package/document.json | 1 + .../package/nodes.jsonl | 22 + .../package/provenance.json | 1 + .../package/receipts.jsonl | 1 + .../package/references.jsonl | 1 + .../package/roster.json | 1 + .../package/witnesses.json | 1 + fixtures/invalid/retired-live/expect.json | 1 + .../retired-live/package/MANIFEST.json | 1 + .../retired-live/package/document.json | 1 + .../invalid/retired-live/package/ids.jsonl | 1 + .../invalid/retired-live/package/nodes.jsonl | 22 + .../retired-live/package/provenance.json | 1 + .../retired-live/package/receipts.jsonl | 1 + .../retired-live/package/references.jsonl | 1 + .../invalid/retired-live/package/roster.json | 1 + .../retired-live/package/witnesses.json | 1 + .../rev-without-corrections/expect.json | 1 + .../package/MANIFEST.json | 1 + .../package/document.json | 1 + .../package/nodes.jsonl | 22 + .../package/provenance.json | 1 + .../package/receipts.jsonl | 1 + .../package/references.jsonl | 1 + .../package/roster.json | 1 + .../package/witnesses.json | 1 + fixtures/invalid/signer-mismatch/expect.json | 1 + .../signer-mismatch/package/MANIFEST.json | 1 + .../signer-mismatch/package/document.json | 1 + .../signer-mismatch/package/nodes.jsonl | 22 + .../signer-mismatch/package/provenance.json | 1 + .../signer-mismatch/package/receipts.jsonl | 1 + .../signer-mismatch/package/references.jsonl | 1 + .../signer-mismatch/package/roster.json | 1 + .../signer-mismatch/package/witnesses.json | 1 + fixtures/invalid/unsafe-path/expect.json | 1 + .../invalid/unsafe-path/package/MANIFEST.json | 1 + .../invalid/unsafe-path/package/document.json | 1 + .../invalid/unsafe-path/package/nodes.jsonl | 22 + .../unsafe-path/package/provenance.json | 1 + .../unsafe-path/package/receipts.jsonl | 1 + .../unsafe-path/package/references.jsonl | 1 + .../invalid/unsafe-path/package/roster.json | 1 + .../unsafe-path/package/witnesses.json | 1 + fixtures/invalid/zip-symlink/expect.json | 1 + fixtures/invalid/zip-symlink/package.sct.zip | Bin 0 -> 18111 bytes fixtures/invalid/zip-traversal/expect.json | 1 + .../invalid/zip-traversal/package.sct.zip | Bin 0 -> 18110 bytes fixtures/records/checklist/checklist.json | 1 + fixtures/records/checklist/receipt.json | 1 + fixtures/records/layer/annotations.jsonl | 9 +- fixtures/records/layer/layer.json | 2 +- fixtures/records/layer/receipt.json | 2 +- fixtures/records/qa-report.json | 2 +- registry/README.md | 4 +- registry/formats.json | 24 +- registry/rules.json | 27 +- schemas/README.md | 14 +- schemas/annotation.schema.json | 37 ++ schemas/checklist.schema.json | 151 +++++ schemas/qa-report.schema.json | 10 +- schemas/spot-check.schema.json | 20 + spec/00-introduction.md | 2 +- spec/05-hashes.md | 4 +- spec/07-geometry.md | 6 +- spec/08-fidelity.md | 30 +- spec/12-package.md | 4 +- spec/18-layers.md | 5 +- spec/19-exercises.md | 1 + spec/22-conformance.md | 8 +- sql/doc.sql | 7 +- sql/store.sql | 2 +- tools/README.md | 7 +- tools/build.py | 148 ++++- tools/check.py | 220 ++++++- tools/load.py | 67 +- tools/oracle/anchors.py | 17 +- tools/oracle/corrections.py | 80 ++- tools/oracle/db.py | 3 +- tools/oracle/fingerprint.py | 9 +- tools/oracle/grade.py | 33 +- tools/oracle/model.py | 12 + tools/oracle/notation.py | 17 +- tools/oracle/package.py | 322 +++++++-- tools/oracle/receipts.py | 123 +++- tools/oracle/targets.py | 69 ++ tools/oracle/tree.py | 33 + tools/stress.py | 621 ++++++++++++++++++ tools/validate.py | 25 +- vectors/README.md | 17 +- vectors/corrections.jsonl | 10 +- vectors/notation.jsonl | 8 + vectors/targets.jsonl | 3 + 142 files changed, 2312 insertions(+), 268 deletions(-) create mode 100644 fixtures/invalid/counts-wrong/expect.json create mode 100644 fixtures/invalid/counts-wrong/package/MANIFEST.json create mode 100644 fixtures/invalid/counts-wrong/package/document.json create mode 100644 fixtures/invalid/counts-wrong/package/nodes.jsonl create mode 100644 fixtures/invalid/counts-wrong/package/provenance.json create mode 100644 fixtures/invalid/counts-wrong/package/receipts.jsonl create mode 100644 fixtures/invalid/counts-wrong/package/references.jsonl create mode 100644 fixtures/invalid/counts-wrong/package/roster.json create mode 100644 fixtures/invalid/counts-wrong/package/witnesses.json create mode 100644 fixtures/invalid/crlf/expect.json create mode 100644 fixtures/invalid/crlf/package/MANIFEST.json create mode 100644 fixtures/invalid/crlf/package/document.json create mode 100644 fixtures/invalid/crlf/package/nodes.jsonl create mode 100644 fixtures/invalid/crlf/package/provenance.json create mode 100644 fixtures/invalid/crlf/package/receipts.jsonl create mode 100644 fixtures/invalid/crlf/package/references.jsonl create mode 100644 fixtures/invalid/crlf/package/roster.json create mode 100644 fixtures/invalid/crlf/package/witnesses.json create mode 100644 fixtures/invalid/manifest-key/expect.json create mode 100644 fixtures/invalid/manifest-key/package/MANIFEST.json create mode 100644 fixtures/invalid/manifest-key/package/document.json create mode 100644 fixtures/invalid/manifest-key/package/nodes.jsonl create mode 100644 fixtures/invalid/manifest-key/package/provenance.json create mode 100644 fixtures/invalid/manifest-key/package/receipts.jsonl create mode 100644 fixtures/invalid/manifest-key/package/references.jsonl create mode 100644 fixtures/invalid/manifest-key/package/roster.json create mode 100644 fixtures/invalid/manifest-key/package/witnesses.json create mode 100644 fixtures/invalid/missing-required-file/expect.json create mode 100644 fixtures/invalid/missing-required-file/package/MANIFEST.json create mode 100644 fixtures/invalid/missing-required-file/package/document.json create mode 100644 fixtures/invalid/missing-required-file/package/nodes.jsonl create mode 100644 fixtures/invalid/missing-required-file/package/receipts.jsonl create mode 100644 fixtures/invalid/missing-required-file/package/references.jsonl create mode 100644 fixtures/invalid/missing-required-file/package/roster.json create mode 100644 fixtures/invalid/missing-required-file/package/witnesses.json create mode 100644 fixtures/invalid/receipt-unsorted-nodes/expect.json create mode 100644 fixtures/invalid/receipt-unsorted-nodes/package/MANIFEST.json create mode 100644 fixtures/invalid/receipt-unsorted-nodes/package/document.json create mode 100644 fixtures/invalid/receipt-unsorted-nodes/package/nodes.jsonl create mode 100644 fixtures/invalid/receipt-unsorted-nodes/package/provenance.json create mode 100644 fixtures/invalid/receipt-unsorted-nodes/package/receipts.jsonl create mode 100644 fixtures/invalid/receipt-unsorted-nodes/package/references.jsonl create mode 100644 fixtures/invalid/receipt-unsorted-nodes/package/roster.json create mode 100644 fixtures/invalid/receipt-unsorted-nodes/package/witnesses.json create mode 100644 fixtures/invalid/retired-live/expect.json create mode 100644 fixtures/invalid/retired-live/package/MANIFEST.json create mode 100644 fixtures/invalid/retired-live/package/document.json create mode 100644 fixtures/invalid/retired-live/package/ids.jsonl create mode 100644 fixtures/invalid/retired-live/package/nodes.jsonl create mode 100644 fixtures/invalid/retired-live/package/provenance.json create mode 100644 fixtures/invalid/retired-live/package/receipts.jsonl create mode 100644 fixtures/invalid/retired-live/package/references.jsonl create mode 100644 fixtures/invalid/retired-live/package/roster.json create mode 100644 fixtures/invalid/retired-live/package/witnesses.json create mode 100644 fixtures/invalid/rev-without-corrections/expect.json create mode 100644 fixtures/invalid/rev-without-corrections/package/MANIFEST.json create mode 100644 fixtures/invalid/rev-without-corrections/package/document.json create mode 100644 fixtures/invalid/rev-without-corrections/package/nodes.jsonl create mode 100644 fixtures/invalid/rev-without-corrections/package/provenance.json create mode 100644 fixtures/invalid/rev-without-corrections/package/receipts.jsonl create mode 100644 fixtures/invalid/rev-without-corrections/package/references.jsonl create mode 100644 fixtures/invalid/rev-without-corrections/package/roster.json create mode 100644 fixtures/invalid/rev-without-corrections/package/witnesses.json create mode 100644 fixtures/invalid/signer-mismatch/expect.json create mode 100644 fixtures/invalid/signer-mismatch/package/MANIFEST.json create mode 100644 fixtures/invalid/signer-mismatch/package/document.json create mode 100644 fixtures/invalid/signer-mismatch/package/nodes.jsonl create mode 100644 fixtures/invalid/signer-mismatch/package/provenance.json create mode 100644 fixtures/invalid/signer-mismatch/package/receipts.jsonl create mode 100644 fixtures/invalid/signer-mismatch/package/references.jsonl create mode 100644 fixtures/invalid/signer-mismatch/package/roster.json create mode 100644 fixtures/invalid/signer-mismatch/package/witnesses.json create mode 100644 fixtures/invalid/unsafe-path/expect.json create mode 100644 fixtures/invalid/unsafe-path/package/MANIFEST.json create mode 100644 fixtures/invalid/unsafe-path/package/document.json create mode 100644 fixtures/invalid/unsafe-path/package/nodes.jsonl create mode 100644 fixtures/invalid/unsafe-path/package/provenance.json create mode 100644 fixtures/invalid/unsafe-path/package/receipts.jsonl create mode 100644 fixtures/invalid/unsafe-path/package/references.jsonl create mode 100644 fixtures/invalid/unsafe-path/package/roster.json create mode 100644 fixtures/invalid/unsafe-path/package/witnesses.json create mode 100644 fixtures/invalid/zip-symlink/expect.json create mode 100644 fixtures/invalid/zip-symlink/package.sct.zip create mode 100644 fixtures/invalid/zip-traversal/expect.json create mode 100644 fixtures/invalid/zip-traversal/package.sct.zip create mode 100644 fixtures/records/checklist/checklist.json create mode 100644 fixtures/records/checklist/receipt.json create mode 100644 schemas/checklist.schema.json create mode 100644 schemas/spot-check.schema.json create mode 100644 tools/oracle/targets.py create mode 100644 tools/stress.py create mode 100644 vectors/targets.jsonl diff --git a/.gitea/workflows/check.yml b/.gitea/workflows/check.yml index 2879017..3b4a4a1 100644 --- a/.gitea/workflows/check.yml +++ b/.gitea/workflows/check.yml @@ -18,3 +18,5 @@ jobs: pixi-version: v0.69.0 - name: Check the repository run: pixi run check + - name: Stress the reference implementation + run: pixi run python tools/stress.py diff --git a/CHANGELOG.md b/CHANGELOG.md index e9b0aaf..586ea0e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,12 +6,13 @@ A change to any computed value is a breaking change and needs a new major versio The first release. -- The specification, in chapters 0 to 22, covering every format. -- 37 JSON Schemas, using a keyword subset that independent validators read alike. +- The specification, in chapters 0 to 22, covering every format: 29 formats, of which 18 are `candidate` and 11 `provisional`. +- 39 JSON Schemas, using a keyword subset that independent validators read alike. - Tables for SQLite, Dolt and PostgreSQL, a team's store, and the SQLite bundle with full-text search. - The JSON-LD context for layers, and registries of formats, rules, download-stamp rules and default stage requirements. -- Test vectors for every computed value, from canonical JSON to anchor resolution and grading. -- Example packages (a converted chemistry paper with corrections and receipts, its checks-only export, an open-access paper, a Typst draft and a tiny document), a record of every other format, and seventeen broken packages. +- Test vectors for every computed value, from canonical JSON to anchor resolution, grading and the target set of targeted F3. +- Example packages (a converted chemistry paper with corrections and receipts, its checks-only export, an open-access paper, a Typst draft and a tiny document, also as a zip), a record of every other format, and 28 broken packages, each breaking one named rule. +- Signed QA reports, a conformance checklist covered by a receipt, and a `description` annotation for the figure descriptions an accessible export needs. - Guides for newcomers: an overview, the concepts, a walkthrough of the example paper, runnable examples, the rationale, a FAQ and a glossary. -- Tools that build and check everything, validate packages and proposed corrections, and load packages into SQLite or a bundle. -- A pixi workspace pinned to Python 3.14, with tasks for checking, building, linting and loading. +- Tools that build and check everything, validate packages and zipped packages and run proposed corrections through the gate, load packages into SQLite or a bundle, and stress the reference implementation with random inputs. +- A pixi workspace pinned to Python 3.14, with tasks for checking, building, linting, validating and loading. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e6ad8c3..2ac2bf7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -32,6 +32,19 @@ Propose a kind with the vector or fixture that shows it. A node kind needs its row in [chapter 3](spec/03-nodes.md), the node schema, and its entry in the `CHILDREN` table of `tools/oracle/model.py`. A run kind needs its row in [section 3.5](spec/03-nodes.md#35-inline-runs) and the node schema, and its text in the plain projection ([3.6](spec/03-nodes.md#36-the-plain-projection)) and in the strict and lossy projections ([5.3](spec/05-hashes.md#53-the-strict-projection), [5.5](spec/05-hashes.md#55-the-lossy-projection)). +## Releasing + +A release is a tag on `main` whose version is the top heading of [CHANGELOG.md](CHANGELOG.md). +Before tagging: + +1. `pixi run check` passes on Linux and macOS, which the workflow in `.gitea/workflows/` runs on every push. + The check also confirms that every count the prose states (formats, schemas, vectors, broken packages) matches the repository, and that `pixi.toml`, the registries and `tools/build.py` state the same version. +2. `python3 tools/stress.py` passes with its default seed, and with one or two others. +3. The JSON-LD context is served at `https://scient.ing/ns/scienting/1.jsonld` and every schema at its `$id` under `https://scient.ing/ns/schemas/`, both as static files; [context/README.md](context/README.md) records whether they resolved last time someone checked. + Layers claim to be W3C Web Annotations, and a JSON-LD processor that cannot fetch the context cannot read them. +4. The decisions that freeze on release are made: enumeration values and format identifiers never change meaning afterwards ([spec/22 §22.5](spec/22-conformance.md#225-stability)), so a name worth changing is changed now. +5. The CHANGELOG entry describes the release in the terms of the chapters it touches. + ## Writing The checker enforces two rules on every Markdown file: one sentence per line, and US spelling. diff --git a/README.md b/README.md index c4a3525..6f50c0a 100644 --- a/README.md +++ b/README.md @@ -77,7 +77,7 @@ It recomputes every test vector, and it rebuilds everything and compares it byte Last, it loads every package into SQLite and back, and checks the prose and the links. Pixi lints the Markdown first. The run ends with `All checks pass.` -`pixi task list` shows the other tasks: `quick`, `build`, `lint` and `load`. +`pixi task list` shows the other tasks: `quick`, `build`, `lint`, `load` and `validate`. The tools need Python 3.14 and two packages, `jsonschema` and `cryptography`, which pixi installs along with markdownlint for the Markdown. Without pixi, install those two with pip and run `python3 tools/check.py`. @@ -99,8 +99,8 @@ Schemas use the identifier base `https://scient.ing/ns/schemas/`. ## Status and limits This is version 0.1.0. -Of the 27 formats, 20 are `candidate` and seven are `provisional`. -The `provisional` formats are project, bundle, dataset, digitization, view, snapshot and draft-ids; where those are described, they are marked as such. +Of the 29 formats, 18 are `candidate` and 11 are `provisional`. +The `provisional` formats are project, bundle, dataset, digitization, view, snapshot, draft-ids, exercise, submission, grade and checklist; where those are described, they are marked as such. The repository includes a reference checker, test vectors and fixtures. The formats are built for a team-scale corpus of hundreds of documents, not hundreds of millions of papers. diff --git a/docs/comparison.md b/docs/comparison.md index ec230a9..5108ac9 100644 --- a/docs/comparison.md +++ b/docs/comparison.md @@ -427,8 +427,8 @@ Keep using it as a reading and distribution format. *Status.* The specification is version 0.1.0. -`registry/formats.json` lists 27 formats: 20 are `candidate` (complete, with vectors and fixtures, ready to implement) and seven are `provisional` (complete; expected to change as implementations gain experience): project, bundle, dataset, digitization, view, snapshot and draft-ids ([spec/00 §0.4](../spec/00-introduction.md#04-status)). -The repository holds 23 chapters, 37 JSON Schemas, 20 vector files, five valid fixture packages and 17 invalid ones, each naming the rule it breaks, and a reference checker, `tools/check.py`. +`registry/formats.json` lists 29 formats: 18 are `candidate` (complete, with vectors and fixtures, ready to implement) and 11 are `provisional` (complete; expected to change as implementations gain experience): project, bundle, dataset, digitization, view, snapshot, draft-ids, exercise, submission, grade and checklist ([spec/00 §0.4](../spec/00-introduction.md#04-status)). +The repository holds 23 chapters, 39 JSON Schemas, 21 vector files, five valid fixture packages, one of them also zipped, and 28 invalid ones, each naming the rule it breaks, and a reference checker, `tools/check.py`. Licenses: prose CC BY 4.0; schemas, SQL, the JSON-LD context, registries, vectors and fixtures CC0 1.0; tools Apache-2.0 ([README.md](../README.md#licenses)). *No adoption claim.* @@ -471,7 +471,7 @@ These are the places where the guides and the specification differ, and this pag 6. **Package tree:** `docs/concepts.md` omits `suspects.jsonl` from its package tree, and [spec/12 §12.1](../spec/12-package.md#121-files) lists it. 7. **RFC 6962 is obsolete:** spec/08 §8.5 cites it; RFC 9162 obsoletes it (see above). 8. **Status:** The guides describe the formats as one set. - Seven of 27 are `provisional`, including `scienting-dataset/1`, which the datasets paragraphs in `docs/concepts.md` present without that qualifier. + Of the 29 formats, 11 are `provisional`, including `scienting-dataset/1`, which the datasets paragraphs in `docs/concepts.md` present without that qualifier. *The distinguishing combination, and what it costs.* manuspec puts in one package permanent sentence- and cell-level IDs, five hashes per node, anchors with explicit resolution outcomes and drift, append-only evidence-gated corrections, signed fidelity receipts with spot-check bounds, per-witness rights with AI-use axes, and value-to-cell anchors. diff --git a/docs/concepts.md b/docs/concepts.md index a6cf737..be78377 100644 --- a/docs/concepts.md +++ b/docs/concepts.md @@ -12,8 +12,8 @@ For a gentler start, read the [overview](overview.md) first; for the exact rules Two facts apply to everything below. The specification is at version 0.1.0. -It defines 27 formats, 20 of them `candidate` and 7 `provisional`, as [registry/formats.json](../registry/formats.json) lists. -The provisional ones are the project, bundle, dataset, digitization, view, snapshot and draft-ids formats; the sections below say so where they describe them. +It defines 29 formats, 18 of them `candidate` and 11 `provisional`, as [registry/formats.json](../registry/formats.json) lists. +The provisional ones are the project, bundle, dataset, digitization, view, snapshot, draft-ids, exercise, submission, grade and checklist formats; the sections below say so where they describe them. Format identifiers such as `scienting-anchor/1` and `scienting-correction/1` begin with `scienting-`, which is the formats' namespace. The repository's name, manuspec, is a separate matter, and the formats are named after what they hold. @@ -370,6 +370,7 @@ An exercise asks a student to find the cell giving the Set A bond constant for C Students submit under pseudonyms, and a key whose anchors have gone stale is never used to grade. Pinned by [vectors/grading.jsonl](../vectors/grading.jsonl). +The exercise, submission and grade formats are `provisional`: no course has used them yet, and the first that does will shape them. See [chapter 19](../spec/19-exercises.md). ## Datasets, digitizations and views diff --git a/docs/faq.md b/docs/faq.md index 7b10dd1..c9bdf60 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -96,12 +96,12 @@ The full comparison is [docs/comparison.md](comparison.md) ## What is its status and maturity? -Version 0.1.0 has 27 formats: 20 are `candidate` and 7 are `provisional`, as [registry/formats.json](../registry/formats.json) lists. +Version 0.1.0 has 29 formats: 18 are `candidate` and 11 are `provisional`, as [registry/formats.json](../registry/formats.json) lists. A `candidate` format is complete, with vectors and fixtures, and ready to implement. A `provisional` one is complete and expected to change as implementations gain experience. -The provisional formats are dataset, digitization, view, project, bundle, snapshot and draft-ids. +The provisional formats are dataset, digitization, view, project, bundle, snapshot, draft-ids, exercise, submission, grade and checklist. -The repository holds a reference checker (`tools/check.py`), 20 vector files, and 22 example packages, of which 17 are deliberately broken ([spec/00 §0.4](../spec/00-introduction.md#04-status), [spec/22](../spec/22-conformance.md)). +The repository holds a reference checker (`tools/check.py`), 21 vector files, five valid packages, one of them also as a zip, and 28 deliberately broken packages ([spec/00 §0.4](../spec/00-introduction.md#04-status), [spec/22](../spec/22-conformance.md)). ## What does it not do? diff --git a/docs/glossary.md b/docs/glossary.md index 551b816..33703f4 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -32,9 +32,16 @@ Format `scienting-bundle/1`, `provisional`. ([13.5](../spec/13-database.md#135-t Changed below : The resolution of an anchor on a container that is unchanged in itself while something inside it changed. ([6.5](../spec/06-anchors.md#65-resolution)) +Checklist +: A record of checking an export, such as accessible HTML, against a named standard, criterion by criterion; it is covered by the receipt of the person who checked. +Format `scienting-checklist/1`, `provisional`. ([8.11](../spec/08-fidelity.md#811-checklists)) + Correction : An operation on an established document, with its evidence and author; never edited, only appended. ([11](../spec/11-corrections.md)) +Description +: An annotation that describes a figure, panel or table for readers who cannot see it, as a short text equivalent (`alt`) or a full description (`long`); an accessible export uses confirmed descriptions only. ([18.4](../spec/18-layers.md#184-bodies)) + Document : The text established for one version of one work, from one or more witnesses, as a tree of nodes. ([2.1](../spec/02-model.md#21-four-objects), [3](../spec/03-nodes.md)) @@ -135,7 +142,7 @@ Suspect Targeted F3 : Proofreading the nodes a team's claims, quotations and datasets rest on, rather than every node. -The target set also includes every display equation and, under the project's digit rule (`all`, `anchored-sections` or `none`), sentences with a digit in a text or math run (an inline stretch of plain text, or of TeX or Typst math, within the sentence; [3.5](../spec/03-nodes.md#35-inline-runs)). ([8.10](../spec/08-fidelity.md#810-targeted-f3)) +The target set also includes the leaves of every anchored container, every equation and, under the project's digit rule (`all`, `anchored-sections` or `none`), sentences and cells with a digit in a text or math run (an inline stretch of plain text, or of TeX or Typst math, within the node; [3.5](../spec/03-nodes.md#35-inline-runs)). ([8.10](../spec/08-fidelity.md#810-targeted-f3)) Text leaf : A leaf whose text a container's projections are made of: any leaf except an equation line, or an equation inside a sentence, whose text is already part of its equation or its sentence. ([3.6](../spec/03-nodes.md#36-the-plain-projection)) diff --git a/docs/overview.md b/docs/overview.md index 33f1d24..e5dde15 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -26,7 +26,7 @@ The formats supply those three, and they are worth most at the scale of one team manuspec is a set of file formats for scientific papers that have been converted, split into addressable pieces and checked. The repository is at . -It is version 0.1.0 and defines 27 formats; in [registry/formats.json](../registry/formats.json), 20 are `candidate` and 7 are `provisional`. +It is version 0.1.0 and defines 29 formats; in [registry/formats.json](../registry/formats.json), 18 are `candidate` and 11 are `provisional`. ## Who it is for @@ -52,11 +52,11 @@ It appears inside hashed data and test vectors, and it is separate from the repo | Folder | Holds | | --- | --- | | [spec/](../spec/README.md) | The specification, in 23 chapters (00 to 22). Normative. | -| [schemas/](../schemas/README.md) | 37 JSON (plain-text data format) Schemas for the files and records. | +| [schemas/](../schemas/README.md) | 39 JSON (plain-text data format) Schemas for the files and records. | | [registry/](../registry/README.md) | The list of formats, the rule IDs a checker reports, download-stamp rules, and default rights requirements. | | [tools/](../tools/README.md) | Reference programs: `check.py` checks everything, `build.py` rebuilds the fixtures and vectors, `load.py` loads packages into SQLite, and `oracle/` is a compact implementation of every rule. | -| [vectors/](../vectors/README.md) | 20 files of test vectors: inputs and the exact outputs every implementation must compute. | -| [fixtures/](../fixtures/README.md) | Five valid example packages, 17 deliberately broken ones that each break one named rule, example records, and the test keys that signed them. All text is synthetic. | +| [vectors/](../vectors/README.md) | 21 files of test vectors: inputs and the exact outputs every implementation must compute. | +| [fixtures/](../fixtures/README.md) | Five valid example packages, one of them also as a zip, 28 deliberately broken ones that each break one named rule, example records, and the test keys that signed them. All text is synthetic. | | [sql/](../sql/README.md) | Tables for SQLite, Dolt and PostgreSQL, and a SQLite bundle with full-text search. | | [context/](../context/README.md) | The JSON-LD context that makes annotation layers W3C Web Annotations. | | [docs/](README.md) | Guides, including this page. | @@ -107,7 +107,7 @@ The [specification's reading paths](../spec/README.md) say which chapters each r A store loads the package into a database. A reader renders it with layers of annotations. Anchors (stored references to a sentence, with its hash and a quotation) let a claim, a dataset value or a draft's citation point at a passage. - Datasets, drafts, views and projects are `provisional` formats. + Datasets, drafts, views, projects, exercises and checklists are `provisional` formats. 7. Check and sign. People proofread what matters and sign receipts; second reviewers spot-check them. diff --git a/docs/rationale.md b/docs/rationale.md index f2b4c8e..4c5667d 100644 --- a/docs/rationale.md +++ b/docs/rationale.md @@ -9,7 +9,7 @@ Implementers find the chapter that defines each rule. Experts find the cost of each choice and, where a neighboring standard chose differently, how it differs (the full comparison is in [comparison.md](comparison.md)). The formats are at version 0.1.0. -Of the 27 in `registry/formats.json`, 20 are `candidate` and 7 are `provisional`, and the provisional ones are named where they appear. +Of the 29 in `registry/formats.json`, 18 are `candidate` and 11 are `provisional`, and the provisional ones are named where they appear. The repository is manuspec, at . The `scienting-` prefix in format names such as `scienting-anchor/1` is the formats' namespace, separate from the repository's name. diff --git a/docs/walkthrough.md b/docs/walkthrough.md index cadaade..8471300 100644 --- a/docs/walkthrough.md +++ b/docs/walkthrough.md @@ -7,7 +7,7 @@ Its problems are modeled on the failures that the specification's rules address. Three readers can use the guide, and each gets something different. A newcomer knows what a paper and a citation are, not hashes or JSON, so every term is defined where it first appears. An implementer who will write a reader, writer, converter or checker gets the chapter and test vector for each step. -An expert gets the status: [manuspec](https://git.scient.ing/infra/manuspec) is at version 0.1.0, and each format is `candidate` or `provisional` in [`registry/formats.json`](../registry/formats.json) (20 candidate, 7 provisional). +An expert gets the status: [manuspec](https://git.scient.ing/infra/manuspec) is at version 0.1.0, and each format is `candidate` or `provisional` in [`registry/formats.json`](../registry/formats.json) (18 candidate, 11 provisional). The `scienting-` prefix on format names, as in `scienting-doc/1`, is the formats' namespace. It has nothing to do with the repository's name. diff --git a/fixtures/README.md b/fixtures/README.md index ccfcd85..343d777 100644 --- a/fixtures/README.md +++ b/fixtures/README.md @@ -30,6 +30,7 @@ A conforming reader accepts each one and recomputes every hash it contains. | `packages/okafor2025open/` | An open-access paper established from a JATS file (an XML format for journal articles) and a PDF that agree, so every leaf is at fidelity F2, corroborated by an independent witness. | | `packages/smithlab2027charges/` | A short draft written in Typst (a typesetting language). One of its sentences holds a cross-reference whose target is the address `hale2026harmonic#r1gacps`, a sentence of the main example. | | `packages/tiny2026example/` | A small document, the starting point of the correction vectors (`vectors/corrections.jsonl`) and of every broken package below. | +| `packages/tiny2026example.sct.zip` | The same document as a zipped package, written the way a producer makes a byte-identical archive: entries under one folder named by the key, sorted by path, stored, dated 1980-01-01, with no extra fields ([spec/12 section 12.2](../spec/12-package.md#122-paths)). A reader unpacks it to exactly the folder beside it. | ## Records @@ -49,12 +50,13 @@ Each record is a single file, or a folder where a format needs several files. | `layer/` | A layer of annotations on the main example (`layer.json`, `annotations.jsonl`) and the receipt that confirms them (`receipt.json`). | | `submissions/`, `grades/` | A student's answers to exercises in the layer, and the grader's result for each. | | `suspect.json` | A doubtful reading raised for review: the converter's reading of an exponent in the main example, before the first correction answered it. | -| `qa-report.json` | Reviewer error bounds for a delivery that covers two of the main example's receipts. | +| `qa-report.json` | Reviewer error bounds for a delivery that covers two of the main example's receipts, signed by the team's owner key. | +| `checklist/` | A conformance checklist (`checklist.json`) for an accessible HTML export of the main example, checked against WCAG 2.1 AA criterion by criterion, and the receipt that covers it at its hash (`receipt.json`). The format is `provisional`. | | `project.json`, `digitization.json`, `digitization-confirmation.json`, `datasets/`, `view.vl.json`, `snapshot.json`, `draft-ids.jsonl` | A team project; values read off the main example's figure by hand, the receipt that confirms them, and the dataset they yield; a Vega-Lite chart pinned to that dataset; what the draft cites, pinned; and the sentence IDs of the draft's Typst project. These formats are `provisional`. | ## Broken packages -Each folder in `invalid/` holds a `package/` that breaks exactly one rule, built from `packages/tiny2026example/` by one edit, and an `expect.json` that names the rule. +Each folder in `invalid/` holds a `package/` folder, or a `package.sct.zip` archive, that breaks exactly one rule, built from `packages/tiny2026example/` by one edit, and an `expect.json` that names the rule. A conforming implementation refuses every one of them and should report that rule. `registry/rules.json` lists every rule ID with its meaning, and a validator reports each failure as `path:line: rule: message` ([spec/22 section 22.2](../spec/22-conformance.md#222-validating-a-package)). @@ -64,19 +66,30 @@ A conforming implementation refuses every one of them and should report that rul | `bad-id/` | An ID that uses a letter Crockford base32 lacks (i, l, o or u). | `package.schema` | | `checks-only-plain/` | A checks-only package that still carries text and plain hashes. | `doc.policy.withheld` | | `cite-not-reference/` | A cite run names a node that is not a reference. | `doc.run.cite` | +| `counts-wrong/` | document.json's counts are not the number of nodes and leaves. | `doc.counts` | +| `crlf/` | A file whose lines end in CR LF, which is not the canonical form. | `package.file.canonical` | | `empty-optional-file/` | An optional JSONL file with no records. | `package.file.empty` | | `hash-mismatch/` | A node_hash that does not recompute. | `doc.hash.node-hash` | | `heading-not-first/` | A heading must be a section's first child. | `doc.tree.child` | | `location-unknown-page/` | A location on a page no witness has. | `doc.location.page` | | `manifest-hash/` | A file changed after the manifest was written. | `package.manifest.hash` | +| `manifest-key/` | The manifest names another key than document.json. | `package.manifest.key` | +| `missing-required-file/` | A required file is missing. | `package.file.required` | | `not-canonical/` | A line that is valid JSON but not canonical JSON (the fixed form of RFC 8785, which gives equal data identical bytes). | `package.file.canonical` | | `receipt-root/` | A receipt whose Merkle root (one hash that summarizes a list of hashes) does not recompute. | `doc.receipt.root` | | `receipt-signature/` | A receipt changed after it was signed. | `doc.receipt.signature` | +| `receipt-unsorted-nodes/` | A receipt whose nodes are not sorted by ID. | `doc.receipt.nodes` | +| `retired-live/` | An ID that is both live and retired. | `doc.id.retired-live` | +| `rev-without-corrections/` | document.json's rev is not the number of corrections. | `doc.correction.rev` | | `root-mismatch/` | document.json's root is not the root node's node_hash. | `doc.hash.root` | +| `signer-mismatch/` | A receipt whose signature was made with another key than the signer it names. | `doc.receipt.signature` | | `style-sup-sub/` | A run cannot be both a subscript and a superscript. | `doc.run.style` | | `text-edited/` | Text changed without its hashes. | `doc.hash.text-hash` | | `unknown-kind/` | Kinds outside the list are refused. | `package.schema` | | `unlisted-file/` | A file the manifest does not list. | `package.manifest.unlisted` | +| `unsafe-path/` | The manifest lists a path that leaves the package. | `package.path.unsafe` | +| `zip-symlink/` | A zipped package with an entry that is a symbolic link. | `package.zip.entry` | +| `zip-traversal/` | A zipped package with an entry whose path leaves the package folder. | `package.zip.entry` | ## Keys diff --git a/fixtures/invalid/counts-wrong/expect.json b/fixtures/invalid/counts-wrong/expect.json new file mode 100644 index 0000000..e95edfe --- /dev/null +++ b/fixtures/invalid/counts-wrong/expect.json @@ -0,0 +1 @@ +{"note":"document.json's counts are not the number of nodes and leaves.","rule":"doc.counts"} diff --git a/fixtures/invalid/counts-wrong/package/MANIFEST.json b/fixtures/invalid/counts-wrong/package/MANIFEST.json new file mode 100644 index 0000000..59e0b6d --- /dev/null +++ b/fixtures/invalid/counts-wrong/package/MANIFEST.json @@ -0,0 +1 @@ +{"doc":"scienting-doc/1","files":[{"path":"document.json","sha256":"9ffb946536af0b4697a2ab118967b3d36adf2bdcfa7e8d597f99828e79f632a4","size":553},{"path":"nodes.jsonl","sha256":"ffeffbf15cc9fe8182a31ef0bac32c1aef8c7a119706ac1e8a55aad218d0622c","size":11295},{"path":"provenance.json","sha256":"b1af404b3a07d4b102f0a45237285315dc1ff60f243636c22aef3e1c20b46912","size":224},{"path":"receipts.jsonl","sha256":"e6be2c6ff4d1444e2faf75c8c4d03482ceaf49746ea390592928b2b5e3b22237","size":2180},{"path":"references.jsonl","sha256":"bb5445037c28bf5fde215b4b831c29327dec6dd88259e2d53aabb995f2fdb98f","size":60},{"path":"roster.json","sha256":"7ee0c38fb4fdfc15d4ffa8139a239c23082dc69f8147c5920a39e8361cc7bbeb","size":924},{"path":"witnesses.json","sha256":"83ac4411c2efe65e0f7fc4c9336abbef6977cd32b0f90de029a7f8516afc3e97","size":750}],"format":"scienting-package/1","key":"tiny2026example"} diff --git a/fixtures/invalid/counts-wrong/package/document.json b/fixtures/invalid/counts-wrong/package/document.json new file mode 100644 index 0000000..cf99a7f --- /dev/null +++ b/fixtures/invalid/counts-wrong/package/document.json @@ -0,0 +1 @@ +{"counts":{"leaves":1,"nodes":1},"fidelity":{"counts":{"F0":0,"F1":0,"F2":1,"F3":9},"lowest":"F2"},"format":"scienting-doc/1","hashing":{"scheme":"plain"},"key":"tiny2026example","kind":"article","language":"en","license":{"spdx":"CC0-1.0"},"meta":{"title":"A tiny example"},"meta_hash":"d0d471264d5e885f91428c8714aa04598b150f07732fef31f310c31fdc91aed6","policy":"full","relations":[],"rev":0,"root":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","version":{"type":"version-of-record"},"work":{"key":"tiny2026example","same_as":[]}} diff --git a/fixtures/invalid/counts-wrong/package/nodes.jsonl b/fixtures/invalid/counts-wrong/package/nodes.jsonl new file mode 100644 index 0000000..88fece2 --- /dev/null +++ b/fixtures/invalid/counts-wrong/package/nodes.jsonl @@ -0,0 +1,22 @@ +{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"} +{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"} +{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"} +{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"} +{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"} +{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"} +{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"} +{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"} +{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"} +{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"} +{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"} +{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"} +{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"} +{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"} +{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"} +{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"} +{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"} +{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"} +{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"} +{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"} +{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"} +{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"} diff --git a/fixtures/invalid/counts-wrong/package/provenance.json b/fixtures/invalid/counts-wrong/package/provenance.json new file mode 100644 index 0000000..08036e4 --- /dev/null +++ b/fixtures/invalid/counts-wrong/package/provenance.json @@ -0,0 +1 @@ +{"note":"Built by hand for the conformance suite; every reading is synthetic.","stages":[{"processor":"local","stage":"hand","tool":"manuspec tools/build.py"}],"tools":[{"name":"manuspec tools/build.py","version":"0.1.0"}]} diff --git a/fixtures/invalid/counts-wrong/package/receipts.jsonl b/fixtures/invalid/counts-wrong/package/receipts.jsonl new file mode 100644 index 0000000..dc3505f --- /dev/null +++ b/fixtures/invalid/counts-wrong/package/receipts.jsonl @@ -0,0 +1 @@ +{"at":"2026-10-11T12:00:00Z","by":"ana","doc":"tiny2026example","evidence":[{"kind":"crop","node":"cjkdv61","sha256":"6e12bbc22302e7b635b18df516ad91e1a3ba23cc98e303cffd9f04925ca4e21c"},{"kind":"crop","node":"jss11hp","sha256":"09a6be7a365bc435b545392abd5cd35d3d4cfb1954cb8a72e357c2a349b4c7c9"},{"kind":"crop","node":"k69qp1x","sha256":"e136e117a2cceaff1b8133b8d5c9cf079eb902c8adf0de1585bfe1d040bd39f3"},{"kind":"crop","node":"pd32xxr","sha256":"27b56093c27a4356ff2d21dd0e3d944f9ffef1dcec1e9b536341e5a1e67c9965"},{"kind":"crop","node":"qrvfgfb","sha256":"1b702389a8acd28e0a691a1d12f0cfff18cfdc25338018e9d45e670ec7280a39"},{"kind":"crop","node":"tn1vrf0","sha256":"e80437c7d4dd642527dbffd5f221a0b5d3e4fded4f02d901aafb6a77e782ce2c"},{"kind":"crop","node":"v43b2r1","sha256":"3039d88c2df8d0a934de6818297f9f0e3da8b1ab2a20204d77050543ee82a5a7"},{"kind":"crop","node":"w1dkdqd","sha256":"7650611ebd6f085066b2d9c2556faa33cc1389d7fb9ec762d909d3db588eacbf"},{"kind":"crop","node":"whq15cf","sha256":"7e136414636ea5bffe8958b5cf895fb52defa77050e0e444d45bbb0ecbcd84f5"},{"kind":"witness","sha256":"fda3f1e9bb3538cd85dcc42281e00fd045f726652664439ce5a15d8489425b21"}],"format":"scienting-receipt/1","id":"kmxw2ekgx2ek4","level":"F3","nodes":[["cjkdv61","e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078"],["jss11hp","ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78"],["k69qp1x","413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf"],["pd32xxr","443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab"],["qrvfgfb","a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56"],["tn1vrf0","ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6"],["v43b2r1","f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc"],["w1dkdqd","71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed"],["whq15cf","caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57"]],"rev":0,"root":"c8716a570ed36851723b0a8f4caf35e05adce12314315a40355eb5dbded00cc2","scope":"all","signature":{"key":"ana","scheme":"ed25519","value":"wPOEH5RpoWW9fkNCLWFt6iYfliHMf40SwbQN5kgtGuBBImylXvx1rhFp/jUGJaQj3QjToR/uy8u3a9v3iu5jCA=="}} diff --git a/fixtures/invalid/counts-wrong/package/references.jsonl b/fixtures/invalid/counts-wrong/package/references.jsonl new file mode 100644 index 0000000..4125be8 --- /dev/null +++ b/fixtures/invalid/counts-wrong/package/references.jsonl @@ -0,0 +1 @@ +{"label":"1","node":"w1dkdqd","resolution":{"type":"none"}} diff --git a/fixtures/invalid/counts-wrong/package/roster.json b/fixtures/invalid/counts-wrong/package/roster.json new file mode 100644 index 0000000..9437521 --- /dev/null +++ b/fixtures/invalid/counts-wrong/package/roster.json @@ -0,0 +1 @@ +{"format":"scienting-roster/1","keys":[{"id":"ana","person":{"name":"Ana Example"},"public":"KaptcVSRRjQ1EaRm7sWY+ExKeNtrQ5Xny7G0sOQq1Rc=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"owner","scheme":"ed25519"},{"id":"ben","person":{"name":"Ben Example"},"public":"FTgWcu94E4B07ky4Sd2W6VcMzamQgx8G7v++3Y/jvfY=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"editor","scheme":"ed25519"},{"id":"ben-spot","person":{"name":"Ben Example"},"public":"Z9Kcdd6RARODR/eUTI0yTXQkue0/K6ehrInEtAfGrzI=","purposes":["spot-check"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"editor","scheme":"ed25519"},{"id":"cara","person":{"name":"Cara Example"},"public":"J8HPVPYtxYbKQZLMnlvND2FeGrhHj/RN8fLQ0MeyKCc=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"reader","scheme":"ed25519"}],"store":"smithlab"} diff --git a/fixtures/invalid/counts-wrong/package/witnesses.json b/fixtures/invalid/counts-wrong/package/witnesses.json new file mode 100644 index 0000000..a7b09bb --- /dev/null +++ b/fixtures/invalid/counts-wrong/package/witnesses.json @@ -0,0 +1 @@ +{"witnesses":[{"id":"nmfryke","kind":"pdf","media_type":"application/pdf","origin":{"source":"author"},"pages":1,"rights":{"asserted_by":{"by":"ana","evidence":[{"kind":"statement","note":"The team's own draft."}]},"at":"2026-09-15T12:00:00Z","basis":"own-work","format":"scienting-rights/1","license":{"spdx":"CC-BY-4.0"},"uses":{"accessible-copy":true,"ai":{"external/local":true,"external/outside":true,"external/outside-no-retention":true,"external/tenancy":true,"internal/local":true,"internal/outside":true,"internal/outside-no-retention":true,"internal/tenancy":true},"quote-public":true,"read":true,"redistribute":true,"tdm":true},"valid_until":null},"sha256":"fda3f1e9bb3538cd85dcc42281e00fd045f726652664439ce5a15d8489425b21","size":1000}]} diff --git a/fixtures/invalid/crlf/expect.json b/fixtures/invalid/crlf/expect.json new file mode 100644 index 0000000..6beecd3 --- /dev/null +++ b/fixtures/invalid/crlf/expect.json @@ -0,0 +1 @@ +{"note":"A file whose lines end in CR LF, which is not the canonical form.","rule":"package.file.canonical"} diff --git a/fixtures/invalid/crlf/package/MANIFEST.json b/fixtures/invalid/crlf/package/MANIFEST.json new file mode 100644 index 0000000..37c11f4 --- /dev/null +++ b/fixtures/invalid/crlf/package/MANIFEST.json @@ -0,0 +1 @@ +{"doc":"scienting-doc/1","files":[{"path":"document.json","sha256":"20a7d6ba83bf42a87e44f3b3f96bfb16ff545b199d82e54d3c17989e465281df","size":555},{"path":"nodes.jsonl","sha256":"ffeffbf15cc9fe8182a31ef0bac32c1aef8c7a119706ac1e8a55aad218d0622c","size":11295},{"path":"provenance.json","sha256":"f620de9790dcd0c1215f87ce9054a611ce5fcdf9431cd6c9b587e2c25b5c76ee","size":225},{"path":"receipts.jsonl","sha256":"e6be2c6ff4d1444e2faf75c8c4d03482ceaf49746ea390592928b2b5e3b22237","size":2180},{"path":"references.jsonl","sha256":"bb5445037c28bf5fde215b4b831c29327dec6dd88259e2d53aabb995f2fdb98f","size":60},{"path":"roster.json","sha256":"7ee0c38fb4fdfc15d4ffa8139a239c23082dc69f8147c5920a39e8361cc7bbeb","size":924},{"path":"witnesses.json","sha256":"83ac4411c2efe65e0f7fc4c9336abbef6977cd32b0f90de029a7f8516afc3e97","size":750}],"format":"scienting-package/1","key":"tiny2026example"} diff --git a/fixtures/invalid/crlf/package/document.json b/fixtures/invalid/crlf/package/document.json new file mode 100644 index 0000000..6512265 --- /dev/null +++ b/fixtures/invalid/crlf/package/document.json @@ -0,0 +1 @@ +{"counts":{"leaves":10,"nodes":22},"fidelity":{"counts":{"F0":0,"F1":0,"F2":1,"F3":9},"lowest":"F2"},"format":"scienting-doc/1","hashing":{"scheme":"plain"},"key":"tiny2026example","kind":"article","language":"en","license":{"spdx":"CC0-1.0"},"meta":{"title":"A tiny example"},"meta_hash":"d0d471264d5e885f91428c8714aa04598b150f07732fef31f310c31fdc91aed6","policy":"full","relations":[],"rev":0,"root":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","version":{"type":"version-of-record"},"work":{"key":"tiny2026example","same_as":[]}} diff --git a/fixtures/invalid/crlf/package/nodes.jsonl b/fixtures/invalid/crlf/package/nodes.jsonl new file mode 100644 index 0000000..88fece2 --- /dev/null +++ b/fixtures/invalid/crlf/package/nodes.jsonl @@ -0,0 +1,22 @@ +{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"} +{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"} +{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"} +{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"} +{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"} +{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"} +{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"} +{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"} +{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"} +{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"} +{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"} +{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"} +{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"} +{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"} +{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"} +{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"} +{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"} +{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"} +{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"} +{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"} +{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"} +{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"} diff --git a/fixtures/invalid/crlf/package/provenance.json b/fixtures/invalid/crlf/package/provenance.json new file mode 100644 index 0000000..192bd50 --- /dev/null +++ b/fixtures/invalid/crlf/package/provenance.json @@ -0,0 +1 @@ +{"note":"Built by hand for the conformance suite; every reading is synthetic.","stages":[{"processor":"local","stage":"hand","tool":"manuspec tools/build.py"}],"tools":[{"name":"manuspec tools/build.py","version":"0.1.0"}]} diff --git a/fixtures/invalid/crlf/package/receipts.jsonl b/fixtures/invalid/crlf/package/receipts.jsonl new file mode 100644 index 0000000..dc3505f --- /dev/null +++ b/fixtures/invalid/crlf/package/receipts.jsonl @@ -0,0 +1 @@ +{"at":"2026-10-11T12:00:00Z","by":"ana","doc":"tiny2026example","evidence":[{"kind":"crop","node":"cjkdv61","sha256":"6e12bbc22302e7b635b18df516ad91e1a3ba23cc98e303cffd9f04925ca4e21c"},{"kind":"crop","node":"jss11hp","sha256":"09a6be7a365bc435b545392abd5cd35d3d4cfb1954cb8a72e357c2a349b4c7c9"},{"kind":"crop","node":"k69qp1x","sha256":"e136e117a2cceaff1b8133b8d5c9cf079eb902c8adf0de1585bfe1d040bd39f3"},{"kind":"crop","node":"pd32xxr","sha256":"27b56093c27a4356ff2d21dd0e3d944f9ffef1dcec1e9b536341e5a1e67c9965"},{"kind":"crop","node":"qrvfgfb","sha256":"1b702389a8acd28e0a691a1d12f0cfff18cfdc25338018e9d45e670ec7280a39"},{"kind":"crop","node":"tn1vrf0","sha256":"e80437c7d4dd642527dbffd5f221a0b5d3e4fded4f02d901aafb6a77e782ce2c"},{"kind":"crop","node":"v43b2r1","sha256":"3039d88c2df8d0a934de6818297f9f0e3da8b1ab2a20204d77050543ee82a5a7"},{"kind":"crop","node":"w1dkdqd","sha256":"7650611ebd6f085066b2d9c2556faa33cc1389d7fb9ec762d909d3db588eacbf"},{"kind":"crop","node":"whq15cf","sha256":"7e136414636ea5bffe8958b5cf895fb52defa77050e0e444d45bbb0ecbcd84f5"},{"kind":"witness","sha256":"fda3f1e9bb3538cd85dcc42281e00fd045f726652664439ce5a15d8489425b21"}],"format":"scienting-receipt/1","id":"kmxw2ekgx2ek4","level":"F3","nodes":[["cjkdv61","e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078"],["jss11hp","ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78"],["k69qp1x","413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf"],["pd32xxr","443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab"],["qrvfgfb","a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56"],["tn1vrf0","ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6"],["v43b2r1","f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc"],["w1dkdqd","71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed"],["whq15cf","caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57"]],"rev":0,"root":"c8716a570ed36851723b0a8f4caf35e05adce12314315a40355eb5dbded00cc2","scope":"all","signature":{"key":"ana","scheme":"ed25519","value":"wPOEH5RpoWW9fkNCLWFt6iYfliHMf40SwbQN5kgtGuBBImylXvx1rhFp/jUGJaQj3QjToR/uy8u3a9v3iu5jCA=="}} diff --git a/fixtures/invalid/crlf/package/references.jsonl b/fixtures/invalid/crlf/package/references.jsonl new file mode 100644 index 0000000..4125be8 --- /dev/null +++ b/fixtures/invalid/crlf/package/references.jsonl @@ -0,0 +1 @@ +{"label":"1","node":"w1dkdqd","resolution":{"type":"none"}} diff --git a/fixtures/invalid/crlf/package/roster.json b/fixtures/invalid/crlf/package/roster.json new file mode 100644 index 0000000..9437521 --- /dev/null +++ b/fixtures/invalid/crlf/package/roster.json @@ -0,0 +1 @@ +{"format":"scienting-roster/1","keys":[{"id":"ana","person":{"name":"Ana Example"},"public":"KaptcVSRRjQ1EaRm7sWY+ExKeNtrQ5Xny7G0sOQq1Rc=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"owner","scheme":"ed25519"},{"id":"ben","person":{"name":"Ben Example"},"public":"FTgWcu94E4B07ky4Sd2W6VcMzamQgx8G7v++3Y/jvfY=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"editor","scheme":"ed25519"},{"id":"ben-spot","person":{"name":"Ben Example"},"public":"Z9Kcdd6RARODR/eUTI0yTXQkue0/K6ehrInEtAfGrzI=","purposes":["spot-check"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"editor","scheme":"ed25519"},{"id":"cara","person":{"name":"Cara Example"},"public":"J8HPVPYtxYbKQZLMnlvND2FeGrhHj/RN8fLQ0MeyKCc=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"reader","scheme":"ed25519"}],"store":"smithlab"} diff --git a/fixtures/invalid/crlf/package/witnesses.json b/fixtures/invalid/crlf/package/witnesses.json new file mode 100644 index 0000000..a7b09bb --- /dev/null +++ b/fixtures/invalid/crlf/package/witnesses.json @@ -0,0 +1 @@ +{"witnesses":[{"id":"nmfryke","kind":"pdf","media_type":"application/pdf","origin":{"source":"author"},"pages":1,"rights":{"asserted_by":{"by":"ana","evidence":[{"kind":"statement","note":"The team's own draft."}]},"at":"2026-09-15T12:00:00Z","basis":"own-work","format":"scienting-rights/1","license":{"spdx":"CC-BY-4.0"},"uses":{"accessible-copy":true,"ai":{"external/local":true,"external/outside":true,"external/outside-no-retention":true,"external/tenancy":true,"internal/local":true,"internal/outside":true,"internal/outside-no-retention":true,"internal/tenancy":true},"quote-public":true,"read":true,"redistribute":true,"tdm":true},"valid_until":null},"sha256":"fda3f1e9bb3538cd85dcc42281e00fd045f726652664439ce5a15d8489425b21","size":1000}]} diff --git a/fixtures/invalid/manifest-key/expect.json b/fixtures/invalid/manifest-key/expect.json new file mode 100644 index 0000000..780e5dc --- /dev/null +++ b/fixtures/invalid/manifest-key/expect.json @@ -0,0 +1 @@ +{"note":"The manifest names another key than document.json.","rule":"package.manifest.key"} diff --git a/fixtures/invalid/manifest-key/package/MANIFEST.json b/fixtures/invalid/manifest-key/package/MANIFEST.json new file mode 100644 index 0000000..96bf1e8 --- /dev/null +++ b/fixtures/invalid/manifest-key/package/MANIFEST.json @@ -0,0 +1 @@ +{"doc":"scienting-doc/1","files":[{"path":"document.json","sha256":"20a7d6ba83bf42a87e44f3b3f96bfb16ff545b199d82e54d3c17989e465281df","size":555},{"path":"nodes.jsonl","sha256":"ffeffbf15cc9fe8182a31ef0bac32c1aef8c7a119706ac1e8a55aad218d0622c","size":11295},{"path":"provenance.json","sha256":"b1af404b3a07d4b102f0a45237285315dc1ff60f243636c22aef3e1c20b46912","size":224},{"path":"receipts.jsonl","sha256":"e6be2c6ff4d1444e2faf75c8c4d03482ceaf49746ea390592928b2b5e3b22237","size":2180},{"path":"references.jsonl","sha256":"bb5445037c28bf5fde215b4b831c29327dec6dd88259e2d53aabb995f2fdb98f","size":60},{"path":"roster.json","sha256":"7ee0c38fb4fdfc15d4ffa8139a239c23082dc69f8147c5920a39e8361cc7bbeb","size":924},{"path":"witnesses.json","sha256":"83ac4411c2efe65e0f7fc4c9336abbef6977cd32b0f90de029a7f8516afc3e97","size":750}],"format":"scienting-package/1","key":"other2026example"} diff --git a/fixtures/invalid/manifest-key/package/document.json b/fixtures/invalid/manifest-key/package/document.json new file mode 100644 index 0000000..6512265 --- /dev/null +++ b/fixtures/invalid/manifest-key/package/document.json @@ -0,0 +1 @@ +{"counts":{"leaves":10,"nodes":22},"fidelity":{"counts":{"F0":0,"F1":0,"F2":1,"F3":9},"lowest":"F2"},"format":"scienting-doc/1","hashing":{"scheme":"plain"},"key":"tiny2026example","kind":"article","language":"en","license":{"spdx":"CC0-1.0"},"meta":{"title":"A tiny example"},"meta_hash":"d0d471264d5e885f91428c8714aa04598b150f07732fef31f310c31fdc91aed6","policy":"full","relations":[],"rev":0,"root":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","version":{"type":"version-of-record"},"work":{"key":"tiny2026example","same_as":[]}} diff --git a/fixtures/invalid/manifest-key/package/nodes.jsonl b/fixtures/invalid/manifest-key/package/nodes.jsonl new file mode 100644 index 0000000..88fece2 --- /dev/null +++ b/fixtures/invalid/manifest-key/package/nodes.jsonl @@ -0,0 +1,22 @@ +{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"} +{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"} +{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"} +{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"} +{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"} +{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"} +{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"} +{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"} +{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"} +{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"} +{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"} +{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"} +{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"} +{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"} +{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"} +{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"} +{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"} +{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"} +{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"} +{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"} +{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"} +{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"} diff --git a/fixtures/invalid/manifest-key/package/provenance.json b/fixtures/invalid/manifest-key/package/provenance.json new file mode 100644 index 0000000..08036e4 --- /dev/null +++ b/fixtures/invalid/manifest-key/package/provenance.json @@ -0,0 +1 @@ +{"note":"Built by hand for the conformance suite; every reading is synthetic.","stages":[{"processor":"local","stage":"hand","tool":"manuspec tools/build.py"}],"tools":[{"name":"manuspec tools/build.py","version":"0.1.0"}]} diff --git a/fixtures/invalid/manifest-key/package/receipts.jsonl b/fixtures/invalid/manifest-key/package/receipts.jsonl new file mode 100644 index 0000000..dc3505f --- /dev/null +++ b/fixtures/invalid/manifest-key/package/receipts.jsonl @@ -0,0 +1 @@ +{"at":"2026-10-11T12:00:00Z","by":"ana","doc":"tiny2026example","evidence":[{"kind":"crop","node":"cjkdv61","sha256":"6e12bbc22302e7b635b18df516ad91e1a3ba23cc98e303cffd9f04925ca4e21c"},{"kind":"crop","node":"jss11hp","sha256":"09a6be7a365bc435b545392abd5cd35d3d4cfb1954cb8a72e357c2a349b4c7c9"},{"kind":"crop","node":"k69qp1x","sha256":"e136e117a2cceaff1b8133b8d5c9cf079eb902c8adf0de1585bfe1d040bd39f3"},{"kind":"crop","node":"pd32xxr","sha256":"27b56093c27a4356ff2d21dd0e3d944f9ffef1dcec1e9b536341e5a1e67c9965"},{"kind":"crop","node":"qrvfgfb","sha256":"1b702389a8acd28e0a691a1d12f0cfff18cfdc25338018e9d45e670ec7280a39"},{"kind":"crop","node":"tn1vrf0","sha256":"e80437c7d4dd642527dbffd5f221a0b5d3e4fded4f02d901aafb6a77e782ce2c"},{"kind":"crop","node":"v43b2r1","sha256":"3039d88c2df8d0a934de6818297f9f0e3da8b1ab2a20204d77050543ee82a5a7"},{"kind":"crop","node":"w1dkdqd","sha256":"7650611ebd6f085066b2d9c2556faa33cc1389d7fb9ec762d909d3db588eacbf"},{"kind":"crop","node":"whq15cf","sha256":"7e136414636ea5bffe8958b5cf895fb52defa77050e0e444d45bbb0ecbcd84f5"},{"kind":"witness","sha256":"fda3f1e9bb3538cd85dcc42281e00fd045f726652664439ce5a15d8489425b21"}],"format":"scienting-receipt/1","id":"kmxw2ekgx2ek4","level":"F3","nodes":[["cjkdv61","e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078"],["jss11hp","ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78"],["k69qp1x","413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf"],["pd32xxr","443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab"],["qrvfgfb","a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56"],["tn1vrf0","ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6"],["v43b2r1","f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc"],["w1dkdqd","71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed"],["whq15cf","caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57"]],"rev":0,"root":"c8716a570ed36851723b0a8f4caf35e05adce12314315a40355eb5dbded00cc2","scope":"all","signature":{"key":"ana","scheme":"ed25519","value":"wPOEH5RpoWW9fkNCLWFt6iYfliHMf40SwbQN5kgtGuBBImylXvx1rhFp/jUGJaQj3QjToR/uy8u3a9v3iu5jCA=="}} diff --git a/fixtures/invalid/manifest-key/package/references.jsonl b/fixtures/invalid/manifest-key/package/references.jsonl new file mode 100644 index 0000000..4125be8 --- /dev/null +++ b/fixtures/invalid/manifest-key/package/references.jsonl @@ -0,0 +1 @@ +{"label":"1","node":"w1dkdqd","resolution":{"type":"none"}} diff --git a/fixtures/invalid/manifest-key/package/roster.json b/fixtures/invalid/manifest-key/package/roster.json new file mode 100644 index 0000000..9437521 --- /dev/null +++ b/fixtures/invalid/manifest-key/package/roster.json @@ -0,0 +1 @@ +{"format":"scienting-roster/1","keys":[{"id":"ana","person":{"name":"Ana Example"},"public":"KaptcVSRRjQ1EaRm7sWY+ExKeNtrQ5Xny7G0sOQq1Rc=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"owner","scheme":"ed25519"},{"id":"ben","person":{"name":"Ben Example"},"public":"FTgWcu94E4B07ky4Sd2W6VcMzamQgx8G7v++3Y/jvfY=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"editor","scheme":"ed25519"},{"id":"ben-spot","person":{"name":"Ben Example"},"public":"Z9Kcdd6RARODR/eUTI0yTXQkue0/K6ehrInEtAfGrzI=","purposes":["spot-check"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"editor","scheme":"ed25519"},{"id":"cara","person":{"name":"Cara Example"},"public":"J8HPVPYtxYbKQZLMnlvND2FeGrhHj/RN8fLQ0MeyKCc=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"reader","scheme":"ed25519"}],"store":"smithlab"} diff --git a/fixtures/invalid/manifest-key/package/witnesses.json b/fixtures/invalid/manifest-key/package/witnesses.json new file mode 100644 index 0000000..a7b09bb --- /dev/null +++ b/fixtures/invalid/manifest-key/package/witnesses.json @@ -0,0 +1 @@ +{"witnesses":[{"id":"nmfryke","kind":"pdf","media_type":"application/pdf","origin":{"source":"author"},"pages":1,"rights":{"asserted_by":{"by":"ana","evidence":[{"kind":"statement","note":"The team's own draft."}]},"at":"2026-09-15T12:00:00Z","basis":"own-work","format":"scienting-rights/1","license":{"spdx":"CC-BY-4.0"},"uses":{"accessible-copy":true,"ai":{"external/local":true,"external/outside":true,"external/outside-no-retention":true,"external/tenancy":true,"internal/local":true,"internal/outside":true,"internal/outside-no-retention":true,"internal/tenancy":true},"quote-public":true,"read":true,"redistribute":true,"tdm":true},"valid_until":null},"sha256":"fda3f1e9bb3538cd85dcc42281e00fd045f726652664439ce5a15d8489425b21","size":1000}]} diff --git a/fixtures/invalid/missing-required-file/expect.json b/fixtures/invalid/missing-required-file/expect.json new file mode 100644 index 0000000..8879409 --- /dev/null +++ b/fixtures/invalid/missing-required-file/expect.json @@ -0,0 +1 @@ +{"note":"A required file is missing.","rule":"package.file.required"} diff --git a/fixtures/invalid/missing-required-file/package/MANIFEST.json b/fixtures/invalid/missing-required-file/package/MANIFEST.json new file mode 100644 index 0000000..0e4d4be --- /dev/null +++ b/fixtures/invalid/missing-required-file/package/MANIFEST.json @@ -0,0 +1 @@ +{"doc":"scienting-doc/1","files":[{"path":"document.json","sha256":"20a7d6ba83bf42a87e44f3b3f96bfb16ff545b199d82e54d3c17989e465281df","size":555},{"path":"nodes.jsonl","sha256":"ffeffbf15cc9fe8182a31ef0bac32c1aef8c7a119706ac1e8a55aad218d0622c","size":11295},{"path":"receipts.jsonl","sha256":"e6be2c6ff4d1444e2faf75c8c4d03482ceaf49746ea390592928b2b5e3b22237","size":2180},{"path":"references.jsonl","sha256":"bb5445037c28bf5fde215b4b831c29327dec6dd88259e2d53aabb995f2fdb98f","size":60},{"path":"roster.json","sha256":"7ee0c38fb4fdfc15d4ffa8139a239c23082dc69f8147c5920a39e8361cc7bbeb","size":924},{"path":"witnesses.json","sha256":"83ac4411c2efe65e0f7fc4c9336abbef6977cd32b0f90de029a7f8516afc3e97","size":750}],"format":"scienting-package/1","key":"tiny2026example"} diff --git a/fixtures/invalid/missing-required-file/package/document.json b/fixtures/invalid/missing-required-file/package/document.json new file mode 100644 index 0000000..6512265 --- /dev/null +++ b/fixtures/invalid/missing-required-file/package/document.json @@ -0,0 +1 @@ +{"counts":{"leaves":10,"nodes":22},"fidelity":{"counts":{"F0":0,"F1":0,"F2":1,"F3":9},"lowest":"F2"},"format":"scienting-doc/1","hashing":{"scheme":"plain"},"key":"tiny2026example","kind":"article","language":"en","license":{"spdx":"CC0-1.0"},"meta":{"title":"A tiny example"},"meta_hash":"d0d471264d5e885f91428c8714aa04598b150f07732fef31f310c31fdc91aed6","policy":"full","relations":[],"rev":0,"root":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","version":{"type":"version-of-record"},"work":{"key":"tiny2026example","same_as":[]}} diff --git a/fixtures/invalid/missing-required-file/package/nodes.jsonl b/fixtures/invalid/missing-required-file/package/nodes.jsonl new file mode 100644 index 0000000..88fece2 --- /dev/null +++ b/fixtures/invalid/missing-required-file/package/nodes.jsonl @@ -0,0 +1,22 @@ +{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"} +{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"} +{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"} +{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"} +{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"} +{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"} +{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"} +{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"} +{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"} +{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"} +{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"} +{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"} +{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"} +{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"} +{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"} +{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"} +{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"} +{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"} +{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"} +{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"} +{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"} +{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"} diff --git a/fixtures/invalid/missing-required-file/package/receipts.jsonl b/fixtures/invalid/missing-required-file/package/receipts.jsonl new file mode 100644 index 0000000..dc3505f --- /dev/null +++ b/fixtures/invalid/missing-required-file/package/receipts.jsonl @@ -0,0 +1 @@ +{"at":"2026-10-11T12:00:00Z","by":"ana","doc":"tiny2026example","evidence":[{"kind":"crop","node":"cjkdv61","sha256":"6e12bbc22302e7b635b18df516ad91e1a3ba23cc98e303cffd9f04925ca4e21c"},{"kind":"crop","node":"jss11hp","sha256":"09a6be7a365bc435b545392abd5cd35d3d4cfb1954cb8a72e357c2a349b4c7c9"},{"kind":"crop","node":"k69qp1x","sha256":"e136e117a2cceaff1b8133b8d5c9cf079eb902c8adf0de1585bfe1d040bd39f3"},{"kind":"crop","node":"pd32xxr","sha256":"27b56093c27a4356ff2d21dd0e3d944f9ffef1dcec1e9b536341e5a1e67c9965"},{"kind":"crop","node":"qrvfgfb","sha256":"1b702389a8acd28e0a691a1d12f0cfff18cfdc25338018e9d45e670ec7280a39"},{"kind":"crop","node":"tn1vrf0","sha256":"e80437c7d4dd642527dbffd5f221a0b5d3e4fded4f02d901aafb6a77e782ce2c"},{"kind":"crop","node":"v43b2r1","sha256":"3039d88c2df8d0a934de6818297f9f0e3da8b1ab2a20204d77050543ee82a5a7"},{"kind":"crop","node":"w1dkdqd","sha256":"7650611ebd6f085066b2d9c2556faa33cc1389d7fb9ec762d909d3db588eacbf"},{"kind":"crop","node":"whq15cf","sha256":"7e136414636ea5bffe8958b5cf895fb52defa77050e0e444d45bbb0ecbcd84f5"},{"kind":"witness","sha256":"fda3f1e9bb3538cd85dcc42281e00fd045f726652664439ce5a15d8489425b21"}],"format":"scienting-receipt/1","id":"kmxw2ekgx2ek4","level":"F3","nodes":[["cjkdv61","e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078"],["jss11hp","ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78"],["k69qp1x","413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf"],["pd32xxr","443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab"],["qrvfgfb","a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56"],["tn1vrf0","ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6"],["v43b2r1","f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc"],["w1dkdqd","71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed"],["whq15cf","caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57"]],"rev":0,"root":"c8716a570ed36851723b0a8f4caf35e05adce12314315a40355eb5dbded00cc2","scope":"all","signature":{"key":"ana","scheme":"ed25519","value":"wPOEH5RpoWW9fkNCLWFt6iYfliHMf40SwbQN5kgtGuBBImylXvx1rhFp/jUGJaQj3QjToR/uy8u3a9v3iu5jCA=="}} diff --git a/fixtures/invalid/missing-required-file/package/references.jsonl b/fixtures/invalid/missing-required-file/package/references.jsonl new file mode 100644 index 0000000..4125be8 --- /dev/null +++ b/fixtures/invalid/missing-required-file/package/references.jsonl @@ -0,0 +1 @@ +{"label":"1","node":"w1dkdqd","resolution":{"type":"none"}} diff --git a/fixtures/invalid/missing-required-file/package/roster.json b/fixtures/invalid/missing-required-file/package/roster.json new file mode 100644 index 0000000..9437521 --- /dev/null +++ b/fixtures/invalid/missing-required-file/package/roster.json @@ -0,0 +1 @@ +{"format":"scienting-roster/1","keys":[{"id":"ana","person":{"name":"Ana Example"},"public":"KaptcVSRRjQ1EaRm7sWY+ExKeNtrQ5Xny7G0sOQq1Rc=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"owner","scheme":"ed25519"},{"id":"ben","person":{"name":"Ben Example"},"public":"FTgWcu94E4B07ky4Sd2W6VcMzamQgx8G7v++3Y/jvfY=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"editor","scheme":"ed25519"},{"id":"ben-spot","person":{"name":"Ben Example"},"public":"Z9Kcdd6RARODR/eUTI0yTXQkue0/K6ehrInEtAfGrzI=","purposes":["spot-check"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"editor","scheme":"ed25519"},{"id":"cara","person":{"name":"Cara Example"},"public":"J8HPVPYtxYbKQZLMnlvND2FeGrhHj/RN8fLQ0MeyKCc=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"reader","scheme":"ed25519"}],"store":"smithlab"} diff --git a/fixtures/invalid/missing-required-file/package/witnesses.json b/fixtures/invalid/missing-required-file/package/witnesses.json new file mode 100644 index 0000000..a7b09bb --- /dev/null +++ b/fixtures/invalid/missing-required-file/package/witnesses.json @@ -0,0 +1 @@ +{"witnesses":[{"id":"nmfryke","kind":"pdf","media_type":"application/pdf","origin":{"source":"author"},"pages":1,"rights":{"asserted_by":{"by":"ana","evidence":[{"kind":"statement","note":"The team's own draft."}]},"at":"2026-09-15T12:00:00Z","basis":"own-work","format":"scienting-rights/1","license":{"spdx":"CC-BY-4.0"},"uses":{"accessible-copy":true,"ai":{"external/local":true,"external/outside":true,"external/outside-no-retention":true,"external/tenancy":true,"internal/local":true,"internal/outside":true,"internal/outside-no-retention":true,"internal/tenancy":true},"quote-public":true,"read":true,"redistribute":true,"tdm":true},"valid_until":null},"sha256":"fda3f1e9bb3538cd85dcc42281e00fd045f726652664439ce5a15d8489425b21","size":1000}]} diff --git a/fixtures/invalid/receipt-unsorted-nodes/expect.json b/fixtures/invalid/receipt-unsorted-nodes/expect.json new file mode 100644 index 0000000..488b6c5 --- /dev/null +++ b/fixtures/invalid/receipt-unsorted-nodes/expect.json @@ -0,0 +1 @@ +{"note":"A receipt whose nodes are not sorted by ID.","rule":"doc.receipt.nodes"} diff --git a/fixtures/invalid/receipt-unsorted-nodes/package/MANIFEST.json b/fixtures/invalid/receipt-unsorted-nodes/package/MANIFEST.json new file mode 100644 index 0000000..52c7bd8 --- /dev/null +++ b/fixtures/invalid/receipt-unsorted-nodes/package/MANIFEST.json @@ -0,0 +1 @@ +{"doc":"scienting-doc/1","files":[{"path":"document.json","sha256":"20a7d6ba83bf42a87e44f3b3f96bfb16ff545b199d82e54d3c17989e465281df","size":555},{"path":"nodes.jsonl","sha256":"ffeffbf15cc9fe8182a31ef0bac32c1aef8c7a119706ac1e8a55aad218d0622c","size":11295},{"path":"provenance.json","sha256":"b1af404b3a07d4b102f0a45237285315dc1ff60f243636c22aef3e1c20b46912","size":224},{"path":"receipts.jsonl","sha256":"827f5be5faf37fa31727142fd1f6c72bb2137ba26f25765a3f3817cf0dd1a77f","size":2180},{"path":"references.jsonl","sha256":"bb5445037c28bf5fde215b4b831c29327dec6dd88259e2d53aabb995f2fdb98f","size":60},{"path":"roster.json","sha256":"7ee0c38fb4fdfc15d4ffa8139a239c23082dc69f8147c5920a39e8361cc7bbeb","size":924},{"path":"witnesses.json","sha256":"83ac4411c2efe65e0f7fc4c9336abbef6977cd32b0f90de029a7f8516afc3e97","size":750}],"format":"scienting-package/1","key":"tiny2026example"} diff --git a/fixtures/invalid/receipt-unsorted-nodes/package/document.json b/fixtures/invalid/receipt-unsorted-nodes/package/document.json new file mode 100644 index 0000000..6512265 --- /dev/null +++ b/fixtures/invalid/receipt-unsorted-nodes/package/document.json @@ -0,0 +1 @@ +{"counts":{"leaves":10,"nodes":22},"fidelity":{"counts":{"F0":0,"F1":0,"F2":1,"F3":9},"lowest":"F2"},"format":"scienting-doc/1","hashing":{"scheme":"plain"},"key":"tiny2026example","kind":"article","language":"en","license":{"spdx":"CC0-1.0"},"meta":{"title":"A tiny example"},"meta_hash":"d0d471264d5e885f91428c8714aa04598b150f07732fef31f310c31fdc91aed6","policy":"full","relations":[],"rev":0,"root":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","version":{"type":"version-of-record"},"work":{"key":"tiny2026example","same_as":[]}} diff --git a/fixtures/invalid/receipt-unsorted-nodes/package/nodes.jsonl b/fixtures/invalid/receipt-unsorted-nodes/package/nodes.jsonl new file mode 100644 index 0000000..88fece2 --- /dev/null +++ b/fixtures/invalid/receipt-unsorted-nodes/package/nodes.jsonl @@ -0,0 +1,22 @@ +{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"} +{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"} +{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"} +{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"} +{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"} +{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"} +{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"} +{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"} +{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"} +{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"} +{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"} +{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"} +{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"} +{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"} +{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"} +{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"} +{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"} +{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"} +{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"} +{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"} +{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"} +{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"} diff --git a/fixtures/invalid/receipt-unsorted-nodes/package/provenance.json b/fixtures/invalid/receipt-unsorted-nodes/package/provenance.json new file mode 100644 index 0000000..08036e4 --- /dev/null +++ b/fixtures/invalid/receipt-unsorted-nodes/package/provenance.json @@ -0,0 +1 @@ +{"note":"Built by hand for the conformance suite; every reading is synthetic.","stages":[{"processor":"local","stage":"hand","tool":"manuspec tools/build.py"}],"tools":[{"name":"manuspec tools/build.py","version":"0.1.0"}]} diff --git a/fixtures/invalid/receipt-unsorted-nodes/package/receipts.jsonl b/fixtures/invalid/receipt-unsorted-nodes/package/receipts.jsonl new file mode 100644 index 0000000..3fc71ed --- /dev/null +++ b/fixtures/invalid/receipt-unsorted-nodes/package/receipts.jsonl @@ -0,0 +1 @@ +{"at":"2026-10-11T12:00:00Z","by":"ana","doc":"tiny2026example","evidence":[{"kind":"crop","node":"cjkdv61","sha256":"6e12bbc22302e7b635b18df516ad91e1a3ba23cc98e303cffd9f04925ca4e21c"},{"kind":"crop","node":"jss11hp","sha256":"09a6be7a365bc435b545392abd5cd35d3d4cfb1954cb8a72e357c2a349b4c7c9"},{"kind":"crop","node":"k69qp1x","sha256":"e136e117a2cceaff1b8133b8d5c9cf079eb902c8adf0de1585bfe1d040bd39f3"},{"kind":"crop","node":"pd32xxr","sha256":"27b56093c27a4356ff2d21dd0e3d944f9ffef1dcec1e9b536341e5a1e67c9965"},{"kind":"crop","node":"qrvfgfb","sha256":"1b702389a8acd28e0a691a1d12f0cfff18cfdc25338018e9d45e670ec7280a39"},{"kind":"crop","node":"tn1vrf0","sha256":"e80437c7d4dd642527dbffd5f221a0b5d3e4fded4f02d901aafb6a77e782ce2c"},{"kind":"crop","node":"v43b2r1","sha256":"3039d88c2df8d0a934de6818297f9f0e3da8b1ab2a20204d77050543ee82a5a7"},{"kind":"crop","node":"w1dkdqd","sha256":"7650611ebd6f085066b2d9c2556faa33cc1389d7fb9ec762d909d3db588eacbf"},{"kind":"crop","node":"whq15cf","sha256":"7e136414636ea5bffe8958b5cf895fb52defa77050e0e444d45bbb0ecbcd84f5"},{"kind":"witness","sha256":"fda3f1e9bb3538cd85dcc42281e00fd045f726652664439ce5a15d8489425b21"}],"format":"scienting-receipt/1","id":"kmxw2ekgx2ek4","level":"F3","nodes":[["whq15cf","caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57"],["w1dkdqd","71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed"],["v43b2r1","f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc"],["tn1vrf0","ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6"],["qrvfgfb","a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56"],["pd32xxr","443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab"],["k69qp1x","413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf"],["jss11hp","ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78"],["cjkdv61","e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078"]],"rev":0,"root":"c8716a570ed36851723b0a8f4caf35e05adce12314315a40355eb5dbded00cc2","scope":"all","signature":{"key":"ana","scheme":"ed25519","value":"wPOEH5RpoWW9fkNCLWFt6iYfliHMf40SwbQN5kgtGuBBImylXvx1rhFp/jUGJaQj3QjToR/uy8u3a9v3iu5jCA=="}} diff --git a/fixtures/invalid/receipt-unsorted-nodes/package/references.jsonl b/fixtures/invalid/receipt-unsorted-nodes/package/references.jsonl new file mode 100644 index 0000000..4125be8 --- /dev/null +++ b/fixtures/invalid/receipt-unsorted-nodes/package/references.jsonl @@ -0,0 +1 @@ +{"label":"1","node":"w1dkdqd","resolution":{"type":"none"}} diff --git a/fixtures/invalid/receipt-unsorted-nodes/package/roster.json b/fixtures/invalid/receipt-unsorted-nodes/package/roster.json new file mode 100644 index 0000000..9437521 --- /dev/null +++ b/fixtures/invalid/receipt-unsorted-nodes/package/roster.json @@ -0,0 +1 @@ +{"format":"scienting-roster/1","keys":[{"id":"ana","person":{"name":"Ana Example"},"public":"KaptcVSRRjQ1EaRm7sWY+ExKeNtrQ5Xny7G0sOQq1Rc=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"owner","scheme":"ed25519"},{"id":"ben","person":{"name":"Ben Example"},"public":"FTgWcu94E4B07ky4Sd2W6VcMzamQgx8G7v++3Y/jvfY=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"editor","scheme":"ed25519"},{"id":"ben-spot","person":{"name":"Ben Example"},"public":"Z9Kcdd6RARODR/eUTI0yTXQkue0/K6ehrInEtAfGrzI=","purposes":["spot-check"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"editor","scheme":"ed25519"},{"id":"cara","person":{"name":"Cara Example"},"public":"J8HPVPYtxYbKQZLMnlvND2FeGrhHj/RN8fLQ0MeyKCc=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"reader","scheme":"ed25519"}],"store":"smithlab"} diff --git a/fixtures/invalid/receipt-unsorted-nodes/package/witnesses.json b/fixtures/invalid/receipt-unsorted-nodes/package/witnesses.json new file mode 100644 index 0000000..a7b09bb --- /dev/null +++ b/fixtures/invalid/receipt-unsorted-nodes/package/witnesses.json @@ -0,0 +1 @@ +{"witnesses":[{"id":"nmfryke","kind":"pdf","media_type":"application/pdf","origin":{"source":"author"},"pages":1,"rights":{"asserted_by":{"by":"ana","evidence":[{"kind":"statement","note":"The team's own draft."}]},"at":"2026-09-15T12:00:00Z","basis":"own-work","format":"scienting-rights/1","license":{"spdx":"CC-BY-4.0"},"uses":{"accessible-copy":true,"ai":{"external/local":true,"external/outside":true,"external/outside-no-retention":true,"external/tenancy":true,"internal/local":true,"internal/outside":true,"internal/outside-no-retention":true,"internal/tenancy":true},"quote-public":true,"read":true,"redistribute":true,"tdm":true},"valid_until":null},"sha256":"fda3f1e9bb3538cd85dcc42281e00fd045f726652664439ce5a15d8489425b21","size":1000}]} diff --git a/fixtures/invalid/retired-live/expect.json b/fixtures/invalid/retired-live/expect.json new file mode 100644 index 0000000..be84d2d --- /dev/null +++ b/fixtures/invalid/retired-live/expect.json @@ -0,0 +1 @@ +{"note":"An ID that is both live and retired.","rule":"doc.id.retired-live"} diff --git a/fixtures/invalid/retired-live/package/MANIFEST.json b/fixtures/invalid/retired-live/package/MANIFEST.json new file mode 100644 index 0000000..ed07b08 --- /dev/null +++ b/fixtures/invalid/retired-live/package/MANIFEST.json @@ -0,0 +1 @@ +{"doc":"scienting-doc/1","files":[{"path":"document.json","sha256":"20a7d6ba83bf42a87e44f3b3f96bfb16ff545b199d82e54d3c17989e465281df","size":555},{"path":"ids.jsonl","sha256":"3015a6bc9fc6666c07bdc8a7b285ebb031677d2356bfe02c13d6801f9cf7a1f1","size":82},{"path":"nodes.jsonl","sha256":"ffeffbf15cc9fe8182a31ef0bac32c1aef8c7a119706ac1e8a55aad218d0622c","size":11295},{"path":"provenance.json","sha256":"b1af404b3a07d4b102f0a45237285315dc1ff60f243636c22aef3e1c20b46912","size":224},{"path":"receipts.jsonl","sha256":"e6be2c6ff4d1444e2faf75c8c4d03482ceaf49746ea390592928b2b5e3b22237","size":2180},{"path":"references.jsonl","sha256":"bb5445037c28bf5fde215b4b831c29327dec6dd88259e2d53aabb995f2fdb98f","size":60},{"path":"roster.json","sha256":"7ee0c38fb4fdfc15d4ffa8139a239c23082dc69f8147c5920a39e8361cc7bbeb","size":924},{"path":"witnesses.json","sha256":"83ac4411c2efe65e0f7fc4c9336abbef6977cd32b0f90de029a7f8516afc3e97","size":750}],"format":"scienting-package/1","key":"tiny2026example"} diff --git a/fixtures/invalid/retired-live/package/document.json b/fixtures/invalid/retired-live/package/document.json new file mode 100644 index 0000000..6512265 --- /dev/null +++ b/fixtures/invalid/retired-live/package/document.json @@ -0,0 +1 @@ +{"counts":{"leaves":10,"nodes":22},"fidelity":{"counts":{"F0":0,"F1":0,"F2":1,"F3":9},"lowest":"F2"},"format":"scienting-doc/1","hashing":{"scheme":"plain"},"key":"tiny2026example","kind":"article","language":"en","license":{"spdx":"CC0-1.0"},"meta":{"title":"A tiny example"},"meta_hash":"d0d471264d5e885f91428c8714aa04598b150f07732fef31f310c31fdc91aed6","policy":"full","relations":[],"rev":0,"root":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","version":{"type":"version-of-record"},"work":{"key":"tiny2026example","same_as":[]}} diff --git a/fixtures/invalid/retired-live/package/ids.jsonl b/fixtures/invalid/retired-live/package/ids.jsonl new file mode 100644 index 0000000..d27f2c4 --- /dev/null +++ b/fixtures/invalid/retired-live/package/ids.jsonl @@ -0,0 +1 @@ +{"id":"v43b2r1","kind":"retired","node_kind":"sentence","rev":1,"successor":null} diff --git a/fixtures/invalid/retired-live/package/nodes.jsonl b/fixtures/invalid/retired-live/package/nodes.jsonl new file mode 100644 index 0000000..88fece2 --- /dev/null +++ b/fixtures/invalid/retired-live/package/nodes.jsonl @@ -0,0 +1,22 @@ +{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"} +{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"} +{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"} +{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"} +{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"} +{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"} +{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"} +{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"} +{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"} +{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"} +{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"} +{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"} +{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"} +{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"} +{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"} +{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"} +{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"} +{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"} +{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"} +{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"} +{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"} +{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"} diff --git a/fixtures/invalid/retired-live/package/provenance.json b/fixtures/invalid/retired-live/package/provenance.json new file mode 100644 index 0000000..08036e4 --- /dev/null +++ b/fixtures/invalid/retired-live/package/provenance.json @@ -0,0 +1 @@ +{"note":"Built by hand for the conformance suite; every reading is synthetic.","stages":[{"processor":"local","stage":"hand","tool":"manuspec tools/build.py"}],"tools":[{"name":"manuspec tools/build.py","version":"0.1.0"}]} diff --git a/fixtures/invalid/retired-live/package/receipts.jsonl b/fixtures/invalid/retired-live/package/receipts.jsonl new file mode 100644 index 0000000..dc3505f --- /dev/null +++ b/fixtures/invalid/retired-live/package/receipts.jsonl @@ -0,0 +1 @@ +{"at":"2026-10-11T12:00:00Z","by":"ana","doc":"tiny2026example","evidence":[{"kind":"crop","node":"cjkdv61","sha256":"6e12bbc22302e7b635b18df516ad91e1a3ba23cc98e303cffd9f04925ca4e21c"},{"kind":"crop","node":"jss11hp","sha256":"09a6be7a365bc435b545392abd5cd35d3d4cfb1954cb8a72e357c2a349b4c7c9"},{"kind":"crop","node":"k69qp1x","sha256":"e136e117a2cceaff1b8133b8d5c9cf079eb902c8adf0de1585bfe1d040bd39f3"},{"kind":"crop","node":"pd32xxr","sha256":"27b56093c27a4356ff2d21dd0e3d944f9ffef1dcec1e9b536341e5a1e67c9965"},{"kind":"crop","node":"qrvfgfb","sha256":"1b702389a8acd28e0a691a1d12f0cfff18cfdc25338018e9d45e670ec7280a39"},{"kind":"crop","node":"tn1vrf0","sha256":"e80437c7d4dd642527dbffd5f221a0b5d3e4fded4f02d901aafb6a77e782ce2c"},{"kind":"crop","node":"v43b2r1","sha256":"3039d88c2df8d0a934de6818297f9f0e3da8b1ab2a20204d77050543ee82a5a7"},{"kind":"crop","node":"w1dkdqd","sha256":"7650611ebd6f085066b2d9c2556faa33cc1389d7fb9ec762d909d3db588eacbf"},{"kind":"crop","node":"whq15cf","sha256":"7e136414636ea5bffe8958b5cf895fb52defa77050e0e444d45bbb0ecbcd84f5"},{"kind":"witness","sha256":"fda3f1e9bb3538cd85dcc42281e00fd045f726652664439ce5a15d8489425b21"}],"format":"scienting-receipt/1","id":"kmxw2ekgx2ek4","level":"F3","nodes":[["cjkdv61","e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078"],["jss11hp","ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78"],["k69qp1x","413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf"],["pd32xxr","443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab"],["qrvfgfb","a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56"],["tn1vrf0","ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6"],["v43b2r1","f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc"],["w1dkdqd","71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed"],["whq15cf","caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57"]],"rev":0,"root":"c8716a570ed36851723b0a8f4caf35e05adce12314315a40355eb5dbded00cc2","scope":"all","signature":{"key":"ana","scheme":"ed25519","value":"wPOEH5RpoWW9fkNCLWFt6iYfliHMf40SwbQN5kgtGuBBImylXvx1rhFp/jUGJaQj3QjToR/uy8u3a9v3iu5jCA=="}} diff --git a/fixtures/invalid/retired-live/package/references.jsonl b/fixtures/invalid/retired-live/package/references.jsonl new file mode 100644 index 0000000..4125be8 --- /dev/null +++ b/fixtures/invalid/retired-live/package/references.jsonl @@ -0,0 +1 @@ +{"label":"1","node":"w1dkdqd","resolution":{"type":"none"}} diff --git a/fixtures/invalid/retired-live/package/roster.json b/fixtures/invalid/retired-live/package/roster.json new file mode 100644 index 0000000..9437521 --- /dev/null +++ b/fixtures/invalid/retired-live/package/roster.json @@ -0,0 +1 @@ +{"format":"scienting-roster/1","keys":[{"id":"ana","person":{"name":"Ana Example"},"public":"KaptcVSRRjQ1EaRm7sWY+ExKeNtrQ5Xny7G0sOQq1Rc=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"owner","scheme":"ed25519"},{"id":"ben","person":{"name":"Ben Example"},"public":"FTgWcu94E4B07ky4Sd2W6VcMzamQgx8G7v++3Y/jvfY=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"editor","scheme":"ed25519"},{"id":"ben-spot","person":{"name":"Ben Example"},"public":"Z9Kcdd6RARODR/eUTI0yTXQkue0/K6ehrInEtAfGrzI=","purposes":["spot-check"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"editor","scheme":"ed25519"},{"id":"cara","person":{"name":"Cara Example"},"public":"J8HPVPYtxYbKQZLMnlvND2FeGrhHj/RN8fLQ0MeyKCc=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"reader","scheme":"ed25519"}],"store":"smithlab"} diff --git a/fixtures/invalid/retired-live/package/witnesses.json b/fixtures/invalid/retired-live/package/witnesses.json new file mode 100644 index 0000000..a7b09bb --- /dev/null +++ b/fixtures/invalid/retired-live/package/witnesses.json @@ -0,0 +1 @@ +{"witnesses":[{"id":"nmfryke","kind":"pdf","media_type":"application/pdf","origin":{"source":"author"},"pages":1,"rights":{"asserted_by":{"by":"ana","evidence":[{"kind":"statement","note":"The team's own draft."}]},"at":"2026-09-15T12:00:00Z","basis":"own-work","format":"scienting-rights/1","license":{"spdx":"CC-BY-4.0"},"uses":{"accessible-copy":true,"ai":{"external/local":true,"external/outside":true,"external/outside-no-retention":true,"external/tenancy":true,"internal/local":true,"internal/outside":true,"internal/outside-no-retention":true,"internal/tenancy":true},"quote-public":true,"read":true,"redistribute":true,"tdm":true},"valid_until":null},"sha256":"fda3f1e9bb3538cd85dcc42281e00fd045f726652664439ce5a15d8489425b21","size":1000}]} diff --git a/fixtures/invalid/rev-without-corrections/expect.json b/fixtures/invalid/rev-without-corrections/expect.json new file mode 100644 index 0000000..3f1d840 --- /dev/null +++ b/fixtures/invalid/rev-without-corrections/expect.json @@ -0,0 +1 @@ +{"note":"document.json's rev is not the number of corrections.","rule":"doc.correction.rev"} diff --git a/fixtures/invalid/rev-without-corrections/package/MANIFEST.json b/fixtures/invalid/rev-without-corrections/package/MANIFEST.json new file mode 100644 index 0000000..98a04f1 --- /dev/null +++ b/fixtures/invalid/rev-without-corrections/package/MANIFEST.json @@ -0,0 +1 @@ +{"doc":"scienting-doc/1","files":[{"path":"document.json","sha256":"69312273e492fce15bcd575865ad2d2ef123f28a2deed4e061954ee8ed908411","size":555},{"path":"nodes.jsonl","sha256":"ffeffbf15cc9fe8182a31ef0bac32c1aef8c7a119706ac1e8a55aad218d0622c","size":11295},{"path":"provenance.json","sha256":"b1af404b3a07d4b102f0a45237285315dc1ff60f243636c22aef3e1c20b46912","size":224},{"path":"receipts.jsonl","sha256":"e6be2c6ff4d1444e2faf75c8c4d03482ceaf49746ea390592928b2b5e3b22237","size":2180},{"path":"references.jsonl","sha256":"bb5445037c28bf5fde215b4b831c29327dec6dd88259e2d53aabb995f2fdb98f","size":60},{"path":"roster.json","sha256":"7ee0c38fb4fdfc15d4ffa8139a239c23082dc69f8147c5920a39e8361cc7bbeb","size":924},{"path":"witnesses.json","sha256":"83ac4411c2efe65e0f7fc4c9336abbef6977cd32b0f90de029a7f8516afc3e97","size":750}],"format":"scienting-package/1","key":"tiny2026example"} diff --git a/fixtures/invalid/rev-without-corrections/package/document.json b/fixtures/invalid/rev-without-corrections/package/document.json new file mode 100644 index 0000000..a13534d --- /dev/null +++ b/fixtures/invalid/rev-without-corrections/package/document.json @@ -0,0 +1 @@ +{"counts":{"leaves":10,"nodes":22},"fidelity":{"counts":{"F0":0,"F1":0,"F2":1,"F3":9},"lowest":"F2"},"format":"scienting-doc/1","hashing":{"scheme":"plain"},"key":"tiny2026example","kind":"article","language":"en","license":{"spdx":"CC0-1.0"},"meta":{"title":"A tiny example"},"meta_hash":"d0d471264d5e885f91428c8714aa04598b150f07732fef31f310c31fdc91aed6","policy":"full","relations":[],"rev":3,"root":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","version":{"type":"version-of-record"},"work":{"key":"tiny2026example","same_as":[]}} diff --git a/fixtures/invalid/rev-without-corrections/package/nodes.jsonl b/fixtures/invalid/rev-without-corrections/package/nodes.jsonl new file mode 100644 index 0000000..88fece2 --- /dev/null +++ b/fixtures/invalid/rev-without-corrections/package/nodes.jsonl @@ -0,0 +1,22 @@ +{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"} +{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"} +{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"} +{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"} +{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"} +{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"} +{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"} +{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"} +{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"} +{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"} +{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"} +{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"} +{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"} +{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"} +{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"} +{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"} +{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"} +{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"} +{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"} +{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"} +{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"} +{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"} diff --git a/fixtures/invalid/rev-without-corrections/package/provenance.json b/fixtures/invalid/rev-without-corrections/package/provenance.json new file mode 100644 index 0000000..08036e4 --- /dev/null +++ b/fixtures/invalid/rev-without-corrections/package/provenance.json @@ -0,0 +1 @@ +{"note":"Built by hand for the conformance suite; every reading is synthetic.","stages":[{"processor":"local","stage":"hand","tool":"manuspec tools/build.py"}],"tools":[{"name":"manuspec tools/build.py","version":"0.1.0"}]} diff --git a/fixtures/invalid/rev-without-corrections/package/receipts.jsonl b/fixtures/invalid/rev-without-corrections/package/receipts.jsonl new file mode 100644 index 0000000..dc3505f --- /dev/null +++ b/fixtures/invalid/rev-without-corrections/package/receipts.jsonl @@ -0,0 +1 @@ +{"at":"2026-10-11T12:00:00Z","by":"ana","doc":"tiny2026example","evidence":[{"kind":"crop","node":"cjkdv61","sha256":"6e12bbc22302e7b635b18df516ad91e1a3ba23cc98e303cffd9f04925ca4e21c"},{"kind":"crop","node":"jss11hp","sha256":"09a6be7a365bc435b545392abd5cd35d3d4cfb1954cb8a72e357c2a349b4c7c9"},{"kind":"crop","node":"k69qp1x","sha256":"e136e117a2cceaff1b8133b8d5c9cf079eb902c8adf0de1585bfe1d040bd39f3"},{"kind":"crop","node":"pd32xxr","sha256":"27b56093c27a4356ff2d21dd0e3d944f9ffef1dcec1e9b536341e5a1e67c9965"},{"kind":"crop","node":"qrvfgfb","sha256":"1b702389a8acd28e0a691a1d12f0cfff18cfdc25338018e9d45e670ec7280a39"},{"kind":"crop","node":"tn1vrf0","sha256":"e80437c7d4dd642527dbffd5f221a0b5d3e4fded4f02d901aafb6a77e782ce2c"},{"kind":"crop","node":"v43b2r1","sha256":"3039d88c2df8d0a934de6818297f9f0e3da8b1ab2a20204d77050543ee82a5a7"},{"kind":"crop","node":"w1dkdqd","sha256":"7650611ebd6f085066b2d9c2556faa33cc1389d7fb9ec762d909d3db588eacbf"},{"kind":"crop","node":"whq15cf","sha256":"7e136414636ea5bffe8958b5cf895fb52defa77050e0e444d45bbb0ecbcd84f5"},{"kind":"witness","sha256":"fda3f1e9bb3538cd85dcc42281e00fd045f726652664439ce5a15d8489425b21"}],"format":"scienting-receipt/1","id":"kmxw2ekgx2ek4","level":"F3","nodes":[["cjkdv61","e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078"],["jss11hp","ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78"],["k69qp1x","413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf"],["pd32xxr","443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab"],["qrvfgfb","a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56"],["tn1vrf0","ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6"],["v43b2r1","f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc"],["w1dkdqd","71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed"],["whq15cf","caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57"]],"rev":0,"root":"c8716a570ed36851723b0a8f4caf35e05adce12314315a40355eb5dbded00cc2","scope":"all","signature":{"key":"ana","scheme":"ed25519","value":"wPOEH5RpoWW9fkNCLWFt6iYfliHMf40SwbQN5kgtGuBBImylXvx1rhFp/jUGJaQj3QjToR/uy8u3a9v3iu5jCA=="}} diff --git a/fixtures/invalid/rev-without-corrections/package/references.jsonl b/fixtures/invalid/rev-without-corrections/package/references.jsonl new file mode 100644 index 0000000..4125be8 --- /dev/null +++ b/fixtures/invalid/rev-without-corrections/package/references.jsonl @@ -0,0 +1 @@ +{"label":"1","node":"w1dkdqd","resolution":{"type":"none"}} diff --git a/fixtures/invalid/rev-without-corrections/package/roster.json b/fixtures/invalid/rev-without-corrections/package/roster.json new file mode 100644 index 0000000..9437521 --- /dev/null +++ b/fixtures/invalid/rev-without-corrections/package/roster.json @@ -0,0 +1 @@ +{"format":"scienting-roster/1","keys":[{"id":"ana","person":{"name":"Ana Example"},"public":"KaptcVSRRjQ1EaRm7sWY+ExKeNtrQ5Xny7G0sOQq1Rc=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"owner","scheme":"ed25519"},{"id":"ben","person":{"name":"Ben Example"},"public":"FTgWcu94E4B07ky4Sd2W6VcMzamQgx8G7v++3Y/jvfY=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"editor","scheme":"ed25519"},{"id":"ben-spot","person":{"name":"Ben Example"},"public":"Z9Kcdd6RARODR/eUTI0yTXQkue0/K6ehrInEtAfGrzI=","purposes":["spot-check"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"editor","scheme":"ed25519"},{"id":"cara","person":{"name":"Cara Example"},"public":"J8HPVPYtxYbKQZLMnlvND2FeGrhHj/RN8fLQ0MeyKCc=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"reader","scheme":"ed25519"}],"store":"smithlab"} diff --git a/fixtures/invalid/rev-without-corrections/package/witnesses.json b/fixtures/invalid/rev-without-corrections/package/witnesses.json new file mode 100644 index 0000000..a7b09bb --- /dev/null +++ b/fixtures/invalid/rev-without-corrections/package/witnesses.json @@ -0,0 +1 @@ +{"witnesses":[{"id":"nmfryke","kind":"pdf","media_type":"application/pdf","origin":{"source":"author"},"pages":1,"rights":{"asserted_by":{"by":"ana","evidence":[{"kind":"statement","note":"The team's own draft."}]},"at":"2026-09-15T12:00:00Z","basis":"own-work","format":"scienting-rights/1","license":{"spdx":"CC-BY-4.0"},"uses":{"accessible-copy":true,"ai":{"external/local":true,"external/outside":true,"external/outside-no-retention":true,"external/tenancy":true,"internal/local":true,"internal/outside":true,"internal/outside-no-retention":true,"internal/tenancy":true},"quote-public":true,"read":true,"redistribute":true,"tdm":true},"valid_until":null},"sha256":"fda3f1e9bb3538cd85dcc42281e00fd045f726652664439ce5a15d8489425b21","size":1000}]} diff --git a/fixtures/invalid/signer-mismatch/expect.json b/fixtures/invalid/signer-mismatch/expect.json new file mode 100644 index 0000000..6b544ad --- /dev/null +++ b/fixtures/invalid/signer-mismatch/expect.json @@ -0,0 +1 @@ +{"note":"A receipt whose signature was made with another key than the signer it names.","rule":"doc.receipt.signature"} diff --git a/fixtures/invalid/signer-mismatch/package/MANIFEST.json b/fixtures/invalid/signer-mismatch/package/MANIFEST.json new file mode 100644 index 0000000..7bf1e07 --- /dev/null +++ b/fixtures/invalid/signer-mismatch/package/MANIFEST.json @@ -0,0 +1 @@ +{"doc":"scienting-doc/1","files":[{"path":"document.json","sha256":"20a7d6ba83bf42a87e44f3b3f96bfb16ff545b199d82e54d3c17989e465281df","size":555},{"path":"nodes.jsonl","sha256":"ffeffbf15cc9fe8182a31ef0bac32c1aef8c7a119706ac1e8a55aad218d0622c","size":11295},{"path":"provenance.json","sha256":"b1af404b3a07d4b102f0a45237285315dc1ff60f243636c22aef3e1c20b46912","size":224},{"path":"receipts.jsonl","sha256":"0ba2a4673f17558bc096103ded76a773adb4b08eeb7d14aa621204619eb748d7","size":2181},{"path":"references.jsonl","sha256":"bb5445037c28bf5fde215b4b831c29327dec6dd88259e2d53aabb995f2fdb98f","size":60},{"path":"roster.json","sha256":"7ee0c38fb4fdfc15d4ffa8139a239c23082dc69f8147c5920a39e8361cc7bbeb","size":924},{"path":"witnesses.json","sha256":"83ac4411c2efe65e0f7fc4c9336abbef6977cd32b0f90de029a7f8516afc3e97","size":750}],"format":"scienting-package/1","key":"tiny2026example"} diff --git a/fixtures/invalid/signer-mismatch/package/document.json b/fixtures/invalid/signer-mismatch/package/document.json new file mode 100644 index 0000000..6512265 --- /dev/null +++ b/fixtures/invalid/signer-mismatch/package/document.json @@ -0,0 +1 @@ +{"counts":{"leaves":10,"nodes":22},"fidelity":{"counts":{"F0":0,"F1":0,"F2":1,"F3":9},"lowest":"F2"},"format":"scienting-doc/1","hashing":{"scheme":"plain"},"key":"tiny2026example","kind":"article","language":"en","license":{"spdx":"CC0-1.0"},"meta":{"title":"A tiny example"},"meta_hash":"d0d471264d5e885f91428c8714aa04598b150f07732fef31f310c31fdc91aed6","policy":"full","relations":[],"rev":0,"root":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","version":{"type":"version-of-record"},"work":{"key":"tiny2026example","same_as":[]}} diff --git a/fixtures/invalid/signer-mismatch/package/nodes.jsonl b/fixtures/invalid/signer-mismatch/package/nodes.jsonl new file mode 100644 index 0000000..88fece2 --- /dev/null +++ b/fixtures/invalid/signer-mismatch/package/nodes.jsonl @@ -0,0 +1,22 @@ +{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"} +{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"} +{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"} +{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"} +{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"} +{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"} +{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"} +{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"} +{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"} +{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"} +{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"} +{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"} +{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"} +{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"} +{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"} +{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"} +{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"} +{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"} +{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"} +{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"} +{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"} +{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"} diff --git a/fixtures/invalid/signer-mismatch/package/provenance.json b/fixtures/invalid/signer-mismatch/package/provenance.json new file mode 100644 index 0000000..08036e4 --- /dev/null +++ b/fixtures/invalid/signer-mismatch/package/provenance.json @@ -0,0 +1 @@ +{"note":"Built by hand for the conformance suite; every reading is synthetic.","stages":[{"processor":"local","stage":"hand","tool":"manuspec tools/build.py"}],"tools":[{"name":"manuspec tools/build.py","version":"0.1.0"}]} diff --git a/fixtures/invalid/signer-mismatch/package/receipts.jsonl b/fixtures/invalid/signer-mismatch/package/receipts.jsonl new file mode 100644 index 0000000..4a876eb --- /dev/null +++ b/fixtures/invalid/signer-mismatch/package/receipts.jsonl @@ -0,0 +1 @@ +{"at":"2026-10-11T12:00:00Z","by":"cara","doc":"tiny2026example","evidence":[{"kind":"crop","node":"cjkdv61","sha256":"6e12bbc22302e7b635b18df516ad91e1a3ba23cc98e303cffd9f04925ca4e21c"},{"kind":"crop","node":"jss11hp","sha256":"09a6be7a365bc435b545392abd5cd35d3d4cfb1954cb8a72e357c2a349b4c7c9"},{"kind":"crop","node":"k69qp1x","sha256":"e136e117a2cceaff1b8133b8d5c9cf079eb902c8adf0de1585bfe1d040bd39f3"},{"kind":"crop","node":"pd32xxr","sha256":"27b56093c27a4356ff2d21dd0e3d944f9ffef1dcec1e9b536341e5a1e67c9965"},{"kind":"crop","node":"qrvfgfb","sha256":"1b702389a8acd28e0a691a1d12f0cfff18cfdc25338018e9d45e670ec7280a39"},{"kind":"crop","node":"tn1vrf0","sha256":"e80437c7d4dd642527dbffd5f221a0b5d3e4fded4f02d901aafb6a77e782ce2c"},{"kind":"crop","node":"v43b2r1","sha256":"3039d88c2df8d0a934de6818297f9f0e3da8b1ab2a20204d77050543ee82a5a7"},{"kind":"crop","node":"w1dkdqd","sha256":"7650611ebd6f085066b2d9c2556faa33cc1389d7fb9ec762d909d3db588eacbf"},{"kind":"crop","node":"whq15cf","sha256":"7e136414636ea5bffe8958b5cf895fb52defa77050e0e444d45bbb0ecbcd84f5"},{"kind":"witness","sha256":"fda3f1e9bb3538cd85dcc42281e00fd045f726652664439ce5a15d8489425b21"}],"format":"scienting-receipt/1","id":"hqa6fmesrtnzq","level":"F3","nodes":[["cjkdv61","e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078"],["jss11hp","ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78"],["k69qp1x","413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf"],["pd32xxr","443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab"],["qrvfgfb","a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56"],["tn1vrf0","ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6"],["v43b2r1","f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc"],["w1dkdqd","71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed"],["whq15cf","caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57"]],"rev":0,"root":"c8716a570ed36851723b0a8f4caf35e05adce12314315a40355eb5dbded00cc2","scope":"all","signature":{"key":"ana","scheme":"ed25519","value":"UljVWpRveKg5rtqNbnqVLADMEN4n6YjSc+gZbNK9v7udPGn+C0Zm6PriO8OSUOZx2L0E9jOnfa3e7mz09+asAg=="}} diff --git a/fixtures/invalid/signer-mismatch/package/references.jsonl b/fixtures/invalid/signer-mismatch/package/references.jsonl new file mode 100644 index 0000000..4125be8 --- /dev/null +++ b/fixtures/invalid/signer-mismatch/package/references.jsonl @@ -0,0 +1 @@ +{"label":"1","node":"w1dkdqd","resolution":{"type":"none"}} diff --git a/fixtures/invalid/signer-mismatch/package/roster.json b/fixtures/invalid/signer-mismatch/package/roster.json new file mode 100644 index 0000000..9437521 --- /dev/null +++ b/fixtures/invalid/signer-mismatch/package/roster.json @@ -0,0 +1 @@ +{"format":"scienting-roster/1","keys":[{"id":"ana","person":{"name":"Ana Example"},"public":"KaptcVSRRjQ1EaRm7sWY+ExKeNtrQ5Xny7G0sOQq1Rc=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"owner","scheme":"ed25519"},{"id":"ben","person":{"name":"Ben Example"},"public":"FTgWcu94E4B07ky4Sd2W6VcMzamQgx8G7v++3Y/jvfY=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"editor","scheme":"ed25519"},{"id":"ben-spot","person":{"name":"Ben Example"},"public":"Z9Kcdd6RARODR/eUTI0yTXQkue0/K6ehrInEtAfGrzI=","purposes":["spot-check"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"editor","scheme":"ed25519"},{"id":"cara","person":{"name":"Cara Example"},"public":"J8HPVPYtxYbKQZLMnlvND2FeGrhHj/RN8fLQ0MeyKCc=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"reader","scheme":"ed25519"}],"store":"smithlab"} diff --git a/fixtures/invalid/signer-mismatch/package/witnesses.json b/fixtures/invalid/signer-mismatch/package/witnesses.json new file mode 100644 index 0000000..a7b09bb --- /dev/null +++ b/fixtures/invalid/signer-mismatch/package/witnesses.json @@ -0,0 +1 @@ +{"witnesses":[{"id":"nmfryke","kind":"pdf","media_type":"application/pdf","origin":{"source":"author"},"pages":1,"rights":{"asserted_by":{"by":"ana","evidence":[{"kind":"statement","note":"The team's own draft."}]},"at":"2026-09-15T12:00:00Z","basis":"own-work","format":"scienting-rights/1","license":{"spdx":"CC-BY-4.0"},"uses":{"accessible-copy":true,"ai":{"external/local":true,"external/outside":true,"external/outside-no-retention":true,"external/tenancy":true,"internal/local":true,"internal/outside":true,"internal/outside-no-retention":true,"internal/tenancy":true},"quote-public":true,"read":true,"redistribute":true,"tdm":true},"valid_until":null},"sha256":"fda3f1e9bb3538cd85dcc42281e00fd045f726652664439ce5a15d8489425b21","size":1000}]} diff --git a/fixtures/invalid/unsafe-path/expect.json b/fixtures/invalid/unsafe-path/expect.json new file mode 100644 index 0000000..02a3e8b --- /dev/null +++ b/fixtures/invalid/unsafe-path/expect.json @@ -0,0 +1 @@ +{"note":"The manifest lists a path that leaves the package.","rule":"package.path.unsafe"} diff --git a/fixtures/invalid/unsafe-path/package/MANIFEST.json b/fixtures/invalid/unsafe-path/package/MANIFEST.json new file mode 100644 index 0000000..8ccd927 --- /dev/null +++ b/fixtures/invalid/unsafe-path/package/MANIFEST.json @@ -0,0 +1 @@ +{"doc":"scienting-doc/1","files":[{"path":"../escape.txt","sha256":"0000000000000000000000000000000000000000000000000000000000000000","size":1},{"path":"document.json","sha256":"20a7d6ba83bf42a87e44f3b3f96bfb16ff545b199d82e54d3c17989e465281df","size":555},{"path":"nodes.jsonl","sha256":"ffeffbf15cc9fe8182a31ef0bac32c1aef8c7a119706ac1e8a55aad218d0622c","size":11295},{"path":"provenance.json","sha256":"b1af404b3a07d4b102f0a45237285315dc1ff60f243636c22aef3e1c20b46912","size":224},{"path":"receipts.jsonl","sha256":"e6be2c6ff4d1444e2faf75c8c4d03482ceaf49746ea390592928b2b5e3b22237","size":2180},{"path":"references.jsonl","sha256":"bb5445037c28bf5fde215b4b831c29327dec6dd88259e2d53aabb995f2fdb98f","size":60},{"path":"roster.json","sha256":"7ee0c38fb4fdfc15d4ffa8139a239c23082dc69f8147c5920a39e8361cc7bbeb","size":924},{"path":"witnesses.json","sha256":"83ac4411c2efe65e0f7fc4c9336abbef6977cd32b0f90de029a7f8516afc3e97","size":750}],"format":"scienting-package/1","key":"tiny2026example"} diff --git a/fixtures/invalid/unsafe-path/package/document.json b/fixtures/invalid/unsafe-path/package/document.json new file mode 100644 index 0000000..6512265 --- /dev/null +++ b/fixtures/invalid/unsafe-path/package/document.json @@ -0,0 +1 @@ +{"counts":{"leaves":10,"nodes":22},"fidelity":{"counts":{"F0":0,"F1":0,"F2":1,"F3":9},"lowest":"F2"},"format":"scienting-doc/1","hashing":{"scheme":"plain"},"key":"tiny2026example","kind":"article","language":"en","license":{"spdx":"CC0-1.0"},"meta":{"title":"A tiny example"},"meta_hash":"d0d471264d5e885f91428c8714aa04598b150f07732fef31f310c31fdc91aed6","policy":"full","relations":[],"rev":0,"root":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","version":{"type":"version-of-record"},"work":{"key":"tiny2026example","same_as":[]}} diff --git a/fixtures/invalid/unsafe-path/package/nodes.jsonl b/fixtures/invalid/unsafe-path/package/nodes.jsonl new file mode 100644 index 0000000..88fece2 --- /dev/null +++ b/fixtures/invalid/unsafe-path/package/nodes.jsonl @@ -0,0 +1,22 @@ +{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"} +{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"} +{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"} +{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"} +{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"} +{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"} +{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"} +{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"} +{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"} +{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"} +{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"} +{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"} +{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"} +{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"} +{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"} +{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"} +{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"} +{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"} +{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"} +{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"} +{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"} +{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"} diff --git a/fixtures/invalid/unsafe-path/package/provenance.json b/fixtures/invalid/unsafe-path/package/provenance.json new file mode 100644 index 0000000..08036e4 --- /dev/null +++ b/fixtures/invalid/unsafe-path/package/provenance.json @@ -0,0 +1 @@ +{"note":"Built by hand for the conformance suite; every reading is synthetic.","stages":[{"processor":"local","stage":"hand","tool":"manuspec tools/build.py"}],"tools":[{"name":"manuspec tools/build.py","version":"0.1.0"}]} diff --git a/fixtures/invalid/unsafe-path/package/receipts.jsonl b/fixtures/invalid/unsafe-path/package/receipts.jsonl new file mode 100644 index 0000000..dc3505f --- /dev/null +++ b/fixtures/invalid/unsafe-path/package/receipts.jsonl @@ -0,0 +1 @@ +{"at":"2026-10-11T12:00:00Z","by":"ana","doc":"tiny2026example","evidence":[{"kind":"crop","node":"cjkdv61","sha256":"6e12bbc22302e7b635b18df516ad91e1a3ba23cc98e303cffd9f04925ca4e21c"},{"kind":"crop","node":"jss11hp","sha256":"09a6be7a365bc435b545392abd5cd35d3d4cfb1954cb8a72e357c2a349b4c7c9"},{"kind":"crop","node":"k69qp1x","sha256":"e136e117a2cceaff1b8133b8d5c9cf079eb902c8adf0de1585bfe1d040bd39f3"},{"kind":"crop","node":"pd32xxr","sha256":"27b56093c27a4356ff2d21dd0e3d944f9ffef1dcec1e9b536341e5a1e67c9965"},{"kind":"crop","node":"qrvfgfb","sha256":"1b702389a8acd28e0a691a1d12f0cfff18cfdc25338018e9d45e670ec7280a39"},{"kind":"crop","node":"tn1vrf0","sha256":"e80437c7d4dd642527dbffd5f221a0b5d3e4fded4f02d901aafb6a77e782ce2c"},{"kind":"crop","node":"v43b2r1","sha256":"3039d88c2df8d0a934de6818297f9f0e3da8b1ab2a20204d77050543ee82a5a7"},{"kind":"crop","node":"w1dkdqd","sha256":"7650611ebd6f085066b2d9c2556faa33cc1389d7fb9ec762d909d3db588eacbf"},{"kind":"crop","node":"whq15cf","sha256":"7e136414636ea5bffe8958b5cf895fb52defa77050e0e444d45bbb0ecbcd84f5"},{"kind":"witness","sha256":"fda3f1e9bb3538cd85dcc42281e00fd045f726652664439ce5a15d8489425b21"}],"format":"scienting-receipt/1","id":"kmxw2ekgx2ek4","level":"F3","nodes":[["cjkdv61","e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078"],["jss11hp","ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78"],["k69qp1x","413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf"],["pd32xxr","443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab"],["qrvfgfb","a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56"],["tn1vrf0","ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6"],["v43b2r1","f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc"],["w1dkdqd","71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed"],["whq15cf","caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57"]],"rev":0,"root":"c8716a570ed36851723b0a8f4caf35e05adce12314315a40355eb5dbded00cc2","scope":"all","signature":{"key":"ana","scheme":"ed25519","value":"wPOEH5RpoWW9fkNCLWFt6iYfliHMf40SwbQN5kgtGuBBImylXvx1rhFp/jUGJaQj3QjToR/uy8u3a9v3iu5jCA=="}} diff --git a/fixtures/invalid/unsafe-path/package/references.jsonl b/fixtures/invalid/unsafe-path/package/references.jsonl new file mode 100644 index 0000000..4125be8 --- /dev/null +++ b/fixtures/invalid/unsafe-path/package/references.jsonl @@ -0,0 +1 @@ +{"label":"1","node":"w1dkdqd","resolution":{"type":"none"}} diff --git a/fixtures/invalid/unsafe-path/package/roster.json b/fixtures/invalid/unsafe-path/package/roster.json new file mode 100644 index 0000000..9437521 --- /dev/null +++ b/fixtures/invalid/unsafe-path/package/roster.json @@ -0,0 +1 @@ +{"format":"scienting-roster/1","keys":[{"id":"ana","person":{"name":"Ana Example"},"public":"KaptcVSRRjQ1EaRm7sWY+ExKeNtrQ5Xny7G0sOQq1Rc=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"owner","scheme":"ed25519"},{"id":"ben","person":{"name":"Ben Example"},"public":"FTgWcu94E4B07ky4Sd2W6VcMzamQgx8G7v++3Y/jvfY=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"editor","scheme":"ed25519"},{"id":"ben-spot","person":{"name":"Ben Example"},"public":"Z9Kcdd6RARODR/eUTI0yTXQkue0/K6ehrInEtAfGrzI=","purposes":["spot-check"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"editor","scheme":"ed25519"},{"id":"cara","person":{"name":"Cara Example"},"public":"J8HPVPYtxYbKQZLMnlvND2FeGrhHj/RN8fLQ0MeyKCc=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"reader","scheme":"ed25519"}],"store":"smithlab"} diff --git a/fixtures/invalid/unsafe-path/package/witnesses.json b/fixtures/invalid/unsafe-path/package/witnesses.json new file mode 100644 index 0000000..a7b09bb --- /dev/null +++ b/fixtures/invalid/unsafe-path/package/witnesses.json @@ -0,0 +1 @@ +{"witnesses":[{"id":"nmfryke","kind":"pdf","media_type":"application/pdf","origin":{"source":"author"},"pages":1,"rights":{"asserted_by":{"by":"ana","evidence":[{"kind":"statement","note":"The team's own draft."}]},"at":"2026-09-15T12:00:00Z","basis":"own-work","format":"scienting-rights/1","license":{"spdx":"CC-BY-4.0"},"uses":{"accessible-copy":true,"ai":{"external/local":true,"external/outside":true,"external/outside-no-retention":true,"external/tenancy":true,"internal/local":true,"internal/outside":true,"internal/outside-no-retention":true,"internal/tenancy":true},"quote-public":true,"read":true,"redistribute":true,"tdm":true},"valid_until":null},"sha256":"fda3f1e9bb3538cd85dcc42281e00fd045f726652664439ce5a15d8489425b21","size":1000}]} diff --git a/fixtures/invalid/zip-symlink/expect.json b/fixtures/invalid/zip-symlink/expect.json new file mode 100644 index 0000000..3144aed --- /dev/null +++ b/fixtures/invalid/zip-symlink/expect.json @@ -0,0 +1 @@ +{"note":"An archive entry that is a symbolic link.","rule":"package.zip.entry"} diff --git a/fixtures/invalid/zip-symlink/package.sct.zip b/fixtures/invalid/zip-symlink/package.sct.zip new file mode 100644 index 0000000000000000000000000000000000000000..1999e9d970ca9e88b6fa30844028a6b82c195293 GIT binary patch literal 18111 zcmd6v&2MB^TE;sw3=AW&KpG(-1Y-ⅈ26>$35qs+ssHLnRJrrNhaOtnM@{%!uhnT zZCAOg%5FQY><|)v06R8FVS(U(7&agwA+cnK5Gz(}S;Ft!vg^y`^nkk&nfBPOx^?b7 z=e+OpKJW9s$M4_&>Mwlr*8IQUzV*e={$_mq)myjf*KhLTY&besLfL%gkB$%Xop)b* z@11*Ze(>n_>uraCb0`!#v{3y|0@Ih9S5bd+u9y4+Z!oJ^&T zHT*0O?iyo0e|2%c(KzL4f3w5YyOokl2}PP1yON!B%4?a62tH~RrO(C1)=Sy7!ulw) z^Tv3elypg0rQ+glQmStCe#evXX&(7e%vWX@q%VzVg7%_KO^`wr;TxlLtDMo&q$o?V zqNqk&ZKF~=h0Zc65gOY`wYaBJ&B_cXIp*Qduv=Tvr^DGOPp22ts~24wsnb3-jbtjhWNWf0 zZHZ0nw6;tm7u&UMOj-p|I+3zaoo|aX()tp0?v^Xs8u9rjxW{;M)W zlfhl3KCe!j^5JmCy;rZkCkA)9@SdE1Q+$r!^x$sCM-InN^R!Ono*L8IE$XO8dFJaov*C;n-yOWRQaVB$ z8cxRJx@0CqZvnL;a1UjC*N9kbix(Nt#R`BxdY~}@bs^};%gJYLQYs-NS&iy6Po|9D zPxAb@&hg@v-Er9kAjXqar}=a|IjGlMx6D(2lt19v!gZ9%b;8c^D>`>LrpdF%mU3}}Rry*ilXv)Sd~At@gsz@ChZ#Q?L!GH12Y zPOHWw<4jh-uQiRboo!v$#-$M+P0CxI!VOJ-YM6W3J>f_@+HI?N49LSHOY&v4UH>~ zXqp|qD&aCo2%}38S+||Rn>G7mluAnbj_9j-^v>AQFzV$N5B$RTSNFN~U2Byqxw8$p zP@>0k8t6rvRklQ2T{7e*=~nCDrLhemJ{4=c>KfDPtNYB(0(VRvb4fY1s&#NO)#fgH zn^f|u5hXBhMsB;%v|WzHTm3$l3i@Pjn4X3 z+6=ja1$B6TureFhq#XF!aQjvzS6LIVtKo(`Ve~06-s(Pj9dVc-p^lKq2pN#xbVd+^ zLrM`|0FX+oQel)%XrLa*>8usNLlY~KZrMjxknQ3T9Sj09!WJN)E(gpEPKs>=qeOyT zCGO&FR>8H(+g5b}NA3f{g{uyh#=g3bH(rJ-{(AF$jN{R)hZnf}#U|EAW{LW5cLxvi z^yCmC(es!EW2gk+!U)Q#FXw>C!U(2}S7{@!ta!5TM zL0TB0N?Q8hz+9@Avxg|3UrPQBg2IhD$0x-UpMUtV@ zjlfm9gab)vP6whcBJbW~c<-KDZX^@&dlP@WzqylOAu)T&@`j%YAHHDBu5P&|B z3^d%KiH1l*nw5xqZ5wj7PLN(zz*zHVLuvrZmyQLM9qteCTH<;Gp$A+e8<#UX6I>>h zlerTlG;F4`AXHOfzTZiR>PqNsh;{;UQPEuz7+8$LLgxtr%W_%U|!Ni5>gN9 zvslTIi}F!MUF_s`e=df^G=rqEvEUm_Bi6{#bj;VphFHUUQpsXk8=Uky`(QhT@$j$n zS8*9qB#F2nSSpxc4j7!!kQ>*i7UqQA@&@qJI1_XLv56s8Fc^d;c6A}1>(7t&^UkS1 zJjpx5=}x0=iyc4P(L(IpzkR)rpEl%*lb^%Kb%>=SIb+%>dU8XSClQZyU1nT~V3Sz* zWQn^qqLT&(xUY7`wn-ROiy3<}`Q*c*H@NS1~q(?X_2V$)(F|c3Cu*Q)4fpr;vzIW^5HP=KqHr*>EBsgu;WK*XNJLz z#C6yR5iizz%KMYNEJcc#`&z8mJF_~z`6yd;3e8{9UKdD1dFneS!N8Bq*Rg~ zq8*`PRNm-(gK;NxA~Kz<48Qeh%yWzpM@bn5*1@uL*FkCm$OoA$q?pl12P+1g@iQ1y z6~@pr;5I41{JZ4aEA&y3#X|fADWCNg;#EQm2C;Mw=Rw}V?1bzx0!o1G))1|1L=hqo z2x%)!_4M&LpZd>8RTmq{M79T<!!Lu?1RVhSUdzG~ffX6>PRts&i=( zaMb^Cz`5}qO_nBcEty2%lR5}uN+u<22@gKEK%RvcqL)}Kz9mIc zh43HI@3L@k9}5<=sa(8rvcV0*UCCIwHWri+~E!RvVBL1m0K46>PeRfKw>sjJa{H zM%?FG#5=Q{JWA7@edOgYv4yAmPw?Zq2+zTJHaVOZa_FRbf}i`8kA0%% z7|23IO02XBKY_}k03Z@{rQNil9I!TQqcy}JRH~9XDUc-`nPhPg21~U9HAM@eBDxF7 zRJ~bad(ovY0`*)$uSFQJ2eYVL73)!^Doq8viH+q9H^h)_iH$PccMiYj*zJrFWd zW#l#Dx;>@2@iJ`M5Q-+!nuRn8#HJ3|fTy!4kPF9(K#`EIyo66F@HWS;p{Rl=MZyRw z#;VfxM)73&_^5F!TwzxCb+_6Fm#paw&XJp=V|j9?s`ruj6B_WO7MW7y70v>V! z2TPk@4GlM5hL^RKPmzc}TU8Aw)JG zK_$SAl+crIQxm9BTU`_0k%S^p$JOMa5L*>t1hUA+I!~zwaReCGfCaRa0xU&Z_SZwY z36wCDHFsRv_em;N;nuL=1&FW6bGE3&|X zrE{&?(T$g36AL^FL#_=B6!#F#p#>y)$aC;;gV-*jqNYc|4;{$!9yJ6Foq{)E`v81} z^)I)h%gFwM?CAV@JG$f)Uus7$V7{w%1ZN=l*P10>g(%UWqavs#ph8oaqPYPz3N~mh zRUGRP9H?IqzyS@A<~k{%tMt(p{JVq8XkWY~KGl#~17h){$JCf1>>7elC{5L}UZKiG zKqI?e!=vqXbmL{%w4?e+0F5!iX`G5a3P=;C-O%rW4nqY)S{93|PdK(?Wj*;v+$B#mk& zqb?v}J3T<1zu7Xpgsoga!UpZ1jpXU1h{1y8`zL1y2gjc=%Zu&aLLqKE!S#KPWQ?#! za?O_JhOUsw<7lO$?xAbb7%{RDfdYBW5F@X80o50zpk#Y8E;OTc8u%h9#L@@Wp#Meh zGo=h06vkJOh$1ozJu429Oy?d_AG8*IAIk5mSVR@R!?iNK3CM}W1_U)WZL!aggP(&! zu(|(R{%}=BUhs!YqgvR|HvaGeCcB3FMNl+Cvx!&@dk@HvXgkDC{LztQ!$Dw9)js_=Kbl$t5u*-yuQg9tcVlFzGcR2UWyo3Q1H* zkh+vt$W!zO`n8(n(z8~L=*G)%1uR^Pl0?!(lL_1yUrGW=88r=VN<*JFg{DRd89cb7 zIH+hu5P+xsjG?VcRVGX}i?p=}0)LU7ZGt{PBN z6>0(rMe2Y~DA3#~1h7o>vjmz{C_cbLi49cDs%256h!j7yLb|4}c2V?R*QRKGrA3P* zhQyMbfKDm`tfse!iW))&tu(ZVP-4VlNeKwoNEscSKwilROM{$4XiV5I2ziodjoj#>AY@bEOmJVc0P;!3Tirz3 zlN^+;w3P5_2OL6cKmbg(Z4s#{ZaR7z8aj@U9eHZDlvGXBJ{(%Qbl-lnjWX~otqN$8 zNEMna1eQUy5*ZXFqn$NR zCN;!f(gFH*=dH^xc`G4%p6p&^cmS=xB@-Fpc31%!HKlG%GXV8(WN6}Hi>QOzUrUa3 z3K-JJYs4Yt$-;4L(kEaMvC+`{g|iVwDL~SnRB=flj2_tE}Cb%^4 zRY3p$xRuWp1LWcfL3DJK*Dkmsh=HI7;$Efl9e7rA`j!BfDV(}owaqPp0my*{2+~xc5pk99j~)Q! zB2$E?LItRLbK(H`hJ*pB5>H2{q7_3>5-)4Dgr)DiVEb6_UjNU(eDZhyN3h%VGTWJ+&`a(@8gOD{GUiCbbUb17!*TTefsy()zt@{^^=v$@{isKN zbTU28ai{)1y%Ttpbo+QNCG;=#fj-S6^|RCk5o-%ok=P#e29j+NT?044a7sjOh;g= zjZh>5@PxJQkF}dE`#BajqfwJXEiHYnq*E9-r%fo&(({=N=Pu~XsZuy9rNN=->Q=NU zlM#E+HqhT0yX$YZByEeEQ5|G*^n;;9a8w4$Lum#@k9(oX6L)FGz^|OgUr~d}_E9Ks zC5TcY5u}Z4rLSdeX3J{!;%4OXhCWmsQTUh`r*`PHf4AM52!=^TT-{9Yo4N0c~gb?wZS-DiuNVPc#R_Z+o=xGr1o6XDgp8aqAeKM(84L; zLk-$Lox`T~v|P80m#s)E%h)0i(X32OkCqwQpP_xsfOTX0yr;wzC5xPpXlawCQ=8er zK@(z9E%!mXufN%%#J!kVTg{O=0%yar$I>{q)){ykWkU*8NHz&2ub&R53SjH(SqS7s zFvV1RFjsGOal#3|UJOqwyQZ;&@Ik|a<0EupNBAm=BV{IxnqruuiHt9LBDz|H;=q+7 z31dr9tmf&^)pI`=5Y?Y&>WTHi(b-d#5BARZzbbNFoCl~!iRLg<(fH#Pq`9#s`pK&w z50+SR<8G}w+!8HroOspYmUwXEev>-f(&KMjm#D)neVQ{$HPVBW#@Ys^`dRjTk9LqrJ$saxqU@#|aw*?3%5joK2!prwXttkhs{On{xa3*B;=LP36esQ>tq9$jCs+QAt_Y%aPzW>8F z-!>1A#~*&!m4o-*_`!$wW_I{dIUK(IEDK zT&835Bf6XpS~>D_!8w*2JjqkKMf$@*%yu?E={6dV^3^;4%XfbF_MdZhxqfXst~Obo zD1El=xZ?c%%Tt(hg4n~?e07gGa5q11cfs;r8~Muw1fU%pp9GEovex(g@htxMgNF|v zKag+whez%7!;ilG=Gp!H-fZ%~{A6_Az9ptVeDFj*jNfI8j!!1XV@{p|fgES%v|DdN zd&7GCHK$LP{7!VcLO$xr-37nH(#8iD*UXQET@+ereeVmbS1h7NpSjl2pP{@mr`Pi$ zsal)Uy+?Z=#*?mjvw2;#2j|TPNquO49N+!SA3fMRb8oe$-~P7#=+5KQ^3lthQ%=Jf zM7?^$#Tn8|Ghdz5?(~=wmaOXLZe2ICpLX{nB<1024}bW*hj;Ri9=#*ZAN}OP!ATZ( z?%TXSd1v(I?6vaNA;Vz{!a%SvEcsG z3qJ1pYGtlJ89y}tZEwEZw&;bSx@r(bO?CV z<1V}XY2U49vFFd(gWI-))4Q*KwA;*&PM`ExL}Ez>G@TA>XBFXxIn5>~nMWDc*>Nl^ zPe%Um&OB?rcyICQ_+&OEue|)s=IgtoF-Mf^S+o8G^L*gNMZC@*Q&`+^NJIbCTP@zX#OLgC)^IxryRB) zq8U^~=Cv0`w;8Mda~Bek5wqC%n*e|HN3VSSR|vTEYg_oM_Bos0IUJ4-E{{?75%~T4 zuYBd3U%md%fG}MD-xsgcZyO52`X2?^9BT8=6wC*@b?b{){+bxQIn`=p4z?-QEC>4&eRZ&P>1K1RP2#j1>mFQcbFnxr zv-Sr$Hb>heL(9?rcH3x6YP31fCIBx7`m;a0`dAD2-D+B!CVDy6fBnVJ-ncr}iow2r W|7+~>ty{m$|Gpp+eC>PnxBmvE!E43< literal 0 HcmV?d00001 diff --git a/fixtures/invalid/zip-traversal/expect.json b/fixtures/invalid/zip-traversal/expect.json new file mode 100644 index 0000000..17df561 --- /dev/null +++ b/fixtures/invalid/zip-traversal/expect.json @@ -0,0 +1 @@ +{"note":"An archive entry whose path leaves the package folder.","rule":"package.zip.entry"} diff --git a/fixtures/invalid/zip-traversal/package.sct.zip b/fixtures/invalid/zip-traversal/package.sct.zip new file mode 100644 index 0000000000000000000000000000000000000000..4e170cb281112bd7141fcb87c65451c030ec5c09 GIT binary patch literal 18110 zcmd6v%a3HqRmR&kPfIM2EF^@$MFL{s>F#*kh#R-DC1%FcGvoG*r+eBSkFC)to>kdZ zm6@HHRb4f$*&!tU0Cp@58`$v&m<>osNG!cWh!tYNmMy=yS(UHKnl@B7V%+7b%Dfr( zM#MSa`ObGv)CUi~@(W+PwfOIMZ~f$_e>0wZ<<_nG_1nBSACAtIP&S|WPc57Iae?hR&fm`7Z>f1BU$%E4=cGCaz&!Mz_pA58rGfJ=De4 z&vC)*z$;^ULkZs|8@$t@G|Ia+H%-w&m(GR~q%FlXCdjT!PG!?19cA0OE;rUFCsV0o z4L{3+d&Zd0Ut8X9G){Te-|T4pZl&Z>LXjrMu4E^j@>=F1f{$87>2q}ZB&Y<&{;+$LSs9rmiJVuS)1WB$2^?OcT6(dkX2;mnk1X1$*TC$n&@Jagl?RQ znFs3H#%8ZOVLH_*7gR7=2c>wd)eWT+8+R;unwjE`dxl_|#t7X;#wwW1CQM(eFl1gL+n^L@!y7NkR zQEA~+inc3GHf>~nf_Y}At&Fh^A&2DzyNwlnHk^<0Y<4lddeNnkI_+cANT!lYwkC_x zme|BjYs)lpv0dB7q*V~56DbST`L;MCtuImMZndJV5ubm8dyJ>Ye!k&36CV%#e(t^J zFrV|@mg@~Z|LO-DuKKfo`pw_?#+Ps1s$aWYb;ISJ590V_G{+~O500`wt==icYlGfT z2KSWuygF^lN5eVyUcdUj7~JE+`*QJ3@i~6egL@qxIT}C9vpSLcYEVbGIk^V9h-9%Xjq$dC3<)KQP~+}C&J!#N+mH+X%oF6rI{lwDr&X?-%@O(Hd|RJKVbJ7-EK8|9*F zW#heQOy`0$qKLND3J}qfe;A=GDR$sSvOLXX%=6T(Dhuf9m_E{CwNWj(_>~pMCwcTes@hZ|w*O zYe4&a;E#s;qfZyN39OF;&2q%^aD1JamMv{g&NR08)&M>^u)3WUsdWXIuu>YFDX=Vc zJ%|0~pZig}UpM>08ZPacS8$?uaJhlO`X)Dyph zQ+UG>dQ^5%Ytc&2cy%(D!@Y#okG!_YQ1R*MOr!QOqY~s zvKPRl*G`7E1;t8gKxxD7tES@Q!~?<@&i1yRFV zYjkRiRx-6beDR&srpTN-p4QLjQ!J~Z&S^dZJg~=pUynaKJe(cZhoo*3=M~YzWGM`wo(nT9jTX{58)FPn8SU8bg2TihQzH!Ht#2`$ zL+fapB8f&#A{N;I4`9O9V@syAZ6k$sl8BYPQ?4r&9@vxQONcd&?AT&!k{4YY8dn_A zG&_7%!ex>WMwcS8ZaafFYxc(|m6Y}!(O2{6ow221)XOa%_@(i$?{n+B)+$$WXB%*# zM33h*(2F*!Y>BwKWXMg@t=7RyV;e$zD%N<_HKx^9_nDmq?wCC0l5%QQ>)>Rn&0Y33 zspM57N?_iM+;*X9yBv$lt!@G&M)1h}p6<_|9O$z;gNr>q$Uarn-`YndyV!Ueo%OA> z8FB{;>hS(xWj3x!IqI z6p)|D(zFEdkhC=p(jA48wlN+u8av>F$J=2A(eODT735BW#ZqdW@G~E6guh$YLFp=j zv@k-IwDiG&xl#)qHQc&F;L@8{?(s^kz(P!vu6PV`OJ*2KsXxmM%<*6ZV002a?d74n$o>-u)-=-hH>)NG9UZYjs=w+?ho)<;(7z22V5f?moqyPTqc#1 zxf3KbY^JjyR8wKT-${t-TIg+vb^>xy(OnW4Sd79#=#X1*&&t-POf+s_UeZMpQV;60 zSjmx#@=-=z?&NNNE{4Q3gQT&s;2TUM*2vLx%-6(*Si^f#$zoa?ob)>TU^|8J@UQb% zaT!u1iMSwGDwtpn7@W|M8`r27=7iny2Jq836LbKvi6K@n7=$Kvbs=8p&yNrC-l;!2 z$$P`uUZd`aJwM;mLhL=bbG?tBHsp%apToy>h@~SrW7;WtazmCU5s!3TW?YG2lUVp< ziMutTlLiO4uXe_^NhiH!8Fl3_3{Af3T9*n83gFGy8+xIWg9zuyag3HN#-V6J|l=c((|M+CvPw=?{f7VlQdk`8jBuMbL&PL9)X9h$hWkN zmD8;I_>Grg8|jI?B`Y==CkApbQle=m1e}cUM|zy$7-$#x4Xm6+~mscHm$ zp=ErS^B(ELG7g+gdyt&_>3*&W%v7q={ZRelA~Zbq;VADxBUhj4-&tO;=SOL8j=_z_ z^Ne||u8YHYjSt+RrXho8G99L;X+YL=F*c*}%PK`(3ph_^Gbs-ye0<3ycLyAFqsBK5 z@9@}{ga80Q#B2D1hT;g*z_AT`4*N04GXT3QRzW2@Pt>SwdjWA(N` z>LLVBDTi~an&5a~7kVG0iXd*|d{#|M2G>?#-2qeZ5^cB+j)ggbMOnx!GX_dhDoGE~ zj!-cwZ*;!FxDz@NnNC)Q-}*G>1;&V@qznV=U|G8BATpO|Imtbs=bj5@D&PfSJEJ0uwKyZC*f!3HI^+6#G_`qxhn=O^CSa-<;$DJg^qRyA zVdeEbGQBZCu-x4*2s9H^wX?J7$|SBOlL&lL2SH59q=YTu!RHppv+zRn5{t#Rq)4g| z{v-Nb77p%X!Ge~2vVzaLMKlcrs%siS)M`mLJH8p!S{M>50lNCip-f#N+2?pDiv@ZT zT9T~RUy~a8m~#_s?{)!=R3cNNjC$ak$Pxrns0D(2snTI4z-N+mgb~~Y9%t9H|G~;x z)&mW4#?6*t+ai!pqJ&X2T@VeKu!ToQ1Xy?xP(j*i19F1E`zpDDO*av63Wc08H_p|F z`$CI&cfOZLX|{KOy!-{W@a*6zeq0yf1vsx90WlPaqHrZy0-*zpbs&#(mM6s)G}&N+ zm|z=%u+B4=7A|Epv9!kXbz6u&Bi?7zCWK`Pzptq(>AWdhQe1N<9|%|zY68^LK9X69SP zoF&d*V+%K3hHYDj0HSEY1vC&04G|Kp1@(+%Dnq5g%+?8q&c_1+krZ=~E{(BV7cAU~ zM_$T7aeQ=g+$*Ec2UR7=(@z(rq8|^QPEX5z2{rilVPQ7&dbGcw6ml6) zN*Kz9JFe{emF}TREmaw$Ul51@kJ4pT3j;2FMV#lQL|qAUhYEq@9;iwgFb-pvWKymY z>2*k-O+3{o0^I`MNfIx?o7`^PSK$`#^p2XRe4Nd`_!N-+LaK0fB@L{Put0>1u(6~E zG51xt4J>#G^IgXRkHDY{v5>rhFn~5wNU{^G0x&~~umY|T2nZ6Ifu$iOAyA`r!<9Aq z7|*^#k3f+mv=An+#EwcjmGW9AY7jX(xTkIrut*_EE!0*}IwYXbwtJw$V80ZAV696a10wu`8!=~3`Q2lBi}4M9Vv;7!;*0AFGK zi|yz#vcDudI=|kIE;+>)+R;mx@46kq83_KhW{FoJN;K%G2&xIF&=jUK6oXKm(+?PD#7`Bmh*}S~5ixMD2r@Q7R_? ztqFt>ga){7Y9X7O^nlpGhtO6$1jnG_xZtQ8AS>1G7YeRWV4Mf>L?c{(j(uw?oE>Dl4ou>q7A6~*_H*miQibiNQ5vyVE0U1qQL|im*18ehcp0vMg=X@qb1?)g5y^aX7Ty(}_G|&j zCXi614(Nme&7DF3%S1m*ph<<|13Z-2K*g+D7Db9k@lz|LYx-)JMej{*isn~Zv`At| zEXfJzq$0p-dW)#2A!N`>LyHI{Ml6<;fN+hJ(a{Oym5k7o4V`kg0o`~Rt{4#206L~1 zF#LeLP@^L=ZK*j@MMl7M6a{EQCB1`AJIbmdy4vK6;6g`V&C2^MBAhAG(bLr?5Bh_Osx~p&dGmBy zL+m9Tpl^54y8Mc_60+yX?nQee&^Q2$1TCLXqkI;j1%hPhHzj&nAOJ%!VTULYwcngDk~V9CD+6B# z^#6}r`9d*3-r0M7wD;EHXu@lI)G5Uml@Bgz%2$m7o48biYan@*u1+T)A-pyzcf-8a;2znsyRVv?sXEmp932>RhsmoQ{+#wi%9B6^AW8Fbduj;5odF{$ZM+sCq|}Yjx@~1Q${};N8cY9sc-Xpy$M&($K%?MdhACh zvq_G7_4nD`z@wx)lZBMfztoR6qMP~)E?(=}9*8@AtNJI~P1k>L=bz1={K~Cc_3L+b zEY9ZH4|;ZMJ4QXGb6e8=E+0#EPYC|~h-VMAA>EHE*P(NopSM<;*YhcTe6>NZF2^Nz znT~5mMGaGYW~GTN&qSazAxzQWU6H8`G%W;9$@G;=Y8#pErrM5#+5p=?JS5C?1h(1; zMKSiG*gz_vspUH6Ug3g>Og`-j$9Ez@PMT;^S zu?KAf{hhJ9{$?xEw!9hDK_*8(7)k_3WuQEiW>ECF7n(eAmu3w7%6a@1HJEH4g#uTC zC?yg>+PK#GS~h03s%9^5MlNsYL)8(5kBM<=ht3X(6hZ45R06$_(+1Rub8U00OSAm8n)CbP>Khbd`b& zg_(LpiL+MM&TQ3vw!9f8#tAXb8zcl+L0Oj`Vj8!d>JUw8&o!+QAa5Yrf`JV!oB}@7 zp#9T1Y-&%-b<23!inO+jEdmkE%GC5|nW6m|+Q$r7H@44vN=#9*$O(y-HfcJwnH?N7 zAtu#wAEf*Gn=MP+%bB&+9H}F4HY|HAjbm$_fwxgMq)>%qlTh;d>2Rt5w$7e~Kwbn> zOtlAd{bm;@obc=A@U*gP8aoIdG(0#yLML{FucA0oX2Pf`hAEoJ_@XDGt3@adTse|3 zwiLx`kq%uw_j3VJ{duOISRWprJyZE`|BU~uBG<)vfO?c@0W%eif4qh?H`YWydF{u8 z6_(t%TdNMYLW>(GUUj$?9^AO!qzToNc=8V$KWQsc6%4=`j#aV}2`Q?o{ zRX^O)^KRVk@d@1sTW7uMIkH+KMvBpBFS4y%%#+q}!Uh4mW~(S?Roq20M%hL|tmh2q z%cD>pV^!j3aonHq@_kWj#z8ATKbaDo3EBO5!9|Q;9x$s2FHdwhQM!_zZ4J-9!) z`{es?f5$(3q8~naJbrZde8`?O<{eI0DF8Kk$=z{K1Eh9zA&| z-|~-++u27Sf8(vQ2l@T^^r89T=)8Sf%)a;VseBZ_#THFYrjs!zPk}&=GjrOlH=+Gu zJ^q^0rz?IZy4ylN?#bN+zr)hThZol@j)YwlT4{an3#?ZxqDG&E*3qA#yfUXZ@-nH~ znA82o`ya)Vu6e6@L$rtI&4)>SWPcFf`^+Cd+&^<~x2NCuhW_~Olhg9?tC~|z!#PB~ zdc(yT(n~X6pVaNygcFvm>h^A3H?tpg4C`TW6~ugnx{7Iuv-vS>55v?dv|eU`QQHGA5Z?1Q_l5kS30zLaQpdS`Fo$x^rk*KF4ObFD!g6fH0Tx(&eUU+;oO0E{;%K$!`1o{=H`c7{ z`FifPE5{-UopTbJ!<>}?_33RrjWN&u_z!1$`0rkt`ZBMY2KUEy=j_34*TL!AZ+v{aSsa}{>9L5!k_>1z8`jP$!VhzrPfs$BGOV-XSXiEp z{L$S-)_n2a^40Old`4b*`I+t4Z;!?tQLbmr`V-8HftMHYI)6-IdBY(M{a0_be0A$q z+pq7u)$*c^Td~ehPuPmvmq@;Nu4=%S69JIH<>@e-)E!&AKTpStANf4tc9=fpu>BCt zpdvD_y*#?jSpA>7kcfH1OFr2Aiy+%WZU2pe#Xz@i{p3r3O@Q7W>hffFPYSk&+CGTB z8tT`7>FQ9GLtOlsitT~6m8aD}Lv?kaEgfomux+JgHQ1l(tAlOoHrr!uv!>Np_aRc- zi^WlyjlagRJ=!)CT8;L1yGC2_qV0jU(RVe_pa1dI$68|V&Q095&(&Bzee>#A8`k>4 WgI{EyZ{7M;{`Xe|f-ir&{`TKeM{A4# literal 0 HcmV?d00001 diff --git a/fixtures/records/checklist/checklist.json b/fixtures/records/checklist/checklist.json new file mode 100644 index 0000000..04a3920 --- /dev/null +++ b/fixtures/records/checklist/checklist.json @@ -0,0 +1 @@ +{"at":"2026-10-12T11:00:00Z","by":"ana","doc":"smithlab/hale2026harmonic","export":{"kind":"html","sha256":"abfea8185834a5da9aeeb19a530e3444092c5d7887306dad93168609f848d1c0","size":48213},"format":"scienting-checklist/1","id":"svbx4658yvm4c","items":[{"criterion":"1.1.1","method":"manual","note":"Every figure has a confirmed description in the layer.","result":"pass"},{"criterion":"1.2.1","method":"manual","note":"No audio or video.","result":"not-applicable"},{"criterion":"1.3.1","method":"manual","note":"Headings, lists and table headers are marked up; each cell names its header path.","result":"pass"},{"criterion":"1.3.2","method":"automated","result":"pass","tool":{"name":"example-checker","version":"1.0"}},{"criterion":"1.4.3","method":"automated","result":"pass","tool":{"name":"example-checker","version":"1.0"}},{"criterion":"1.4.5","method":"manual","note":"Equations are MathML, never images of text.","result":"pass"},{"criterion":"2.4.2","method":"automated","result":"pass","tool":{"name":"example-checker","version":"1.0"}},{"criterion":"3.1.1","method":"automated","result":"pass","tool":{"name":"example-checker","version":"1.0"}}],"rev":12,"standard":{"level":"AA","name":"WCAG 2.1","url":"https://www.w3.org/TR/WCAG21/"}} diff --git a/fixtures/records/checklist/receipt.json b/fixtures/records/checklist/receipt.json new file mode 100644 index 0000000..4aa5ba9 --- /dev/null +++ b/fixtures/records/checklist/receipt.json @@ -0,0 +1 @@ +{"at":"2026-10-12T11:30:00Z","by":"ana","doc":"hale2026harmonic","evidence":[{"kind":"source-file","note":"The exported HTML.","sha256":"abfea8185834a5da9aeeb19a530e3444092c5d7887306dad93168609f848d1c0"}],"format":"scienting-receipt/1","id":"jv2mdcw0kvs29","level":"F3","nodes":[],"records":[["checklist","svbx4658yvm4c","0fdafa43151edd08cb470e3db528e134850d342c5e071e6d17bc9a41f5898345"]],"rev":12,"root":"e882efbe76a7e35938f0f8e087b9a1cf544f5151b7abafc67e85dbf155329cd4","scope":"targeted:checklist","signature":{"key":"ana","scheme":"ed25519","value":"bZ8LY9BzrImifD4Q5F6fUYooMs8229gDNhtVy/JNilnrRr6Wmx86TbuBMQ53aIe1q85NR75LQxkEdT190AVrBw=="}} diff --git a/fixtures/records/layer/annotations.jsonl b/fixtures/records/layer/annotations.jsonl index 3dd7a31..9e38d63 100644 --- a/fixtures/records/layer/annotations.jsonl +++ b/fixtures/records/layer/annotations.jsonl @@ -1,9 +1,10 @@ -{"@context":["http://www.w3.org/ns/anno.jsonld","https://scient.ing/ns/scienting/1.jsonld"],"body":{"audience":"novice","format":"text/markdown","kind":"gloss","language":"en","type":"TextualBody","value":"A *harmonic* term treats a bond like a spring: the energy grows with the square of the stretch."},"created":"2026-10-11T19:00:00Z","creator":{"id":"urn:scienting:key:ana","name":"Ana Example","type":"Person"},"id":"urn:scienting:annotation:smithlab/x0abag88jjq4t","layer":"urn:scienting:layer:smithlab/kp4m2x7q","motivation":"describing","receipt":"fdfbqrwwd2w3w","status":"confirmed","target":{"selector":[{"anchor":{"doc":"hale2026harmonic","format":"scienting-anchor/1","kind":"sentence","node":"sxgcc9h","node_hash":"76e06b4811a688357ac4b912172283463cfaf1b7a1f0795d274fc733a2309ba7","own_hash":"2d7df7b8b233eab6f96d5db0d29c99062aaa94b55cf4e388c49b9995ce7548d5","quote":{"exact":"bond force constant","prefix":"rm{eq}})^2$$ where $K_r$ is the ","suffix":" and $r_\\mathrm{eq}$ the equilib"},"rev":12,"span":[111,130],"store":"smithlab"},"type":"AnchorSelector"},{"exact":"bond force constant","prefix":"rm{eq}})^2$$ where $K_r$ is the ","suffix":" and $r_\\mathrm{eq}$ the equilib","type":"TextQuoteSelector"}],"source":"urn:scienting:doc:smithlab/hale2026harmonic","type":"SpecificResource"},"type":"Annotation"} -{"@context":["http://www.w3.org/ns/anno.jsonld","https://scient.ing/ns/scienting/1.jsonld"],"body":{"kind":"claim-link","pin":"illustrative-pin","role":"states","source":"lode:amber/k-bond","type":"SpecificResource"},"created":"2026-10-11T19:00:00Z","creator":{"id":"urn:scienting:key:ana","name":"Ana Example","type":"Person"},"id":"urn:scienting:annotation:smithlab/xbwf8p70398mp","layer":"urn:scienting:layer:smithlab/kp4m2x7q","motivation":"linking","receipt":"fdfbqrwwd2w3w","status":"confirmed","target":{"selector":[{"anchor":{"doc":"hale2026harmonic","format":"scienting-anchor/1","kind":"sentence","node":"sxgcc9h","node_hash":"76e06b4811a688357ac4b912172283463cfaf1b7a1f0795d274fc733a2309ba7","own_hash":"2d7df7b8b233eab6f96d5db0d29c99062aaa94b55cf4e388c49b9995ce7548d5","quote":{"exact":"The bond energy is given by $$E_{\\mathrm{bond}} = \\frac{1}{2} K_r (r - r_{\\mathrm{eq}})^2$$ where $K_r$ is the bond force constant and $r_\\mathrm{eq}$ the equilibrium bond length."},"rev":12,"store":"smithlab"},"type":"AnchorSelector"},{"exact":"The bond energy is given by $$E_{\\mathrm{bond}} = \\frac{1}{2} K_r (r - r_{\\mathrm{eq}})^2$$ where $K_r$ is the bond force constant and $r_\\mathrm{eq}$ the equilibrium bond length.","prefix":"","suffix":"","type":"TextQuoteSelector"}],"source":"urn:scienting:doc:smithlab/hale2026harmonic","type":"SpecificResource"},"type":"Annotation"} +{"@context":["http://www.w3.org/ns/anno.jsonld","https://scient.ing/ns/scienting/1.jsonld"],"body":{"audience":"novice","format":"text/markdown","kind":"gloss","language":"en","type":"TextualBody","value":"A *harmonic* term treats a bond like a spring: the energy grows with the square of the stretch."},"created":"2026-10-11T19:00:00Z","creator":{"id":"urn:scienting:key:ana","name":"Ana Example","type":"Person"},"id":"urn:scienting:annotation:smithlab/x0abag88jjq4t","layer":"urn:scienting:layer:smithlab/kp4m2x7q","motivation":"describing","receipt":"q1mqaaps430at","status":"confirmed","target":{"selector":[{"anchor":{"doc":"hale2026harmonic","format":"scienting-anchor/1","kind":"sentence","node":"sxgcc9h","node_hash":"76e06b4811a688357ac4b912172283463cfaf1b7a1f0795d274fc733a2309ba7","own_hash":"2d7df7b8b233eab6f96d5db0d29c99062aaa94b55cf4e388c49b9995ce7548d5","quote":{"exact":"bond force constant","prefix":"rm{eq}})^2$$ where $K_r$ is the ","suffix":" and $r_\\mathrm{eq}$ the equilib"},"rev":12,"span":[111,130],"store":"smithlab"},"type":"AnchorSelector"},{"exact":"bond force constant","prefix":"rm{eq}})^2$$ where $K_r$ is the ","suffix":" and $r_\\mathrm{eq}$ the equilib","type":"TextQuoteSelector"}],"source":"urn:scienting:doc:smithlab/hale2026harmonic","type":"SpecificResource"},"type":"Annotation"} +{"@context":["http://www.w3.org/ns/anno.jsonld","https://scient.ing/ns/scienting/1.jsonld"],"body":{"kind":"claim-link","pin":"illustrative-pin","role":"states","source":"lode:amber/k-bond","type":"SpecificResource"},"created":"2026-10-11T19:00:00Z","creator":{"id":"urn:scienting:key:ana","name":"Ana Example","type":"Person"},"id":"urn:scienting:annotation:smithlab/xbwf8p70398mp","layer":"urn:scienting:layer:smithlab/kp4m2x7q","motivation":"linking","receipt":"q1mqaaps430at","status":"confirmed","target":{"selector":[{"anchor":{"doc":"hale2026harmonic","format":"scienting-anchor/1","kind":"sentence","node":"sxgcc9h","node_hash":"76e06b4811a688357ac4b912172283463cfaf1b7a1f0795d274fc733a2309ba7","own_hash":"2d7df7b8b233eab6f96d5db0d29c99062aaa94b55cf4e388c49b9995ce7548d5","quote":{"exact":"The bond energy is given by $$E_{\\mathrm{bond}} = \\frac{1}{2} K_r (r - r_{\\mathrm{eq}})^2$$ where $K_r$ is the bond force constant and $r_\\mathrm{eq}$ the equilibrium bond length."},"rev":12,"store":"smithlab"},"type":"AnchorSelector"},{"exact":"The bond energy is given by $$E_{\\mathrm{bond}} = \\frac{1}{2} K_r (r - r_{\\mathrm{eq}})^2$$ where $K_r$ is the bond force constant and $r_\\mathrm{eq}$ the equilibrium bond length.","prefix":"","suffix":"","type":"TextQuoteSelector"}],"source":"urn:scienting:doc:smithlab/hale2026harmonic","type":"SpecificResource"},"type":"Annotation"} {"@context":["http://www.w3.org/ns/anno.jsonld","https://scient.ing/ns/scienting/1.jsonld"],"body":{"kind":"comment","type":"TextualBody","value":"The step size matters more than the text admits."},"created":"2026-10-11T19:00:00Z","creator":{"id":"urn:scienting:key:ana","name":"Ana Example","type":"Person"},"id":"urn:scienting:annotation:smithlab/psdmtnbz2q7v0","layer":"urn:scienting:layer:smithlab/kp4m2x7q","motivation":"commenting","status":"proposed","target":{"selector":[{"anchor":{"doc":"hale2026harmonic","format":"scienting-anchor/1","kind":"sentence","node":"eajq93t","node_hash":"42b1de7852cdc68730984fff789fe248ecd5b43198c0e7d671931ff3fe561dc3","own_hash":"4dc28d1ad57c74d044f87264dfbc744ae9d5e9644638db976dbc346361442486","quote":{"exact":"steps of 0.01","prefix":"Each bond was scanned in ","suffix":" Å around its minimum, and the e"},"rev":12,"span":[25,38],"store":"smithlab"},"type":"AnchorSelector"},{"exact":"steps of 0.01","prefix":"Each bond was scanned in ","suffix":" Å around its minimum, and the e","type":"TextQuoteSelector"}],"source":"urn:scienting:doc:smithlab/hale2026harmonic","type":"SpecificResource"},"type":"Annotation"} {"@context":["http://www.w3.org/ns/anno.jsonld","https://scient.ing/ns/scienting/1.jsonld"],"body":{"for":"group","kind":"question","type":"TextualBody","value":"Why fit to a scan first and to frequencies second?"},"created":"2026-10-11T19:00:00Z","creator":{"id":"urn:scienting:key:ana","name":"Ana Example","type":"Person"},"id":"urn:scienting:annotation:smithlab/e5g07csx02bfg","layer":"urn:scienting:layer:smithlab/kp4m2x7q","motivation":"questioning","status":"proposed","target":{"selector":[{"anchor":{"doc":"hale2026harmonic","format":"scienting-anchor/1","kind":"section","node":"f0tj6ca","node_hash":"8acfa263e93dcee504efbfcd328fb69b81f4d71e97b921fa8da664a541e722ff","own_hash":"c3d50f266b05d7889c001aef16662cecd4e99ac4a2747ec331c1044e6adc8e3e","rev":12,"store":"smithlab"},"type":"AnchorSelector"}],"source":"urn:scienting:doc:smithlab/hale2026harmonic","type":"SpecificResource"},"type":"Annotation"} {"@context":["http://www.w3.org/ns/anno.jsonld","https://scient.ing/ns/scienting/1.jsonld"],"body":{"kind":"citation-context","reason":"value","reference":"b3g86a4","type":"TextualBody","value":"Cited for the band position; the reference is not in the library.","verdict":"cannot-tell"},"created":"2026-10-11T19:00:00Z","creator":{"id":"urn:scienting:key:ana","name":"Ana Example","type":"Person"},"id":"urn:scienting:annotation:smithlab/b1ge58mqmp2xy","layer":"urn:scienting:layer:smithlab/kp4m2x7q","motivation":"assessing","status":"proposed","target":{"selector":[{"anchor":{"doc":"hale2026harmonic","format":"scienting-anchor/1","kind":"sentence","node":"f929eq9","node_hash":"cd6cdb032e9b8ab712790b7181f794f6e363b7c4c96888049b59c671c1596369","own_hash":"d5b2ebdc96010fd8fc83abcbec9e5c2340bf766997a485f11f2dae49d0d2dd4c","quote":{"exact":"1595","prefix":" case, with a bending band near ","suffix":" cm⁻¹.2"},"rev":12,"span":[71,75],"store":"smithlab"},"type":"AnchorSelector"},{"exact":"1595","prefix":" case, with a bending band near ","suffix":" cm⁻¹.2","type":"TextQuoteSelector"}],"source":"urn:scienting:doc:smithlab/hale2026harmonic","type":"SpecificResource"},"type":"Annotation"} {"@context":["http://www.w3.org/ns/anno.jsonld","https://scient.ing/ns/scienting/1.jsonld"],"body":{"generator":{"model":"example-model","run":"illustrative-run-1"},"kind":"generated","type":"TextualBody","value":"Two panels: an energy scan and its fit residual."},"created":"2026-10-11T19:00:00Z","creator":{"id":"urn:scienting:software:example-model","name":"A model (illustrative)","type":"Software"},"id":"urn:scienting:annotation:smithlab/yc4zpbf0b780r","layer":"urn:scienting:layer:smithlab/kp4m2x7q","motivation":"describing","status":"proposed","target":{"selector":[{"anchor":{"doc":"hale2026harmonic","format":"scienting-anchor/1","kind":"figure","node":"ajfvq4s","node_hash":"f76864779843485fa9e2f3cc3cd1c76ad222e1649c56f4cface33bf20b8f33b6","own_hash":"a1e46cb40201a17903dfd6f128db1e707b0e9f5bf45fcc32ec7ca772011edeae","rev":12,"store":"smithlab"},"type":"AnchorSelector"}],"source":"urn:scienting:doc:smithlab/hale2026harmonic","type":"SpecificResource"},"type":"Annotation"} -{"@context":["http://www.w3.org/ns/anno.jsonld","https://scient.ing/ns/scienting/1.jsonld"],"body":{"exercise":{"exercise":"anchor","format":"scienting-exercise/1","key":{"elements":[{"anchors":[{"context":{"column_path":["Set A","$K_r$ (kcal mol⁻¹ Å⁻²)"],"row_path":["Bond parameters","CT–CT"],"table_label":"Table 1"},"doc":"hale2026harmonic","format":"scienting-anchor/1","kind":"cell","node":"nkm3xn5","node_hash":"21f13b21948078f64c564334e5bb180b4495edb25a79ae32aa967986a626f3d5","own_hash":"2937e2a6f14cfebd4ffd20e3d514e5cbbf0626a5c0089b7cbea817ef20782b3d","quote":{"exact":"310.0"},"rev":12,"store":"smithlab"}],"feedback":{"hit":"That is the cell.","miss":"Look in Table 1, row CT–CT."},"points":"1"}]},"prompt":"Find the table cell that gives the Set A bond constant for the CT–CT bond.","rule":{"match":"same-node"}},"kind":"exercise","type":"TextualBody","value":"Find the table cell that gives the Set A bond constant for the CT–CT bond."},"created":"2026-10-11T19:00:00Z","creator":{"id":"urn:scienting:key:ana","name":"Ana Example","type":"Person"},"id":"urn:scienting:annotation:smithlab/h6s98vg6qcyjp","layer":"urn:scienting:layer:smithlab/kp4m2x7q","motivation":"assessing","receipt":"fdfbqrwwd2w3w","status":"confirmed","target":{"selector":[{"anchor":{"doc":"hale2026harmonic","format":"scienting-anchor/1","kind":"table","node":"gm5z4rx","node_hash":"999777484c58cf3646eabb6df3e559369a1b081ec4f337d621dade1bf241f339","own_hash":"b56ce0ab4b480c4c43b11ca2eaca410c60fed73341d53896d509e30eabf54477","rev":12,"store":"smithlab"},"type":"AnchorSelector"}],"source":"urn:scienting:doc:smithlab/hale2026harmonic","type":"SpecificResource"},"type":"Annotation"} -{"@context":["http://www.w3.org/ns/anno.jsonld","https://scient.ing/ns/scienting/1.jsonld"],"body":{"exercise":{"exercise":"check","format":"scienting-exercise/1","key":{"elements":[{"anchors":[{"doc":"hale2026harmonic","format":"scienting-anchor/1","kind":"sentence","node":"mbtjsqv","node_hash":"97c328c2e2efedd931292eeda806d3e4bad14d67cfcc324537c0d993068cfbfc","own_hash":"c1c6019d21c26d790304f7f7a080e93cf507d0e22ebeec6bf2e7df19a1820b3b","quote":{"exact":"the most common description","prefix":"Harmonic bond terms remain ","suffix":" of covalent stretching in class"},"rev":12,"span":[27,54],"store":"smithlab"}],"points":"1"}],"verdict":{"points":"1","value":"supports"}},"prompt":"Does the cited passage support the claim that harmonic terms are the most common choice?","rule":{"match":"overlap","min_overlap":"0.5"}},"kind":"exercise","type":"TextualBody","value":"Does the cited passage support the claim that harmonic terms are the most common choice?"},"created":"2026-10-11T19:00:00Z","creator":{"id":"urn:scienting:key:ana","name":"Ana Example","type":"Person"},"id":"urn:scienting:annotation:smithlab/y228zv031s285","layer":"urn:scienting:layer:smithlab/kp4m2x7q","motivation":"assessing","receipt":"fdfbqrwwd2w3w","status":"confirmed","target":{"selector":[{"anchor":{"doc":"hale2026harmonic","format":"scienting-anchor/1","kind":"sentence","node":"mbtjsqv","node_hash":"97c328c2e2efedd931292eeda806d3e4bad14d67cfcc324537c0d993068cfbfc","own_hash":"c1c6019d21c26d790304f7f7a080e93cf507d0e22ebeec6bf2e7df19a1820b3b","quote":{"exact":"Harmonic bond terms remain the most common description of covalent stretching in classical force fields.1"},"rev":12,"store":"smithlab"},"type":"AnchorSelector"},{"exact":"Harmonic bond terms remain the most common description of covalent stretching in classical force fields.1","prefix":"","suffix":"","type":"TextQuoteSelector"}],"source":"urn:scienting:doc:smithlab/hale2026harmonic","type":"SpecificResource"},"type":"Annotation"} +{"@context":["http://www.w3.org/ns/anno.jsonld","https://scient.ing/ns/scienting/1.jsonld"],"body":{"exercise":{"exercise":"anchor","format":"scienting-exercise/1","key":{"elements":[{"anchors":[{"context":{"column_path":["Set A","$K_r$ (kcal mol⁻¹ Å⁻²)"],"row_path":["Bond parameters","CT–CT"],"table_label":"Table 1"},"doc":"hale2026harmonic","format":"scienting-anchor/1","kind":"cell","node":"nkm3xn5","node_hash":"21f13b21948078f64c564334e5bb180b4495edb25a79ae32aa967986a626f3d5","own_hash":"2937e2a6f14cfebd4ffd20e3d514e5cbbf0626a5c0089b7cbea817ef20782b3d","quote":{"exact":"310.0"},"rev":12,"store":"smithlab"}],"feedback":{"hit":"That is the cell.","miss":"Look in Table 1, row CT–CT."},"points":"1"}]},"prompt":"Find the table cell that gives the Set A bond constant for the CT–CT bond.","rule":{"match":"same-node"}},"kind":"exercise","type":"TextualBody","value":"Find the table cell that gives the Set A bond constant for the CT–CT bond."},"created":"2026-10-11T19:00:00Z","creator":{"id":"urn:scienting:key:ana","name":"Ana Example","type":"Person"},"id":"urn:scienting:annotation:smithlab/h6s98vg6qcyjp","layer":"urn:scienting:layer:smithlab/kp4m2x7q","motivation":"assessing","receipt":"q1mqaaps430at","status":"confirmed","target":{"selector":[{"anchor":{"doc":"hale2026harmonic","format":"scienting-anchor/1","kind":"table","node":"gm5z4rx","node_hash":"999777484c58cf3646eabb6df3e559369a1b081ec4f337d621dade1bf241f339","own_hash":"b56ce0ab4b480c4c43b11ca2eaca410c60fed73341d53896d509e30eabf54477","rev":12,"store":"smithlab"},"type":"AnchorSelector"}],"source":"urn:scienting:doc:smithlab/hale2026harmonic","type":"SpecificResource"},"type":"Annotation"} +{"@context":["http://www.w3.org/ns/anno.jsonld","https://scient.ing/ns/scienting/1.jsonld"],"body":{"exercise":{"exercise":"check","format":"scienting-exercise/1","key":{"elements":[{"anchors":[{"doc":"hale2026harmonic","format":"scienting-anchor/1","kind":"sentence","node":"mbtjsqv","node_hash":"97c328c2e2efedd931292eeda806d3e4bad14d67cfcc324537c0d993068cfbfc","own_hash":"c1c6019d21c26d790304f7f7a080e93cf507d0e22ebeec6bf2e7df19a1820b3b","quote":{"exact":"the most common description","prefix":"Harmonic bond terms remain ","suffix":" of covalent stretching in class"},"rev":12,"span":[27,54],"store":"smithlab"}],"points":"1"}],"verdict":{"points":"1","value":"supports"}},"prompt":"Does the cited passage support the claim that harmonic terms are the most common choice?","rule":{"match":"overlap","min_overlap":"0.5"}},"kind":"exercise","type":"TextualBody","value":"Does the cited passage support the claim that harmonic terms are the most common choice?"},"created":"2026-10-11T19:00:00Z","creator":{"id":"urn:scienting:key:ana","name":"Ana Example","type":"Person"},"id":"urn:scienting:annotation:smithlab/y228zv031s285","layer":"urn:scienting:layer:smithlab/kp4m2x7q","motivation":"assessing","receipt":"q1mqaaps430at","status":"confirmed","target":{"selector":[{"anchor":{"doc":"hale2026harmonic","format":"scienting-anchor/1","kind":"sentence","node":"mbtjsqv","node_hash":"97c328c2e2efedd931292eeda806d3e4bad14d67cfcc324537c0d993068cfbfc","own_hash":"c1c6019d21c26d790304f7f7a080e93cf507d0e22ebeec6bf2e7df19a1820b3b","quote":{"exact":"Harmonic bond terms remain the most common description of covalent stretching in classical force fields.1"},"rev":12,"store":"smithlab"},"type":"AnchorSelector"},{"exact":"Harmonic bond terms remain the most common description of covalent stretching in classical force fields.1","prefix":"","suffix":"","type":"TextQuoteSelector"}],"source":"urn:scienting:doc:smithlab/hale2026harmonic","type":"SpecificResource"},"type":"Annotation"} +{"@context":["http://www.w3.org/ns/anno.jsonld","https://scient.ing/ns/scienting/1.jsonld"],"body":{"kind":"description","language":"en","role":"alt","type":"TextualBody","value":"Energy along the C–C bond stretch (panel a) and the fit residual (panel b)."},"created":"2026-10-11T19:00:00Z","creator":{"id":"urn:scienting:key:ana","name":"Ana Example","type":"Person"},"id":"urn:scienting:annotation:smithlab/dz7b0r84n38wp","layer":"urn:scienting:layer:smithlab/kp4m2x7q","motivation":"describing","receipt":"q1mqaaps430at","status":"confirmed","target":{"selector":[{"anchor":{"doc":"hale2026harmonic","format":"scienting-anchor/1","kind":"figure","node":"ajfvq4s","node_hash":"f76864779843485fa9e2f3cc3cd1c76ad222e1649c56f4cface33bf20b8f33b6","own_hash":"a1e46cb40201a17903dfd6f128db1e707b0e9f5bf45fcc32ec7ca772011edeae","rev":12,"store":"smithlab"},"type":"AnchorSelector"}],"source":"urn:scienting:doc:smithlab/hale2026harmonic","type":"SpecificResource"},"type":"Annotation"} {"@context":["http://www.w3.org/ns/anno.jsonld","https://scient.ing/ns/scienting/1.jsonld"],"body":{"kind":"comment","type":"TextualBody","value":"Agreed; see the residual panel."},"created":"2026-10-11T19:05:00Z","creator":{"id":"urn:scienting:key:ana","name":"Ana Example","type":"Person"},"id":"urn:scienting:annotation:smithlab/r05bc2v6ve63x","layer":"urn:scienting:layer:smithlab/kp4m2x7q","motivation":"replying","status":"proposed","target":{"source":"urn:scienting:annotation:smithlab/psdmtnbz2q7v0","type":"SpecificResource"},"type":"Annotation"} diff --git a/fixtures/records/layer/layer.json b/fixtures/records/layer/layer.json index e49bf55..27458e6 100644 --- a/fixtures/records/layer/layer.json +++ b/fixtures/records/layer/layer.json @@ -1 +1 @@ -{"@context":["http://www.w3.org/ns/anno.jsonld","https://scient.ing/ns/scienting/1.jsonld"],"audience":"student","created":"2026-10-11T19:00:00Z","creator":{"id":"urn:scienting:key:ana","name":"Ana Example","type":"Person"},"docs":["smithlab/hale2026harmonic"],"format":"scienting-layer/1","id":"urn:scienting:layer:smithlab/kp4m2x7q","label":"Smith lab reading of Hale and Osei","license":{"spdx":"CC-BY-4.0"},"project":"smithlab-charges","purpose":"Glosses, claim links and exercises for new students.","total":9,"type":"AnnotationCollection","visibility":"team"} +{"@context":["http://www.w3.org/ns/anno.jsonld","https://scient.ing/ns/scienting/1.jsonld"],"audience":"student","created":"2026-10-11T19:00:00Z","creator":{"id":"urn:scienting:key:ana","name":"Ana Example","type":"Person"},"docs":["smithlab/hale2026harmonic"],"format":"scienting-layer/1","id":"urn:scienting:layer:smithlab/kp4m2x7q","label":"Smith lab reading of Hale and Osei","license":{"spdx":"CC-BY-4.0"},"project":"smithlab-charges","purpose":"Glosses, claim links and exercises for new students.","total":10,"type":"AnnotationCollection","visibility":"team"} diff --git a/fixtures/records/layer/receipt.json b/fixtures/records/layer/receipt.json index 3369bbb..6655995 100644 --- a/fixtures/records/layer/receipt.json +++ b/fixtures/records/layer/receipt.json @@ -1 +1 @@ -{"at":"2026-10-11T19:30:00Z","by":"ana","doc":"hale2026harmonic","evidence":[],"format":"scienting-receipt/1","id":"fdfbqrwwd2w3w","level":"F3","nodes":[],"records":[["annotation","h6s98vg6qcyjp","3cbe10d4ecdff3089a25f1b5ca5061e02201243e1bc4ccbe68a92e34a6b18b56"],["annotation","x0abag88jjq4t","7cbc20c779f95e25b2342a316ddf68750110782c0894e00d50dc3073ed5c980e"],["annotation","xbwf8p70398mp","1b0581890cdc337c30feb66baa7691ef2a599888b3df3c348d750e4072dbabd5"],["annotation","y228zv031s285","0eccd844df132a805887437e555e05428424fafa9eb3b2644a7f49a096442a09"]],"rev":12,"root":"fda3463d979d2272c491041e39081f18d8ed2d17affe330b0b58b4fde86106fc","scope":"targeted:layer","signature":{"key":"ana","scheme":"ed25519","value":"HqFlk7RXBLAScs/ANkCPbg7N9jT4KdQ60eCig4VLmbON4ke7//dMLGeaM5DRHpjZH/IIr895eAPS4Nd6YJSPCA=="}} +{"at":"2026-10-11T19:30:00Z","by":"ana","doc":"hale2026harmonic","evidence":[],"format":"scienting-receipt/1","id":"q1mqaaps430at","level":"F3","nodes":[],"records":[["annotation","dz7b0r84n38wp","f7a5af8530468fe4dc54dcca3f2f0cfbfe69db1a77855febdd1a2f3c69d46cfa"],["annotation","h6s98vg6qcyjp","3cbe10d4ecdff3089a25f1b5ca5061e02201243e1bc4ccbe68a92e34a6b18b56"],["annotation","x0abag88jjq4t","7cbc20c779f95e25b2342a316ddf68750110782c0894e00d50dc3073ed5c980e"],["annotation","xbwf8p70398mp","1b0581890cdc337c30feb66baa7691ef2a599888b3df3c348d750e4072dbabd5"],["annotation","y228zv031s285","0eccd844df132a805887437e555e05428424fafa9eb3b2644a7f49a096442a09"]],"rev":12,"root":"72e9d4780a5d61c54e54933e4c576d69f3f079de9901526554a2d381845e437c","scope":"targeted:layer","signature":{"key":"ana","scheme":"ed25519","value":"+foYjFFLJQDJe5a58u8eIEU9e8OCHa2YwOT2xxcwCOUhTXXIPbYGL3GrFhzi5XeftXab7AoKzs4jVNQcSrW4Bw=="}} diff --git a/fixtures/records/qa-report.json b/fixtures/records/qa-report.json index 674e124..9168832 100644 --- a/fixtures/records/qa-report.json +++ b/fixtures/records/qa-report.json @@ -1 +1 @@ -{"at":"2026-10-12T10:00:00Z","delivery":"smithlab evidence pilot (fictional)","docs":["smithlab/hale2026harmonic"],"format":"scienting-qa-report/1","id":"ph9jrxbt8kvd1","receipts":["eqgbbpwb6725v","gena76nkb6cnc"],"reviewers":[{"bound":"0.316340","confidence":"0.95","errors":1,"key":"ana","method":"clopper-pearson","sampled":13}]} +{"at":"2026-10-12T10:00:00Z","by":"ana","delivery":"smithlab evidence pilot (fictional)","docs":["smithlab/hale2026harmonic"],"format":"scienting-qa-report/1","id":"a5bjeh6psabm9","receipts":["eqgbbpwb6725v","gena76nkb6cnc"],"reviewers":[{"bound":"0.316340","confidence":"0.95","errors":1,"key":"ana","method":"clopper-pearson","sampled":13}],"signature":{"key":"ana","scheme":"ed25519","value":"yPHZH2t0ugji1HQcuSOlVwEJA0hWw7Y9mEr4LISi7AcGlM0mEmSm6YtrDnQ8CgkWSQ3gdwEB6HwalV0talSHDg=="}} diff --git a/registry/README.md b/registry/README.md index 9c50e14..f1dcdbb 100644 --- a/registry/README.md +++ b/registry/README.md @@ -6,7 +6,7 @@ This page is for newcomers, implementers who need the exact behavior, and expert | File | Holds | | --- | --- | -| `formats.json` | Every format: its identifier, media type (null for four formats that have none), schema, status, chapter and a one-line description. | +| `formats.json` | Every format: its identifier, media type (null for the five that have none), schema, status, chapter and a one-line description. | | `rules.json` | Every validation rule ID, with what it means and the chapter that defines it. | | `stamps/scienting-stamps-1.json` | The published rules that recognize the download stamps publishers add to PDFs (see Adding stamp rules), so page fingerprints ignore them. | | `stages/scienting-stages-default.json` | The rights each processing stage needs, as a default a team may replace. | @@ -17,7 +17,7 @@ Each entry in `formats.json` has a `status`. A `candidate` format is complete, with vectors and fixtures, and ready to implement. It changes only with a recorded reason and a new or changed vector. A `provisional` format is complete and expected to change as implementations gain experience, so it may change more freely. -At version 0.1.0, 20 of the 27 formats are `candidate` and seven are `provisional`. +At version 0.1.0, 18 of the 29 formats are `candidate` and 11 are `provisional`. The third defined value, `reserved`, is unused. The values are defined in [Chapter 0, section 0.4](../spec/00-introduction.md#04-status), and the stability rules in [Chapter 22, section 22.5](../spec/22-conformance.md#225-stability). diff --git a/registry/formats.json b/registry/formats.json index b0b8d9e..49b7492 100644 --- a/registry/formats.json +++ b/registry/formats.json @@ -72,7 +72,15 @@ "schema": "qa-report.schema.json", "status": "candidate", "chapter": "spec/08-fidelity.md", - "description": "Reviewer error bounds for a delivery." + "description": "Reviewer error bounds for a delivery, signed." + }, + { + "format": "scienting-spot-check/1", + "media_type": null, + "schema": "spot-check.schema.json", + "status": "candidate", + "chapter": "spec/08-fidelity.md", + "description": "The payload a spot-check key signs to seed a sample; never a file of its own." }, { "format": "scienting-rights/1", @@ -142,7 +150,7 @@ "format": "scienting-exercise/1", "media_type": null, "schema": "exercise.schema.json", - "status": "candidate", + "status": "provisional", "chapter": "spec/19-exercises.md", "description": "The body of an exercise annotation." }, @@ -150,7 +158,7 @@ "format": "scienting-submission/1", "media_type": "application/vnd.scienting.submission+json", "schema": "submission.schema.json", - "status": "candidate", + "status": "provisional", "chapter": "spec/19-exercises.md", "description": "A student's answer under a pseudonym." }, @@ -158,7 +166,7 @@ "format": "scienting-grade/1", "media_type": "application/vnd.scienting.grade+json", "schema": "grade.schema.json", - "status": "candidate", + "status": "provisional", "chapter": "spec/19-exercises.md", "description": "The grader's result." }, @@ -217,6 +225,14 @@ "status": "provisional", "chapter": "spec/21-drafts.md", "description": "A Typst project's sentence-ID sidecar." + }, + { + "format": "scienting-checklist/1", + "media_type": "application/vnd.scienting.checklist+json", + "schema": "checklist.schema.json", + "status": "provisional", + "chapter": "spec/08-fidelity.md", + "description": "A check of an export against a named standard, covered by a receipt." } ] } diff --git a/registry/rules.json b/registry/rules.json index 78a6c4b..3d2aaf8 100644 --- a/registry/rules.json +++ b/registry/rules.json @@ -198,6 +198,16 @@ "description": "A node of a kind that takes no label has one.", "chapter": "spec/22-conformance.md" }, + { + "id": "doc.node.schema", + "description": "A node a correction produced does not validate against the node schema (a property the kind does not take, or a bad shape).", + "chapter": "spec/11-corrections.md" + }, + { + "id": "doc.counts", + "description": "document.json's counts are not the number of nodes and of leaves.", + "chapter": "spec/22-conformance.md" + }, { "id": "doc.order.ids", "description": "ids.jsonl is not aliases by ID, then retirements by revision and ID.", @@ -435,13 +445,28 @@ }, { "id": "package.path.unsafe", - "description": "A path is absolute, has an empty, `.` or `..` segment, a backslash or a NUL, or is not normalized.", + "description": "A path is absolute, has an empty, `.` or `..` segment, a backslash or a NUL, is not normalized, or is or passes through a symbolic link.", "chapter": "spec/22-conformance.md" }, + { + "id": "package.size", + "description": "The package's files exceed the consumer's size limit.", + "chapter": "spec/12-package.md" + }, { "id": "package.schema", "description": "A file or line does not validate against its schema.", "chapter": "spec/22-conformance.md" + }, + { + "id": "package.zip.entry", + "description": "A zipped package is not a zip archive, or an entry is encrypted, a symbolic link, neither stored nor deflated, not marked as UTF-8, duplicated, unsafe as a path, or not under one top-level folder named by the key.", + "chapter": "spec/12-package.md" + }, + { + "id": "package.zip.size", + "description": "A zipped package expands past the consumer's limit, or an entry holds more than its header declares.", + "chapter": "spec/12-package.md" } ] } diff --git a/schemas/README.md b/schemas/README.md index a8cf671..ca67900 100644 --- a/schemas/README.md +++ b/schemas/README.md @@ -1,6 +1,6 @@ # Schemas -This folder holds the JSON (JavaScript Object Notation) Schemas (draft 2020-12) for every file and record that the manuspec formats (manuspec is the specification this repository holds) define: 37 schema files. +This folder holds the JSON (JavaScript Object Notation) Schemas (draft 2020-12) for every file and record that the manuspec formats (manuspec is the specification this repository holds) define: 39 schema files. A JSON Schema is a file, itself written in JSON, that states what a valid JSON file looks like. Newcomers can read it as a form: it lists the fields a record must have and what kind of value each field takes. Implementers will find the loading recipe and the traps under "Validating" and "Writing schemas". @@ -23,21 +23,21 @@ The number after each name is the chapter of `spec/` that defines the file. | A package | `manifest.schema.json` (12), `document.schema.json` (2, 12), `node.schema.json` (3), `runs.schema.json` (3), `witnesses.schema.json` (2), `provenance.schema.json` (12), `page.schema.json` (7), `location.schema.json` (7), `reference.schema.json` (10), `id-entry.schema.json` (4), `correction.schema.json` (11), `receipt.schema.json` (8), `revocation.schema.json` (8), `roster.schema.json` (8), `suspect.schema.json` (5), `mathml.schema.json` (12) | | Pointing into documents | `anchor.schema.json` (6) | | Rights | `rights.schema.json` (14), `policy.schema.json` (14), `stages.schema.json` (14), `backend.schema.json` (14), `profile.schema.json` (14), `stamps.schema.json` (7) | -| Review | `qa-report.schema.json` (8) | +| Review | `qa-report.schema.json` (8), `spot-check.schema.json` (8), `checklist.schema.json` (8) | | Annotation and teaching | `layer.schema.json` (18), `annotation.schema.json` (18), `exercise.schema.json` (19), `submission.schema.json` (19), `grade.schema.json` (19) | | Data | `dataset.schema.json` (15), `value-anchor.schema.json` (15), `digitization.schema.json` (16), `view.schema.json` (17) | | Teams and drafts | `project.schema.json` (20), `snapshot.schema.json` (21), `draft-ids.schema.json` (21) | A record that travels on its own carries a `format` such as `scienting-anchor/1`. [registry/formats.json](../registry/formats.json) maps each format to its schema, its chapter and its status. -The formats registry lists 27 formats: 20 are `candidate` (complete, with vectors and fixtures, ready to implement) and 7 are `provisional` (complete; expected to change as implementations gain experience), as defined in `spec/00-introduction.md` §0.4. -The provisional formats are `scienting-project/1`, `scienting-bundle/1`, `scienting-dataset/1`, `scienting-digitization/1`, `scienting-view/1`, `scienting-snapshot/1` and `scienting-draft-ids/1`. -The Data schemas for datasets, digitizations and views, and the Teams and drafts schemas, belong to provisional formats. +The formats registry lists 29 formats: 18 are `candidate` (complete, with vectors and fixtures, ready to implement) and 11 are `provisional` (complete; expected to change as implementations gain experience), as defined in `spec/00-introduction.md` §0.4. +The provisional formats are `scienting-project/1`, `scienting-bundle/1`, `scienting-dataset/1`, `scienting-digitization/1`, `scienting-view/1`, `scienting-snapshot/1`, `scienting-draft-ids/1`, `scienting-exercise/1`, `scienting-submission/1`, `scienting-grade/1` and `scienting-checklist/1`. +The Data schemas for datasets, digitizations and views, the Teams and drafts schemas, the three teaching schemas and `checklist.schema.json` belong to provisional formats. The rest belong to `candidate` formats or to no format of their own. The bundle has no JSON Schema: its registry entry points to `sql/bundle-sqlite.sql`. -Eleven schemas have no format of their own because each describes a line or part of a larger file: `common`, `node`, `runs`, `witnesses`, `provenance`, `location`, `reference`, `id-entry`, `mathml`, `annotation` and `value-anchor`. -Of the schemas that do have one, 23 require a `format` property. +Of the 39 schemas, 11 have no format of their own because each describes a line or part of a larger file: `common`, `node`, `runs`, `witnesses`, `provenance`, `location`, `reference`, `id-entry`, `mathml`, `annotation` and `value-anchor`. +Of the schemas that do have one, 25 require a `format` property; `spot-check.schema.json` describes a signing payload rather than a file. The others (`page`, `draft-ids` and `view`) describe a line of a file or a Vega-Lite specification (a JSON description of a chart), and the record itself does not need to carry the identifier. ## Validating diff --git a/schemas/annotation.schema.json b/schemas/annotation.schema.json index 019cd73..3bccb38 100644 --- a/schemas/annotation.schema.json +++ b/schemas/annotation.schema.json @@ -428,6 +428,43 @@ ], "additionalProperties": false }, + { + "type": "object", + "properties": { + "type": { + "const": "TextualBody" + }, + "value": { + "type": "string", + "minLength": 1 + }, + "format": { + "enum": [ + "text/plain", + "text/markdown" + ] + }, + "language": { + "$ref": "common.schema.json#/$defs/language" + }, + "kind": { + "const": "description" + }, + "role": { + "enum": [ + "alt", + "long" + ] + } + }, + "required": [ + "type", + "kind", + "value", + "role" + ], + "additionalProperties": false + }, { "type": "object", "properties": { diff --git a/schemas/checklist.schema.json b/schemas/checklist.schema.json new file mode 100644 index 0000000..d4fff4b --- /dev/null +++ b/schemas/checklist.schema.json @@ -0,0 +1,151 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://scient.ing/ns/schemas/checklist.schema.json", + "title": "Conformance checklist", + "description": "scienting-checklist/1: a check of an export against a named standard, covered by a receipt; spec/08-fidelity.md §8.11.", + "type": "object", + "properties": { + "format": { + "const": "scienting-checklist/1" + }, + "id": { + "$ref": "common.schema.json#/$defs/recordId" + }, + "doc": { + "$ref": "common.schema.json#/$defs/qualifiedKey" + }, + "rev": { + "type": "integer", + "minimum": 0 + }, + "standard": { + "type": "object", + "properties": { + "name": { + "type": "string", + "minLength": 1 + }, + "level": { + "type": "string", + "minLength": 1 + }, + "url": { + "$ref": "common.schema.json#/$defs/url" + } + }, + "required": [ + "name" + ], + "additionalProperties": false + }, + "export": { + "type": "object", + "properties": { + "kind": { + "enum": [ + "html", + "pdf", + "epub", + "other" + ] + }, + "sha256": { + "$ref": "common.schema.json#/$defs/hash" + }, + "size": { + "type": "integer", + "minimum": 0 + } + }, + "required": [ + "kind", + "sha256" + ], + "additionalProperties": false + }, + "items": { + "type": "array", + "items": { + "type": "object", + "properties": { + "criterion": { + "type": "string", + "minLength": 1 + }, + "result": { + "enum": [ + "pass", + "fail", + "not-applicable" + ] + }, + "method": { + "enum": [ + "manual", + "automated" + ] + }, + "tool": { + "type": "object", + "properties": { + "name": { + "type": "string", + "minLength": 1 + }, + "version": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "name", + "version" + ], + "additionalProperties": false + }, + "note": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "criterion", + "result", + "method" + ], + "additionalProperties": false, + "if": { + "properties": { + "method": { + "const": "automated" + } + } + }, + "then": { + "required": [ + "tool" + ] + } + }, + "minItems": 1 + }, + "by": { + "$ref": "common.schema.json#/$defs/key" + }, + "at": { + "$ref": "common.schema.json#/$defs/time" + } + }, + "required": [ + "format", + "id", + "doc", + "rev", + "standard", + "export", + "items", + "by", + "at" + ], + "additionalProperties": false +} diff --git a/schemas/qa-report.schema.json b/schemas/qa-report.schema.json index 8feea1c..8952233 100644 --- a/schemas/qa-report.schema.json +++ b/schemas/qa-report.schema.json @@ -67,8 +67,14 @@ }, "minItems": 1 }, + "by": { + "$ref": "common.schema.json#/$defs/key" + }, "at": { "$ref": "common.schema.json#/$defs/time" + }, + "signature": { + "$ref": "common.schema.json#/$defs/signature" } }, "required": [ @@ -77,7 +83,9 @@ "docs", "receipts", "reviewers", - "at" + "by", + "at", + "signature" ], "additionalProperties": false } diff --git a/schemas/spot-check.schema.json b/schemas/spot-check.schema.json new file mode 100644 index 0000000..7219a63 --- /dev/null +++ b/schemas/spot-check.schema.json @@ -0,0 +1,20 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://scient.ing/ns/schemas/spot-check.schema.json", + "title": "Spot-check seed payload", + "description": "scienting-spot-check/1: the payload a spot-check key signs to seed a sample; it names a receipt by its record hash and is never a file of its own; spec/08-fidelity.md §8.8.", + "type": "object", + "properties": { + "format": { + "const": "scienting-spot-check/1" + }, + "receipt": { + "$ref": "common.schema.json#/$defs/hash" + } + }, + "required": [ + "format", + "receipt" + ], + "additionalProperties": false +} diff --git a/spec/00-introduction.md b/spec/00-introduction.md index 2c8cdfe..c4dd809 100644 --- a/spec/00-introduction.md +++ b/spec/00-introduction.md @@ -56,7 +56,7 @@ The specification as a whole is versioned with semantic versioning; this is vers ## 0.4 Status Each format has one of three statuses, listed in [registry/formats.json](../registry/formats.json). -In version 0.1.0 the registry lists 27 formats: 20 are `candidate` and 7 are `provisional`; none is `reserved`. +In version 0.1.0 the registry lists 29 formats: 18 are `candidate` and 11 are `provisional`; none is `reserved`. | Status | Meaning | | --- | --- | diff --git a/spec/05-hashes.md b/spec/05-hashes.md index 2ea774f..3c40e46 100644 --- a/spec/05-hashes.md +++ b/spec/05-hashes.md @@ -70,7 +70,7 @@ A later minor version may add stage 2, which replaces U+FFFC with canonical Math A character is simple, after folding, when it is: -1. a letter: General Category L and Script Latin or Greek, or U+00B5 MICRO SIGN; +1. a letter: General Category L in the Latin blocks U+0041–U+024F and U+1E00–U+1EFF, or in the Greek blocks U+0370–U+03FF, without the Coptic letters U+03E2–U+03EF, and U+1F00–U+1FFF; or U+00B5 MICRO SIGN; 2. a digit: General Category Nd; or 3. one of `+ − = × ⋅ / < > ≤ ≥ ± ( ) ′ . ,`. @@ -86,7 +86,7 @@ There are no spaces in the form, and a script with no base attaches to the chara | Token | Meaning | | --- | --- | -| `{` … `}` | A group; its atoms are spliced in. A script on a group of more than one atom makes the source complex. | +| `{` … `}` | A group; its atoms are spliced in. A script on a group of more than one atom makes the source complex; a script after an empty group applies to the atom before it, or to an empty base, so `{}^{14}C` is `^{14}C`. | | `_`, `^` | A subscript or superscript of the previous atom (or of an empty base), taking one argument: a group, a command or a character. A second script of the same kind is complex. | | `'` | A prime on the previous atom. | | `\mathrm`, `\text`, `\textrm`, `\mathup` | A wrapper: its argument's atoms are spliced in. | diff --git a/spec/07-geometry.md b/spec/07-geometry.md index 4354db3..e2d03de 100644 --- a/spec/07-geometry.md +++ b/spec/07-geometry.md @@ -11,12 +11,12 @@ To compute the fingerprint: 1. Remove every line that a stamp rule matches ([7.2](#72-stamp-rules)). 2. Join the remaining lines with U+0020. -3. Fold Unicode script characters and dashes before digits as the strict projection does for text ([5.4](05-hashes.md#54-simple-notation)), then apply NFKC. -4. Delete every whitespace character and every character of General Category Cc or Cf. +3. Delete every whitespace character and every character of General Category Cc or Cf. +4. Fold Unicode script characters and dashes before digits as the strict projection does for text ([5.4](05-hashes.md#54-simple-notation)), then apply NFKC. 5. Round the width and height to whole points, half up. 6. The fingerprint is SHA-256 of the canonical JSON of `{"format": "scienting-page/1", "size": [width, height], "text": the text, "images": the image hashes, sorted}`. -Whitespace is deleted rather than collapsed because text extractors disagree about where they insert spaces. +Whitespace is deleted rather than collapsed because text extractors disagree about where they insert spaces, and it is deleted before folding so that "10 -20" and "10-20" fold alike. A scanned page with no text layer is fingerprinted by its size and its images alone. Two witnesses whose fingerprints are equal, page for page, are the same edition of the paper. diff --git a/spec/08-fidelity.md b/spec/08-fidelity.md index 179f0aa..5abd963 100644 --- a/spec/08-fidelity.md +++ b/spec/08-fidelity.md @@ -85,6 +85,7 @@ A receipt is: Only valid receipts set levels. A suspended receipt stays suspended; its reviewer reviews the sitting again and signs a new receipt, which needs its own spot-check. +A spot-check is itself a receipt, so its status may depend on its own spot-check; statuses are settled from the end of each chain, and the receipts of a chain that loops back on itself are invalid. ## 8.7 Revocations and the roster @@ -108,8 +109,9 @@ A seed the reviewer controls could be ground, by varying the receipt until the s 3. Rank the original's node IDs by the hexadecimal SHA-256 of the seed's 64 bytes followed by the ID's UTF-8, then by ID, and take the first ones. The `qa` object records `of`, `key`, `seed` (Base64), `rate`, `minimum`, the `sample` sorted by ID, and the `errors` found, each `{node, kind?, note?}`. -The `qa:` receipt's `nodes` are the sampled nodes at the hashes the original lists. +The `qa:` receipt's `nodes` are the sampled nodes at the hashes the original lists, its `scope` is `qa:` and the original's ID, every error names a sampled node, and it is signed at or after the original. Anyone can recompute the sample; `spotcheck.jsonl` does. +The payload's identifier, `scienting-spot-check/1`, is registered with the other formats so that no file ever carries it by mistake; it names a signing payload, never a file. ## 8.9 Reviewer error bounds @@ -119,10 +121,30 @@ It is reported to six decimal places, rounded up. With no errors the bound is about 3/*n*, so zero errors in 300 sampled nodes bounds a rate below 1%; `bounds.jsonl` gives cases. A QA report, `scienting-qa-report/1`, states for each reviewer who signed a delivery the nodes sampled, the errors found, the confidence, the method `clopper-pearson` and the bound. +It is the record a buyer keeps, so it is signed like a receipt ([8.4](#84-record-hashes-and-signatures)): `by` names the roster key of the team that made the delivery, `id` derives from the record hash, and `signature.key` equals `by`. ## 8.10 Targeted F3 -The target set of a document is every node that an extract, a dataset value, a confirmed `claim-link`, a draft quotation or a pinned citation anchors, plus every display equation, plus every sentence with a digit in a `text` or `math` run. -Digits in `cite`, `xref` and `fnmark` runs do not count. -A project sets the digit rule to `all`, `anchored-sections` (only sentences in a section that holds an anchored node) or `none`. +Most of a paper is never relied on, so a team proofreads the target set: the nodes its claims, data and quotations rest on. + +1. The anchored nodes: every live node that an extract, a dataset value, a confirmed `claim-link`, a draft quotation or a pinned citation anchors, each anchor resolved first ([6.5](06-anchors.md#65-resolution)). + An anchored leaf is a target; an anchored container contributes its leaves. +2. Every `equation` and `equation-line`. +3. Under the project's digit rule ([20](20-projects.md)): with `all`, every `sentence` and `cell` with a digit in a `text` or `math` run; with `anchored-sections`, only those in a section that holds an anchored node; with `none`, none. + Digits are characters of General Category Nd. + Digits in `cite`, `xref` and `fnmark` runs do not count, so citation marks, "Figure 3" and footnote marks pull nothing in. + A node's section is its nearest ancestor-or-self of kind `section`, or the `front` or `back` matter when it has none. + +The set is reported in document order, each node with the first reason that applies: `anchored`, `equation` or `digits`. Neighbors shown for context are not in the set, and nothing new comes to rest on a node below F3 without the node joining the set. +`targets.jsonl` gives the set of `fixtures/packages/hale2026harmonic` under each digit rule. + +## 8.11 Checklists + +An export of a document, such as accessible HTML, can be checked against a standard, and that check is a record a buyer keeps. +A checklist, `scienting-checklist/1`, holds the `doc` and `rev` checked; the `standard`, `{name, level?, url?}`, such as WCAG 2.1 at level AA; the `export` checked, `{kind, sha256, size?}`, so the record binds to one file; its `items`, each a `criterion`, its `result` (`pass`, `fail` or `not-applicable`), the `method` (`manual`, or `automated` with the `tool` and its version) and an optional `note`; and `by` and `at`. +Its content hash is SHA-256 of the canonical JSON of the record without `id`, and its `id` is the record ID of that hash ([4.6](04-identity.md#46-record-ids)). +A checklist carries no signature of its own: the person who checked signs a receipt that lists it as `["checklist", id, hash]` ([8.3](#83-receipts)), so one sitting covers a checklist together with the nodes read for it. +The receipt covers the checklist only at that hash, so a checklist changed afterwards is uncovered. +`fixtures/records/checklist/` holds a checklist for an accessible HTML export of the example paper and the receipt that covers it. +The format is `provisional` ([0.4](00-introduction.md#04-status)). diff --git a/spec/12-package.md b/spec/12-package.md index b294a8f..9450f5b 100644 --- a/spec/12-package.md +++ b/spec/12-package.md @@ -29,8 +29,10 @@ Every file is in the canonical form of [1.9](01-conventions.md#19-files). ## 12.2 Paths Paths use `/`, are relative, have no empty, `.` or `..` segment, no backslash and no NUL, and are already normalized. +No two paths are the same once case-folded, so a package reads alike on every file system. +A package folder carries no symbolic links, and a consumer refuses one that does, as it refuses a package whose files exceed its own size limit. In a zip, entries are UTF-8 named, sit under one top-level folder named by the key, are stored or deflated, carry no symbolic links, and are unique; a consumer refuses an archive that breaks any of these, or whose expanded size exceeds its own limit. -A producer that wants byte-identical archives writes entries sorted by path, dated 1980-01-01 00:00, with no extra fields. +A producer that wants byte-identical archives writes entries sorted by path, dated 1980-01-01 00:00, with no extra fields; `fixtures/packages/tiny2026example.sct.zip` is such an archive. ## 12.3 The manifest diff --git a/spec/18-layers.md b/spec/18-layers.md index e4b27ce..673f4ba 100644 --- a/spec/18-layers.md +++ b/spec/18-layers.md @@ -53,8 +53,11 @@ Replies are annotations that target annotations, so discussions are threads anch | `prerequisite` | `SpecificResource` | `source` | What to read or know first. | | `crosslink` | `SpecificResource` | `source`, `selector` | That the span corresponds to a span in another document. | | `translation` | `TextualBody` | `language` | The span in another language. | +| `description` | `TextualBody` | `role` | A description of a figure, panel or table for readers who cannot see it: `alt`, a short text equivalent, or `long`, a full description. | | `generated` | `TextualBody` | `generator` | Text a model wrote about the span; never mistaken for source. | A textual body has a `value`, and optionally a `format` (`text/plain` or `text/markdown`) and a `language`. -Nothing a model writes is ever stored as source text: figure descriptions and drafted alt text are `generated` annotations. +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 and the receipt that confirms some of them. diff --git a/spec/19-exercises.md b/spec/19-exercises.md index 68a06d4..0b7a30d 100644 --- a/spec/19-exercises.md +++ b/spec/19-exercises.md @@ -1,6 +1,7 @@ # 19. Exercises, submissions and grades Because every sentence and cell has a permanent address, the answer to a verification exercise is an address, and an address can be graded. +The three formats of this chapter, exercise, submission and grade, are `provisional` ([0.4](00-introduction.md#04-status)): no course has used them yet, and the first that does will shape them. ## 19.1 Exercises diff --git a/spec/22-conformance.md b/spec/22-conformance.md index 0bfd81d..54d15ec 100644 --- a/spec/22-conformance.md +++ b/spec/22-conformance.md @@ -5,7 +5,7 @@ | Path | Holds | A conforming implementation | | --- | --- | --- | | `vectors/*.jsonl` | Inputs and expected outputs, one case per line. | Computes every expected output from its input. | -| `fixtures/packages/` | Valid packages: a converted chemistry paper with corrections, receipts, a multi-level-header table and a dataset; its checks-only export; an open-access paper with two witnesses; a Typst draft; a tiny document. | Accepts each, and recomputes every value it contains. | +| `fixtures/packages/` | Valid packages: a converted chemistry paper with corrections, receipts, a multi-level-header table and a dataset; its checks-only export; an open-access paper with two witnesses; a Typst draft; a tiny document, as a folder and as the zip of [12.2](12-package.md#122-paths). | Accepts each, and recomputes every value it contains. | | `fixtures/records/` | A valid record of every other format that is a JSON file of its own; the stage requirements and stamp rules are in `registry/`, and a bundle is built by `tools/load.py --bundle`. | Accepts each. | | `fixtures/invalid/` | Invalid packages, each with `expect.json` naming the rule it breaks. | Refuses each, and SHOULD name that rule. | | `fixtures/keys/` | The test keys that signed the fixtures and the team secret of the checks-only export. | Never uses them for anything else. | @@ -17,9 +17,9 @@ Each part's CI runs this suite against its own implementation, so the parts cann A validator checks, in order, and reports each failure as `path:line: rule: message`: -1. The manifest: present, valid, sorted, every listed file present with its hash and size, nothing unlisted, paths safe, required files present. -2. Every file in canonical form, and every record against its schema. -3. The tree ([3](03-nodes.md)), runs and references between nodes. +1. The manifest: present, valid, sorted, every listed file present with its hash and size, nothing unlisted, paths safe and no symbolic links, required files present. +2. Every file in canonical form, byte for byte, and every record against its schema. +3. The tree ([3](03-nodes.md)), runs and references between nodes, and the counts. 4. The policy and hashing scheme ([12.5](12-package.md#125-text-policies)). 5. The five values of every node, the root and `meta_hash`, when the text is present and the key, if any, is known. 6. The ID table, the corrections, the witnesses, pages, locations and references, and every file's order. diff --git a/sql/doc.sql b/sql/doc.sql index f9cb5ae..315e6c7 100644 --- a/sql/doc.sql +++ b/sql/doc.sql @@ -168,7 +168,7 @@ CREATE TABLE receipts ( export_of VARCHAR(32), keyed TEXT, signature TEXT NOT NULL, - PRIMARY KEY (id) + PRIMARY KEY (doc_key, id) ); CREATE INDEX receipts_doc ON receipts (doc_key, made_at); @@ -178,7 +178,7 @@ CREATE TABLE receipt_nodes ( doc_key VARCHAR(128) NOT NULL, node VARCHAR(16) NOT NULL, node_hash VARCHAR(64) NOT NULL, - PRIMARY KEY (receipt, node) + PRIMARY KEY (doc_key, receipt, node) ); CREATE INDEX receipt_nodes_node ON receipt_nodes (doc_key, node); @@ -193,7 +193,8 @@ CREATE TABLE revocations ( signer VARCHAR(128) NOT NULL, made_at VARCHAR(20) NOT NULL, signature TEXT NOT NULL, - PRIMARY KEY (id) + -- A revocation of a signer's period carries no document, so two packages may carry the same record. + PRIMARY KEY (doc_key, id) ); CREATE TABLE suspects ( diff --git a/sql/store.sql b/sql/store.sql index 29cb9e7..609898f 100644 --- a/sql/store.sql +++ b/sql/store.sql @@ -67,7 +67,7 @@ CREATE TABLE layers ( CREATE TABLE annotations ( id VARCHAR(256) NOT NULL, layer VARCHAR(256) NOT NULL, - body_kind VARCHAR(24) NOT NULL CHECK (body_kind IN ('gloss', 'claim-link', 'symbol', 'comment', 'caveat', 'question', 'exercise', 'citation-context', 'prerequisite', 'crosslink', 'translation', 'generated')), + body_kind VARCHAR(24) NOT NULL CHECK (body_kind IN ('gloss', 'claim-link', 'symbol', 'comment', 'caveat', 'question', 'exercise', 'citation-context', 'prerequisite', 'crosslink', 'translation', 'description', 'generated')), status VARCHAR(10) NOT NULL CHECK (status IN ('proposed', 'confirmed', 'rejected', 'withdrawn')), receipt VARCHAR(32), creator VARCHAR(256) NOT NULL, diff --git a/tools/README.md b/tools/README.md index 2c5707e..674b428 100644 --- a/tools/README.md +++ b/tools/README.md @@ -15,10 +15,11 @@ A fixture is an example file or package under `fixtures/`. | Program | Does | | --- | --- | -| `check.py` | Checks everything: schemas, records, packages, the broken packages, every vector, a byte-for-byte rebuild, the SQL (a database query language) round trip and the prose. `--quick` skips the rebuild. | +| `check.py` | Checks everything: schemas, records, packages and the zipped package, the broken packages, every vector, a byte-for-byte rebuild, the SQL (a database query language) round trip, the counts the prose states, and the prose. `--quick` skips the rebuild. | | `build.py` | Builds `fixtures/` and `vectors/` from the hand-written sources in `fixtures/src/` and the cases it defines. `--out DIR` builds into another folder. | -| `validate.py` | Validates packages: `python3 tools/validate.py PACKAGE [PACKAGE ...]`. With `--correction PROPOSALS` it runs proposed corrections through the gate against one package's current state, and prints the record each would append or the rule it breaks, without writing anything ([spec/11 §11.4](../spec/11-corrections.md#114-the-gate)). | -| `load.py` | Validates packages, then loads them into a SQLite database with the tables of `sql/`: `python3 tools/load.py --sqlite lab.db PACKAGE [PACKAGE ...]`. With `--bundle --built-from REV` it builds a new bundle instead, with the full-text search index ([spec/13 §13.5](../spec/13-database.md#135-the-bundle)). | +| `validate.py` | Validates packages, as folders or as zipped packages (`.sct.zip`, unpacked under the rules of [spec/12 §12.2](../spec/12-package.md#122-paths)): `python3 tools/validate.py PACKAGE [PACKAGE ...]`. With `--correction PROPOSALS` it runs proposed corrections through the gate against one package's current state, and prints the record each would append or the rule it breaks, without writing anything ([spec/11 §11.4](../spec/11-corrections.md#114-the-gate)). | +| `load.py` | Validates packages, folders or zipped, then loads them into a SQLite database with the tables of `sql/`: `python3 tools/load.py --sqlite lab.db PACKAGE [PACKAGE ...]`. With `--bundle --built-from REV` it builds a new bundle instead, with the full-text search index ([spec/13 §13.5](../spec/13-database.md#135-the-bundle)). | +| `stress.py` | Stresses the oracle with random inputs from a seeded generator: `python3 tools/stress.py [--seed N] [--rounds N]`. It checks the invariants the chapters state rather than the vectors' values, such as canonical JSON round trips, corrections keeping the five values consistent with a full recomputation, anchors always resolving to one of the five outcomes, the zip reader never writing outside its folder, and a mutated package always being refused. | | `oracle/` | A compact implementation of every rule. `build.py` uses it to compute expected values, and `check.py` uses it to recompute them. | ## When to run what diff --git a/tools/build.py b/tools/build.py index 38abfbe..330b410 100644 --- a/tools/build.py +++ b/tools/build.py @@ -14,6 +14,7 @@ import os import shutil import struct import sys +import zipfile import zlib from fractions import Fraction @@ -24,14 +25,17 @@ from tools.oracle import align as AL # noqa: E402 from tools.oracle import anchors as AN # noqa: E402 from tools.oracle import corrections as CO # noqa: E402 from tools.oracle import crypto, fingerprint as FP, grade as GR, hashing, jcs, receipts as RC, rights as RI # noqa: E402 +from tools.oracle import targets as TG # noqa: E402 from tools.oracle.model import LEAVES, MATH_KINDS, RUN_KINDS, VERBATIM_KINDS, Doc # noqa: E402 from tools.oracle.notation import fold_math # noqa: E402 -from tools.oracle.package import jsonl, line, witness_id, write # noqa: E402 +from tools.oracle.package import ZIP_EXTENSION, jsonl, line, witness_id, write, write_zip # noqa: E402 +from tools.oracle.schema import Store # noqa: E402 from tools.oracle.text import letter_first, mint_node_id, norm, record_id, sha256_hex # noqa: E402 from tools.oracle.tree import Refusal, _flatten, mint_ids, validate_structure # noqa: E402 VERSION = "0.1.0" STORE = "smithlab" +SCHEMAS = Store(os.path.join(ROOT, "schemas")) def H(s): @@ -440,7 +444,7 @@ def build_document(src, used=None, extra_files=None): if before is not None: d = state.doc() c["offset"] = hashing.plain(d, c["target"]).index(before) - state, rec = CO.apply(state, c) + state, rec = CO.apply(state, c, store=SCHEMAS) if new_name: names.ids[new_name] = rec["created"][0] records.append(rec) @@ -798,7 +802,11 @@ def vectors(out, hale, tiny): ("tex", "a \\cdot b"), ("typst", "a dot b"), ("tex", "a \\times b \\pm c"), ("tex", "\\left(x\\right)^2"), ("typst", "(a+b)^2"), ("tex", "\\frac{a}{b}"), ("typst", "a/b"), ("tex", "\\sqrt{2}"), ("tex", "\\mathbf{F}"), ("tex", "{ab}_2"), ("tex", "x_1_2"), ("tex", "\\Delta G^\\circ"), - ("tex", "E_{\\mathrm{bond}} = \\frac{1}{2} K_r (r - r_{\\mathrm{eq}})^2"), ("typst", "E = K_r (r - r_\"eq\")^2")] + ("tex", "E_{\\mathrm{bond}} = \\frac{1}{2} K_r (r - r_{\\mathrm{eq}})^2"), ("typst", "E = K_r (r - r_\"eq\")^2"), + # A script after an empty group applies to the atom before it, or to an empty base (the isotope idiom). + ("tex", "{}^{14}C"), ("tex", "x{}^2"), ("tex", "{}_2"), ("tex", "\\left)x\\right("), + # Letters are the Latin and Greek blocks: a fullwidth or modifier letter is complex, a Coptic letter too. + ("tex", "A"), ("tex", "ʰ"), ("tex", "Ϣ"), ("tex", "ἀω")] wv(out, "notation.jsonl", [{"id": "%s:%s" % (n, s), "notation": n, "source": s, "canonical": fold_math(n, s)} for n, s in notes]) # Projections. @@ -1018,12 +1026,21 @@ def corrections_vectors(): ("merge", {"op": "merge", "target": nm["@c"], "with": nm["@d"], "joiner": " ", "evidence": person}), ("merge-not-adjacent", {"op": "merge", "target": nm["@a"], "with": nm["@c"], "evidence": person}), ("move", {"op": "move", "target": nm["@d"], "parent": nm["@p1"], "place_after": None, "evidence": person}), - ("reclassify", {"op": "reclassify", "target": nm["@p2"], "kind": "quote", "evidence": person}), + ("move-after-itself", {"op": "move", "target": nm["@d"], "parent": nm["@p2"], "place_after": nm["@d"], + "evidence": person}), + ("reclassify", {"op": "reclassify", "target": nm["@p2"], "kind": "footnote", "evidence": person}), + ("reclassify-blocks", {"op": "reclassify", "target": nm["@p2"], "kind": "quote", "evidence": person}), ("reclassify-bad", {"op": "reclassify", "target": nm["@a"], "kind": "paragraph", "evidence": person}), ("relabel-section", {"op": "relabel", "target": nm["@sec"], "label": "2", "evidence": crop}), + ("relabel-remove", {"op": "relabel", "target": nm["@sec"], "label": None, "evidence": crop}), ("relabel-digit-no-crop", {"op": "relabel", "target": nm["@t"], "label": "Table 2", "evidence": person}), ("set-colspan", {"op": "set", "target": nm["@y1"], "attr": "colspan", "value": 2, "evidence": person}), + ("set-bad-value", {"op": "set", "target": nm["@y1"], "attr": "colspan", "value": "2", "evidence": person}), ("set-not-settable", {"op": "set", "target": nm["@y1"], "attr": "level", "value": 2, "evidence": person}), + ("insert-node-junk", {"op": "insert", "parent": nm["@p2"], "place_after": nm["@c"], + "node": {"kind": "sentence", "content": [{"kind": "text", "text": "Junk."}], "foo": 1}, + "evidence": crop}), + ("delete-header-cell", {"op": "delete", "target": nm["@hx"], "evidence": person}), ] out = [] vals0 = hashing.compute(st0.doc()) @@ -1032,7 +1049,7 @@ def corrections_vectors(): c = dict(base, **c) case = {"id": cid, "doc": st0.key, "before": {"nodes": before, "ids": [], "rev": 0}, "correction": c} try: - st1, rec = CO.apply(st0, c) + st1, rec = CO.apply(st0, c, store=SCHEMAS) v1 = hashing.compute(st1.doc()) case["expect"] = {"record": rec, "nodes": [dict(n, **v1[n["id"]]) for n in st1.nodes], "ids": st1.ids} except Refusal as e: @@ -1242,6 +1259,10 @@ def records(out, hale): target(AN.make_anchor(doc, vals, I["@tab1"], rev, store=STORE)), "assessing", "confirmed"), ann({"type": "TextualBody", "kind": "exercise", "value": check_body["prompt"], "exercise": check_body}, target(anchor("@s1")), "assessing", "confirmed"), + # A person's description of the figure, which an accessible export may use because it is confirmed. + ann({"type": "TextualBody", "kind": "description", "role": "alt", "language": "en", + "value": "Energy along the C–C bond stretch (panel a) and the fit residual (panel b)."}, + target(AN.make_anchor(doc, vals, I["@fig1"], rev, store=STORE)), "describing", "confirmed"), ] anns.append(ann({"type": "TextualBody", "kind": "comment", "value": "Agreed; see the residual panel."}, {"type": "SpecificResource", "source": anns[2]["id"]}, "replying", created="2026-10-11T19:05:00Z")) @@ -1367,12 +1388,48 @@ def records(out, hale): q2 = hale["by_name"]["q2"] n = len(q1["qa"]["sample"]) + len(q2["qa"]["sample"]) k = len(q1["qa"]["errors"]) + len(q2["qa"]["errors"]) - wr(out, "qa-report.json", {"format": "scienting-qa-report/1", "id": record_id(H("qa report 1")), - "delivery": "smithlab evidence pilot (fictional)", "docs": ["smithlab/hale2026harmonic"], - "receipts": [hale["by_name"]["r1"]["id"], hale["by_name"]["r4"]["id"]], - "reviewers": [{"key": "ana", "sampled": n, "errors": k, "confidence": "0.95", - "method": "clopper-pearson", "bound": RC.bound_string(k, n)}], - "at": "2026-10-12T10:00:00Z"}) + wr(out, "qa-report.json", RC.seal({ + "format": "scienting-qa-report/1", "delivery": "smithlab evidence pilot (fictional)", + "docs": ["smithlab/hale2026harmonic"], "receipts": [hale["by_name"]["r1"]["id"], hale["by_name"]["r4"]["id"]], + "reviewers": [{"key": "ana", "sampled": n, "errors": k, "confidence": "0.95", "method": "clopper-pearson", + "bound": RC.bound_string(k, n)}], + "by": "ana", "at": "2026-10-12T10:00:00Z"}, secret("ana"), "ana")) + # A checklist for an accessible HTML export of the paper, and the receipt that covers it (spec/08 §8.11). + html_sha = H("accessible HTML export of hale2026harmonic (synthetic)") + checker = {"name": "example-checker", "version": "1.0"} + checklist = {"format": "scienting-checklist/1", "doc": "smithlab/hale2026harmonic", "rev": rev, + "standard": {"name": "WCAG 2.1", "level": "AA", "url": "https://www.w3.org/TR/WCAG21/"}, + "export": {"kind": "html", "sha256": html_sha, "size": 48213}, + "items": [ + {"criterion": "1.1.1", "result": "pass", "method": "manual", + "note": "Every figure has a confirmed description in the layer."}, + {"criterion": "1.2.1", "result": "not-applicable", "method": "manual", "note": "No audio or video."}, + {"criterion": "1.3.1", "result": "pass", "method": "manual", + "note": "Headings, lists and table headers are marked up; each cell names its header path."}, + {"criterion": "1.3.2", "result": "pass", "method": "automated", "tool": checker}, + {"criterion": "1.4.3", "result": "pass", "method": "automated", "tool": checker}, + {"criterion": "1.4.5", "result": "pass", "method": "manual", + "note": "Equations are MathML, never images of text."}, + {"criterion": "2.4.2", "result": "pass", "method": "automated", "tool": checker}, + {"criterion": "3.1.1", "result": "pass", "method": "automated", "tool": checker}], + "by": "ana", "at": "2026-10-12T11:00:00Z"} + checklist_hash = H(jcs.dumpb(checklist)) + checklist["id"] = record_id(checklist_hash) + wr(out, "checklist/checklist.json", checklist) + wr(out, "checklist/receipt.json", RC.seal({ + "format": "scienting-receipt/1", "doc": "hale2026harmonic", "rev": rev, "level": "F3", + "scope": "targeted:checklist", "nodes": [], "records": [["checklist", checklist["id"], checklist_hash]], + "evidence": [{"kind": "source-file", "sha256": html_sha, "note": "The exported HTML."}], + "by": "ana", "at": "2026-10-12T11:30:00Z"}, secret("ana"), "ana")) + # The target set of targeted F3 (spec/08 §8.10) under each digit rule: the dataset's cells, the sentence a + # confirmed claim link anchors, and the panel a digitization reads from are the anchored nodes. + dataset_anchors = [json.loads(x) for x in + hale["files"]["datasets/ds-hale-bond-params/anchors.jsonl"].decode().splitlines()] + anchored = sorted({a["anchor"]["node"] for a in dataset_anchors} | {I["@s2"], pa}) + wv(out, "targets.jsonl", [{"id": "hale-" + rule, "package": "fixtures/packages/hale2026harmonic", + "anchored": anchored, "digit_rule": rule, + "expect": {"nodes": TG.target_set(doc, anchored, rule)}} + for rule in TG.DIGIT_RULES]) # Draft snapshot and sentence IDs. s5 = I["@s5"] snap_anchor = AN.make_anchor(doc, vals, s5, rev, store=STORE) @@ -1462,6 +1519,72 @@ def invalid(out, tiny): case("style-sup-sub", "doc.run.style", {"nodes.jsonl": edit_nodes(lambda ns: by(ns, "@c").update( content=[{"kind": "text", "text": "A second paragraph.", "style": ["sub", "sup"]}]))}, "A run cannot be both a subscript and a superscript.") + # Zipped packages that break spec/12 §12.2: the tiny package's files plus one bad entry. + tiny_dir = os.path.join(out, "fixtures", "packages", "tiny2026example") + entries = [] + for rel in sorted(os.path.relpath(os.path.join(d, f), tiny_dir).replace(os.sep, "/") + for d, _, fs in os.walk(tiny_dir) for f in fs): + with open(os.path.join(tiny_dir, rel), "rb") as fh: + entries.append(("tiny2026example/" + rel, fh.read(), 0o644)) + + def zip_case(name, rule, note, extra): + d = os.path.join(base, name) + os.makedirs(d) + with zipfile.ZipFile(os.path.join(d, "package" + ZIP_EXTENSION), "w") as zf: + for ename, data, mode in entries + extra: + zi = zipfile.ZipInfo(ename, date_time=(1980, 1, 1, 0, 0, 0)) + zi.compress_type = zipfile.ZIP_STORED + zi.create_system = 3 + zi.external_attr = mode << 16 + zf.writestr(zi, data) + with open(os.path.join(d, "expect.json"), "wb") as fh: + fh.write((jcs.dumps({"rule": rule, "note": note}) + "\n").encode()) + + zip_case("zip-traversal", "package.zip.entry", "An archive entry whose path leaves the package folder.", + [("tiny2026example/../escape.txt", b"outside\n", 0o644)]) + zip_case("zip-symlink", "package.zip.entry", "An archive entry that is a symbolic link.", + [("tiny2026example/assets/link", b"document.json", 0o120777)]) + # Rules the audit found no broken package for. + case("missing-required-file", "package.file.required", {"provenance.json": None}, "A required file is missing.") + case("counts-wrong", "doc.counts", {"document.json": _doc_edit(files, counts={"nodes": 1, "leaves": 1})}, + "document.json's counts are not the number of nodes and leaves.") + case("rev-without-corrections", "doc.correction.rev", {"document.json": _doc_edit(files, rev=3)}, + "document.json's rev is not the number of corrections.") + case("receipt-unsorted-nodes", "doc.receipt.nodes", {"receipts.jsonl": _receipt_edit( + files, nodes=list(reversed([json.loads(x) for x in files["receipts.jsonl"].decode().splitlines()][0]["nodes"])))}, + "A receipt whose nodes are not sorted by ID.") + case("retired-live", "doc.id.retired-live", {"ids.jsonl": jsonl([ + {"id": nm["@a"], "kind": "retired", "successor": None, "node_kind": "sentence", "rev": 1}])}, + "An ID that is both live and retired.") + case("manifest-key", "package.manifest.key", {}, "The manifest names another key than document.json.", + raw=lambda d: _manifest_edit(d, key="other2026example")) + case("unsafe-path", "package.path.unsafe", {}, "The manifest lists a path that leaves the package.", + raw=lambda d: _manifest_edit(d, files=[{"path": "../escape.txt", "sha256": "0" * 64, "size": 1}] + + json.load(open(os.path.join(d, "MANIFEST.json")))["files"])) + case("crlf", "package.file.canonical", {}, "A file whose lines end in CR LF, which is not the canonical form.", + raw=lambda d: _crlf(d)) + signer = [json.loads(x) for x in files["receipts.jsonl"].decode().splitlines()][0] + case("signer-mismatch", "doc.receipt.signature", {"receipts.jsonl": jsonl([ + RC.seal(dict(signer, by="cara"), secret("ana"), "ana")])}, + "A receipt whose signature was made with another key than the signer it names.") + + +def _manifest_edit(d, **kw): + p = os.path.join(d, "MANIFEST.json") + m = json.load(open(p, encoding="utf-8")) + m.update(kw) + open(p, "w", encoding="utf-8").write(jcs.dumps(m) + "\n") + + +def _crlf(d): + p = os.path.join(d, "provenance.json") + data = open(p, "rb").read().replace(b"\n", b"\r\n") + open(p, "wb").write(data) + m = json.load(open(os.path.join(d, "MANIFEST.json"), encoding="utf-8")) + for f in m["files"]: + if f["path"] == "provenance.json": + f["sha256"], f["size"] = H(data), len(data) + open(os.path.join(d, "MANIFEST.json"), "w", encoding="utf-8").write(jcs.dumps(m) + "\n") def _swap_first(ns, sec): @@ -1533,6 +1656,9 @@ def main(out): build_simple(out, "okafor2025open") build_simple(out, "smithlab2027charges") tiny = tiny_package(os.path.join(out, "fixtures", "packages", "tiny2026example")) + # The same package zipped as spec/12 §12.2 says a producer writes a byte-identical archive. + write_zip(os.path.join(out, "fixtures", "packages", "tiny2026example"), + os.path.join(out, "fixtures", "packages", "tiny2026example" + ZIP_EXTENSION)) records(out, hale) vectors(out, hale, tiny) invalid(out, tiny) diff --git a/tools/check.py b/tools/check.py index 241057a..8887fea 100644 --- a/tools/check.py +++ b/tools/check.py @@ -15,6 +15,7 @@ import subprocess import sys import shutil import tempfile +import zipfile from fractions import Fraction ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) @@ -25,6 +26,7 @@ from tools.oracle import anchors as AN # noqa: E402 from tools.oracle import corrections as CO # noqa: E402 from tools.oracle import crypto, db, fingerprint as FP, grade as GR, hashing, jcs, receipts as RC, rights as RI # noqa: E402 from tools.oracle import package as PK # noqa: E402 +from tools.oracle import targets as TG # noqa: E402 from tools.oracle.model import Doc # noqa: E402 from tools.oracle.notation import fold_math # noqa: E402 from tools.oracle.schema import Store, validate as sv # noqa: E402 @@ -134,6 +136,17 @@ def check_records(): if rec.get("signature"): ok("records", RC.verify_signature(rec, roster), "%s: signature does not verify" % rel) ok("records", rec["id"] == record_id(RC.record_hash(rec)), "%s: id does not derive" % rel) + ok("records", rec.get("by") == rec["signature"]["key"], "%s: by differs from the signing key" % rel) + ok("records", rec["format"] in RC.SIGNED_FORMATS, "%s: %s is not a signed format" % (rel, rec["format"])) + # A QA report is signed (spec/08 §8.9); a checklist is covered by its receipt at its hash (spec/08 §8.11). + ok("records", "signature" in js(os.path.join(R, "qa-report.json")), "the QA report is not signed") + cl = js(os.path.join(R, "checklist", "checklist.json")) + clr = js(os.path.join(R, "checklist", "receipt.json")) + cl_hash = sha256_hex(jcs.dumpb({k: v for k, v in cl.items() if k != "id"})) + ok("records", cl["id"] == record_id(cl_hash), "checklist id does not derive from its content hash") + ok("records", ["checklist", cl["id"], cl_hash] in clr["records"], "the checklist is not covered at its hash") + ok("records", RC.receipt_status(clr, [clr], roster) == "valid", "the checklist receipt is not valid") + ok("records", {i["result"] for i in cl["items"]} <= {"pass", "fail", "not-applicable"}, "checklist results") # A project's settings.stages holds the id of a stage file. stage_ids = {js(p("registry", "stages", f))["id"] for f in os.listdir(p("registry", "stages")) if f.endswith(".json")} stages = js(os.path.join(R, "project.json")).get("settings", {}).get("stages") @@ -157,6 +170,15 @@ def check_records(): ok("records", items.get(("annotation", a["id"].rsplit("/", 1)[1])) == sha256_hex(jcs.dumpb(body)), "a confirmed annotation is not covered at its hash: " + a["id"]) ok("records", lr["root"] == crypto.merkle_root(crypto.receipt_items(lr)), "layer receipt root") + # Every figure of the main example has a confirmed description, which is what an accessible export needs. + anns = jl(os.path.join(R, "layer", "annotations.jsonl")) + described = {x["anchor"]["node"] for a in anns if a["body"]["kind"] == "description" and a["status"] == "confirmed" + for x in a["target"].get("selector", []) if x.get("type") == "AnchorSelector"} + figures = {n["id"] for n in jl(p("fixtures", "packages", "hale2026harmonic", "nodes.jsonl")) if n["kind"] == "figure"} + ok("records", figures and figures <= described, "a figure of the example has no confirmed description: %s" + % sorted(figures - described)) + ok("records", any(a["body"]["kind"] == "generated" and a["status"] == "proposed" for a in anns), + "the layer has no proposed generated annotation to contrast with the confirmed description") def state_of(pkg): @@ -167,6 +189,8 @@ def check_packages(): team_key = crypto.team_key(bytes.fromhex(open(p("fixtures", "keys", "smithlab-team-secret.hex")).read().strip())) pk = p("fixtures", "packages") for d in sorted(os.listdir(pk)): + if not os.path.isdir(os.path.join(pk, d)): + continue # the zipped form is checked by check_zips rep = PK.validate(os.path.join(pk, d), STORE, team_key if d.endswith("checks-only") else None) ok("packages", bool(rep), "%s: %s" % (d, rep.errors[:4])) # The checks-only export carries exactly the HMAC values of the full document. @@ -197,6 +221,85 @@ def check_packages(): valid("packages", "mathml.schema.json", m, "derived/mathml.jsonl") +def _zip(path, entries): + """Write a zip of (name, bytes, mode) entries the way a producer does (spec/12 §12.2).""" + with zipfile.ZipFile(path, "w") as zf: + for name, data, mode in entries: + zi = zipfile.ZipInfo(name, date_time=(1980, 1, 1, 0, 0, 0)) + zi.compress_type = zipfile.ZIP_STORED + zi.create_system = 3 + zi.external_attr = mode << 16 + zf.writestr(zi, data) + + +def check_zips(): + """Zipped packages (spec/12 §12.2 and §12.8). + + The fixture archive unpacks to the folder it was made from byte for byte, validates, keeps the producer's + byte-identical rules, and is reproduced by write_zip; crafted archives are refused with the rule named. + """ + pk = p("fixtures", "packages") + zips = [f for f in sorted(os.listdir(pk)) if f.endswith(PK.ZIP_EXTENSION)] + ok("zips", len(zips) >= 1, "no zipped package among the fixtures") + for z in zips: + key = z[:-len(PK.ZIP_EXTENSION)] + folder = os.path.join(pk, key) + rep = PK.validate_zip(os.path.join(pk, z), STORE) + ok("zips", bool(rep), "%s: %s" % (z, rep.errors[:4])) + with zipfile.ZipFile(os.path.join(pk, z)) as zf: + infos = zf.infolist() + names = [i.filename for i in infos] + ok("zips", names == sorted(names, key=lambda n: n.encode("utf-8")), "%s: entries are sorted by path" % z) + ok("zips", all(i.date_time == (1980, 1, 1, 0, 0, 0) and i.extra == b"" and not i.is_dir() + and i.compress_type in (zipfile.ZIP_STORED, zipfile.ZIP_DEFLATED) for i in infos), + "%s: entries are dated 1980-01-01 00:00, carry no extra field and are stored or deflated" % z) + ok("zips", {n.partition("/")[0] for n in names} == {key}, "%s: one top-level folder named by the key" % z) + ok("zips", key + "/MANIFEST.json" in names, "%s: the manifest is an entry" % z) + with tempfile.TemporaryDirectory() as tmp: + root = PK.read_zip(os.path.join(pk, z), tmp) + ok("zips", _same_tree(folder, root), "%s: unpacks to its folder byte for byte" % z) + again = os.path.join(tmp, "again.zip") + PK.write_zip(root, again) + ok("zips", filecmp.cmp(again, os.path.join(pk, z), shallow=False), "%s: write_zip reproduces it" % z) + # Crafted archives, built from the tiny package. + tiny = p("fixtures", "packages", "tiny2026example") + entries = [] + for rel in sorted(os.path.relpath(os.path.join(d, f), tiny).replace(os.sep, "/") + for d, _, fs in os.walk(tiny) for f in fs): + with open(os.path.join(tiny, rel), "rb") as fh: + entries.append(("tiny2026example/" + rel, fh.read(), 0o644)) + cases = [ + ("two-folders", entries + [("other2026/x.txt", b"x", 0o644)], "package.zip.entry"), + ("duplicate", entries + [entries[0]], "package.zip.entry"), + ("folder-not-a-key", [("Tiny Example/" + n.partition("/")[2], d, m) for n, d, m in entries], "package.zip.entry"), + ("folder-not-the-key", [("other2026example/" + n.partition("/")[2], d, m) for n, d, m in entries], + "package.zip.entry"), + ("dot-dot", entries + [("tiny2026example/assets/../../x", b"x", 0o644)], "package.zip.entry"), + ("symlink", entries + [("tiny2026example/assets/link", b"document.json", 0o120777)], "package.zip.entry"), + ("no-folder", [(n.partition("/")[2], d, m) for n, d, m in entries], "package.zip.entry"), + ("directory-entries", entries + [("tiny2026example/assets/", b"", 0o755)], None), + ] + with tempfile.TemporaryDirectory() as tmp: + for name, ents, rule in cases: + path = os.path.join(tmp, name + ".zip") + with __import__("warnings").catch_warnings(): + __import__("warnings").simplefilter("ignore") + _zip(path, ents) + rules = {e["rule"] for e in PK.validate_zip(path, STORE).errors} + ok("zips", (rule in rules) if rule else not rules, "%s: expected %s, got %s" % (name, rule, sorted(rules))) + ok("zips", {e["rule"] for e in PK.validate_zip(os.path.join(tmp, "directory-entries.zip"), STORE, limit=100).errors} + == {"package.zip.size"}, "an archive past the size limit is refused with package.zip.size") + with open(os.path.join(tmp, "not-a.zip"), "wb") as fh: + fh.write(b"PK\x03\x04 this is not an archive") + ok("zips", {e["rule"] for e in PK.validate_zip(os.path.join(tmp, "not-a.zip"), STORE).errors} + == {"package.zip.entry"}, "bytes that are not an archive are refused") + _zip(os.path.join(tmp, "empty.zip"), []) + ok("zips", {e["rule"] for e in PK.validate_zip(os.path.join(tmp, "empty.zip"), STORE).errors} + == {"package.zip.entry"}, "an empty archive is refused") + outside = [f for f in os.listdir(tmp) if not f.endswith(".zip")] + ok("zips", not outside, "reading archives wrote outside their folders: %s" % outside) + + def check_owner_revocation(): """A key the roster makes an owner may revoke anyone's receipt (spec/08 §8.7); any other key may not. @@ -321,23 +424,38 @@ def check_gate(): ok("packages", rec["index"] == st.rev + 1 and st1.rev == st.rev + 1, "the gate's record has the next index") ok("packages", json.dumps(st.nodes, sort_keys=True) == before, "the gate changed the state it was given") valid("packages", "correction.schema.json", rec, "gate record") + crop = [{"kind": "crop", "sha256": "0" * 64}] + cell = next(n for n in st.nodes if n["kind"] == "cell") + section = next(n for n in st.nodes if n["kind"] == "section" and "label" in n) + header = next(c["header_path"][0] for n in st.nodes if n["kind"] == "table" for c in n["attrs"]["columns"]) for bad, rule in (({"op": "replace", "target": target["id"]}, "correction.schema"), (dict(base, op="replace", target=target["id"], find="0.01", replace="0.02"), "correction.digits"), - (dict(base, op="insert", target=target["id"], run=9, offset=0, text="x", - evidence=[{"kind": "crop", "sha256": "0" * 64}]), "correction.insert")): + (dict(base, op="insert", target=target["id"], run=9, offset=0, text="x", evidence=crop), + "correction.insert"), + # Rule 11 of spec/11 §11.4: the result keeps to chapter 3, attribute shapes included. + (dict(base, op="set", target=cell["id"], attr="colspan", value="2"), "doc.node.attrs"), + (dict(base, op="set", target=cell["id"], attr="role", value="boss"), "doc.node.attrs"), + (dict(base, op="insert", parent=target["parent"], place_after=target["id"], evidence=crop, + node={"kind": "sentence", "content": [{"kind": "text", "text": "Junk."}], "foo": 1}), + "doc.node.schema"), + (dict(base, op="delete", target=header), "doc.table.header")): try: CO.gate(st, bad, STORE) got = None except Refusal as e: got = e.rule ok("packages", got == rule, "the gate gave %s for a proposal that breaks %s" % (got, rule)) + # A relabel to null removes the label instead of writing null (spec/03 §3.1). + st2, _ = CO.gate(st, dict(base, op="relabel", target=section["id"], label=None, evidence=crop), STORE) + ok("packages", "label" not in next(n for n in st2.nodes if n["id"] == section["id"]), "relabel to null drops the label") def check_invalid(): base = p("fixtures", "invalid") for d in sorted(os.listdir(base)): expect = js(os.path.join(base, d, "expect.json"))["rule"] - rep = PK.validate(os.path.join(base, d, "package"), STORE) + zipped = os.path.join(base, d, "package" + PK.ZIP_EXTENSION) + rep = PK.validate_zip(zipped, STORE) if os.path.exists(zipped) else PK.validate(os.path.join(base, d, "package"), STORE) rules = {e["rule"] for e in rep.errors} ok("invalid", expect in rules, "%s: expected %s, got %s" % (d, expect, sorted(rules) or "no error")) @@ -438,7 +556,7 @@ def check_vectors(): st = CO.State(c["doc"], [{k: v for k, v in n.items() if k not in ( "text_hash", "match_hash", "align_key", "own_hash", "node_hash")} for n in c["before"]["nodes"]]) try: - st1, rec = CO.apply(st, c["correction"]) + st1, rec = CO.apply(st, c["correction"], store=STORE) v1 = hashing.compute(st1.doc()) ok("vectors", st1.index().values == reference_values(st1.doc()), "correction %s: incremental values differ from the full computation" % c["id"]) @@ -467,6 +585,17 @@ def check_vectors(): for c in V("grading.jsonl"): st = states.setdefault(c["package"], state_of(p(c["package"]))) ok("vectors", GR.grade(c["exercise"], c["submission"], st) == c["expect"], "grading " + c["id"]) + sets = {} + for c in V("targets.jsonl"): + st = states.setdefault(c["package"], state_of(p(c["package"]))) + got = TG.target_set(st.doc(), c["anchored"], c["digit_rule"]) + ok("vectors", got == c["expect"]["nodes"], "targets " + c["id"]) + sets[c["digit_rule"]] = {n for n, _ in got} + d = st.doc() + ok("vectors", all(d.nodes[n]["kind"] in TG.MATH_KINDS for n, r in got if r == "equation") + and all(d.nodes[n]["kind"] in TG.LEAVES for n, _ in got), "targets %s: only leaves, equations by kind" % c["id"]) + ok("vectors", set(sets) == set(TG.DIGIT_RULES) and sets["none"] <= sets["anchored-sections"] <= sets["all"] + and sets["none"] < sets["all"], "the three digit rules nest") def check_determinism(): @@ -532,6 +661,8 @@ def check_sql(): assets = os.path.join(tmp, "assets") pk = p("fixtures", "packages") for d in sorted(os.listdir(pk)): + if not os.path.isdir(os.path.join(pk, d)): + continue key = db.load(conn, os.path.join(pk, d), assets) if not d.endswith("checks-only") else None if key is None: # A second load of the same key goes to its own database. @@ -701,11 +832,86 @@ def check_links(): ok("links", frag in anchors.get(dest, ()), "%s:%d: no heading #%s in %s" % (rel, i, frag, file or "this file")) +WORD_NUMBERS = {w: i for i, w in enumerate( + "zero one two three four five six seven eight nine ten eleven twelve thirteen fourteen fifteen sixteen " + "seventeen eighteen nineteen twenty".split())} +WORD_NUMBERS.update({"twenty-" + w: 20 + i for i, w in enumerate("one two three four five six seven eight nine".split(), 1)}) +# A count: digits or a number word, not the tail of a section number such as "22.3". +NUM = r"(? anchor["rev"] and c.get("target") == nid] - if not rel or any(c["op"] != "relabel" for c in rel): + """The own_hash the node had before the relabel corrections since the anchor, or None when anything else + changed the node or what is below it since (spec/06 §6.5: its *only* changes were relabel corrections).""" + since = [c for c in state.corrections if c["index"] > anchor["rev"] and ( + c.get("target") == nid or nid in (c.get("path") or []) or nid in (c.get("to_path") or []))] + rel = [c for c in since if c.get("target") == nid] + if not rel or any(c["op"] != "relabel" or c.get("target") != nid for c in since): return None n = dict(doc.nodes[nid], label=rel[0]["from"]) tmp = Doc(doc.key, [n if x["id"] == nid else x for x in [doc.nodes[i] for i in doc.order]]) @@ -175,7 +178,11 @@ def resolve(state, anchor, threshold=Fraction(1, 4)): original = anchor["node"] nid, chain, via = _follow(state, original) live_kind = doc.nodes[nid]["kind"] if nid else None - kind = kind or live_kind or next((e["node_kind"] for e in state.ids if e["id"] == original), None) + table = {e["id"]: e for e in state.ids} + # The kind falls back to the retired entry the chain reached (spec/06 §6.5); an alias carries no kind. + retired_kind = next((table[x].get("node_kind") for x in reversed(chain) + if table.get(x, {}).get("kind") == "retired"), None) + kind = kind or live_kind or retired_kind cls = anchor_class(kind) if kind else "leaf" is_span = "span" in anchor result = {"node": nid} @@ -256,7 +263,7 @@ def resolve(state, anchor, threshold=Fraction(1, 4)): now = set(doc.leaves(nid)) now_match = {values[x]["match_hash"] for x in now} held = sum(1 for i, m in orig if i in now or m in now_match) - if orig and 2 * held >= len(orig): + if 2 * held >= len(orig): return out("moved") return out("stale", reason="the successor holds fewer than half of the original leaves") if values[nid]["node_hash"] == anchor["node_hash"]: diff --git a/tools/oracle/corrections.py b/tools/oracle/corrections.py index deaaf5a..496abc5 100644 --- a/tools/oracle/corrections.py +++ b/tools/oracle/corrections.py @@ -6,8 +6,8 @@ Non-normative; see spec/11-corrections.md. import copy from . import hashing -from .model import LABELLED, LEAVES, MATH_KINDS, RUN_KINDS, VERBATIM_KINDS, Doc, CHILDREN -from .tree import Refusal, canonical_runs, mint_ids, validate_structure, _flatten +from .model import ATTRS, LABELLED, LEAVES, MATH_KINDS, RUN_KINDS, VERBATIM_KINDS, Doc, CHILDREN +from .tree import Refusal, canonical_runs, mint_ids, validate_references, validate_structure, _flatten from . import jcs from .schema import validate as schema_validate from .text import digits, record_id, sha256_hex @@ -137,15 +137,33 @@ def gate(state, proposal, store, hasher=hashing.PLAIN): errors = schema_validate(store, "correction.schema.json", proposal) if errors: raise Refusal("correction.schema", "; ".join(errors[:3])) - return apply(state, proposal, hasher) + return apply(state, proposal, hasher, store) def _is_index(v): return isinstance(v, int) and not isinstance(v, bool) and v >= 0 -def apply(state, c, hasher=hashing.PLAIN): - """Apply correction `c` to `state` and return the recorded correction. Raises Refusal.""" +def id_order(e): + """The order of ids.jsonl (spec/04 §4.4): aliases first by ID, then retirements by revision and ID.""" + return (0 if e["kind"] == "alias" else 1, e.get("rev", 0), e["id"]) + + +def _node_rule(error): + """The rule a node-schema error breaks, from the property the error names.""" + path = error.split(":", 1)[0] + for prefix, rule in (("/attrs", "doc.node.attrs"), ("/label", "doc.node.label"), ("/content", "doc.node.content")): + if path.startswith(prefix): + return rule + return "doc.node.schema" + + +def apply(state, c, hasher=hashing.PLAIN, store=None): + """Apply correction `c` to `state` and return the recorded correction. Raises Refusal. + + With a schema `store`, every node the correction changed or created is also validated against + node.schema.json, which is how the gate enforces the attribute shapes of spec/03 §3.4 (rule 11 of §11.4). + """ c = copy.deepcopy(c) doc = state.doc() before_ix = state.index(hasher) @@ -308,7 +326,7 @@ def apply(state, c, hasher=hashing.PLAIN): elif op == "move": parent = c["parent"] - if parent not in by_id or parent in set(_subtree(doc, target)): + if parent not in by_id or parent in set(_subtree(doc, target)) or c.get("place_after") == target: raise Refusal("correction.move", "bad destination", target) _place(nodes, target, parent, c.get("place_after")) nodes = _rebuild(nodes) @@ -326,6 +344,12 @@ def apply(state, c, hasher=hashing.PLAIN): node["kind"] = new_kind if new_kind not in LABELLED: node.pop("label", None) + # Each kind carries only its own attributes (spec/03 §3.4). + kept = {k: v for k, v in node.get("attrs", {}).items() if k in ATTRS.get(new_kind, ())} + if kept: + node["attrs"] = kept + else: + node.pop("attrs", None) record["from"] = old touched = [x for x in doc.leaves(target)] @@ -334,7 +358,10 @@ def apply(state, c, hasher=hashing.PLAIN): if node["kind"] not in LABELLED: raise Refusal("correction.relabel", "%s takes no label" % node["kind"], target) record["from"] = node.get("label") - node["label"] = c["label"] + if c.get("label") is None: + node.pop("label", None) # optional properties are omitted, never written as null (spec/03 §3.1) + else: + node["label"] = c["label"] touched = [target] if node["kind"] in LEAVES else [] elif op == "set": @@ -353,8 +380,15 @@ def apply(state, c, hasher=hashing.PLAIN): after_doc = Doc(state.key, nodes) validate_structure(after_doc) + validate_references(after_doc) after_ix = before_ix.update(after_doc) after_vals = after_ix.values + if store is not None: + changed = {x for x in set(touched) | set(created) | {target} if x in after_doc.nodes} + for nid in sorted(changed): + errors = schema_validate(store, "node.schema.json", dict(after_doc.nodes[nid], **after_vals[nid])) + if errors: + raise Refusal(_node_rule(errors[0]), errors[0], nid) # Digits: a change to a digit needs crop evidence, and no leaf outside `touched` may change its digits. needs_crop = False @@ -393,24 +427,28 @@ def apply(state, c, hasher=hashing.PLAIN): for rid, succ in retired: new_ids.append({"id": rid, "kind": "retired", "successor": succ, "node_kind": old_kinds[rid], "rev": record["index"]}) + new_ids.sort(key=id_order) new_state = State(state.key, [after_doc.nodes[x] for x in after_doc.preorder()], new_ids, state.corrections + [record], {hasher.key: after_ix}) return new_state, record def _strip_edge(runs, end): + """Remove the whitespace at one edge of a split part, across as many text runs as it spans (spec/11 §11.1).""" from .text import is_ws - if not runs: - return - i = len(runs) - 1 if end else 0 - r = runs[i] - if r["kind"] != "text": - return - t = r["text"] - if end: - while t and is_ws(t[-1]): - t = t[:-1] - else: - while t and is_ws(t[0]): - t = t[1:] - runs[i] = dict(r, text=t) + while runs: + i = len(runs) - 1 if end else 0 + r = runs[i] + if r["kind"] != "text": + return + t = r["text"] + if end: + while t and is_ws(t[-1]): + t = t[:-1] + else: + while t and is_ws(t[0]): + t = t[1:] + if t: + runs[i] = dict(r, text=t) + return + del runs[i] diff --git a/tools/oracle/db.py b/tools/oracle/db.py index ba13038..b5c6746 100644 --- a/tools/oracle/db.py +++ b/tools/oracle/db.py @@ -10,7 +10,7 @@ import shutil from . import hashing, jcs from .model import Doc -from .package import SHA256_RE, read_json, read_jsonl, safe_path, write +from .package import SHA256_RE, _all_files, read_json, read_jsonl, safe_path, write from .text import norm, sha256_hex from .tree import Refusal @@ -107,6 +107,7 @@ def load(conn, root, asset_store): Validate the package first (package.validate); this only refuses paths and hashes that are unsafe to use. """ + _all_files(root) # refuses a symbolic link anywhere in the package before anything is copied manifest = read_json(os.path.join(root, "MANIFEST.json")) listed = {f["path"]: f for f in manifest["files"]} for path, f in listed.items(): diff --git a/tools/oracle/fingerprint.py b/tools/oracle/fingerprint.py index 30c25a6..d7b7ce1 100644 --- a/tools/oracle/fingerprint.py +++ b/tools/oracle/fingerprint.py @@ -34,11 +34,16 @@ def is_stamp(line, size, rules): return None -def fp_text(text): - s = unicodedata.normalize("NFKC", fold_plain_text(text)) +def _strip(s): return "".join(c for c in s if not is_ws(c) and unicodedata.category(c) not in ("Cc", "Cf")) +def fp_text(text): + """Steps 3 and 4 of spec/07 §7.1: whitespace and control characters go first, so that "10 -20" and "10-20" + fold alike; then scripts and dashes fold as in the strict projection, then NFKC.""" + return _strip(unicodedata.normalize("NFKC", fold_plain_text(_strip(text)))) + + def fingerprint(page, rules): """`page`: {"size": [w, h], "lines": [{"text", "box"?}], "images": [sha256...]}. diff --git a/tools/oracle/grade.py b/tools/oracle/grade.py index e799bff..42f972c 100644 --- a/tools/oracle/grade.py +++ b/tools/oracle/grade.py @@ -3,18 +3,21 @@ Non-normative; see spec/19-exercises.md. """ +from decimal import Decimal from fractions import Fraction from . import anchors as A from .tree import Refusal -def dec(fr): - fr = Fraction(fr) - if fr.denominator == 1: - return str(fr.numerator) - s = "%.4f" % float(fr) - return s.rstrip("0").rstrip(".") +def dec(d): + """A decimal string, exactly as the sum came out (spec/19 §19.4: points are decimal strings, summed exactly).""" + return format(Decimal(d), "f") + + +def _zero_like(d): + """Zero with the scale of `d`, so a missed element worth "0.5" scores "0.0".""" + return Decimal(0).quantize(Decimal(d)) def _resolved(state, anchor): @@ -57,34 +60,34 @@ def grade(body, submission, state): items = [] def item(name, pts, got, fb): - items.append({"element": name, "points": dec(pts if got else 0), "max": dec(pts), "feedback": fb}) + items.append({"element": name, "points": dec(pts if got else _zero_like(pts)), "max": dec(pts), "feedback": fb}) if kind in ("anchor", "check"): if kind == "check": v = key["verdict"] ok = ans.get("verdict") == v["value"] - item("verdict", Fraction(v["points"]), ok, v.get("feedback", {}).get("hit" if ok else "miss", "")) + item("verdict", v["points"], ok, v.get("feedback", {}).get("hit" if ok else "miss", "")) for i, el in enumerate(key["elements"]): ok = _any(state, rule, ans.get("anchors", []), el["anchors"]) - item("element:%d" % i, Fraction(el["points"]), ok, el.get("feedback", {}).get("hit" if ok else "miss", "")) + item("element:%d" % i, el["points"], ok, el.get("feedback", {}).get("hit" if ok else "miss", "")) elif kind == "trace": chain = ans.get("chain", []) for i, link in enumerate(key["chain"]): ok = i < len(chain) and _any(state, rule, chain[i], link["anchors"]) - item("link:%d" % i, Fraction(link["points"]), ok, link.get("feedback", {}).get("hit" if ok else "miss", "")) + item("link:%d" % i, link["points"], ok, link.get("feedback", {}).get("hit" if ok else "miss", "")) elif kind == "reproduce": - ok = abs(Fraction(ans["value"]) - Fraction(key["value"])) <= Fraction(key["tolerance"]) - item("value", Fraction(key["points"]), ok, key.get("feedback", {}).get("hit" if ok else "miss", "")) + ok = abs(Decimal(ans["value"]) - Decimal(key["value"])) <= Decimal(key["tolerance"]) + item("value", key["points"], ok, key.get("feedback", {}).get("hit" if ok else "miss", "")) elif kind == "verify": flags = ans.get("flags", []) for i, err in enumerate(key["errors"]): hit = [f for f in flags if _any(state, rule, [f["anchor"]], err["anchors"])] ok = any(f["verdict"] == err["verdict"] for f in hit) fb = err.get("feedback", {}).get("hit" if ok else "miss", "") - item("error:%d" % i, Fraction(err["points"]), ok, fb) + item("error:%d" % i, err["points"], ok, fb) else: raise Refusal("grade.kind", "unknown exercise kind " + kind) - score = sum(Fraction(x["points"]) for x in items) - total = sum(Fraction(x["max"]) for x in items) + score = sum((Decimal(x["points"]) for x in items), Decimal(0)) + total = sum((Decimal(x["max"]) for x in items), Decimal(0)) return {"format": "scienting-grade/1", "submission": submission["id"], "exercise": submission["exercise"], "score": dec(score), "max": dec(total), "items": items} diff --git a/tools/oracle/model.py b/tools/oracle/model.py index fc0dd1e..9a85991 100644 --- a/tools/oracle/model.py +++ b/tools/oracle/model.py @@ -69,6 +69,18 @@ LABELLED = frozenset( "code", "algorithm"] ) +# The attributes each kind may carry (spec/03 §3.4); kinds absent here carry none. +ATTRS = { + "section": frozenset(["level"]), + "table": frozenset(["columns"]), + "cell": frozenset(["column", "rowspan", "colspan", "role"]), + "row": frozenset(["header_path"]), + "list": frozenset(["ordered"]), + "item": frozenset(["marker"]), + "theorem": frozenset(["variant"]), + "panel": frozenset(["image", "crop", "figure_text"]), +} + RUNS = frozenset(["text", "math", "cite", "xref", "fnmark", "link", "equation"]) STYLES = frozenset(["em", "strong", "sup", "sub", "sc", "mono"]) diff --git a/tools/oracle/notation.py b/tools/oracle/notation.py index 41434b6..5a675ce 100644 --- a/tools/oracle/notation.py +++ b/tools/oracle/notation.py @@ -79,14 +79,19 @@ class NotSimple(Exception): pass +# The Latin and Greek letter blocks of spec/05 \u00a75.4: Basic Latin through Latin Extended-B, Greek and Coptic without +# the Coptic letters, Latin Extended Additional, and Greek Extended. +LETTER_RANGES = ((0x0041, 0x024F), (0x0370, 0x03E1), (0x03F0, 0x03FF), (0x1E00, 0x1EFF), (0x1F00, 0x1FFF)) + + def is_letter(ch): - """A Latin or Greek letter, or the micro sign.""" + """A letter of General Category L in the Latin or Greek blocks, or the micro sign.""" if ch == "\u00b5": return True if not unicodedata.category(ch).startswith("L"): return False - name = unicodedata.name(ch, "") - return name.startswith("LATIN ") or name.startswith("GREEK ") + cp = ord(ch) + return any(lo <= cp <= hi for lo, hi in LETTER_RANGES) def fold_char(ch): @@ -222,9 +227,9 @@ class _TexParser: elif kind == "ch" and val == "{": inner = self.seq(True) nxt = self.peek() - if nxt in (("ch", "_"), ("ch", "^")) and len(inner) != 1: + if nxt in (("ch", "_"), ("ch", "^")) and len(inner) > 1: raise NotSimple("script on a multi-atom group") - atoms.extend(inner) + atoms.extend(inner) # an empty group leaves a following script to the previous atom or an empty base else: atoms.extend(self.command_or_char(kind, val)) @@ -245,7 +250,7 @@ class _TexParser: return self.arg() if val in ("left", "right"): tok = self.take() - if tok in (("ch", "("), ("ch", ")")): + if tok == ("ch", "(" if val == "left" else ")"): return [Atom(tok[1])] raise NotSimple("\\left or \\right with another delimiter") raise NotSimple("command \\" + val) diff --git a/tools/oracle/package.py b/tools/oracle/package.py index a7764e9..b4f71bd 100644 --- a/tools/oracle/package.py +++ b/tools/oracle/package.py @@ -4,17 +4,26 @@ Non-normative; see spec/12-package.md and spec/22-conformance.md. """ import base64 +import binascii +import hashlib import json import os import posixpath import re +import stat +import tempfile +import unicodedata +import zipfile from . import crypto, hashing, jcs, receipts as R from .anchors import ADDRESS_RE from .model import LEAVES, MATH_KINDS, RUN_KINDS, VERBATIM_KINDS, Doc from .schema import validate as schema_validate -from .text import letter_first, record_id, sha256_hex -from .tree import Refusal, validate_structure +from .text import KEY_RE, letter_first, record_id, sha256_hex +from .tree import Refusal, validate_references, validate_structure + +# The reference tools' own limit on a package's total size (spec/12 §12.2 leaves the limit to the consumer). +SIZE_LIMIT = 1 << 30 JSONL = { "nodes.jsonl": "node.schema.json", @@ -85,26 +94,46 @@ def write(root, files, absent=()): return sha256_hex(mb) +def _refuse_constant(name): + raise ValueError("JSON has no canonical form for " + name) + + +def _parse_int(text): + """Read a JSON integer as an ECMAScript engine would: exactly within 2^53, as a double beyond (spec/01 §1.1).""" + v = int(text) + return v if abs(v) <= 2**53 else float(v) + + +def _canonical_bytes(data, where): + """Parse one canonical JSON value given as bytes; refuse anything else (spec/01 §1.1, §1.9). + + Numbers are read as IEEE 754 doubles, as the canonical form writes them, and the comparison is on bytes, so a + carriage return, a byte order mark, a lone surrogate, NaN or invalid UTF-8 is refused, not silently translated. + """ + try: + rec = json.loads(data.decode("utf-8"), parse_constant=_refuse_constant, parse_int=_parse_int) + canon = jcs.dumps(rec).encode("utf-8") + except (UnicodeDecodeError, ValueError, TypeError, OverflowError, RecursionError) as e: + raise Refusal("package.file.canonical", "%s: not canonical JSON (%s)" % (where, type(e).__name__)) + if canon != data: + raise Refusal("package.file.canonical", "%s: not canonical JSON" % where) + return rec + + def read_jsonl(path): - out = [] - with open(path, encoding="utf-8") as f: - for i, ln in enumerate(f, 1): - if not ln.endswith("\n"): - raise Refusal("package.file.newline", "%s:%d: every line ends with a newline" % (path, i)) - rec = json.loads(ln) - if line(rec) != ln: - raise Refusal("package.file.canonical", "%s:%d: line is not canonical JSON" % (path, i)) - out.append(rec) - return out + with open(path, "rb") as f: + data = f.read() + if data and not data.endswith(b"\n"): + raise Refusal("package.file.newline", "%s: every line ends with a newline" % path) + return [_canonical_bytes(ln, "%s:%d" % (path, i)) for i, ln in enumerate(data.split(b"\n")[:-1], 1)] def read_json(path): - with open(path, encoding="utf-8") as f: - text = f.read() - rec = json.loads(text) - if line(rec) != text: - raise Refusal("package.file.canonical", "%s: file is not canonical JSON" % path) - return rec + with open(path, "rb") as f: + data = f.read() + if not data.endswith(b"\n"): + raise Refusal("package.file.canonical", "%s: the file does not end with one newline" % path) + return _canonical_bytes(data[:-1], path) class Report: @@ -119,55 +148,84 @@ class Report: def _all_files(root): + """Every file under `root` by its exact name, refusing any symbolic link on the way (spec/12 §12.2).""" out = [] - for d, _, fs in os.walk(root): + for d, dirs, fs in os.walk(root): + for name in dirs + fs: + if os.path.islink(os.path.join(d, name)): + rel = os.path.relpath(os.path.join(d, name), root).replace(os.sep, "/") + raise Refusal("package.path.unsafe", "%s: symbolic links are refused" % rel) for f in fs: out.append(os.path.relpath(os.path.join(d, f), root).replace(os.sep, "/")) return sorted(out) -def validate(root, store, key=None): - """Validate the package at `root`. `store` is a schema store; `key` a hashing key for keyed packages.""" +def _hash_file(full, budget): + """SHA-256 and size of a file read in chunks, refusing a read past `budget` bytes.""" + h, n = hashlib.sha256(), 0 + with open(full, "rb") as fh: + while True: + chunk = fh.read(1 << 20) + if not chunk: + break + n += len(chunk) + if n > budget: + raise Refusal("package.size", "the package's files exceed the limit of %d bytes" % SIZE_LIMIT) + h.update(chunk) + return h.hexdigest(), n + + +def validate(root, store, key=None, limit=SIZE_LIMIT): + """Validate the package at `root`. `store` is a schema store; `key` a hashing key for keyed packages; + `limit` the most bytes the validator reads before refusing.""" rep = Report() try: - _validate(root, store, key, rep) + _validate(root, store, key, rep, limit) except Refusal as e: rep.add(e.rule, e.node or "", e.message) return rep -def _validate(root, store, key, rep): +def _validate(root, store, key, rep, limit=SIZE_LIMIT): mpath = os.path.join(root, "MANIFEST.json") - if not os.path.exists(mpath): + if not os.path.lexists(mpath): raise Refusal("package.manifest.missing", "MANIFEST.json is missing") + actual = set(_all_files(root)) manifest = read_json(mpath) for e in schema_validate(store, "manifest.schema.json", manifest): rep.add("package.manifest.schema", "MANIFEST.json", e) + if not rep: + return listed = {} - paths = [f["path"] for f in manifest.get("files", [])] + paths = [f["path"] for f in manifest["files"]] if paths != sorted(paths, key=lambda p: p.encode("utf-8")) or len(set(paths)) != len(paths): rep.add("package.manifest.order", "MANIFEST.json", "files must be sorted by path and unique") - for f in manifest.get("files", []): + folded = {} + budget = limit + for f in manifest["files"]: p = f["path"] listed[p] = f - if not safe_path(p): + if not safe_path(p) or p == "MANIFEST.json": rep.add("package.path.unsafe", p, "unsafe path") continue - full = os.path.join(root, p) + fold = unicodedata.normalize("NFC", p).casefold() + if fold in folded: + rep.add("package.manifest.order", p, "collides with %s under case folding" % folded[fold]) + folded[fold] = p if f.get("present", True) is False: if not p.startswith("assets/"): rep.add("package.manifest.absent", p, "only assets may be listed without their bytes") - if os.path.exists(full): + if p in actual: rep.add("package.manifest.absent", p, "a file listed as absent is present") continue - if not os.path.exists(full): + if p not in actual: rep.add("package.manifest.missing-file", p, "listed file is missing") continue - with open(full, "rb") as fh: - data = fh.read() - if sha256_hex(data) != f["sha256"] or len(data) != f["size"]: + sha, size = _hash_file(os.path.join(root, p), budget) + budget -= size + if sha != f["sha256"] or size != f["size"]: rep.add("package.manifest.hash", p, "SHA-256 or size does not match the manifest") - for p in _all_files(root): + for p in sorted(actual): if p != "MANIFEST.json" and p not in listed: rep.add("package.manifest.unlisted", p, "file is not listed in the manifest") for p in REQUIRED: @@ -223,28 +281,15 @@ def _validate(root, store, key, rep): if scheme == "hmac-team" and key is not None and document["hashing"]["key_id"] != crypto.key_id(key): rep.add("doc.hash.key", "document.json", "key_id does not match the key supplied") - # References inside runs. + # References between nodes, and the counts. kinds = {n["id"]: n["kind"] for n in nodes} - for n in nodes: - for r in n.get("content", []) if n["kind"] in RUN_KINDS else []: - if r["kind"] == "cite": - for ref in r["refs"]: - if kinds.get(ref) != "reference": - rep.add("doc.run.cite", n["id"], "cite names %s, which is not a reference" % ref) - if r["kind"] == "fnmark" and r.get("footnote") is not None and kinds.get(r["footnote"]) != "footnote": - rep.add("doc.run.fnmark", n["id"], "fnmark names a node that is not a footnote") - if r["kind"] == "xref" and r.get("target") and "#" not in r["target"]: - if r["target"] not in kinds: - rep.add("doc.run.xref", n["id"], "xref names no node in this document") - if n["kind"] == "table": - for col in n.get("attrs", {}).get("columns", []): - for h in col["header_path"]: - if kinds.get(h) != "cell": - rep.add("doc.table.header", n["id"], "a header path names %s, not a cell" % h) - if n["kind"] == "row": - for h in n.get("attrs", {}).get("header_path", []): - if kinds.get(h) != "cell": - rep.add("doc.table.header", n["id"], "a row header path names %s, not a cell" % h) + try: + validate_references(doc) + except Refusal as e: + rep.add(e.rule, e.node or "", e.message) + leaves_n = sum(1 for n in nodes if n["kind"] in LEAVES) + if document.get("counts") != {"nodes": len(nodes), "leaves": leaves_n}: + rep.add("doc.counts", "document.json", "counts do not recompute") # Hashes. hasher = hashing.PLAIN if scheme == "plain" else (hashing.Hasher(key) if key else None) @@ -285,7 +330,7 @@ def _validate(root, store, key, rep): # Corrections. cors = data["corrections.jsonl"] for i, c in enumerate(cors, 1): - if c["index"] != i: + if c.get("index") != i: rep.add("doc.correction.index", "corrections.jsonl:%d" % i, "indexes count from 1 without gaps") if c["id"] != record_id(sha256_hex(jcs.dumpb({k: v for k, v in c.items() if k != "id"}))): rep.add("doc.correction.id", "corrections.jsonl:%d" % i, "id does not derive from the record") @@ -361,16 +406,33 @@ def _validate(root, store, key, rep): ids_listed = [x[0] for x in r["nodes"]] if ids_listed != sorted(ids_listed) or len(set(ids_listed)) != len(ids_listed): rep.add("doc.receipt.nodes", r["id"], "nodes sort by ID without repeats") - if roster and not R.verify_signature(r, roster): - rep.add("doc.receipt.signature", r["id"], "signature does not verify") + if roster: + signer = roster.get(r["by"]) + if not R.verify_signature(r, roster): + rep.add("doc.receipt.signature", r["id"], "signature does not verify") + elif r["signature"]["key"] != r["by"] or not signer or not R.key_valid_at(signer, r["at"]): + rep.add("doc.receipt.signature", r["id"], "the signing key is not the signer's key, valid when signed") qa = r.get("qa") if qa: orig = by_id.get(qa["of"]) - if not orig: - rep.add("doc.qa.of", r["id"], "the spot-checked receipt is not in this package") + if not orig or orig["format"] != "scienting-receipt/1": + rep.add("doc.qa.of", r["id"], "the spot-checked receipt is not a receipt in this package") + continue + if r["scope"] != "qa:" + qa["of"]: + rep.add("doc.qa.of", r["id"], "the scope names another receipt than qa.of") + if orig["at"] > r["at"]: + rep.add("doc.qa.of", r["id"], "a spot-check is signed after the receipt it checks") + orig_hashes = dict(orig["nodes"]) + if [n for n, _ in r["nodes"]] != qa["sample"] or any(orig_hashes.get(n) != h for n, h in r["nodes"]): + rep.add("doc.qa.sample", r["id"], "the receipt's nodes are not the sampled nodes at the original's hashes") + if not {e["node"] for e in qa["errors"]} <= set(qa["sample"]): + rep.add("doc.qa.sample", r["id"], "an error names a node outside the sample") + try: + seed = base64.b64decode(qa["seed"], validate=True) + except (binascii.Error, ValueError): + rep.add("doc.qa.seed", r["id"], "the seed is not Base64") continue ck = roster.get(qa["key"]) - seed = base64.b64decode(qa["seed"]) if roster: if not ck or ck["scheme"] != "ed25519" or "spot-check" not in ck["purposes"]: rep.add("doc.qa.key", r["id"], "the seed key is not a registered Ed25519 spot-check key") @@ -380,7 +442,9 @@ def _validate(root, store, key, rep): rep.add("doc.qa.seed", r["id"], "the seed is not the checker's signature over the receipt") if qa["sample"] != R.sample(orig, seed, qa["rate"], qa["minimum"]): rep.add("doc.qa.sample", r["id"], "the sample does not follow from the seed") - if roster and not withheld: + if not withheld and (roster or not recs): + # Without a roster no receipt can be judged valid, so a package that carries receipts but no roster is + # checked against its store instead; one with neither reports the leaves' own levels. if R.distribution(R.effective_levels(nodes, vals, recs, roster)) != document["fidelity"]: rep.add("doc.fidelity.report", "document.json", "the fidelity distribution does not recompute") @@ -401,3 +465,137 @@ def read_state(root): def n_root_hash(nodes, doc): return {n["id"]: n for n in nodes}[doc.root]["node_hash"] + + +# --- zipped packages (spec/12 §12.2 and §12.8) ----------------------------------------- + +ZIP_EXTENSION = ".sct.zip" +# The reference tools' own limit on an archive's expanded size (spec/12 §12.2 leaves the limit to the consumer). +ZIP_LIMIT = 1 << 30 +_ZIP_DATE = (1980, 1, 1, 0, 0, 0) +_FLAG_ENCRYPTED = 0x1 +_FLAG_UTF8 = 0x800 + + +def is_zip(path): + return os.path.isfile(path) and path.lower().endswith(".zip") + + +def write_zip(root, path): + """Zip the package folder at `root` the way spec/12 §12.2 says a producer writes a byte-identical archive. + + Entries sit under one top-level folder named by the key, sorted by path, stored, dated 1980-01-01 00:00, + with no extra fields and no directory entries. Returns the SHA-256 of the archive. + """ + key = read_json(os.path.join(root, "document.json"))["key"] + files = _all_files(root) + for p in files: + if p != "MANIFEST.json" and not safe_path(p): + raise Refusal("package.path.unsafe", "unsafe path %r" % p) + with zipfile.ZipFile(path, "w") as zf: + for p in sorted(files, key=lambda x: x.encode("utf-8")): + zi = zipfile.ZipInfo(key + "/" + p, date_time=_ZIP_DATE) + zi.compress_type = zipfile.ZIP_STORED + zi.create_system = 3 + zi.external_attr = 0o644 << 16 + with open(os.path.join(root, p), "rb") as f: + zf.writestr(zi, f.read()) + with open(path, "rb") as f: + return sha256_hex(f.read()) + + +def _zip_entries(zf, limit): + """Check every entry of an open archive as spec/12 §12.2 requires; return the top-level folder.""" + infos = zf.infolist() + if not infos: + raise Refusal("package.zip.entry", "the archive has no entries") + folder, seen, total = None, set(), 0 + for zi in infos: + name = zi.filename + if not (zi.flag_bits & _FLAG_UTF8) and any(ord(ch) > 0x7F for ch in name): + raise Refusal("package.zip.entry", "%r: entry name is not marked as UTF-8" % name) + if zi.flag_bits & _FLAG_ENCRYPTED: + raise Refusal("package.zip.entry", "%s: encrypted entries are refused" % name) + top, sep, rest = name.partition("/") + if not sep or not KEY_RE.match(top): + raise Refusal("package.zip.entry", "%s: every entry sits under one folder named by the key" % name) + if folder is None: + folder = top + elif top != folder: + raise Refusal("package.zip.entry", "%s: entries sit under more than one top-level folder" % name) + if name in seen: + raise Refusal("package.zip.entry", "%s: duplicate entry" % name) + seen.add(name) + if zi.is_dir(): + if rest != "" and not safe_path(rest.rstrip("/")): + raise Refusal("package.zip.entry", "%s: unsafe path" % name) + continue + if stat.S_ISLNK(zi.external_attr >> 16): + raise Refusal("package.zip.entry", "%s: symbolic links are refused" % name) + if zi.compress_type not in (zipfile.ZIP_STORED, zipfile.ZIP_DEFLATED): + raise Refusal("package.zip.entry", "%s: entries are stored or deflated" % name) + if rest != "MANIFEST.json" and not safe_path(rest): + raise Refusal("package.zip.entry", "%s: unsafe path" % name) + total += zi.file_size + if total > limit: + raise Refusal("package.zip.size", "the archive expands past the limit of %d bytes" % limit) + return folder + + +def read_zip(path, dest, limit=ZIP_LIMIT): + """Unpack a zipped package into the empty or new folder `dest`, refusing what spec/12 §12.2 refuses. + + Returns the package folder, `dest/`. Every byte written is counted against each entry's declared size + and against `limit`, so a header that lies about a size is refused too. + """ + try: + zf = zipfile.ZipFile(path) + except (zipfile.BadZipFile, OSError) as e: + raise Refusal("package.zip.entry", "not a zip archive: %s" % e) + with zf: + folder = _zip_entries(zf, limit) + root = os.path.join(dest, folder) + os.makedirs(root) + written = 0 + for zi in zf.infolist(): + if zi.is_dir(): + continue + rest = zi.filename.partition("/")[2] + full = os.path.join(root, rest) + os.makedirs(os.path.dirname(full), exist_ok=True) + try: + with zf.open(zi) as src, open(full, "wb") as dst: + n = 0 + while True: + chunk = src.read(1 << 16) + if not chunk: + break + n += len(chunk) + written += len(chunk) + if n > zi.file_size or written > limit: + raise Refusal("package.zip.size", "%s: holds more than its header declares" % zi.filename) + dst.write(chunk) + except (zipfile.BadZipFile, RuntimeError, OSError) as e: + raise Refusal("package.zip.entry", "%s: %s" % (zi.filename, e)) + return root + + +def validate_zip(path, store, key=None, limit=ZIP_LIMIT): + """Validate a zipped package: unpack it under spec/12 §12.2's rules, then validate the folder.""" + with tempfile.TemporaryDirectory() as tmp: + try: + root = read_zip(path, tmp, limit) + except Refusal as e: + rep = Report() + rep.add(e.rule, e.node or "", e.message) + return rep + rep = validate(root, store, key) + mpath = os.path.join(root, "MANIFEST.json") + if os.path.exists(mpath): + try: + mkey = read_json(mpath).get("key") + except (Refusal, ValueError): + mkey = None + if mkey != os.path.basename(root): + rep.add("package.zip.entry", os.path.basename(root), "the top-level folder is not named by the key") + return rep diff --git a/tools/oracle/receipts.py b/tools/oracle/receipts.py index f7b9eba..753a7db 100644 --- a/tools/oracle/receipts.py +++ b/tools/oracle/receipts.py @@ -4,15 +4,17 @@ Non-normative; see spec/08-fidelity.md. """ import base64 +import binascii import hashlib import math from fractions import Fraction +from math import comb from . import crypto, jcs from .model import LEVELS from .text import record_id, sha256_hex -SIGNED_FORMATS = ("scienting-receipt/1", "scienting-revocation/1", "scienting-policy/1") +SIGNED_FORMATS = ("scienting-receipt/1", "scienting-revocation/1", "scienting-policy/1", "scienting-qa-report/1") def record_hash(rec): @@ -37,13 +39,29 @@ def seal(rec, secret, key_id): return rec +def _b64(s): + """Strict Base64 decoding; None for anything that is not Base64.""" + try: + return base64.b64decode(s, validate=True) + except (binascii.Error, ValueError, TypeError): + return None + + def verify_signature(rec, roster): + """Whether the record's Ed25519 signature verifies under the roster key it names. Never raises.""" sig = rec.get("signature") or {} + if not isinstance(sig, dict): + return False key = roster.get(sig.get("key")) - if not key or sig.get("scheme") != "ed25519" or key["scheme"] != "ed25519": + if not key or sig.get("scheme") != "ed25519" or key.get("scheme") != "ed25519": + return False + pub, value = _b64(key.get("public", "")), _b64(sig.get("value", "")) + if pub is None or value is None or len(pub) != 32 or len(value) != 64: + return False + try: + return crypto.ed25519_verify(pub, signing_payload(rec), value) + except (ValueError, TypeError): return False - pub = base64.b64decode(key["public"]) - return crypto.ed25519_verify(pub, signing_payload(rec), base64.b64decode(sig["value"])) def key_valid_at(key, at): @@ -103,10 +121,31 @@ def upper_bound(k, n, confidence="0.95"): def bound_string(k, n, confidence="0.95"): - """The bound as the spec reports it: six decimal places, rounded up.""" - x = upper_bound(k, n, confidence) - v = math.ceil(x * 10**6 - 1e-9) - return "%d.%06d" % (v // 10**6, v % 10**6) + """The bound as the spec reports it: six decimal places, rounded up, computed exactly. + + The reported value is the least multiple of 10^-6 at which the probability of at most k errors in n is + at most 1 - c, found by bisection with integer arithmetic, so no floating point enters the result. + """ + if n <= 0: + raise ValueError("n must be positive") + if k >= n: + return "1.000000" + alpha = 1 - Fraction(confidence) + scale = 10**6 + + def tail_at_most(m): + # P[X <= k] at p = m / scale, compared with alpha, both scaled by scale**n and alpha's denominator. + total = sum(comb(n, i) * m**i * (scale - m)**(n - i) for i in range(k + 1)) + return total * alpha.denominator <= alpha.numerator * scale**n + + lo, hi = 0, scale # the tail at 0 is 1 (above alpha); at 1 it is 0 (k < n) + while hi - lo > 1: + mid = (lo + hi) // 2 + if tail_at_most(mid): + hi = mid + else: + lo = mid + return "%d.%06d" % (hi // scale, hi % scale) # --- levels ------------------------------------------------------------------- @@ -141,26 +180,57 @@ def valid_revocations(revocations, receipts_by_id, roster): return out -def receipt_status(rec, records, roster): - """`valid`, `revoked`, `suspended`, or `invalid` for one receipt.""" - receipts = [x for x in records if x["format"] == "scienting-receipt/1"] - revs = [x for x in records if x["format"] == "scienting-revocation/1"] +def _base_status(rec, roster, valid_revs): + """`invalid`, `revoked` or `valid` for one receipt, before spot-checks are considered (spec/08 §8.6).""" + try: + if rec.get("root") != crypto.merkle_root(crypto.receipt_items(rec)): + return "invalid" + if rec["id"] != record_id(record_hash(rec)) or not verify_signature(rec, roster): + return "invalid" + key = roster.get(rec["by"]) + if not key or not key_valid_at(key, rec["at"]) or rec["signature"]["key"] != rec["by"]: + return "invalid" + except (KeyError, TypeError, ValueError): + return "invalid" + return "revoked" if revoked(rec, valid_revs) else "valid" + + +def statuses(records, roster): + """The status of every receipt in `records` (spec/08 §8.6), computed once. + + A receipt is suspended when a valid spot-check of it found an error, and a spot-check's own validity may + depend on its own spot-check, so statuses are settled from the end of each chain of spot-checks; a chain + that loops back on itself settles nothing, and its receipts are invalid. + """ + receipts = [x for x in records if x.get("format") == "scienting-receipt/1"] + revs = [x for x in records if x.get("format") == "scienting-revocation/1"] by_id = {x["id"]: x for x in receipts} - if rec.get("root") != crypto.merkle_root(crypto.receipt_items(rec)): - return "invalid" - if rec["id"] != record_id(record_hash(rec)) or not verify_signature(rec, roster): - return "invalid" - key = roster.get(rec["by"]) - if not key or not key_valid_at(key, rec["at"]) or rec["signature"]["key"] != rec["by"]: - return "invalid" - if revoked(rec, valid_revocations(revs, by_id, roster)): - return "revoked" + valid_revs = valid_revocations(revs, by_id, roster) + base = {rec["id"]: _base_status(rec, roster, valid_revs) for rec in receipts} + checkers = {} for q in receipts: qa = q.get("qa") - if qa and qa.get("of") == rec["id"] and qa.get("errors"): - if receipt_status(q, records, roster) == "valid": - return "suspended" - return "valid" + if isinstance(qa, dict) and qa.get("errors") and base.get(q["id"]) == "valid" and qa.get("of") in by_id: + checkers.setdefault(qa["of"], []).append(q["id"]) + final = {rid: s for rid, s in base.items() if s != "valid" or rid not in checkers} + pending = set(base) - set(final) + progress = True + while pending and progress: + progress = False + for rid in sorted(pending): + qs = checkers[rid] + if all(q in final for q in qs): + final[rid] = "suspended" if any(final[q] == "valid" for q in qs) else "valid" + pending.discard(rid) + progress = True + for rid in pending: + final[rid] = "invalid" + return final + + +def receipt_status(rec, records, roster): + """`valid`, `revoked`, `suspended`, or `invalid` for one receipt among `records`.""" + return statuses(records, roster).get(rec.get("id"), "invalid") def effective_levels(nodes, values, records, roster): @@ -169,10 +239,11 @@ def effective_levels(nodes, values, records, roster): A spot-check's `qa:` receipt does not raise the nodes it found in error (spec/08 §8.2). """ level = {n["id"]: n.get("fidelity") for n in nodes if "fidelity" in n} + status = statuses(records, roster) for rec in records: if rec["format"] != "scienting-receipt/1": continue - if receipt_status(rec, records, roster) != "valid": + if status.get(rec["id"]) != "valid": continue wrong = {e["node"] for e in (rec.get("qa") or {}).get("errors", [])} for nid, h in rec.get("nodes", []): diff --git a/tools/oracle/targets.py b/tools/oracle/targets.py new file mode 100644 index 0000000..007fada --- /dev/null +++ b/tools/oracle/targets.py @@ -0,0 +1,69 @@ +"""The target set of targeted F3: the nodes a team's claims, data and quotations rest on. + +Non-normative; see spec/08-fidelity.md §8.10. +""" + +from .model import LEAVES, MATH_KINDS +from .text import is_digit + +DIGIT_RULES = ("all", "anchored-sections", "none") +# The kinds that count as the section a node sits in: a section, or the front or back matter outside any. +SECTION_KINDS = frozenset(["section", "front", "back"]) +DIGIT_KINDS = frozenset(["sentence", "cell"]) +DIGIT_RUNS = frozenset(["text", "math"]) + + +def has_digit_run(node): + """Whether a `text` or `math` run of the node holds a digit (General Category Nd).""" + for r in node.get("content") or []: + if not isinstance(r, dict) or r.get("kind") not in DIGIT_RUNS: + continue + s = r.get("text") if r["kind"] == "text" else r.get("source") + if any(is_digit(ch) for ch in s or ""): + return True + return False + + +def enclosing_section(doc, nid): + """The nearest ancestor-or-self that is a section, or the front or back matter, else the root.""" + if doc.nodes[nid]["kind"] in SECTION_KINDS: + return nid + for a in reversed(doc.ancestors(nid)): + if doc.nodes[a]["kind"] in SECTION_KINDS: + return a + return doc.root + + +def target_set(doc, anchored, digit_rule="all"): + """The target set as `[[node, reason], …]` in document order, with `reason` the first that applies of + `anchored`, `equation` and `digits`. + + `anchored` lists the live nodes that extracts, dataset values, confirmed claim links, draft quotations or + pinned citations anchor; a container among them contributes its leaves. Every equation and equation line + is a target. Under `all`, so is every sentence or cell with a digit in a text or math run; under + `anchored-sections`, only those in a section that holds an anchored node; under `none`, none. + """ + if digit_rule not in DIGIT_RULES: + raise ValueError("digit rule must be one of %s" % ", ".join(DIGIT_RULES)) + anchored = set(anchored) + unknown = sorted(a for a in anchored if a not in doc.nodes) + if unknown: + raise ValueError("anchored nodes are not live: %s" % ", ".join(unknown)) + reasons = {} + for nid in sorted(anchored): + if doc.nodes[nid]["kind"] in LEAVES: + reasons[nid] = "anchored" + else: + for leaf in doc.leaves(nid): + reasons.setdefault(leaf, "anchored") + for nid in doc.preorder(): + if doc.nodes[nid]["kind"] in MATH_KINDS: + reasons.setdefault(nid, "equation") + if digit_rule != "none": + sections = {enclosing_section(doc, a) for a in anchored} + for nid in doc.preorder(): + n = doc.nodes[nid] + if n["kind"] in DIGIT_KINDS and has_digit_run(n): + if digit_rule == "all" or enclosing_section(doc, nid) in sections: + reasons.setdefault(nid, "digits") + return [[nid, reasons[nid]] for nid in doc.preorder() if nid in reasons] diff --git a/tools/oracle/tree.py b/tools/oracle/tree.py index 0eed704..f4a1fa8 100644 --- a/tools/oracle/tree.py +++ b/tools/oracle/tree.py @@ -212,5 +212,38 @@ def _check_content(doc, nid): raise Refusal("doc.node.attrs", "a section needs a level", nid) +def validate_references(doc): + """Check the references between nodes: cite, fnmark and xref runs, and the header paths of tables and rows + (spec/03 §3.4–3.5, spec/09 §9.2). Raises Refusal.""" + kinds = {nid: doc.nodes[nid]["kind"] for nid in doc.order} + for nid in doc.order: + n = doc.nodes[nid] + if n["kind"] in RUN_KINDS and not n.get("withheld"): + for r in n.get("content") or []: + if r["kind"] == "cite": + for ref in r["refs"]: + if kinds.get(ref) != "reference": + raise Refusal("doc.run.cite", "cite names %s, which is not a reference" % ref, nid) + if r["kind"] == "fnmark" and r.get("footnote") is not None and kinds.get(r["footnote"]) != "footnote": + raise Refusal("doc.run.fnmark", "fnmark names a node that is not a footnote", nid) + if r["kind"] == "xref" and r.get("target") and "#" not in r["target"] and r["target"] not in kinds: + raise Refusal("doc.run.xref", "xref names no node in this document", nid) + if n["kind"] == "table": + for col in n.get("attrs", {}).get("columns", []): + for h in col["header_path"]: + if kinds.get(h) != "cell": + raise Refusal("doc.table.header", "a header path names %s, not a cell" % h, nid) + if n["kind"] == "row": + for h in n.get("attrs", {}).get("header_path", []): + if kinds.get(h) != "cell": + raise Refusal("doc.table.header", "a row header path names %s, not a cell" % h, nid) + if n["kind"] == "cell": + col = n.get("attrs", {}).get("column") + table = next((a for a in reversed(doc.ancestors(nid)) if kinds[a] == "table"), None) + columns = {c["id"] for c in doc.nodes[table].get("attrs", {}).get("columns", [])} if table else set() + if col is not None and columns and col not in columns: + raise Refusal("doc.table.header", "a cell names a column its table does not define", nid) + + def leaf_kinds(): return LEAVES diff --git a/tools/stress.py b/tools/stress.py new file mode 100644 index 0000000..a6d9c4b --- /dev/null +++ b/tools/stress.py @@ -0,0 +1,621 @@ +#!/usr/bin/env python3 +"""Stress the reference implementation with random inputs. Exit status 0 means every property held. + +Non-normative tooling; it needs Python 3.14 and the packages pixi installs (`jsonschema`, `cryptography`). +Usage: python3 tools/stress.py [--seed N] [--rounds N] +The vectors pin values; this program checks the invariants the chapters state, over inputs drawn from a seeded +random generator, so a failure is reproducible from the seed it prints. Canonical JSON round-trips and sorts keys +by UTF-16 units; normalization is idempotent; notation folding never raises; random corrections keep the five +values equal to a full recomputation, never reuse an ID and apply deterministically; anchors made before those +corrections always resolve to one of the five outcomes; Merkle roots agree with a second implementation; +spot-check samples do not depend on input order; error bounds are the least six-decimal value with the stated tail; +differently stamped pages share a fingerprint; the zip reader and the package validator refuse or accept mutated +input without raising and never write outside their folders; rights combine the same in any order; and +spot-check chains hundreds deep settle without recursion. +""" + +import argparse +import copy +import json +import os +import random +import shutil +import sys +import tempfile +import time +import zipfile +from fractions import Fraction +from math import comb + +ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +sys.path.insert(0, ROOT) + +from tools.oracle import align as AL # noqa: E402 +from tools.oracle import anchors as AN # noqa: E402 +from tools.oracle import corrections as CO # noqa: E402 +from tools.oracle import crypto, fingerprint as FP, hashing, jcs, receipts as RC, rights as RI, targets as TG # noqa: E402 +from tools.oracle import package as PK # noqa: E402 +from tools.oracle.model import LABELLED, LEAVES, Doc # noqa: E402 +from tools.oracle.notation import fold_math # noqa: E402 +from tools.oracle.text import NODE_ID_RE, RECORD_ID_RE, letter_first, norm, record_id, sha256_hex, is_ws # noqa: E402 +from tools.oracle.tree import Refusal, validate_structure # noqa: E402 +from tools.build import ROSTER_BY_ID, SCHEMAS, secret, sentence_doc, tiny_package # noqa: E402 +from tools.check import STORE, reference_values # noqa: E402 + +FAILS = [] +COUNTS = {} +RULES = {r["id"] for r in json.load(open(os.path.join(ROOT, "registry", "rules.json"), encoding="utf-8"))["rules"]} + + +def ok(section, cond, msg): + COUNTS[section] = COUNTS.get(section, 0) + 1 + if not cond and len(FAILS) < 200: + FAILS.append("%s: %s" % (section, msg)) + + +TEXT_POOL = list("abcdefghijklmnopqrstuvwxyzABCDEFXYZ0123456789 .,;:-()[]") + [ + "é", "Å", "fi", "µ", "−", "–", " ", "\t", "\n", "
", "€", + "\U0001d49c", "\U0001f600", "é", "H₂O", "10³", "cm⁻¹", " "] +KEY_POOL = list("abcxyz") + ["€", "\U0001f600", "fi", "A", "é", "", "a b", "\u0001"] + + +def rand_text(rng, lo=0, hi=12, pool=TEXT_POOL): + return "".join(rng.choice(pool) for _ in range(rng.randint(lo, hi))) + + +def rand_json(rng, depth=0): + r = rng.random() + if depth > 3 or r < 0.4: + choice = rng.randint(0, 6) + if choice == 0: + return None + if choice == 1: + return rng.random() < 0.5 + if choice == 2: + return rng.randint(-2**53, 2**53) + if choice == 3: + return rng.uniform(-1, 1) * 10.0 ** rng.randint(-12, 24) + if choice == 4: + return rng.choice([0, -0.0, 1e21, 1e-7, 0.000001, 123456789.125, 5e-324, 1.7976931348623157e308]) + return rand_text(rng) + if r < 0.7: + return [rand_json(rng, depth + 1) for _ in range(rng.randint(0, 4))] + return {rand_text(rng, 0, 3, KEY_POOL): rand_json(rng, depth + 1) for _ in range(rng.randint(0, 4))} + + +def _as_doubles(text): + """Parse JSON as an ECMAScript engine does, which is how canonical JSON is read (vectors/README.md).""" + return json.loads(text, parse_int=lambda x: int(x) if abs(int(x)) <= 2**53 else float(x)) + + +def stress_canonical_json(rng, rounds): + for _ in range(rounds): + v = rand_json(rng) + try: + s = jcs.dumps(v) + except ValueError as e: + ok("canonical-json", False, "dumps refused a plain value: %r (%s)" % (v, e)) + continue + ok("canonical-json", jcs.dumpb(v) == s.encode("utf-8"), "dumpb is dumps encoded") + back = _as_doubles(s) + ok("canonical-json", back == v, "round trip changed the value: %r" % (v,)) + ok("canonical-json", jcs.dumps(back) == s, "canonical form is not idempotent for %r" % (v,)) + pairs = _as_doubles(s) if not s.startswith(("{", "[")) else json.loads(s, object_pairs_hook=lambda kv: kv) + + def ordered(x): + if isinstance(x, list) and x and isinstance(x[0], tuple): + keys = [k for k, _ in x] + return keys == sorted(keys, key=lambda k: k.encode("utf-16-be")) and all(ordered(v) for _, v in x) + if isinstance(x, list): + return all(ordered(y) for y in x) + return True + ok("canonical-json", ordered(pairs), "object members are not sorted by UTF-16 code units in %s" % s[:80]) + + +def stress_normalization(rng, rounds): + for _ in range(rounds): + s = rand_text(rng, 0, 30) + n = norm(s) + ok("normalize", norm(n) == n, "normalization is not idempotent for %r" % s) + ok("normalize", not n or (not is_ws(n[0]) and not is_ws(n[-1])), "normalized text keeps edge whitespace") + ok("normalize", " " not in n and all(ch == " " or not is_ws(ch) for ch in n), + "normalized text keeps a whitespace run or a non-space whitespace: %r" % n) + + +TEX_TOKENS = list("xyzKrHO0123456789+-=()'") + ["_", "^", "{", "}", "\\alpha", "\\mathrm{H}", "\\frac{a}{b}", " ", + "\\,", "\\cdot", "H_2O", "^{14}", "{}", "\\left(", "\\right)", "\\\\", + "µ", "−", "''", "_{", "^{"] +TYPST_TOKENS = list("xyzKr0123456789+-=()'") + ["_", "^", "(", ")", "alpha", "upright(H)", "\"cm\"", " ", "dot", + "plus.minus", "<=", "/", "epsilon.alt", "_(", "^(", "\"a\\b\""] + + +def stress_notation(rng, rounds): + for _ in range(rounds): + for notation, pool in (("tex", TEX_TOKENS), ("typst", TYPST_TOKENS)): + s = "".join(rng.choice(pool) for _ in range(rng.randint(0, 8))) + try: + a = fold_math(notation, s) + b = fold_math(notation, s) + except Exception as e: # noqa: BLE001 + ok("notation", False, "fold_math raised %r on %s %r" % (e, notation, s)) + continue + ok("notation", a == b and (a is None or isinstance(a, str)), "fold_math is not deterministic on %r" % s) + ok("notation", a is None or not any(is_ws(ch) for ch in a), "a canonical form holds whitespace: %r" % a) + ok("notation", a is None or "$" not in a, "a canonical form holds a dollar sign: %r" % a) + + +def _leaf_ids(doc, kinds): + return [nid for nid in doc.preorder() if doc.nodes[nid]["kind"] in kinds] + + +def random_correction(rng, st, doc): + """One random proposal against `st`, or None.""" + sentences = _leaf_ids(doc, {"sentence"}) + cells = _leaf_ids(doc, {"cell"}) + op = rng.choice(["replace", "replace", "split", "merge", "move", "relabel", "set", "delete", "reclassify", + "insert-text", "insert-node"]) + evidence = [{"kind": "crop", "sha256": "0" * 64}] if rng.random() < 0.8 else [{"kind": "person", "by": "ana"}] + c = {"op": op.split("-")[0], "evidence": evidence} + if op == "replace" and (sentences or cells): + nid = rng.choice(sentences + cells) + text = hashing.plain(doc, nid) + if not text: + return None + i = rng.randrange(len(text)) + j = min(len(text), i + rng.randint(1, 6)) + c.update(target=nid, find=text[i:j], replace=rand_text(rng, 0, 8)) + elif op == "split" and sentences: + nid = rng.choice(sentences) + c.update(target=nid, offset=rng.randint(0, max(1, len(hashing.plain(doc, nid))))) + elif op == "merge" and len(sentences) > 1: + nid = rng.choice(sentences) + sibs = doc.kids(doc.nodes[nid]["parent"]) + k = sibs.index(nid) + other = sibs[k + 1] if k + 1 < len(sibs) else rng.choice(sentences) + c.update(target=nid, **{"with": other}, joiner=rng.choice([" ", ""])) + elif op == "move" and sentences: + paragraphs = _leaf_ids(doc, {"paragraph"}) + if not paragraphs: + return None + c.update(target=rng.choice(sentences), parent=rng.choice(paragraphs), place_after=None) + elif op == "relabel": + labelled = [nid for nid in doc.preorder() if doc.nodes[nid]["kind"] in LABELLED] + if not labelled: + return None + c.update(target=rng.choice(labelled), label=rng.choice([None, "2", "Table 7", "a", rand_text(rng, 1, 5)])) + elif op == "set" and cells: + c.update(target=rng.choice(cells), attr=rng.choice(["colspan", "rowspan", "role", "column", "level"]), + value=rng.choice([1, 2, 3, "2", -1, "data", "row-header", "boss", None])) + elif op == "delete" and len(doc.order) > 8: + c.update(target=rng.choice(doc.order[1:])) + elif op == "reclassify": + c.update(target=rng.choice(doc.order), kind=rng.choice(["footnote", "quote", "paragraph", "caption", "section"])) + elif op == "insert-text" and sentences: + nid = rng.choice(sentences) + c.update(target=nid, run=rng.randint(0, len(doc.nodes[nid]["content"])), offset=rng.randint(0, 20), + text=rand_text(rng, 1, 6)) + elif op == "insert-node": + paragraphs = _leaf_ids(doc, {"paragraph"}) + if not paragraphs: + return None + parent = rng.choice(paragraphs) + kids = doc.kids(parent) + node = {"kind": "sentence", "content": [{"kind": "text", "text": rand_text(rng, 1, 20) or "x"}]} + if rng.random() < 0.2: + node["foo"] = 1 + c.update(parent=parent, place_after=rng.choice(kids + [None]), node=node) + else: + return None + return c + + +def stress_corrections(rng, rounds): + """A random walk of corrections from the tiny document; returns the states it passed through.""" + tiny = tiny_package(None, receipts=False) + st = tiny["final"] + base = {"author": {"key": "ana"}, "reason": "Stress.", "at": "2026-10-11T12:00:00Z"} + seen = {n["id"] for n in st.nodes} + history, accepted = [st], 0 + for _ in range(rounds): + doc = st.doc() + c = random_correction(rng, st, doc) + if c is None: + continue + c = dict(base, **c) + try: + st1, rec = CO.apply(st, copy.deepcopy(c), store=SCHEMAS) + except Refusal as e: + ok("corrections", e.rule in RULES, "a refusal names the unregistered rule %s" % e.rule) + continue + except Exception as e: # noqa: BLE001 + ok("corrections", False, "apply raised %r on %s" % (e, json.dumps(c)[:160])) + continue + accepted += 1 + try: + validate_structure(st1.doc()) + ok("corrections", st1.index().values == reference_values(st1.doc()), + "incremental values differ from the full computation after %s" % c["op"]) + except Refusal as e: + ok("corrections", False, "an accepted correction left the tree invalid: %s" % e.rule) + new_ids = {n["id"] for n in st1.nodes} - {n["id"] for n in st.nodes} + ok("corrections", not (new_ids & seen), "an ID was reused: %s" % sorted(new_ids & seen)) + seen |= new_ids + table = {e["id"] for e in st1.ids} + ok("corrections", set(rec.get("retired", [])) <= table, "a retired ID is not in the ID table") + ok("corrections", st1.ids == sorted(st1.ids, key=CO.id_order), "ids are not in the order of spec/04 §4.4") + ok("corrections", rec["id"] == record_id(sha256_hex(jcs.dumpb({k: v for k, v in rec.items() if k != "id"}))), + "the record's id does not derive from its content") + ok("corrections", rec["index"] == st.rev + 1 == st1.rev, "the record's index is not the next revision") + st2, rec2 = CO.apply(st, copy.deepcopy(c), store=SCHEMAS) + ok("corrections", rec2 == rec and st2.nodes == st1.nodes and st2.ids == st1.ids, "apply is not deterministic") + try: + _, rec3 = CO.gate(st, copy.deepcopy(c), SCHEMAS) + ok("corrections", rec3 == rec, "the gate records something else than apply") + except Refusal as e: + ok("corrections", e.rule == "correction.schema", "the gate refused an applied correction with %s" % e.rule) + st = st1 + history.append(st) + ok("corrections", accepted >= rounds // 10, "too few random corrections were accepted: %d of %d" % (accepted, rounds)) + return history + + +def stress_anchors(rng, history, rounds): + st0, final = history[0], history[-1] + doc0, vals0 = st0.doc(), hashing.compute(st0.doc()) + outcomes = {"current", "changed-below", "moved", "reattached", "stale"} + seen_outcomes = set() + anchors = [] + for nid in doc0.preorder(): + anchors.append(AN.make_anchor(doc0, vals0, nid, 0, store="smithlab")) + if doc0.nodes[nid]["kind"] in LEAVES: + t = hashing.plain(doc0, nid) + if len(t) > 2: + i = rng.randrange(len(t) - 1) + j = rng.randint(i + 1, len(t)) + anchors.append(AN.make_anchor(doc0, vals0, nid, 0, span=[i, j], store="smithlab")) + for _ in range(rounds // 4): + a = copy.deepcopy(rng.choice(anchors)) + a["node"] = letter_first(os.urandom(32), 7) if rng.random() < 0.5 else a["node"] + a.pop("kind", None) + anchors.append(a) + for state in (final, history[len(history) // 2], history[min(1, len(history) - 1)]): + values = hashing.compute(state.doc()) + for a in anchors: + try: + r = AN.resolve(state, a) + except Exception as e: # noqa: BLE001 + ok("anchors", False, "resolve raised %r on %s" % (e, json.dumps(a)[:120])) + continue + ok("anchors", r["result"] in outcomes, "unknown outcome %s" % r.get("result")) + seen_outcomes.add(r["result"]) + if r["result"] != "stale" or r.get("node"): + ok("anchors", r.get("node") in state.doc().nodes, "a non-stale result names no live node") + if r["result"] == "current": + ok("anchors", values[r["node"]]["node_hash"] == a["node_hash"], "current with another node_hash") + if "span" in r: + t = hashing.plain(state.doc(), r["node"]) + ok("anchors", 0 <= r["span"][0] <= r["span"][1] <= len(t), "a span outside the node's text") + ok("anchors", {"current", "stale"} <= seen_outcomes, "the random walk produced only %s" % sorted(seen_outcomes)) + + +def _merkle_reference(items): + leaves = [sha256_hex(b"\x00" + jcs.dumpb(x)) for x in items] + + def mth(ls): + if len(ls) == 1: + return ls[0] + k = 1 + while 2 * k < len(ls): + k *= 2 + return sha256_hex(b"\x01" + bytes.fromhex(mth(ls[:k])) + bytes.fromhex(mth(ls[k:]))) + return mth(leaves) + + +def stress_merkle(rng, rounds): + """Receipt items are lists, `["node", id, hash]` or `[kind, record id, hash]` (spec/08 §8.5).""" + for _ in range(rounds): + n = rng.randint(1, 40) + items = [[rng.choice(["node", "annotation", "digitization", "checklist"]), letter_first(os.urandom(32), 7), + sha256_hex(os.urandom(8))] for _ in range(n)] + if rng.random() < 0.3: + items.append([rand_text(rng), [rand_text(rng)], rng.randint(0, 2**53)]) + ok("merkle", crypto.merkle_root(items) == _merkle_reference(items), "Merkle roots differ for %d items" % len(items)) + + +def stress_spotcheck(rng, rounds): + for _ in range(rounds): + n = rng.randint(1, 60) + ids = sorted({letter_first(os.urandom(32), 7) for _ in range(n)}) + receipt = {"nodes": [[i, sha256_hex(i)] for i in ids]} + seed = os.urandom(64) + rate, minimum = rng.choice(["0.05", "0.1", "0.5", "1"]), rng.randint(1, 15) + sample = RC.sample(receipt, seed, rate, minimum) + size = RC.sample_size(len(ids), rate, minimum) + ok("spot-check", len(sample) == size == min(len(ids), max(minimum, -(-Fraction(rate) * len(ids) // 1))), + "sample size %d is not the rule's for n=%d" % (len(sample), len(ids))) + ok("spot-check", sample == sorted(sample) and set(sample) <= set(ids), "sample is not sorted or not from the receipt") + shuffled = {"nodes": rng.sample(receipt["nodes"], len(receipt["nodes"]))} + ok("spot-check", RC.sample(shuffled, seed, rate, minimum) == sample, "the sample depends on input order") + + +def stress_bounds(rng, rounds): + alpha = Fraction(5, 100) + for _ in range(rounds // 4): + n = rng.randint(1, 120) + k = rng.randint(0, n) + b = RC.bound_string(k, n) + ok("bounds", len(b.split(".")[1]) == 6, "bound has not six decimals: %s" % b) + if k >= n: + ok("bounds", b == "1.000000", "k = n must give 1") + continue + p = Fraction(b) + + def tail(q): + return sum(comb(n, i) * q**i * (1 - q)**(n - i) for i in range(k + 1)) + ok("bounds", tail(p) <= alpha, "the tail at the bound is above alpha for k=%d n=%d" % (k, n)) + if p > 0: + ok("bounds", tail(p - Fraction(1, 10**6)) > alpha, "the bound is not the least six-decimal value for k=%d n=%d" % (k, n)) + if k + 1 < n: + ok("bounds", Fraction(RC.bound_string(k + 1, n)) >= p, "the bound is not monotone in k") + + +def stress_fingerprints(rng, rounds): + rules = json.load(open(os.path.join(ROOT, "registry", "stamps", "scienting-stamps-1.json"), encoding="utf-8"))["rules"] + for _ in range(rounds): + lines = [{"text": rand_text(rng, 1, 40)} for _ in range(rng.randint(1, 8))] + page = {"size": [612.0, 792.0], "lines": lines, "images": [sha256_hex(rand_text(rng)) for _ in range(rng.randint(0, 2))]} + stamped = copy.deepcopy(page) + stamped["lines"].insert(rng.randint(0, len(lines)), + {"text": "Downloaded via EXAMPLE UNIV on %s" % rand_text(rng, 1, 10, list("abcXYZ0123456789-:"))}) + fp, removed = FP.fingerprint(page, rules) + fp2, removed2 = FP.fingerprint(stamped, rules) + ok("fingerprints", fp == fp2 and len(removed2) == len(removed) + 1, "a stamped download has another fingerprint") + digit_lines = [i for i, l in enumerate(lines) if any(ch in "0123456789" for ch in l["text"])] + if digit_lines: + changed = copy.deepcopy(page) + i = rng.choice(digit_lines) + t = changed["lines"][i]["text"] + j = next(j for j, ch in enumerate(t) if ch in "0123456789") + changed["lines"][i]["text"] = t[:j] + str((int(t[j]) + 1) % 10) + t[j + 1:] + ok("fingerprints", FP.fingerprint(changed, rules)[0] != fp, "a changed digit kept the fingerprint") + spaced = copy.deepcopy(page) + spaced["lines"] = [{"text": " ".join(l["text"])} for l in spaced["lines"]] + ok("fingerprints", FP.fingerprint(spaced, rules)[0] == fp, "inserted spaces changed the fingerprint") + + +def stress_zip(rng, rounds): + src = os.path.join(ROOT, "fixtures", "packages", "tiny2026example" + PK.ZIP_EXTENSION) + with open(src, "rb") as f: + good = f.read() + accepted = 0 + with tempfile.TemporaryDirectory() as tmp: + for i in range(rounds): + data = bytearray(good) + mode = rng.random() + if mode < 0.6: + for _ in range(rng.randint(1, 3)): + data[rng.randrange(len(data))] = rng.randrange(256) + elif mode < 0.8: + data = data[:rng.randrange(len(data))] + else: + data = data[:rng.randrange(len(data))] + os.urandom(rng.randint(1, 64)) + data[rng.randrange(len(data)):] + path = os.path.join(tmp, "z%d.zip" % i) + with open(path, "wb") as f: + f.write(data) + try: + rep = PK.validate_zip(path, STORE) + except Exception as e: # noqa: BLE001 + ok("zip", False, "validate_zip raised %r on mutation %d" % (e, i)) + continue + accepted += bool(rep) + dest = os.path.join(tmp, "d%d" % i) + try: + PK.read_zip(path, dest) + except Refusal as e: + ok("zip", e.rule in RULES, "read_zip names the unregistered rule %s" % e.rule) + except Exception as e: # noqa: BLE001 + ok("zip", False, "read_zip raised %r on mutation %d" % (e, i)) + stray = [f for f in os.listdir(tmp) if not (f.startswith("z") and f.endswith(".zip")) and not f.startswith("d")] + ok("zip", not stray, "the zip reader wrote outside its folder: %s" % stray) + ok("zip", accepted <= rounds // 20 + 1, "%d of %d mutated archives were accepted" % (accepted, rounds)) + + +def stress_packages(rng, rounds): + src = os.path.join(ROOT, "fixtures", "packages", "tiny2026example") + files = sorted(os.path.relpath(os.path.join(d, f), src) for d, _, fs in os.walk(src) for f in fs) + with tempfile.TemporaryDirectory() as tmp: + for i in range(rounds): + pkg = os.path.join(tmp, "p%d" % i) + shutil.copytree(src, pkg) + mode = rng.choice(["flip", "flip", "truncate", "delete", "add", "rename-case", "symlink"]) + target = rng.choice(files) + full = os.path.join(pkg, target) + if mode == "flip": + data = bytearray(open(full, "rb").read()) + if data: + k = rng.randrange(len(data)) + data[k] = (data[k] + rng.randrange(1, 256)) % 256 + open(full, "wb").write(data) + elif mode == "truncate": + data = open(full, "rb").read() + open(full, "wb").write(data[:rng.randrange(len(data) + 1)]) + elif mode == "delete": + os.remove(full) + elif mode == "add": + open(os.path.join(pkg, rand_text(rng, 1, 8, list("abcxyz")) + ".txt"), "wb").write(b"stray\n") + elif mode == "rename-case": + if target.lower() == target.upper(): + continue + os.rename(full, os.path.join(pkg, target.upper())) + else: + os.remove(full) + os.symlink(os.path.join(src, target), full) + try: + rep = PK.validate(pkg, STORE) + except Exception as e: # noqa: BLE001 + ok("packages", False, "validate raised %r after %s of %s" % (e, mode, target)) + continue + ok("packages", not rep, "a package mutated by %s of %s validated" % (mode, target)) + ok("packages", all(e["rule"] in RULES for e in rep.errors), "an unregistered rule was reported") + shutil.rmtree(pkg) + + +def stress_rights(rng, rounds): + tri = [True, False, "unknown"] + keys = list(RI.USES) + ["ai/" + p for p in RI.AI_PAIRS] + for _ in range(rounds): + flats = [{k: rng.choice(tri) for k in keys} for _ in range(rng.randint(1, 4))] + combined = RI.combine(flats) + shuffled = RI.combine(rng.sample(flats, len(flats))) + ok("rights", combined == shuffled, "combining depends on order") + for k in keys: + vals = [f[k] for f in flats] + want = False if False in vals else ("unknown" if "unknown" in vals else True) + ok("rights", combined[k] == want, "combining %s gave %r for %r" % (k, combined[k], vals)) + + +def _align_items(rng, prefix, texts): + items = [] + for i, t in enumerate(texts): + runs = [{"kind": "text", "text": t}] + doc, s = sentence_doc(runs) + strict, cx = hashing.strict(doc, s) + items.append({"id": "%s%d" % (prefix, i), "container": "p%d" % (i // 3), "context": "paragraph", "runs": runs, + "strict": strict, "lossy": hashing.lossy_from_strict(strict), "complex": cx}) + return items + + +def stress_alignment(rng, rounds): + for _ in range(rounds // 4): + texts = [rand_text(rng, 5, 60) or "x" for _ in range(rng.randint(1, 12))] + a = _align_items(rng, "a", texts) + try: + same = AL.align(a, _align_items(rng, "b", texts)) + b_texts = [t for t in texts if rng.random() > 0.3] + [rand_text(rng, 5, 30)] + diff = AL.align(a, _align_items(rng, "b", b_texts)) + ok("alignment", AL.align(a, _align_items(rng, "b", b_texts)) == diff, "alignment is not deterministic") + except Exception as e: # noqa: BLE001 + ok("alignment", False, "align raised %r" % (e,)) + continue + ok("alignment", len(same["pairs"]) == len(a) and all(p["agree"] for p in same["pairs"]) + and not [s for s in same["suspects"] if s["kind"] not in ("structure", "join")], + "aligning two equal readings left disagreements or unpaired sentences: %s" % same["suspects"][:3]) + ids_a = {x["id"] for x in a} + ok("alignment", all(p["a"] in ids_a for p in diff["pairs"]), "a pair names an unknown sentence") + paired = {p["a"] for p in diff["pairs"]} + dropped = {s["a"] for s in diff["suspects"] if s["kind"] == "dropped"} + ok("alignment", paired | dropped == ids_a and not (paired & dropped), + "every sentence of a reading is paired or dropped, not both or neither") + + +def stress_addresses(rng, rounds): + for _ in range(rounds): + store = rng.choice([None, "smithlab", "a1", "x.y-z"]) + key = rng.choice(["hale2026harmonic", "k", "a.b_c-d"]) + node = letter_first(os.urandom(32), 7) + pin = sha256_hex(rand_text(rng))[:6] if rng.random() < 0.5 else None + span = sorted([rng.randint(0, 50), rng.randint(0, 50)]) if rng.random() < 0.5 else None + s = AN.format_address(store, key, node, pin, span) + parsed = AN.parse_address(s) + ok("addresses", parsed and AN.format_address(parsed["store"], parsed["key"], parsed["node"], parsed["pin"], + parsed["span"]) == s, "address does not round trip: %s" % s) + junk = rand_text(rng, 0, 20) + try: + AN.parse_address(junk) + except Exception as e: # noqa: BLE001 + ok("addresses", False, "parse_address raised %r on %r" % (e, junk)) + for _ in range(rounds): + d = os.urandom(32) + ok("ids", NODE_ID_RE.match(letter_first(d, 7)) and RECORD_ID_RE.match(record_id(d.hex())), "ID form") + + +def stress_targets(rng, rounds): + st = PK.read_state(os.path.join(ROOT, "fixtures", "packages", "hale2026harmonic")) + doc = st.doc() + for _ in range(rounds // 4): + anchored = rng.sample(doc.order, rng.randint(0, 6)) + sets = {} + for rule in TG.DIGIT_RULES: + got = TG.target_set(doc, anchored, rule) + ids = [n for n, _ in got] + pos = {nid: i for i, nid in enumerate(doc.order)} + ok("targets", ids == sorted(ids, key=pos.get) and len(set(ids)) == len(ids), "targets are not in document order") + ok("targets", all(doc.nodes[n]["kind"] in LEAVES for n in ids), "a target is not a leaf") + sets[rule] = set(ids) + ok("targets", sets["none"] <= sets["anchored-sections"] <= sets["all"], "the digit rules do not nest") + try: + TG.target_set(doc, anchored + ["zzzzzzz"], "all") + ok("targets", False, "an unknown anchored node was accepted") + except ValueError: + ok("targets", True, "") + + +def stress_receipt_chains(rng, rounds): + """Chains of spot-checks hundreds deep settle without recursion, and alternate as spec/08 §8.6 implies.""" + depth = max(50, rounds) + ids = sorted({letter_first(os.urandom(32), 7) for _ in range(20)}) + rec = RC.seal({"format": "scienting-receipt/1", "doc": "hale2026harmonic", "rev": 0, "level": "F3", "scope": "all", + "nodes": [[i, sha256_hex(i)] for i in ids], "evidence": [], "by": "ana", + "at": "2026-10-11T12:00:00Z"}, secret("ana"), "ana") + records = [rec] + for i in range(depth): + orig = records[-1] + seed = RC.make_seed(orig, secret("ben-spot")) + sample = RC.sample(orig, seed) + hashes = dict(orig["nodes"]) + q = RC.seal({"format": "scienting-receipt/1", "doc": "hale2026harmonic", "rev": 0, "level": "F3", + "scope": "qa:" + orig["id"], "nodes": [[n, hashes[n]] for n in sample], "evidence": [], + "by": "ben", "at": "2026-10-11T12:%02d:%02dZ" % (i // 60 % 60, i % 60), + "qa": {"of": orig["id"], "key": "ben-spot", "seed": __import__("base64").b64encode(seed).decode(), + "rate": "0.05", "minimum": 10, "sample": sample, "errors": [{"node": sample[0]}]}}, + secret("ben"), "ben") + records.append(q) + t0 = time.time() + try: + status = RC.statuses(records, ROSTER_BY_ID) + except RecursionError: + ok("receipts", False, "a chain of %d spot-checks overflowed the stack" % depth) + return + ok("receipts", time.time() - t0 < 30, "statuses of a %d-deep chain took too long" % depth) + # The last spot-check nobody checks is valid; each receipt it checks is suspended; and so on, alternating. + want = "valid" + for r in reversed(records): + ok("receipts", status[r["id"]] == want, "receipt at depth %d is %s, not %s" % (records.index(r), status[r["id"]], want)) + want = "suspended" if want == "valid" else "valid" + + +def main(): + ap = argparse.ArgumentParser(description=__doc__.splitlines()[0]) + ap.add_argument("--seed", type=int, default=20261014, help="the random seed (default 20261014)") + ap.add_argument("--rounds", type=int, default=200, help="cases per property (default 200)") + a = ap.parse_args() + rng = random.Random(a.seed) + print("seed %d, %d rounds" % (a.seed, a.rounds)) + stress_canonical_json(rng, a.rounds) + stress_normalization(rng, a.rounds) + stress_notation(rng, a.rounds) + history = stress_corrections(rng, a.rounds) + stress_anchors(rng, history, a.rounds) + stress_merkle(rng, a.rounds) + stress_spotcheck(rng, a.rounds) + stress_bounds(rng, a.rounds) + stress_fingerprints(rng, a.rounds) + stress_zip(rng, a.rounds) + stress_packages(rng, a.rounds // 4) + stress_rights(rng, a.rounds) + stress_alignment(rng, a.rounds) + stress_addresses(rng, a.rounds) + stress_targets(rng, a.rounds) + stress_receipt_chains(rng, a.rounds) + for k in sorted(COUNTS): + print("%-17s %6d checks" % (k, COUNTS[k])) + if FAILS: + print("\n%d failures (seed %d):" % (len(FAILS), a.seed)) + for f in FAILS[:60]: + print(" " + f) + sys.exit(1) + print("\nEvery property held.") + + +if __name__ == "__main__": + main() diff --git a/tools/validate.py b/tools/validate.py index 356f40d..abafff3 100755 --- a/tools/validate.py +++ b/tools/validate.py @@ -4,7 +4,9 @@ Non-normative tooling. Usage: python3 tools/validate.py PACKAGE [PACKAGE ...] python3 tools/validate.py --correction PROPOSALS PACKAGE -A package is checked as spec/22 §22.2 describes, and each failure printed as `package: where: rule: message`. +A package is a folder, or a zipped package (`.sct.zip`), which is unpacked under the rules of spec/12 §12.2 +before it is checked. Each is checked as spec/22 §22.2 describes, and each failure printed as +`package: where: rule: message`. With --correction, PROPOSALS is a JSON file holding one proposed correction, or a JSON Lines file of several applied in order. Each runs through the gate (spec/11 §11.4) against the package's current state, and the record it would append to corrections.jsonl is printed, until one is refused. Nothing is written. @@ -15,6 +17,7 @@ import argparse import json import os import sys +import tempfile ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.insert(0, ROOT) @@ -33,19 +36,28 @@ def read_proposals(path): return [json.loads(ln) for ln in text.splitlines() if ln.strip()] +def validate_one(path, store, limit): + """The validation report of a package folder or a zipped package.""" + if package.is_zip(path): + return package.validate_zip(path, store, limit=limit) + return package.validate(path, store) + + def main(): lines = __doc__.splitlines() ap = argparse.ArgumentParser(description=lines[0], epilog="\n".join(lines[5:]), formatter_class=argparse.RawDescriptionHelpFormatter) ap.add_argument("--correction", metavar="PROPOSALS", help="a JSON or JSON Lines file of proposed corrections to run through the gate") - ap.add_argument("packages", nargs="+", metavar="PACKAGE", help="package folders") + ap.add_argument("--max-size", metavar="BYTES", type=int, default=package.ZIP_LIMIT, + help="refuse a zipped package that expands past this many bytes (default %d)" % package.ZIP_LIMIT) + ap.add_argument("packages", nargs="+", metavar="PACKAGE", help="package folders or zipped packages") a = ap.parse_args() if a.correction and len(a.packages) != 1: ap.error("--correction checks proposals against exactly one package") store, bad = Store(os.path.join(ROOT, "schemas")), False for p in a.packages: - for e in package.validate(p, store).errors: + for e in validate_one(p, store, a.max_size).errors: print("%s: %s: %s: %s" % (p, e["where"], e["rule"], e["message"]), file=sys.stderr) bad = True if bad: @@ -55,9 +67,12 @@ def main(): print("%s: valid" % p) return 0 pkg = a.packages[0] - state = package.read_state(pkg) + with tempfile.TemporaryDirectory() as tmp: + if package.is_zip(pkg): + pkg = package.read_zip(pkg, tmp, a.max_size) + state = package.read_state(pkg) if any(n.get("withheld") for n in state.nodes): - print("%s: doc.policy.withheld: a package that withholds its text takes no corrections" % pkg, + print("%s: doc.policy.withheld: a package that withholds its text takes no corrections" % a.packages[0], file=sys.stderr) return 1 for i, proposal in enumerate(read_proposals(a.correction), 1): diff --git a/vectors/README.md b/vectors/README.md index a0e4f12..f789997 100644 --- a/vectors/README.md +++ b/vectors/README.md @@ -52,7 +52,7 @@ The procedure is the same for every file: 3. Find the inputs and the expected outputs of the case. The table below says which fields are which, and the chapter it links defines the rule. - Only five files, `alignment`, `corrections`, `grading`, `resolve` and `rights`, put the expected outputs under `expect`. + Only six files, `alignment`, `corrections`, `grading`, `resolve`, `rights` and `targets`, put the expected outputs under `expect`. In the other fifteen the expected outputs are fields beside the inputs, such as `output`, `sha256`, `canonical` or `parsed`. 4. Compute each output from the inputs with your implementation. @@ -72,13 +72,13 @@ Some files change the procedure: Each of its cases lists ids from `projections.jsonl` and names a field in which those cases must be equal (`same`) or unequal (`differ`). Compute the field for each listed case and compare across the group. - `fingerprints.jsonl` needs the download-stamp rules in [registry/stamps/scienting-stamps-1.json](../registry/stamps/scienting-stamps-1.json), which each case names in `rules`. -- `resolve.jsonl` and `grading.jsonl` name a package by a path from the repository root. - Both files use `fixtures/packages/hale2026harmonic`. +- `resolve.jsonl`, `grading.jsonl` and `targets.jsonl` name a package by a path from the repository root. + All three use `fixtures/packages/hale2026harmonic`. Several files also mix more than one kind of case, told apart by their fields. `ids.jsonl` has minting cases and letter-first cases, `keyed.jsonl` and `signatures.jsonl` have a case for each derivation or record, `spotcheck.jsonl` has sample-size cases and one full sample, and `rights.jsonl` has stage checks (a `stage` field), backend checks (a `backend` field) and one combining case (neither). -The reference checker in [tools/](../tools/README.md) runs all twenty files, together with the rest of the repository's checks: +The reference checker in [tools/](../tools/README.md) runs all twenty-one files, together with the rest of the repository's checks: ```sh python3 tools/check.py --quick @@ -122,18 +122,19 @@ The table below uses a few terms that the chapters define: | `resolve.jsonl` | Anchors made on the example paper's first reading, and how each resolves after its corrections. | [6.5](../spec/06-anchors.md#65-resolution) | | `rights.jsonl` | Stage checks with policies and expiry, the combining rule, and backend conditions. | [14](../spec/14-rights.md) | | `grading.jsonl` | Exercises, submissions and the grades they earn. | [19.4](../spec/19-exercises.md#194-grading) | +| `targets.jsonl` | The target set of targeted F3 for the example paper under each digit rule, given the anchored nodes. | [8.10](../spec/08-fidelity.md#810-targeted-f3) | Resolve those paths against the files in that package only. ## What the vectors prove, and what they do not The specification, and the vectors with it, are at version 0.1.0 ([0.3](../spec/00-introduction.md#03-format-identifiers-and-versions)). -The specification has 27 formats: 20 are `candidate` and seven are `provisional` in [registry/formats.json](../registry/formats.json). +The specification has 29 formats: 18 are `candidate` and 11 are `provisional` in [registry/formats.json](../registry/formats.json). A candidate format changes only with a recorded reason and a new or changed vector ([22.5](../spec/22-conformance.md#225-stability)). A passing run shows one thing: for these inputs, your implementation computes the same values as the reference implementation in `tools/oracle/`. That code computed the expected outputs, and `pixi run build` regenerates them ([tools/](../tools/README.md)). -The vectors hold 203 cases in all, some of them small: `hashes.jsonl` has one document, `alignment.jsonl` one pair of readings, `offsets.jsonl` and `signatures.jsonl` two cases each. +The vectors hold 221 cases in all, some of them small: `hashes.jsonl` has one document, `alignment.jsonl` one pair of readings, `offsets.jsonl` and `signatures.jsonl` two cases each. The vectors do not show the following. @@ -147,8 +148,8 @@ The vectors do not show the following. - `canonical-json.jsonl` has five cases, none for the repository's rule that a lone surrogate, `NaN` or an infinity has no canonical form. - `merkle.jsonl` has roots for 1, 2, 3, 4, 5 and 7 items. A receipt with no items is invalid ([8.5](../spec/08-fidelity.md#85-merkle-roots)), so no case has an empty list, although the RFCs it follows define a hash for an empty list ([RFC 6962](https://www.rfc-editor.org/rfc/rfc6962), [RFC 9162](https://www.rfc-editor.org/rfc/rfc9162)). - - Seven formats are `provisional`, and no case carries their identifiers. - Their chapters define values that no vector pins, such as a dataset's content hash ([15](../spec/15-datasets.md)) and the hash that confirms a digitization ([16](../spec/16-digitization.md)). + - Eleven formats are `provisional`, and only `grading.jsonl` carries any of their identifiers (exercise, submission and grade). + The chapters of the others define values that no vector pins, such as a dataset's content hash ([15](../spec/15-datasets.md)), the hash that confirms a digitization ([16](../spec/16-digitization.md)) and a checklist's content hash ([8.11](../spec/08-fidelity.md#811-checklists)). They are expected to change as implementations gain experience ([0.4](../spec/00-introduction.md#04-status)). - Reading a PDF: how text lines are extracted from a PDF is outside the specification; `fingerprints.jsonl` supplies the lines, so it tests the fingerprint function only ([7.1](../spec/07-geometry.md#71-page-fingerprints)). - Faithful conversion: the vectors check what is computed from text, not whether a converter read the paper correctly. diff --git a/vectors/corrections.jsonl b/vectors/corrections.jsonl index f625ffa..c563ced 100644 --- a/vectors/corrections.jsonl +++ b/vectors/corrections.jsonl @@ -7,16 +7,22 @@ {"before":{"ids":[],"nodes":[{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"},{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"},{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"},{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"rev":0},"correction":{"at":"2026-10-11T12:00:00Z","author":{"key":"ana"},"evidence":[{"by":"ana","kind":"person"}],"offset":8,"op":"insert","reason":"Vector.","run":0,"target":"whq15cf","text":"only "},"doc":"tiny2026example","expect":{"refusal":"correction.evidence"},"id":"insert-text-no-crop"} {"before":{"ids":[],"nodes":[{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"},{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"},{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"},{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"rev":0},"correction":{"at":"2026-10-11T12:00:00Z","author":{"key":"ana"},"evidence":[{"kind":"crop","sha256":"4839e386aceece09ab1602a8291e072f2cc4e322e44ef458666f9b89c4ed6e54"}],"offset":0,"op":"insert","reason":"Vector.","run":7,"target":"whq15cf","text":"x"},"doc":"tiny2026example","expect":{"refusal":"correction.insert"},"id":"insert-text-bad-run"} {"before":{"ids":[],"nodes":[{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"},{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"},{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"},{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"rev":0},"correction":{"at":"2026-10-11T12:00:00Z","author":{"key":"ana"},"evidence":[{"kind":"crop","sha256":"4839e386aceece09ab1602a8291e072f2cc4e322e44ef458666f9b89c4ed6e54"}],"node":{"content":[{"kind":"text","text":"A dropped sentence."}],"kind":"sentence"},"op":"insert","parent":"pevazrk","place_after":"pd32xxr","reason":"Vector."},"doc":"tiny2026example","expect":{"ids":[],"nodes":[{"align_key":"6ec26beeb8a65c2a45fe92187cb014aa12458c923834b1e2a224839175ff978a","id":"ayan7gn","kind":"document","match_hash":"505eb15ffd9dae39efc48d382547fe95b0c06ebeab536a9ba3987caec136d72a","node_hash":"c838cc79e35d2160ac6aa5bf8f43749f0df82966a21596ce5c383f0a7f924531","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"7b8f52695e653922bd53599a4dd170145e9736ebb582aff1142c0e2925410643"},{"align_key":"376a90f437df93f81485a5965637d40e584c94c9b16020be00bc20d2ff914720","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"db9b2be0e3700a6cfdd638ae1504d315b286746d7eade11212d8c3e1319f7b79","node_hash":"5e8d37c11069820d68a1cac874c19e2f0f168989d8be61ff73f7d3e32bb2d5d4","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"6ee72cbdd5d3fb25cdfe80488b78ef6adeca4cf1a8740712c5f6e95fcf480991"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"447cf4606eaf26ea5e0c2e853d369fd35557361e701c7176450c015d66dfd9b4","id":"pevazrk","kind":"paragraph","match_hash":"48ca423e488af5806237fc4f81200941bed73b6e49a116a08b8be7fc21a39529","node_hash":"2057a40d06bbdf67d40bee4e0c1fc550233e9c49c3f46237f920571129ff5ae6","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"48ca423e488af5806237fc4f81200941bed73b6e49a116a08b8be7fc21a39529"},{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"},{"align_key":"06f7b55ab26a52c8a75a5206105f3eacd8b91ed37399d6507d36712295ed9bca","content":[{"kind":"text","text":"A dropped sentence."}],"id":"cxqe41k","kind":"sentence","match_hash":"67f0bb4b7a714ef1ecbf8fe70ec014122586ae104fa09ade1b83dd293f970251","node_hash":"74b9823a10437fb783f5b6018e6002ccce5ec2def03c945c9ab4a479eda7675d","ord":1,"own_hash":"adb284d8e83512c418b112fc1afe66e695bab257542f0daf03c7430402ec841f","parent":"pevazrk","text_hash":"67f0bb4b7a714ef1ecbf8fe70ec014122586ae104fa09ade1b83dd293f970251"},{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":2,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"record":{"after":"74b9823a10437fb783f5b6018e6002ccce5ec2def03c945c9ab4a479eda7675d","at":"2026-10-11T12:00:00Z","author":{"key":"ana"},"before":null,"created":["cxqe41k"],"evidence":[{"kind":"crop","sha256":"4839e386aceece09ab1602a8291e072f2cc4e322e44ef458666f9b89c4ed6e54"}],"format":"scienting-correction/1","id":"tcgfx1qdk0zpm","index":1,"node":{"content":[{"kind":"text","text":"A dropped sentence."}],"kind":"sentence"},"op":"insert","parent":"pevazrk","path":["ayan7gn","mzkksmc","pevazrk"],"place_after":"pd32xxr","reason":"Vector.","target":"cxqe41k","touched":["cxqe41k"]}},"id":"insert-node"} -{"before":{"ids":[],"nodes":[{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"},{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"},{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"},{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"rev":0},"correction":{"at":"2026-10-11T12:00:00Z","author":{"key":"ana"},"evidence":[{"by":"ana","kind":"person"}],"op":"delete","reason":"Vector.","target":"pevazrk"},"doc":"tiny2026example","expect":{"ids":[{"id":"pevazrk","kind":"retired","node_kind":"paragraph","rev":1,"successor":null},{"id":"pd32xxr","kind":"retired","node_kind":"sentence","rev":1,"successor":null},{"id":"whq15cf","kind":"retired","node_kind":"sentence","rev":1,"successor":null}],"nodes":[{"align_key":"2fadd2c2db90afd55fa1882a8b75c77f2b3c42ddf904ecc82cf02511b4c59263","id":"ayan7gn","kind":"document","match_hash":"8287586b5d9b9125cef727ae54eff914c320931ab2a33fdb73a3511dd4f33827","node_hash":"e0a5495ca059d147c6d9a46864f52288b94e2437c1ded2641c15182e8625c096","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"6ada36f2dab47e5ef92bc8329d62c5cf576c5eb18587997d0ab151200ab87adf"},{"align_key":"80fa7df5fffafbc399fa56c13bd39d03698d187ff007d91ccf495c6d20161f65","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"f9f02fe3049dcbedd1e3f63f5a9a60306b2ab2501de9861ed37335e629bb50e4","node_hash":"f10b2a2e5c38b5503138bad21d1da27d85869655fe2fd62c57d7070118f08556","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"d37b64cbae95acbde780dbd179569d4063554ede47c5e43c2a981ca6db5200f7"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":2,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"record":{"after":null,"at":"2026-10-11T12:00:00Z","author":{"key":"ana"},"before":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","evidence":[{"by":"ana","kind":"person"}],"format":"scienting-correction/1","id":"qqetx7zwtbdbp","index":1,"op":"delete","path":["ayan7gn","mzkksmc"],"reason":"Vector.","retired":["pevazrk","pd32xxr","whq15cf"],"target":"pevazrk","touched":["pd32xxr","whq15cf"]}},"id":"delete"} +{"before":{"ids":[],"nodes":[{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"},{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"},{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"},{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"rev":0},"correction":{"at":"2026-10-11T12:00:00Z","author":{"key":"ana"},"evidence":[{"by":"ana","kind":"person"}],"op":"delete","reason":"Vector.","target":"pevazrk"},"doc":"tiny2026example","expect":{"ids":[{"id":"pd32xxr","kind":"retired","node_kind":"sentence","rev":1,"successor":null},{"id":"pevazrk","kind":"retired","node_kind":"paragraph","rev":1,"successor":null},{"id":"whq15cf","kind":"retired","node_kind":"sentence","rev":1,"successor":null}],"nodes":[{"align_key":"2fadd2c2db90afd55fa1882a8b75c77f2b3c42ddf904ecc82cf02511b4c59263","id":"ayan7gn","kind":"document","match_hash":"8287586b5d9b9125cef727ae54eff914c320931ab2a33fdb73a3511dd4f33827","node_hash":"e0a5495ca059d147c6d9a46864f52288b94e2437c1ded2641c15182e8625c096","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"6ada36f2dab47e5ef92bc8329d62c5cf576c5eb18587997d0ab151200ab87adf"},{"align_key":"80fa7df5fffafbc399fa56c13bd39d03698d187ff007d91ccf495c6d20161f65","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"f9f02fe3049dcbedd1e3f63f5a9a60306b2ab2501de9861ed37335e629bb50e4","node_hash":"f10b2a2e5c38b5503138bad21d1da27d85869655fe2fd62c57d7070118f08556","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"d37b64cbae95acbde780dbd179569d4063554ede47c5e43c2a981ca6db5200f7"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":2,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"record":{"after":null,"at":"2026-10-11T12:00:00Z","author":{"key":"ana"},"before":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","evidence":[{"by":"ana","kind":"person"}],"format":"scienting-correction/1","id":"qqetx7zwtbdbp","index":1,"op":"delete","path":["ayan7gn","mzkksmc"],"reason":"Vector.","retired":["pevazrk","pd32xxr","whq15cf"],"target":"pevazrk","touched":["pd32xxr","whq15cf"]}},"id":"delete"} {"before":{"ids":[],"nodes":[{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"},{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"},{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"},{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"rev":0},"correction":{"at":"2026-10-11T12:00:00Z","author":{"key":"ana"},"evidence":[{"by":"ana","kind":"person"}],"op":"delete","reason":"Vector.","target":"gj83ag8"},"doc":"tiny2026example","expect":{"refusal":"correction.digits"},"id":"delete-digits-no-crop"} {"before":{"ids":[],"nodes":[{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"},{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"},{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"},{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"rev":0},"correction":{"at":"2026-10-11T12:00:00Z","author":{"key":"ana"},"evidence":[{"by":"ana","kind":"person"}],"offset":13,"op":"split","reason":"Vector.","target":"v43b2r1"},"doc":"tiny2026example","expect":{"ids":[],"nodes":[{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"b2a8e7b9b7bbd85d515539ead4f5ce6e2c1575af874741e6c0411a694160d45a","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"},{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"d9effe000dcda2c3b513f6e892e6b1898d9368cae6132cb93e6ce55cb8a33a68","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a2881052071c046fee4a8e85cfe2a85f6cd403a60fb5279fc7ab957ccfdf3f1a","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"f29ffbc41756b5d6b65f2d95aced9241d9e6f6cbc0f3095c79654ca5fb4842d7","content":[{"kind":"text","text":"The value is"}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"f3c3316e32a5fc734f072184962e4efc69fe6ce534c6467ea28d5d216418ce3f","node_hash":"5106bd7f918b6eef99a4137e9c7951fb819924a261949e3ba43b813b76b68b21","ord":0,"own_hash":"39642e0f2675dc38f33e54d6b5077b89b862150e6475ede5b75043b66031f4f7","parent":"gj83ag8","text_hash":"f3c3316e32a5fc734f072184962e4efc69fe6ce534c6467ea28d5d216418ce3f"},{"align_key":"e796489e949f8967be49d1a89d23b50ee1cbedd815124b4583d9c9cfcd26a68b","content":[{"kind":"text","text":"42.0 at 300 K."}],"fidelity":"F2","id":"h1ehc10","kind":"sentence","match_hash":"bdcb3ae4f656f9f1886cb9ae8fe2d2265bb3c9ffa240dc4dd0c4b420f7b85773","node_hash":"cb0487cb9b17b048c442a1167152cccf7f62107283211bc8474569831f2ba245","ord":1,"own_hash":"a3145828b095eed04855f0eb65e18f6391acb3cb64e4a2c5776f56faa59444c8","parent":"gj83ag8","text_hash":"bdcb3ae4f656f9f1886cb9ae8fe2d2265bb3c9ffa240dc4dd0c4b420f7b85773"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":2,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"},{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"},{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"record":{"after":"5106bd7f918b6eef99a4137e9c7951fb819924a261949e3ba43b813b76b68b21","at":"2026-10-11T12:00:00Z","author":{"key":"ana"},"before":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","created":["h1ehc10"],"evidence":[{"by":"ana","kind":"person"}],"format":"scienting-correction/1","id":"d5pxjj718tsv0","index":1,"offset":13,"op":"split","path":["ayan7gn","mzkksmc","gj83ag8"],"reason":"Vector.","target":"v43b2r1","touched":["h1ehc10","v43b2r1"]}},"id":"split"} {"before":{"ids":[],"nodes":[{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"},{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"},{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"},{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"rev":0},"correction":{"at":"2026-10-11T12:00:00Z","author":{"key":"ana"},"evidence":[{"by":"ana","kind":"person"}],"offset":6,"op":"split","reason":"Vector.","target":"jss11hp"},"doc":"tiny2026example","expect":{"refusal":"correction.split"},"id":"split-inside-xref"} {"before":{"ids":[],"nodes":[{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"},{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"},{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"},{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"rev":0},"correction":{"at":"2026-10-11T12:00:00Z","author":{"key":"ana"},"evidence":[{"by":"ana","kind":"person"}],"joiner":" ","op":"merge","reason":"Vector.","target":"pd32xxr","with":"whq15cf"},"doc":"tiny2026example","expect":{"ids":[{"id":"whq15cf","kind":"retired","node_kind":"sentence","rev":1,"successor":"pd32xxr"}],"nodes":[{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"3a08d1484b73ce657bba3ae85df0dd300ef9970afb527b54e886a81c377b7ce1","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"},{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"3d706ca3ac3a99e2af2fed3b7d5cc3c87a0198f5f2f88f39347dd629e933783b","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"868f0f5127954d4bacc42894944fbf09775dc571a88a0297d9687b29aa6a7cc6","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"},{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","content":[{"kind":"text","text":"A second paragraph. It ends here."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"74e8812b1beec14ea501ca218257c10b24318e264f7e2d34f19b1e8b8c731ab7","ord":0,"own_hash":"deace9c5c4208013043856b9bf910e8b92e2cb74f5a83d098004c5cb242ce6a0","parent":"pevazrk","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"record":{"after":"74e8812b1beec14ea501ca218257c10b24318e264f7e2d34f19b1e8b8c731ab7","at":"2026-10-11T12:00:00Z","author":{"key":"ana"},"before":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","evidence":[{"by":"ana","kind":"person"}],"format":"scienting-correction/1","id":"dsc7qcz632fgf","index":1,"joiner":" ","op":"merge","path":["ayan7gn","mzkksmc","pevazrk"],"reason":"Vector.","retired":["whq15cf"],"target":"pd32xxr","touched":["pd32xxr","whq15cf"],"with":"whq15cf"}},"id":"merge"} {"before":{"ids":[],"nodes":[{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"},{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"},{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"},{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"rev":0},"correction":{"at":"2026-10-11T12:00:00Z","author":{"key":"ana"},"evidence":[{"by":"ana","kind":"person"}],"op":"merge","reason":"Vector.","target":"v43b2r1","with":"pd32xxr"},"doc":"tiny2026example","expect":{"refusal":"correction.merge"},"id":"merge-not-adjacent"} {"before":{"ids":[],"nodes":[{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"},{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"},{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"},{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"rev":0},"correction":{"at":"2026-10-11T12:00:00Z","author":{"key":"ana"},"evidence":[{"by":"ana","kind":"person"}],"op":"move","parent":"gj83ag8","place_after":null,"reason":"Vector.","target":"whq15cf"},"doc":"tiny2026example","expect":{"ids":[],"nodes":[{"align_key":"30da8787f3792df5a4e75f1d87d273d7aff410e107b663b9fd383a975ff9177c","id":"ayan7gn","kind":"document","match_hash":"07eb80f34efabcea897cd2b949e95443e5be8ec044b8fe2655e86b7abd9c4c37","node_hash":"ca1ca2245c8a256533a2573af15eeaadda2e61fc17806586d7ab19f66068f28a","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"a14e294152535392e6433d3f37ef2fbda2b20ec8f75a50ded71d270579590ed4"},{"align_key":"37e0f3f45a1d705dcd2a82ba5087c26048f8bc1697e3314087672219cf368eb9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"4ff38d2aa4195ffb3bafcb6871ed1f73ebdb415b28f343a59961306c95f303ad","node_hash":"ea5da50d44f3e40cd0412bb15f3badde517f0b0023f21f2d97a7f7558d0d2408","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"ac4f8c912c0b7647c3328c8cb1e6477eb2022a06704953640804f457c7371bd7"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"9a3f0cd42b75fa281cb12c86f8956d84df0a5453e3cfc87e5e7bfaafef35b239","id":"gj83ag8","kind":"paragraph","match_hash":"4c9c6e087af631d07b0a9307a03c9dad2b6358c12c1f4893cec59c6d34e1a693","node_hash":"d39d8b127eac13338bce169de2f83eae4afc7fdb2c8c6dc084729963cc553d3a","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"6e46e1038a90fb0ecd345eb2c1aa93f73eea29976417c54d03926ddc6a9c3861"},{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":0,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"gj83ag8","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":1,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":2,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","id":"pevazrk","kind":"paragraph","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"f70e1bc04609eb6272efbf2f8844c67165bccc1e9df8be4e62d9c826e0e34592","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"},{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"record":{"after":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","at":"2026-10-11T12:00:00Z","author":{"key":"ana"},"before":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","evidence":[{"by":"ana","kind":"person"}],"format":"scienting-correction/1","id":"sc1nbzshw4z18","index":1,"op":"move","parent":"gj83ag8","path":["ayan7gn","mzkksmc","pevazrk"],"place_after":null,"reason":"Vector.","target":"whq15cf","to_path":["ayan7gn","mzkksmc","gj83ag8"],"touched":["whq15cf"]}},"id":"move"} -{"before":{"ids":[],"nodes":[{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"},{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"},{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"},{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"rev":0},"correction":{"at":"2026-10-11T12:00:00Z","author":{"key":"ana"},"evidence":[{"by":"ana","kind":"person"}],"kind":"quote","op":"reclassify","reason":"Vector.","target":"pevazrk"},"doc":"tiny2026example","expect":{"refusal":"doc.tree.child"},"id":"reclassify"} +{"before":{"ids":[],"nodes":[{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"},{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"},{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"},{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"rev":0},"correction":{"at":"2026-10-11T12:00:00Z","author":{"key":"ana"},"evidence":[{"by":"ana","kind":"person"}],"op":"move","parent":"pevazrk","place_after":"whq15cf","reason":"Vector.","target":"whq15cf"},"doc":"tiny2026example","expect":{"refusal":"correction.move"},"id":"move-after-itself"} +{"before":{"ids":[],"nodes":[{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"},{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"},{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"},{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"rev":0},"correction":{"at":"2026-10-11T12:00:00Z","author":{"key":"ana"},"evidence":[{"by":"ana","kind":"person"}],"kind":"footnote","op":"reclassify","reason":"Vector.","target":"pevazrk"},"doc":"tiny2026example","expect":{"ids":[],"nodes":[{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"2368bc62e6b4bd6e1480698ab864fcd8fa30b385c9804de5cc91186502401a5c","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"},{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"3558c35480dd0d5edaec7571f1ce885d2bc8b4d197b4ad4e373f1a19d7ae6f06","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"footnote","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"3728fa844134297833f690c1fb31e16c068f03b82c2c0d31b1b92421e439d430","ord":2,"own_hash":"0b05f397194cbe6331259a27e326547f7199864e9e6648a720fd7e1a07bfd97d","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"},{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"},{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"record":{"after":"3728fa844134297833f690c1fb31e16c068f03b82c2c0d31b1b92421e439d430","at":"2026-10-11T12:00:00Z","author":{"key":"ana"},"before":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","evidence":[{"by":"ana","kind":"person"}],"format":"scienting-correction/1","from":"paragraph","id":"bws3awtswx2ej","index":1,"kind":"footnote","op":"reclassify","path":["ayan7gn","mzkksmc"],"reason":"Vector.","target":"pevazrk","touched":["pd32xxr","whq15cf"]}},"id":"reclassify"} +{"before":{"ids":[],"nodes":[{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"},{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"},{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"},{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"rev":0},"correction":{"at":"2026-10-11T12:00:00Z","author":{"key":"ana"},"evidence":[{"by":"ana","kind":"person"}],"kind":"quote","op":"reclassify","reason":"Vector.","target":"pevazrk"},"doc":"tiny2026example","expect":{"refusal":"doc.tree.child"},"id":"reclassify-blocks"} {"before":{"ids":[],"nodes":[{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"},{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"},{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"},{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"rev":0},"correction":{"at":"2026-10-11T12:00:00Z","author":{"key":"ana"},"evidence":[{"by":"ana","kind":"person"}],"kind":"paragraph","op":"reclassify","reason":"Vector.","target":"v43b2r1"},"doc":"tiny2026example","expect":{"refusal":"correction.reclassify"},"id":"reclassify-bad"} {"before":{"ids":[],"nodes":[{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"},{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"},{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"},{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"rev":0},"correction":{"at":"2026-10-11T12:00:00Z","author":{"key":"ana"},"evidence":[{"kind":"crop","sha256":"4839e386aceece09ab1602a8291e072f2cc4e322e44ef458666f9b89c4ed6e54"}],"label":"2","op":"relabel","reason":"Vector.","target":"mzkksmc"},"doc":"tiny2026example","expect":{"ids":[],"nodes":[{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"a5f4090b52040f9e31dbc442e48c873cd500ee6ce869aeb6f9bca47a3bebea68","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"},{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"2","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"66e074f38d119bd264bb4264f797636b52c69f2a4d4214252d1a32944cc2cc2d","ord":0,"own_hash":"705939943052c43c01c27e7d40d86f6a5fc3af71539ba76d44369885429e40c3","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"},{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"},{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"record":{"after":"66e074f38d119bd264bb4264f797636b52c69f2a4d4214252d1a32944cc2cc2d","at":"2026-10-11T12:00:00Z","author":{"key":"ana"},"before":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","evidence":[{"kind":"crop","sha256":"4839e386aceece09ab1602a8291e072f2cc4e322e44ef458666f9b89c4ed6e54"}],"format":"scienting-correction/1","from":"1","id":"f6dw4wmycw8e1","index":1,"label":"2","op":"relabel","path":["ayan7gn"],"reason":"Vector.","target":"mzkksmc","touched":[]}},"id":"relabel-section"} +{"before":{"ids":[],"nodes":[{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"},{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"},{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"},{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"rev":0},"correction":{"at":"2026-10-11T12:00:00Z","author":{"key":"ana"},"evidence":[{"kind":"crop","sha256":"4839e386aceece09ab1602a8291e072f2cc4e322e44ef458666f9b89c4ed6e54"}],"label":null,"op":"relabel","reason":"Vector.","target":"mzkksmc"},"doc":"tiny2026example","expect":{"ids":[],"nodes":[{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"54001040c1f17192a675025132151f57779a9b0336aa64bd51121bd2b773a08e","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"},{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"4612d316b10ed86e9ee8cec03d7f0b30ce91116ee133ee1378160ebac671c725","ord":0,"own_hash":"28e53f4a7c9afa404ebda4905d5adbbbe6e75b6a782e35d958a18f7a3bec10f9","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"},{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"},{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"record":{"after":"4612d316b10ed86e9ee8cec03d7f0b30ce91116ee133ee1378160ebac671c725","at":"2026-10-11T12:00:00Z","author":{"key":"ana"},"before":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","evidence":[{"kind":"crop","sha256":"4839e386aceece09ab1602a8291e072f2cc4e322e44ef458666f9b89c4ed6e54"}],"format":"scienting-correction/1","from":"1","id":"rman0x1rfncf8","index":1,"label":null,"op":"relabel","path":["ayan7gn"],"reason":"Vector.","target":"mzkksmc","touched":[]}},"id":"relabel-remove"} {"before":{"ids":[],"nodes":[{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"},{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"},{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"},{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"rev":0},"correction":{"at":"2026-10-11T12:00:00Z","author":{"key":"ana"},"evidence":[{"by":"ana","kind":"person"}],"label":"Table 2","op":"relabel","reason":"Vector.","target":"r12vgb0"},"doc":"tiny2026example","expect":{"refusal":"correction.digits"},"id":"relabel-digit-no-crop"} {"before":{"ids":[],"nodes":[{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"},{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"},{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"},{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"rev":0},"correction":{"at":"2026-10-11T12:00:00Z","attr":"colspan","author":{"key":"ana"},"evidence":[{"by":"ana","kind":"person"}],"op":"set","reason":"Vector.","target":"k69qp1x","value":2},"doc":"tiny2026example","expect":{"ids":[],"nodes":[{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"843b220dc02152e86e41af24960babbb97f285a1b306ddc085fa7afd3b3abe0a","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"},{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"e4374c0c73d8a3e73a7cb9e198bbf72337f3ff1f88677d5fd12df08c7112e047","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"},{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"},{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"e5b03b1e6bb6d1f9a79f4743300cb7d0760bf5d3f4f23c00b894e1049ab1b7b2","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"0bd7ea5095ba05c3ed26d613fec8fcf2bdf161442baa0c8ec8a216fb3470f1e7","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"1a43518530edf8af5293f47ff90b527ce32ba68e36f80dc21ca831dbf15249f0","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":2,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"822f09e2aa080fe0bf10601d68ab47a313420e17f06d526b3d587a476cf4545b","ord":1,"own_hash":"c98e6d9f9c145fd2c930de5b42932c6f2e234e477cd4736ddc26f9d343515135","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"record":{"after":"822f09e2aa080fe0bf10601d68ab47a313420e17f06d526b3d587a476cf4545b","at":"2026-10-11T12:00:00Z","attr":"colspan","author":{"key":"ana"},"before":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","evidence":[{"by":"ana","kind":"person"}],"format":"scienting-correction/1","from":1,"id":"ktsarspb86wb8","index":1,"op":"set","path":["ayan7gn","mzkksmc","r12vgb0","ep5mjrt","aqxkkpz"],"reason":"Vector.","target":"k69qp1x","touched":["k69qp1x"],"value":2}},"id":"set-colspan"} +{"before":{"ids":[],"nodes":[{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"},{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"},{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"},{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"rev":0},"correction":{"at":"2026-10-11T12:00:00Z","attr":"colspan","author":{"key":"ana"},"evidence":[{"by":"ana","kind":"person"}],"op":"set","reason":"Vector.","target":"k69qp1x","value":"2"},"doc":"tiny2026example","expect":{"refusal":"doc.node.attrs"},"id":"set-bad-value"} {"before":{"ids":[],"nodes":[{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"},{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"},{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"},{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"rev":0},"correction":{"at":"2026-10-11T12:00:00Z","attr":"level","author":{"key":"ana"},"evidence":[{"by":"ana","kind":"person"}],"op":"set","reason":"Vector.","target":"k69qp1x","value":2},"doc":"tiny2026example","expect":{"refusal":"correction.set"},"id":"set-not-settable"} +{"before":{"ids":[],"nodes":[{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"},{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"},{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"},{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"rev":0},"correction":{"at":"2026-10-11T12:00:00Z","author":{"key":"ana"},"evidence":[{"kind":"crop","sha256":"4839e386aceece09ab1602a8291e072f2cc4e322e44ef458666f9b89c4ed6e54"}],"node":{"content":[{"kind":"text","text":"Junk."}],"foo":1,"kind":"sentence"},"op":"insert","parent":"pevazrk","place_after":"pd32xxr","reason":"Vector."},"doc":"tiny2026example","expect":{"refusal":"doc.node.schema"},"id":"insert-node-junk"} +{"before":{"ids":[],"nodes":[{"align_key":"b3108c22ec836d883e5116f7ed8546fa75390eb4aa960d78f2936115f69b6826","id":"ayan7gn","kind":"document","match_hash":"b6a4e12f700a6214bf02c9a437559e82fccdbecea7b575fa438a7d2e8c33071a","node_hash":"5bca682ef032725a940cf6745051126022a1ad6bd465bb3c051dae35ddfbbd17","ord":0,"own_hash":"34444fe0e6bdbf3927a579fe3286859d204ea0882a381b7769ffd4905551d24f","parent":null,"text_hash":"bd2abc746d51cf52d57a18632383245d585e29e265426967894eed99bc937561"},{"align_key":"caf6aee3882b3890996037e35d0ffdfe30b5e66653d45321d7ea0fa9135f1ee9","attrs":{"level":1},"id":"mzkksmc","kind":"section","label":"1","match_hash":"5a96c01f314c4d8a22fd5e105bebef45df4301886cccbc2538ecefddfcb1d405","node_hash":"83b33c64f1aab4df2f6bc32ee36aa4e5f77410681e2dea8289f64d569fdafbcb","ord":0,"own_hash":"65da097b48f8237e8d171bfbd0053ff0e3795c0532d5522d23a92b53430956f4","parent":"ayan7gn","text_hash":"7a97628fe9643c0fca3614a077e2e631c3fee81d3733ba1564292df65a294573"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","id":"gtjh3x4","kind":"heading","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"a3c82ab1e44bf4cffa1a59507f8bddc39a1ad191321ee803d0d60d96609a44c7","ord":0,"own_hash":"e813ff86a8920cef741e548eb5df545774b520d2fadbdda6e2b872a6729b9d26","parent":"mzkksmc","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"c099142bc3186ded72786ba27e9ea6d2da240fb9fd3fe79b479ecf8e734b2850","content":[{"kind":"text","text":"Results"}],"fidelity":"F2","id":"fvafy61","kind":"sentence","match_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd","node_hash":"293fc03ff4e39d7532467e4417ffcdb15f470f0bd3658dc1c021645ad53c9bef","ord":0,"own_hash":"c55f401232b19ff1133d77eac6c72868975064f177fc2d31ab8a181303c30599","parent":"gtjh3x4","text_hash":"219c4a6c86a716e99d5dc9611b61e584deb11b57e972d87d4b773387ebc3cadd"},{"align_key":"610c235321e38145abff21e31eaab303d85a6ce0d1b9340a599dc821a04922f6","id":"gj83ag8","kind":"paragraph","match_hash":"bcb4902ec69f2a7a724384f561ee9aa0e214c824c5882c1ad92777bee680aad4","node_hash":"a5b991f3f9d3119d4b9f667004147da0c216eec55b8e15c1e90f4916486fd345","ord":1,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"f589ee914c46c4aea7ce2de49d925c433c914121f576b81a3eab692f17f179a3"},{"align_key":"8f21603c39df123eb8680362184274aac9bdf1dbd485b3bba230960179071c95","content":[{"kind":"text","text":"The value is 42.0 at 300 K."}],"fidelity":"F2","id":"v43b2r1","kind":"sentence","match_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3","node_hash":"f5761f338b2878dff39a6ee724a75b13626dd625a0df96cf1cc6f9e8258cb7cc","ord":0,"own_hash":"7f0b9190d076cf01b51a8be863a51e9a8eeaab5d3ec8656202ff4d41578d4d82","parent":"gj83ag8","text_hash":"3bcf9fa8412dca28be91d6423460233ddedd7add6c324d8a0f2b26038567d3d3"},{"align_key":"8e7fe271cd1bab88d86c8900fe3ffae0ce95c55af6659df1fca278d359296e2d","content":[{"kind":"text","text":"See "},{"kind":"xref","target":"r12vgb0","text":"Table 1"},{"kind":"text","text":" and the note."},{"kind":"cite","refs":["w1dkdqd"],"text":"1"}],"fidelity":"F2","id":"jss11hp","kind":"sentence","match_hash":"9894a48790a8561966e68672fa13da20541d25a5178653720648f62cbc9ad36b","node_hash":"ec5d51bd0027283d3a6f32dce37228ac9290eba1eae32b12c0d148ae247fbb78","ord":1,"own_hash":"d9635148479076021e01e1eb9185f1745a457bb2d238a4f9ed0b402ce254f91a","parent":"gj83ag8","text_hash":"5b1de19c9eb1399e54bde7e96f051cac8b337be1f307fac320292b8db7e39da7"},{"align_key":"282eea00b316a6950fb7179f6289a8b98359019e11cb23a3ff426cdecad90165","id":"pevazrk","kind":"paragraph","match_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1","node_hash":"062dd26bfb226ca9811d0dfb013df211cb201dfe7b4b25f9aba000f3212298d5","ord":2,"own_hash":"494e069be36a18ecaabf5a63be7c31617ade7a5460218ca83a2de3d8d8f964e0","parent":"mzkksmc","text_hash":"da88f35d24faf0099610c720953c4919647a5dfb9003889a15c464cd9c540fb1"},{"align_key":"b8074a8bc013aa007023c4cce7334f1e1f22384d57a526ca22fd2f5589d5ab17","content":[{"kind":"text","text":"A second paragraph."}],"fidelity":"F2","id":"pd32xxr","kind":"sentence","match_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e","node_hash":"443539440dca73149ca75276492334ce9a5a6c50070137e8dc7bf414b75a27ab","ord":0,"own_hash":"acee4b6b1399bfde1dc67dea8d8c86b0db961d2af516ae4aaee26f294261456f","parent":"pevazrk","text_hash":"2e8313b033de5e17878ae778d6293bbd6e197a072f36acf7fe0840a690a7f31e"},{"align_key":"437c101749b0481e615fc7eed8dcacb536b65400c7e0695ad4cbb2bf2dae488c","content":[{"kind":"text","text":"It ends here."}],"fidelity":"F2","id":"whq15cf","kind":"sentence","match_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882","node_hash":"caeb3ae57d0821b8ac961c9507debbcda2b118b16cdc010b83a143a782058d57","ord":1,"own_hash":"705f77e8520c8c5ce3a7a495a20d8a9c55baa9801e49a55c341f5de79eeede75","parent":"pevazrk","text_hash":"2888dbfa0c08fd65c58c923b920860c76e13913d9fa93b03eccbbf7bdf53b882"},{"align_key":"cb0107aa0d562e8bd1188c33dc1ef5a1d07808e51edeabaa87465556d11b6ec8","attrs":{"columns":[{"header_path":["qrvfgfb"],"id":"ssa3ng1"},{"header_path":["cjkdv61"],"id":"hrr9g38"}]},"id":"r12vgb0","kind":"table","label":"Table 1","match_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72","node_hash":"ebd9f10b75d9cf43fd910a1a8eacf83726f8134b30eca27e02e67b346b9fd312","ord":3,"own_hash":"013341a8bee3a2b7ba24f5d4fdb14744e3218b3c4e38919642e9c632b125ddf2","parent":"mzkksmc","text_hash":"1951e0b61441d7b817b4967b36eee007f8e7525ac75fd359437eddb871e59f72"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"qsjm48k","kind":"table-head","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"04e6622242646b6052b86a57925be08c9f6b7d999467d87274f7456b01ecb247","ord":0,"own_hash":"c5749bee3a4b981fb79cf6db125ebb416dce5a83613a00feecd9d4cf75df9bb4","parent":"r12vgb0","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"769a4e6d0003189c7e96c5d9b7e810a0d11c3a12832527ec94b0f86d277f51ca","id":"wttrzx4","kind":"row","match_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19","node_hash":"791f6ab408d83eed26e381ec8cffd8c3f3d877eefb72d1ef1b5aaac5bcfde12b","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"qsjm48k","text_hash":"887fcea6a80333c6c02ae7e79735f0edad8d811f0b61431495f796f4bf6a7c19"},{"align_key":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","attrs":{"colspan":1,"column":"ssa3ng1","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"x"}],"fidelity":"F1","id":"qrvfgfb","kind":"cell","match_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","node_hash":"a1cc3f2e8226fd3036f8d3d93b810dd6606e1b59f1b0383e8f9f4cdc9b173f56","ord":0,"own_hash":"d53525cf48c39de2bb927a544a794ce376a17fb0ebb612b689c65fec0b7aa6e1","parent":"wttrzx4","text_hash":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881"},{"align_key":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","attrs":{"colspan":1,"column":"hrr9g38","role":"column-header","rowspan":1},"content":[{"kind":"text","text":"y"}],"fidelity":"F1","id":"cjkdv61","kind":"cell","match_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa","node_hash":"e5934b14bfa48e6849f2902d59934dfa81e86a9866f656a0270d9df2d6226078","ord":1,"own_hash":"998016f16491e03afa608cc94b7fcefab902a14cb34e3fff0d0fff89fb86f352","parent":"wttrzx4","text_hash":"a1fce4363854ff888cff4b8e7875d600c2682390412a8cf79b37d0b11148b0fa"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","id":"ep5mjrt","kind":"table-body","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"3f35859eba03154798b8ff15a5d8824eeef5575f32b45cf3296905fc4bb21f54","ord":1,"own_hash":"b229a7f92314227bf225ad27010a546e7c2373f4b30b7f6ec372e568cbacb6aa","parent":"r12vgb0","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"b902cc4550838229a710bfec4c38cbc7eb11082367a409df9135e7f007a96bda","attrs":{"header_path":["tn1vrf0"]},"id":"aqxkkpz","kind":"row","match_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738","node_hash":"cbf7f0e28878839fc67164f984f355aa17940b0b5bcdac84fa0acf02088c51c5","ord":0,"own_hash":"6c7c11bf1b6260162c4141f1468aa6869f5c33359900497e2cdb1a051488bd62","parent":"ep5mjrt","text_hash":"24cb52bc2dd0b9ddd4650c011d76b585e76c4d4ecae8cf220c7600efb808d738"},{"align_key":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","attrs":{"colspan":1,"column":"ssa3ng1","role":"row-header","rowspan":1},"content":[{"kind":"text","text":"1"}],"fidelity":"F1","id":"tn1vrf0","kind":"cell","match_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","node_hash":"ef0f58e83c4f36c7eca0b3380e3f520bb6684a182045296691af46980a3951f6","ord":0,"own_hash":"c7c43dbead054b40edde7e5a1f36e263d768543f275d4276f93942a2ace348a9","parent":"aqxkkpz","text_hash":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},{"align_key":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","attrs":{"colspan":1,"column":"hrr9g38","role":"data","rowspan":1},"content":[{"kind":"text","text":"2.5"}],"fidelity":"F1","id":"k69qp1x","kind":"cell","match_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61","node_hash":"413dfb455f4b2940f62e25f18b4dbafb1ea0dd2378b20b33d3ac18e3221245bf","ord":1,"own_hash":"06a46f626bb4440bf00073abccf1bd9d40d720716c7db0c450a195e6a21c6a9f","parent":"aqxkkpz","text_hash":"b8736b999909049671d0ea075a42b308a5fbe2df1854899123fe09eb0ee9de61"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"bx2ttrv","kind":"back","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"fcb8027f7c89115f048b9c5d6770847248f4e4fbc61cbc8ea0b04079b4d58350","ord":1,"own_hash":"bbb972bdc024231b505f4d8ce5e711fbb75c8b5ffd1b5d42ee3fb8586b85f867","parent":"ayan7gn","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","id":"c6t4qr5","kind":"references","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"8b8a9000e984c3efeb27fc40c8fbadd7349dd64860aa276dcd2a25a57ce52e87","ord":0,"own_hash":"2a5302e2041d0e59458fea212dd51b89299901318bfceeeff227c1a07d3f5d1a","parent":"bx2ttrv","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"},{"align_key":"b35d81b0ff35d6d05ad2c187a289d3017896427dfd8bb98160bc806ac0ec32f7","content":[{"kind":"text","text":"1. An Example, 2020."}],"fidelity":"F2","id":"w1dkdqd","kind":"reference","label":"1","match_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e","node_hash":"71b1af6dd6a56f24cb3b338e0fe99df06b9154ecdf4b391b00b7a7e61e23a8ed","ord":0,"own_hash":"f7c9bbc8c7456e6dc435feeaaa02cbfdbe487523b020105793fb11b91d0894f5","parent":"c6t4qr5","text_hash":"9a2d5d28ee47736a00d074e066bb944154f95a192360c8c04226c3d12a4f7d1e"}],"rev":0},"correction":{"at":"2026-10-11T12:00:00Z","author":{"key":"ana"},"evidence":[{"by":"ana","kind":"person"}],"op":"delete","reason":"Vector.","target":"qrvfgfb"},"doc":"tiny2026example","expect":{"refusal":"doc.table.header"},"id":"delete-header-cell"} diff --git a/vectors/notation.jsonl b/vectors/notation.jsonl index 370ed93..35b3f06 100644 --- a/vectors/notation.jsonl +++ b/vectors/notation.jsonl @@ -32,3 +32,11 @@ {"canonical":null,"id":"tex:\\Delta G^\\circ","notation":"tex","source":"\\Delta G^\\circ"} {"canonical":null,"id":"tex:E_{\\mathrm{bond}} = \\frac{1}{2} K_r (r - r_{\\mathrm{eq}})^2","notation":"tex","source":"E_{\\mathrm{bond}} = \\frac{1}{2} K_r (r - r_{\\mathrm{eq}})^2"} {"canonical":"E=K_{r}(r−r_{eq})^{2}","id":"typst:E = K_r (r - r_\"eq\")^2","notation":"typst","source":"E = K_r (r - r_\"eq\")^2"} +{"canonical":"^{14}C","id":"tex:{}^{14}C","notation":"tex","source":"{}^{14}C"} +{"canonical":"x^{2}","id":"tex:x{}^2","notation":"tex","source":"x{}^2"} +{"canonical":"_{2}","id":"tex:{}_2","notation":"tex","source":"{}_2"} +{"canonical":null,"id":"tex:\\left)x\\right(","notation":"tex","source":"\\left)x\\right("} +{"canonical":null,"id":"tex:A","notation":"tex","source":"A"} +{"canonical":null,"id":"tex:ʰ","notation":"tex","source":"ʰ"} +{"canonical":null,"id":"tex:Ϣ","notation":"tex","source":"Ϣ"} +{"canonical":"ἀω","id":"tex:ἀω","notation":"tex","source":"ἀω"} diff --git a/vectors/targets.jsonl b/vectors/targets.jsonl new file mode 100644 index 0000000..1c84428 --- /dev/null +++ b/vectors/targets.jsonl @@ -0,0 +1,3 @@ +{"anchored":["b2wgyq2","ba6xp29","dm452cm","e0n07n0","ezb1n33","gy4avx6","hw8fx4r","kpk13yn","kw2fb3v","mkakqg3","nkm3xn5","rr9wvsy","sxgcc9h","t3dsc22"],"digit_rule":"all","expect":{"nodes":[["j06tfhn","digits"],["sxgcc9h","anchored"],["qn08tj9","equation"],["f929eq9","digits"],["e4fkseg","digits"],["eajq93t","digits"],["nkm3xn5","anchored"],["kpk13yn","anchored"],["hw8fx4r","anchored"],["rr9wvsy","anchored"],["kw2fb3v","anchored"],["e0n07n0","anchored"],["gy4avx6","anchored"],["ezb1n33","anchored"],["dm452cm","anchored"],["t3dsc22","anchored"],["mkakqg3","anchored"],["ba6xp29","anchored"]]},"id":"hale-all","package":"fixtures/packages/hale2026harmonic"} +{"anchored":["b2wgyq2","ba6xp29","dm452cm","e0n07n0","ezb1n33","gy4avx6","hw8fx4r","kpk13yn","kw2fb3v","mkakqg3","nkm3xn5","rr9wvsy","sxgcc9h","t3dsc22"],"digit_rule":"anchored-sections","expect":{"nodes":[["sxgcc9h","anchored"],["qn08tj9","equation"],["f929eq9","digits"],["e4fkseg","digits"],["eajq93t","digits"],["nkm3xn5","anchored"],["kpk13yn","anchored"],["hw8fx4r","anchored"],["rr9wvsy","anchored"],["kw2fb3v","anchored"],["e0n07n0","anchored"],["gy4avx6","anchored"],["ezb1n33","anchored"],["dm452cm","anchored"],["t3dsc22","anchored"],["mkakqg3","anchored"],["ba6xp29","anchored"]]},"id":"hale-anchored-sections","package":"fixtures/packages/hale2026harmonic"} +{"anchored":["b2wgyq2","ba6xp29","dm452cm","e0n07n0","ezb1n33","gy4avx6","hw8fx4r","kpk13yn","kw2fb3v","mkakqg3","nkm3xn5","rr9wvsy","sxgcc9h","t3dsc22"],"digit_rule":"none","expect":{"nodes":[["sxgcc9h","anchored"],["qn08tj9","equation"],["nkm3xn5","anchored"],["kpk13yn","anchored"],["hw8fx4r","anchored"],["rr9wvsy","anchored"],["kw2fb3v","anchored"],["e0n07n0","anchored"],["gy4avx6","anchored"],["ezb1n33","anchored"],["dm452cm","anchored"],["t3dsc22","anchored"],["mkakqg3","anchored"],["ba6xp29","anchored"]]},"id":"hale-none","package":"fixtures/packages/hale2026harmonic"}