(In)Canon
Deterministic admissibility
Examples

Examples with dual lenses

These examples demonstrate where interpretation is permitted to begin — and where it must not. (In)Canon reports structural admissibility, not meaning, correctness, quality, compliance, or adequacy.

Scope lock

“Admissible” does not mean true, correct, acceptable, or sufficient. It means the input contains the explicit structure required for evaluation without silent reconstruction. (In)Canon records what is stated and reports what is not stated.

How to read this page

Each example includes two notes: one for AI Engineers and one for Governance / Legal. The examples remain the same. The lens changes what you should take from them.

Admissibility No inference Structural presence Upstream of LLMs Abstraction agnostic
Roadmap

Read these in order. The point is not that one output is better than another. The point is that some inputs do not contain the structure needed for evaluation without reconstruction. (In)Canon makes that boundary explicit and enforceable.

Step 1

A plausible sentence that is structurally empty.

Step 2

What silent reconstruction looks like in downstream systems.

Step 3

An explicit statement: structurally evaluable without guesswork.

Step 4

The same logic applied to structured, non-text inputs.

Example 1
Structurally inadmissible fragment

Purpose: show a claim-shaped sentence that sounds evaluable but cannot be evaluated without inserting missing structure.

Input

Input (verbatim)
"Staff were supported appropriately and procedures were followed."

(In)Canon report

Report (illustrative)
{
  "admissible": false,
  "reason": "Missing prerequisites for evaluation without inference",
  "presence": { "actor": "not_stated", "action": "stated", "time": "not_stated", "outcome": "not_stated" }
}
For AI Engineers

Treat this as a hard-gate case. If a downstream model proceeds, it will be forced to invent bindings (who, when, under what scope). Canon makes that failure mode detectable and testable.

For Governance / Legal

This is where audit risk begins: the sentence invites the reader to supply accountability and chronology. Canon preserves the boundary by recording absence rather than allowing reconstruction to masquerade as evidence.

So what

The “block” is the point. It prevents downstream work from treating a structurally empty statement as a supported record. Blocking is not a judgement on truth or merit. It is a refusal to proceed without explicit prerequisites.

Example 1b
LLM alone vs (In)Canon + LLM

Purpose: show the difference between silent reconstruction and explicit absence handling. The LLM output shown is illustrative of a common failure mode, not a claim about any specific model.

LLM alone (illustrative)

LLM output (illustrative)
{
  "actor": "staff",
  "action": "were supported appropriately",
  "time": "12 March 2020",
  "note": "Illustrative: time is not present in the source text."
}

(In)Canon + LLM (gated)

Canon report + required handling
{
  "admissible": false,
  "presence": { "actor": "not_stated", "action": "stated", "time": "not_stated" },
  "required_handling": "Block OR continue as explicitly-labelled inference"
}
For AI Engineers

This is the core pipeline benefit: Canon forces missing fields to remain not_stated. That enables deterministic regression tests and prevents schema-filling hallucinations.

For Governance / Legal

This separates evidence from reconstruction. If the workflow continues, it must do so in a labelled inference channel, not by silently upgrading absence into “fact”.

Example 2
Structurally admissible narrative

Purpose: show an explicit statement where interpretation can begin without requiring reconstruction. Admissible does not mean true, sufficient, compliant, or acceptable. It means structurally evaluable.

Input

Input (verbatim)
"On 12 March 2020, the on-call lead issued written guidance requiring all staff to follow PPE protocol."

(In)Canon report (illustrative)

Report (illustrative)
{
  "admissible": true,
  "presence": { "actor": "stated", "action": "stated", "time": "stated", "outcome": "not_stated" },
  "commitments": [ { "text": "issued written guidance", "span": [29, 50] } ]
}
For AI Engineers

This is a “safe to proceed” case (structurally). Downstream extraction can remain bounded to commitments, and any missing fields stay absent without forcing completion.

For Governance / Legal

This provides an auditable starting point for interpretation. Accountability and time are stated, meaning evaluation can proceed without invisible repair work.

Example 3
Non-text input (structured representation)

Purpose: show the same admissibility logic over structured fields, not prose. Canon operates on structure, not narrative style.

Input (object)

Input (illustrative object)
{
  "date": "2020-03-12",
  "role": "Clinical Lead",
  "action": "issued guidance",
  "topic": "PPE usage"
}

Report (presence check)

Report (illustrative)
{
  "admissible": true,
  "reason": "Required fields present",
  "presence": { "actor": "stated", "action": "stated", "time": "stated" }
}
For AI Engineers

This is the bridge to API deployment. Canon can sit as a service that checks payloads before they hit scoring, summarisation, or generation.

For Governance / Legal

This makes the evidence/inference boundary enforceable even when the input is already “machine-shaped”. Completeness is declared and audited, not assumed.

Example 4
Machine-level admissibility gate

Purpose: show a minimal infrastructure pattern that downstream systems must respect. This is the boundary expressed as a gate: do not interpret when structure is absent.

Gate pattern (illustrative)

Gate (illustrative)
if not has_actor or not has_action:
    return { "status": "reject", "reason": "insufficient structure" }

# proceed only with admissible inputs (structural permission only)
return { "status": "admissible" }
For AI Engineers

This is enforceability. A single gate prevents “best-effort completion” from becoming a hidden behaviour. Canon makes the precondition explicit and testable.

For Governance / Legal

This is defensibility: the system can prove it refused to interpret when prerequisites were missing, rather than silently upgrading absence into narrative certainty.

What this shows
Boundary control, not better reasoning

These examples do not demonstrate better judgement. They demonstrate where judgement is allowed to begin. (In)Canon does not evaluate truth, quality, correctness, compliance, or adequacy. It reports whether evaluation can occur without inserting missing structure.

Trade secret safe: structural admissibility only. No scoring. No interpretation. No internal rule disclosure.

(In)Canon identifies structure and reports stated vs not stated. It does not assess meaning, correctness, quality, compliance, or adequacy.