See what changed before you activate it.

Published World · every version, in orderOpen the change view

apple-2025-form-10-k.pdfthe first compile, and the World every later version was built on top of · 4 arrivals follow

  1. 2025 Form 10-K → + 2026 Q1 10-Q10-Q · filed 2026-01-30

    Objects
    +371 new · 366 rebuilt · 1,946 untouched
    Evidence regions
    +169 new · 0 changed
    Pages read
    30 of 30 filed · accession 0000320193-26-000006

    sha256 b553f3e4b90b9…sha256 c1714be053752…

  2. + 2026 Q1 10-Q → + 2026 DEF 14ADEF 14A · filed 2026-01-08

    Objects
    +2,729 new · 218 rebuilt · 2,465 untouched
    Evidence regions
    +237 new · 0 changed
    Pages read
    103 of 103 filed · accession 0001308179-26-000008

    sha256 c1714be053752…sha256 a902ada378c9f…

  3. + 2026 DEF 14A → + 2026 Q2 10-Q10-Q · filed 2026-05-01

    Objects
    +455 new · 454 rebuilt · 4,958 untouched
    Evidence regions
    +187 new · 0 changed
    Pages read
    36 of 37 filed · accession 0000320193-26-000013

    sha256 a902ada378c9f…sha256 76eda2ed02003…

  4. + 2026 Q2 10-Q → 2025 Form 10-K + four 2026 filings10-Q · filed 2026-07-31

    Objects
    +443 new · 456 rebuilt · 5,411 untouched
    Evidence regions
    +186 new · 0 changed
    Pages read
    38 of 40 filed · accession 0000320193-26-000020

    sha256 76eda2ed02003…sha256 aff67d5c6d0e3…

Every World above is a complete compile of its corpus, compared after the fact. What each step reports is the difference between two finished compiles, not the work a selective rebuild would have done — TAVONEL has no selective path, and the change view says the same thing where the same figures are produced.

The eight clauses

DEMONSTRATED
Built and shown on a declared sample or controlled path; not a production qualification.
DIRECTION
An intended property of the compiler contract. Not offered as a shipped capability in TAVONEL today.

