Skip to content

v2.0.0 — The October 2026 toolchain, and evidence for every claim

Choose a tag to compare

@pwin pwin released this 21 Oct 18:52

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, and holos-server as 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 validate exits 0, 1 or 2, so it can be a CI gate. It now defaults to the same validator as Store.validate().
  • Engine 0.3.4: the shacl command refuses to validate against a shapes graph with no shapes, or with -s forgotten. Before, it reported conforms: true and exited 0.
  • Suite 0.23.0:
    • REA-020 no longer calls a consistent ontology inconsistent;
    • --inference reaches every engine;
    • sketch reads 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 role is a one-line error rather than a traceback.
  • DSL 0.16.1: unchecked code gets an error that names its mistake, and build().quads goes to n3's Writer without 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:equivalentClass tombstone is read in both directions;
  • owlready2 is a base dependency and Java is the optional part;
  • REA-022 cannot 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