ODIN · governed execution runtime

ODIN is the runtime that is allowed to say no.

ODIN executes intelligence work under a written contract. The contract — not the code — decides which stages run, what happens when evidence is missing, and who may approve the result. When the evidence does not support a claim, ODIN abstains, and abstention counts as a successful run.

Orchestration is data
A behaviour change ships as a new contract version, not a code change.
Fail-closed by default
Missing evidence is recorded as a gap. It is never filled in.
Append-only audit
Every stage, gap and decision is written once and never edited.
odin-oerProduction
Release
0.2.0-agentic
Environment
production
commit
5c72166
Build
2026-09-10 02:04:53 UTC

What ODIN has actually done

Not a roadmap. These are rows in the production ledger.

3,030
Contract runs

Executions of a versioned contract chain.

19,033
Evidence records

Sources retrieved, hashed and preserved — including the ones that failed.

72,674
Audit events

Append-only. Written once, never edited.

13,633
Media decisions

Every image judged before an article could carry it.

11,296
Editorial findings

Raised against the live network, for a person to resolve.

4,895
Shadow comparisons

ODIN measured against real editorial output it was not allowed to touch.

Point-in-time snapshot of the ODIN production instance, read on 2026-09-10. Counts cover 2026-08-14 to 2026-09-10. This page is not a live feed — the figures are correct as of that reading and do not update on their own.

Orchestration is data

Pick a contract. The chain below is not an illustration — it is the stage list ODIN actually executes for that contract, in that order.

bi-editorial@1.0.0Abstentioncounts as success

Turns acquired evidence into an article CANDIDATE for human review — never into a published article. It adds three stages to the intelligence-request shape: validate (is this evidence writable-from at all), draft (produce a structured article, not prose) and editorial-gate (mechanically refuse anything the evidence does not support).

Stage chain
  1. 1
    acquireevidence

    Read the sources. An empty result is recorded as a gap, not filled in.

  2. 2
    validateeditorial

    Is this evidence writable-from at all? If not, the run stops here.

  3. 3
    representparticles

    Turn the source into structured particles under an R6 constraint.

  4. 4
    drafteditorial-intelligence

    Produce a structured article object — fields and citations, not free prose.

  5. 5
    editorial-gateeditorial

    Mechanically refuse any claim the evidence does not support.

  6. 6
    persistpersistence

    Write the candidate and its evidence chain, append-only.

Rules it enforces
  • No evidence, no factual claim. A claim with no resolvable citation does not ship.
  • ODIN cites the primary publisher, never the Pulse edition to its own readers.
  • Corroboration counts DISTINCT PUBLISHERS, not URLs.
Δ

intelligence-request 1.1.0 differs from 1.0.0 in exactly one behaviour: a missing memory becomes a recorded gap and the run continues, instead of abstaining. That change shipped as a new JSON contract. The executor was not touched.

Half of all runs end in a refusal

And that is the system working. A run that abstains has decided the evidence does not support an output — so it produces none.

ABSTAINED1,530 / 3,030

The chain reached a point where the evidence did not support going further. No output was produced, and the reason was recorded.

50.5%
ABSTAINED

ABSTAINED and PERSISTED are both successful terminal states. FAILED means the run itself broke, which is a different thing entirely.

Fail-closed, measured

Before an article can carry an image, the canonical-media contract decides. Five terminal states; only two of them let the image be published. Choose an edition to see how it actually lands.

576 May be published13,057 Refused or held
MEDIA_VERIFIED130

Rights and subject both resolved. The image may be published.

May be published
MEDIA_CONTEXTUAL_APPROVED446

Approved as contextual rather than as a depiction of the specific event.

May be published
MEDIA_REVIEW_REQUIRED795

Held for a person. Not published while it waits.

Refused or held
MEDIA_REJECTED708

Explicitly refused — the asset must not carry this article.

Refused or held
NO_VERIFIED_MEDIA11,554

Nothing met the bar. The article renders with no image at all.

Refused or held

The default is refusal. Across every edition, the overwhelming majority of decisions end in NO_VERIFIED_MEDIA — the article renders without an image rather than with an unproven one.

The network reviews itself, twice a day

pulse-editorial-review reads the live sites from the outside — the same way a reader does — and raises findings for a person. No review code holds a write connection to Pulse.

07:00 and 12:30, Europe/Brussels39 reviews completed11,296 findings raised
The review hierarchy, in order
  1. 1Deterministic parsing and HTTP/media checks.
  2. 2Existing rendered Pulse data.
  3. 3Token and entity event matching.
  4. 4A human review flag for any judgement rules cannot safely make.
Findings by priority
P0

Breaking / immediate editorial attention

Measured against production, forbidden from touching it

The shadow contract takes the same input real editorial work received, forms its own output, and compares the two semantically. It has no authority over production, and the ledger proves it did not use any.

0
production mutations
across 4,895 shadow runs
ACCEPTABLE3,363

ODIN’s interpretation was within tolerance of the authoritative output.

INSUFFICIENT_EVIDENCE1,496

ODIN declined to form a comparable output — recorded honestly rather than scored as a miss.

SEMANTIC_DIVERGENCE33

ODIN and production genuinely disagreed. These are the interesting ones.

MATCH3

Exact agreement.

The rules ODIN runs under

  • No evidence, no factual claim. A claim with no resolvable citation does not ship.
  • Corroboration counts distinct publishers, not distinct URLs.
  • A missing input becomes a recorded gap. It is never backfilled from a legacy store.
  • The model router is the only sanctioned call site for any external model.
  • Evidence is append-only. Resolving a finding changes workflow state, never the evidence.
  • ODIN produces candidates. A person publishes.
What this page does not claim

These figures are ODIN running Ordinis’s own editorial network. They are real production measurements, not a benchmark, not a client deployment and not independently audited. A run that abstained is not evidence that abstaining was correct — only that the system refused rather than guessed. Replay is possible from the recorded contract and registry versions; external bytes may since have changed, so retained hashes are the historical evidence.

See your organisation clearly.

Start with a read-only OISA audit — what is known, what is missing and what to decide.

Contact us