No clause on this page is marked QUALIFIED. That state requires a named corpus and a receipt, and TAVONEL publishes neither — the measurements it does publish are in the research notes.

  1. 01

    Evidence-preserving

    DEMONSTRATED

    Every promoted fact names the exact source version it was read from, and every region names its page and its box.

    Explanation and evidence

    Every relation is typed and carries the evidence that justifies it, and a claim reaches that evidence through a supported_by relation to one exact document version — identified by the sha256 of the bytes that were read, not by a filename. The coordinates live on the region: each retrieval unit names a bounding box on a numbered page of that version and lists the claims and entities found inside it, so a changed region can be read back to what stands on it. Where an anchor is missing the compiler abstains rather than inventing one — a document version whose regions fail validation stops the compile with OCR_BINDING_INVALID, and a document read without regions emits no retrieval unit rather than a guessed page or box. Resolving every evidence reference in a finished package, and reporting EVIDENCE_DANGLING where one does not, is an offline check anyone holding the package can run — and the compiler runs the same check over the package before it emits, so a package that fails it arrives as review_required with the failing codes named, for a person to look at, rather than as a candidate that could be promoted.

    WHERE TO CHECK ITOpen any compiled package: rag/chunks.jsonl carries pageNumber1, bbox1000 and sourceVersionId on every unit, and provenance/evidence.jsonl resolves each one. The compiled sample at /explore publishes the same binding without an account — every region it opens names its page and its box. To check a package yourself, tavonel-verify-package.mjs at /developer/tavonel-verify-package.mjs reports EVIDENCE_DANGLING for a reference that does not resolve; its sha256 is pinned in /developer/channel.json.

  2. 02

    Stable semantic identity

    DIRECTION

    The same thing named four ways is one object, or it is left unresolved.

    Explanation and evidence

    FP-200, Feedwater Pump 200, Pump FP200 and P-200 are one piece of equipment in the plant and four strings in the corpus. An object here carries a stable key derived from content, so recompiling the same source lands on the same object rather than a new one. Merging two different strings into one object is the part TAVONEL does not do automatically: where the evidence does not settle identity, the compiler is required to leave it unresolved for a person rather than guess, and automatic resolution across sources is a direction.

    WHERE TO CHECK ITcanonical/model.json in a package carries the stable key on every object, so recompiling the same source and diffing the two files shows the key holding. The sample at /explore is the readable version of the same thing. What is not there is an automatic merge across sources, which is why this clause is a direction rather than a demonstration.

  3. 03

    Typed dependencies

    DEMONSTRATED

    The edges between knowledge units are typed and carry their own evidence.

    Explanation and evidence

    Every edge is typed and carries the evidence ids that justify it, and which types you get depends on which engine compiled: the fallback compiler emits three — a document discusses_topic, a document mentions_entity, and a claim is supported_by the evidence for one exact document version — while Core V2, the engine TAVONEL runs, has no topic object at all and emits three of its own: a claim supported_by its evidence, a claim mentions an entity, and one claim contradicts another. They are written as graph/relationships.csv under the header id, subject_id, predicate, object_id, evidence_ids, so a relation naming no evidence is not a row either emitter can produce, and the predicate list an artifact advertises is computed from the edges that artifact contains rather than copied from the blueprint. Where a type is a heuristic rather than read semantics, that is said and not softened: the fallback's topic edge comes from a small set of keyword rules and its entity edge from a capitalised-token scan, which makes those two document-level co-occurrence, and Core V2's entity mention is a regular-expression scan over the same text. A contradicts edge is a candidate, not a verdict — the compiler flags a pair whose numbers or whose polarity disagree inside one topic and one time reference, sends the candidate to review rather than resolving it, and knows nothing about jurisdiction, units or exception clauses; two claims phrased with different dates are never compared. A retrieval unit names the claims and entities found inside its own region, and the gate in front of retrieval rejects a unit with nothing bound to it; the unit carries no relation id. Projecting a relation into the retrieval unit an answer is built from is the rung TAVONEL does not build.

    WHERE TO CHECK ITgraph/relationships.csv in a package, whose header is id, subject_id, predicate, object_id, evidence_ids: a row with an empty evidence_ids column is one neither emitter can write. The predicate set an artifact advertises is in its own ontology/knowledge.ttl rather than in a blueprint, so the file and the claim are the same file. /docs/ontology-output publishes the per-predicate table with the engine that produced each edge.

  4. 04

    Temporal integrity

    DEMONSTRATED

    A fact that has been replaced cannot be served as current.

    Explanation and evidence

    A compile produces a candidate version. A person activates it, and the version it replaced stays intact and readable rather than being overwritten. The gate in front of retrieval rejects any unit belonging to a superseded world version, so a superseded fact cannot reach an answer even if it is the closest match. Reading the world as it stood on a past date, and classifying which authority governed a fact at that date, are directions: the gate checks the active version, not a point in time.

    WHERE TO CHECK ITEvery World revision keeps its own manifest digest, and the Change act at /explore compares two of them side by side. In the API, a read of a superseded revision answers SUPERSEDED_WORLD_VERSION rather than returning the unit — /docs/world-api and /docs/errors document the code and when it is returned.

