Repository navigation
v2.0.0 — The October 2026 toolchain, and evidence for every claim
A full revision. The manual now documents six projects at their October 2026 releases, every command in Part III was re-run against them, and a new evidence/ folder backs each checkable claim with its command, data and recorded output, so the manual can be checked rather than trusted.
📄 SemOps-Manual-v2.0.0-A4.pdf (124 pages, A4)
📓 SemOps-Manual-v2.0.0-notebooks.zip: the three runnable notebooks
🌐 Web edition, built from the same sources
Measured against: suite 0.24.1, extension and DSL 0.16.1, engine 0.3.4, HOLOS 0.22.0, tarka 0.1.1, between 13 and 21 October 2026.
Six projects, installed the way a reader would
The suite now evaluates on engines of its own: holosdb for SPARQL and shacl for SHACL. rdflib only parses, and Chapter 7 tells the STY-003 story that decided it. The manual gains:
- tarka, for TARQL, OTTR and data frames;
- HOLOS, with access policy at the index scan,
holos rules, andholos-serveras the store for every live-store example; - the TypeScript DSL;
- the testing repository, as the way the rest are kept honest.
Every install route is a PyPI or npm package, the .vsix, or a GitHub release binary.
evidence/: check it yourself
256 claims, each anchored at a passage of the manual:
| Kind | Claims | How it is checked |
|---|---|---|
| Reproduced | 179 | 105 distinct runs against the published packages and release binaries, all passing |
| Cited | 65 | A commit or a file at a fixed commit |
| Argument | 12 | Says what the judgement rests on |
Across all claims, 121 quotations are checked word for word against the sources they quote.
python verify.py re-runs everything, and an annotated copy of the manual links each claim to its evidence and back. Where a release changed what a claim should see, the claim checks the installed version and says which side of the change it ran on, so a reader on an older version can still use it.
What the checking found, and upstream fixed
Building the evidence turned up defects, and most were fixed upstream while this edition was being checked:
- HOLOS 0.21.1: validation no longer writes the shapes into the store it validates. Before, it added a copy per call, and kept it on disk.
- HOLOS 0.22.0:
holos validateexits 0, 1 or 2, so it can be a CI gate. It now defaults to the same validator asStore.validate(). - Engine 0.3.4: the
shaclcommand refuses to validate against a shapes graph with no shapes, or with-sforgotten. Before, it reportedconforms: trueand exited 0. - Suite 0.23.0:
REA-020no longer calls a consistent ontology inconsistent;--inferencereaches every engine;sketchreads each mapping with its own prefixes.
- Suite 0.24.0: six fixes, each a case where a run looked cleaner than it was. 0.24.1: a bad manifest
roleis a one-line error rather than a traceback. - DSL 0.16.1: unchecked code gets an error that names its mistake, and
build().quadsgoes to n3'sWriterwithout a cast.
The manual tells each fix with both sides kept. Chapter 14 keeps what is still open, with its mitigation.
Corrections to earlier editions
Chapter 14 lists what earlier editions had wrong. Among them:
- the
owl:equivalentClasstombstone is read in both directions; - owlready2 is a base dependency and Java is the optional part;
REA-022cannot be seen in a scoped run;- the DL reasoner's outcome follows the hash seed nine runs in ten, not every time.
evidence/EVIDENCE.md lists the corrections that writing the checks forced.
Also
- The prose brings in more of the author's own voice.
- A web edition at semantechs.co.uk, built by
tools/build-site.mjs. - The build tools now handle a CRLF checkout. On Windows, with
core.autocrlf, the build had silently dropped four diagrams. - All three notebooks re-run against suite 0.24.1, engine 0.3.4 and HOLOS 0.22.0: zero errors.
Full changelog: v1.4.0...v2.0.0