4 clauses in, and every one of them is checkable on a World that is already compiled. Open the public Compiled World and follow a fact back to the page it was read from, or request access to compile your own sources.

  1. 05

    Selective recompilation

    DIRECTION

    Two changed pages rebuild what depends on them, not the corpus.

    Explanation and evidence

    Two pages change in a corpus of five thousand documents. The units that depend on those pages are rebuilt and everything else is carried over untouched, which is the economic argument for compiling knowledge rather than re-indexing it. Demonstrated on the public sample. Selective recompilation is on the roadmap and is not available today: a compile rebuilds the collection it is given.

    WHERE TO CHECK ITEach package's provenance/events.jsonl records what the compile actually did, so you can check this yourself. The capability grid on /security labels this row Direction.

  2. 06

    Full-rebuild equivalence

    DIRECTION

    A selective result must match a full rebuild, or it does not publish.

    Explanation and evidence

    An incremental update that is merely fast is dangerous, because nothing announces the moment it starts diverging from what a full rebuild would have produced. The contract is that the two are compared and that a mismatch refuses to publish rather than shipping a world that looks finished. The equivalence check is built and enforced; it has nothing to compare until selective rebuilds ship.

    WHERE TO CHECK ITEach package's provenance/events.jsonl carries the equivalence field, so the value is checkable rather than asserted.

  3. 07

    Multi-model verification

    DIRECTION

    A reader's own confidence is not evidence that it read the page correctly.

    Explanation and evidence

    A single OCR or vision model grading itself is the failure this clause exists to prevent: it is most confident exactly where a degraded scan has misled it. The contract asks for an independent second read, explicit disagreement detection between the two, escalation to a stronger reader where they disagree, and one canonical result at the end. Reading is single-pass today; low-confidence regions are carried forward and arrive in review rather than being re-read by a second model.

    WHERE TO CHECK ITOne read per document version, visible in the package: provenance/events.jsonl records a single read event per version, and a low-confidence region arrives in the review queue rather than in a second read. /docs/review documents the four decisions a person takes there.

  4. 08

    Portable World

    DEMONSTRATED

    A compiled World leaves as a signed package you can verify without us.

    Explanation and evidence

    The canonical model leaves as JSON, the ontology as Turtle and JSON-LD, the graph as CSV, the retrieval corpus and the provenance events as JSON Lines, and the sources as Markdown for reading. The archive carries a signed file inventory — every listed file checked by sha256, then those exact manifest bytes signed with Ed25519 — and the public key the signature was made with, so the check is an offline comparison of two files in the archive against a key fingerprint obtained from somewhere other than the archive: GET /api/export/trust publishes that fingerprint, and a download with no signing key configured refuses with EXPORT_SIGNER_NOT_CONFIGURED rather than handing over an unsigned archive. The package still does not carry the verifier inside itself, because a checker shipped inside the thing it checks proves nothing. What changed is where the reference verifier lives: tavonel-verify-export.mjs and tavonel-verify-package.mjs are published downloads on the Developers page, each pinned by sha256 in the distribution channel, each a single file that imports nothing but the Node standard library. The algorithm and the two files to compare are still named here, so a holder who would rather trust their own program than ours can still write one — and now does not have to in order to check a download at all. Knowledge that can only be read inside the tool that made it is not an asset.

    WHERE TO CHECK ITmanifest/export-manifest.json and signatures/export-manifest.ed25519.json are in the archive; the public key fingerprint to check them against is served by GET /api/export/trust, which is outside the archive on purpose. The two reference verifiers are downloads — /developer/tavonel-verify-export.mjs and /developer/tavonel-verify-package.mjs — each a single file importing nothing but the Node standard library, each pinned by sha256 in /developer/channel.json. A download with no signing key configured answers EXPORT_SIGNER_NOT_CONFIGURED rather than handing over an unsigned archive.

What a source change does

Read the source-change contract and diagram

The contract describes one path. A revision arrives; the change is read for what it means rather than which bytes moved; the units standing on the changed region are resolved; the untouched half is carried over and the affected half rebuilt; and the result is compared against what a full rebuild would have produced, with a mismatch refusing to publish rather than shipping a world that looks finished. Two stages of that path run in TAVONEL today. The drawing says which two, and the solid line down its left side is what happens here instead.

What a source change does to a Compiled WorldThe contract describes one path. A source change is read as a semantic diff, which is resolved into dependency impact. Impact splits knowledge in two: unaffected units are preserved untouched, affected units are recompiled from the new revision. The two halves are compared against what a full rebuild would have produced. If they match, the compile passes and a new candidate World is offered for a person to activate; if they do not match, it refuses to publish and the previously active World stands. Two stages are drawn solid, because two of them run today: the source change itself and the new candidate World. What joins them here is the solid line down the left margin — a compile rebuilds the whole collection it is given. Everything between them is drawn dashed: the semantic diff, the dependency impact, the selective preserve and recompile, the equivalence comparison, its pass or refuse outcome and the kept previous World are the contract this compiler is written to rather than what it executes here.SOURCE CHANGE → NEW WORLDRUNS TODAYDIRECTIONWHAT RUNS HERE:FULL RECOMPILEOF THE COLLECTIONSOURCE CHANGEa new revision of one fileSEMANTIC DIFFwhat the change means, not which bytes movedDEPENDENCY IMPACTwhich units stand on the changed regionUNAFFECTED → PRESERVEDcarried over untouchedAFFECTED → RECOMPILEDrebuilt from the new revisionEQUIVALENCEselective result against a full rebuildPASSthey matchREFUSEthey do notNEW WORLDa candidate a person activatesPREVIOUS WORLD KEPTnothing publishes; the active version stands

Solid is what TAVONEL executes: a source revision arrives, and a compile rebuilds the whole collection it is given into a candidate version a person activates. Everything dashed — the semantic diff, the dependency impact, the preserve-and-rebuild split, the equivalence comparison and the pass or refuse it would end in — is the contract this compiler is written to and does not run here, which is what clause 05 says in words. The kept previous World is dashed for that reason and not because a version is discarded: there is no equivalence check here to refuse, and the version a candidate replaces stays intact and readable either way. That is clause 04, and it is demonstrated.

Leaving the compiler

Read the formats and interchange standards

A compiled World that can only be read inside the tool that made it is not an asset. The internal representation stays ours; what leaves is a signed package in formats other systems already read.

JSON
canonical/model.json
Turtle
ontology/knowledge.ttl
JSON-LD
ontology/knowledge.jsonld
CSV
graph/nodes.csv, graph/relationships.csv
JSON Lines
rag/chunks.jsonl, provenance/activities.jsonl
Markdown
obsidian/Sources/*.md

Every path above is written by the same function that compiles a customer’s documents. The archive carries a signed file inventory — every listed file checked by sha256, then those exact manifest bytes signed with Ed25519 — and the public key the signature was made with, so the check runs offline, against a key fingerprint taken from somewhere other than the archive. What the archive does not carry is the verifier: it names the algorithm and the two files to compare, and the program that compares them is yours to run.

Interchange standards

  • RDFDEMONSTRATED

    The compiled model is emitted as RDF triples: objects typed under a tavonel namespace, relations as predicates between them.

  • TurtleDEMONSTRATED

    The RDF serialisation in every package, at ontology/knowledge.ttl, with rdfs and prov prefixes declared.

  • JSON-LDDEMONSTRATED

    At ontology/knowledge.jsonld, with a context mapping label to rdfs:label and evidence to prov:wasDerivedFrom.

  • OWL 2DIRECTION

    No OWL axioms are emitted. Classes and properties are described, not constrained by an ontology a reasoner could act on.

  • SHACLDIRECTION

    Package validation uses named error codes. A published SHACL shapes graph is not available.

  • PROV-ODIRECTION

    The vocabulary is referenced — the prov prefix in the Turtle, prov:wasDerivedFrom in the JSON-LD context — but a PROV-O activity graph is not emitted. Provenance events ship as JSON Lines.

  • OpenLineageDIRECTION

    Compile runs are recorded as receipts in this product's own shape. No OpenLineage event is emitted to a lineage backend.

  • OpenAPIDEMONSTRATED

    The public API describes itself at /api/openapi and /openapi.json, generated from the same contract the routes are tested against.

  • MCPDEMONSTRATED

    A read-only stdio server is published at /developer/tavonel-mcp.mjs. It exposes nine tools and refuses to start if a write tool is added.