Matilon

MAT / RESEARCH / SPEC

SCHEMA v3.2 · EXTRACTION

01 / STATEMENT

Matilon Research · Schema v3.2 · Extraction Specification

Extraction Specification

This specification defines the canonical extraction interface for Matilon Research records. Records may be extracted programmatically by authorized systems from PDF, HTML, and structured-text representations.

02 / SCOPE

Scope

SCOPE · CONFORMANCE REGISTRY

7 ITEMS
CONFORMANCE TARGET
Matilon Research Schema v3.2
DELIVERY FORMATS
PDF/A-2b, HTML, structured text
RECORD CLASS
Declared per record in TYPE
ACCESS CLASSIFICATION
EXECUTIVE | RESTRICTED | INTERNAL
DELIVERY MODE
Direct distribution; no public endpoint
RETENTION
Permanent, append-only post-finalization
EXTRACTION INTERFACE
Field-level extraction via canonical anchors

03 / CANONICAL FIELD ANCHORS

Canonical Field Anchors

Each extractable field is preceded by a canonical anchor. Anchors are case-sensitive and terminated by a colon. Extraction routines MUST locate fields by anchor and MUST NOT rely on positional offsets. A path is its container plus the anchor, lowercased. Anchors beyond those listed are captured as encountered.

ANCHOR · FIELD MAPPING

24 ANCHORS · 5 REGISTER PATHS

RECORD_CONTROL · 12 anchors

TYPE:STRING
record.typeINTELLIGENCE
RECORD_ID:IDENTIFIER
record.record_idMT-2026-02-18-V1
PRECEDING_RECORD:IDENTIFIER
record.preceding_recordMT-2026-02-11-V1
RECORD_SIGNATURE:UUID
record.record_signature7A2E9C4F-3B81-4D56-A9E3-2F7C8B1D5E04
VERSION:STRING
record.version1.0
STATUS:ENUM
record.statusFINALIZED
ISSUED:DATE
record.issued2026-02-18
RECORD_MODE:STRING
record.record_modeAPPEND-ONLY
RETENTION_PERIOD:STRING
record.retention_periodPERMANENT
SCHEMA_VERSION:STRING
record.schema_version3.2
ACCESS_CLASSIFICATION:ENUM
record.access_classificationEXECUTIVE
ENTRY_COUNT:INTEGER
record.entry_count5

ENTRY · 9 anchors

ENTRY_ID:IDENTIFIER
record.entry[0].entry_idMT-2026-02-18-V1-E3
INGESTION_ID:UUID
record.entry[0].ingestion_id1D6B3E84-7F92-4A58-B3C1-5E2F9A8D6C47
ENTITY:ARRAY
record.entry[0].entityOXFORD BIOMEDICA; BRISTOL MYERS SQUIBB
SUBJECT:STRING
record.entry[0].subjectLENTIVIRAL VECTOR COMMERCIAL SUPPLY AGREEMENT
SUBJECT_CLASS:STRING
record.entry[0].subject_classSUPPLY
DOMAIN:STRING
record.entry[0].domainVIRAL VECTOR MANUFACTURING
GEOGRAPHY:ARRAY
record.entry[0].geographyUNITED KINGDOM; UNITED STATES
[ANCHOR]:STRING
record.entry[0].[anchor]
FUNCTIONAL_DOMAIN:ARRAY
record.entry[0].functional_domainPROCESS DEVELOPMENT AND MSAT; TECH TRANSFER AND CMC PROGRAM LEADERSHIP; EXECUTIVE MANUFACTURING AND TECHOPS

ENTRY BODY · 3 anchors

DEFINITION:PROSE
record.entry[0].body.definitionOxford Biomedica signed a five-year commercial supply agreement, with an extension option, to manufacture lentiviral vectors for Bristol Myers Squibb CAR-T programs.
STRUCTURE:PROSE
record.entry[0].body.structureCommercial manufacturing is expected to begin in 2026, subject to regulatory approvals, across Oxford, United Kingdom and Durham, North Carolina sites.
EFFECT:PROSE
record.entry[0].body.effectRequires aligned control strategies, harmonized release specifications, and quality data exchange across both sites to hold consistent commercial output through the supply term.

Register · 5 paths · keys named per record

REGISTER NAMESTRING
record.register[0].name
PROSE BODYPROSE
record.register[0].prose
ROW LABELSTRING
record.register[0].row[0].label
ROW VALUESTRING
record.register[0].row[0].value
BANDSTRING
record.register[0].row[0].band

04 / EXTRACTION RULES

Extraction Rules

EXTRACTION RULES · RULE REGISTRY

10 RULES
01

ANCHOR PRECEDENCE

MUSTMAY

Anchors MUST be matched at line start, with optional leading whitespace not exceeding two spaces. Anchors appearing within entry bodies are treated as literal content, not field markers. Anchors designated OPTIONAL under the active schema MAY be absent; their absence is not an extraction failure.

Applies to
ALL ANCHORS
02

VALUE TERMINATION

Descriptive

Field values are terminated by the next valid anchor, by a section divider, or by end-of-record. Multi-line values preserve internal whitespace. Trailing whitespace is stripped.

Applies to
ALL FIELD VALUES
On failure
None
03

ENTRY DELIMITATION

Descriptive

Entries are delimited by the appearance of the ENTRY_ID: anchor. The first ENTRY_ID: occurrence within a record begins the first entry; each subsequent occurrence terminates the prior entry and begins the next.

Applies to
ENTRY_ID
On failure
None
04

UUID VALIDATION

MUST

RECORD_SIGNATURE and INGESTION_ID values MUST conform to RFC 4122 UUID format. Records failing UUID validation MUST be rejected and flagged for review; partial extraction is not permitted.

Applies to
RECORD_SIGNATUREINGESTION_ID
05

VERSION CHAINING

MUSTSHOULD

PRECEDING_RECORD values establish the issuance chain. Extraction routines SHOULD validate chain continuity by reconciling each PRECEDING_RECORD against a known prior RECORD_ID. A record that opens a series carries no preceding reference and is not reported as broken. Broken chains MUST be reported but do not invalidate the current record.

Applies to
PRECEDING_RECORD
On failure
CHAIN_BROKEN
06

STATUS HANDLING

MUST

Only records with STATUS: FINALIZED are eligible for downstream indexing. DRAFT records MUST NOT be extracted. SUPERSEDED records MUST be retained but excluded from active reference sets.

Applies to
STATUS
07

SCHEMA CONFORMANCE

MUST

Records emitting a SCHEMA VERSION other than the active schema MUST be routed to the appropriate schema handler. Cross-schema extraction is not permitted within a single pipeline pass.

Applies to
SCHEMA_VERSION
On failure
SCHEMA_MISMATCH
08

ACCESS CLASSIFICATION ENFORCEMENT

MUST

Extraction routines MUST honor the ACCESS_CLASSIFICATION field. Records classified RESTRICTED or INTERNAL MUST NOT be redistributed beyond the originating recipient system. Downstream indexing MUST preserve classification metadata.

Applies to
ACCESS_CLASSIFICATION
09

REGISTER DELIMITATION

MUST

A register is delimited by its name at line start. Within it, rows are matched as LABEL: VALUE until the next register or entry. A band applies to the rows that follow it until the next band; rows before any band carry none. A prose body is not row-parsed. Keys are record-specific, and MUST NOT be rejected as unrecognized.

Applies to
REGISTERS
On failure
None
10

ENTRY COUNT RECONCILIATION

MUST

The ENTRY_COUNT value declares the number of entries contained in the record. Extraction routines MUST reconcile ENTRY_COUNT against the number of entries delimited by ENTRY_ID: anchors. A mismatch MUST be reported for review and does not, on its own, invalidate the record.

Applies to
ENTRY_COUNT
On failure
None

05 / REFERENCE EXTRACTION

Reference Extraction

The following block illustrates a canonical extraction pass over a record fragment. The example is non-normative and provided for reference only.

REFERENCE · EXTRACTION PASS

MT-2026-02-18-V1 · ENTRY E3

RECORD_CONTROL · 12 fields

TYPE: INTELLIGENCE
→ record.type = "INTELLIGENCE"
RECORD_ID: MT-2026-02-18-V1
→ record.record_id = "MT-2026-02-18-V1"
PRECEDING_RECORD: MT-2026-02-11-V1
→ record.preceding_record = "MT-2026-02-11-V1"
RECORD_SIGNATURE: 7A2E9C4F-3B81-4D56-A9E3-2F7C8B1D5E04
→ record.record_signature = "7A2E9C4F-3B81-4D56-A9E3-2F7C8B1D5E04"
VERSION: 1.0
→ record.version = "1.0"
STATUS: FINALIZED
→ record.status = "FINALIZED"
ISSUED: 2026-02-18
→ record.issued = "2026-02-18"
RECORD_MODE: APPEND-ONLY
→ record.record_mode = "APPEND-ONLY"
RETENTION_PERIOD: PERMANENT
→ record.retention_period = "PERMANENT"
SCHEMA_VERSION: 3.2
→ record.schema_version = "3.2"
ACCESS_CLASSIFICATION: EXECUTIVE
→ record.access_classification = "EXECUTIVE"
ENTRY_COUNT: 5
→ record.entry_count = 5

RECORD_ENTRIES · entry E3 · 8 anchors

ENTRY_ID: MT-2026-02-18-V1-E3
→ record.entry[0].entry_id = "MT-2026-02-18-V1-E3"
INGESTION_ID: 1D6B3E84-7F92-4A58-B3C1-5E2F9A8D6C47
→ record.entry[0].ingestion_id = "1D6B3E84-7F92-4A58-B3C1-5E2F9A8D6C47"
ENTITY: OXFORD BIOMEDICA; BRISTOL MYERS SQUIBB
→ record.entry[0].entity = ["OXFORD BIOMEDICA", "BRISTOL MYERS SQUIBB"]
SUBJECT: LENTIVIRAL VECTOR COMMERCIAL SUPPLY AGREEMENT
→ record.entry[0].subject = "LENTIVIRAL VECTOR COMMERCIAL SUPPLY AGREEMENT"
SUBJECT_CLASS: SUPPLY
→ record.entry[0].subject_class = "SUPPLY"
DOMAIN: VIRAL VECTOR MANUFACTURING
→ record.entry[0].domain = "VIRAL VECTOR MANUFACTURING"
GEOGRAPHY: UNITED KINGDOM; UNITED STATES
→ record.entry[0].geography = ["UNITED KINGDOM", "UNITED STATES"]
FUNCTIONAL_DOMAIN: PROCESS DEVELOPMENT AND MSAT; TECH TRANSFER AND CMC PROGRAM LEADERSHIP; EXECUTIVE MANUFACTURING AND TECHOPS
→ record.entry[0].functional_domain = ["PROCESS DEVELOPMENT AND MSAT", "TECH TRANSFER AND CMC PROGRAM LEADERSHIP", "EXECUTIVE MANUFACTURING AND TECHOPS"]

Entry body · 3 sections

DEFINITION:Oxford Biomedica signed a five-year commercial supply agreement, with an extension option, to manufacture lentiviral vectors for Bristol Myers Squibb CAR-T programs.
→ record.entry[0].body.definition= "Oxford Biomedica signed a five-year commercial supply agreement, with an extension option, to manufacture lentiviral vectors for Bristol Myers Squibb CAR-T programs."
STRUCTURE:Commercial manufacturing is expected to begin in 2026, subject to regulatory approvals, across Oxford, United Kingdom and Durham, North Carolina sites.
→ record.entry[0].body.structure= "Commercial manufacturing is expected to begin in 2026, subject to regulatory approvals, across Oxford, United Kingdom and Durham, North Carolina sites."
EFFECT:Requires aligned control strategies, harmonized release specifications, and quality data exchange across both sites to hold consistent commercial output through the supply term.
→ record.entry[0].body.effect= "Requires aligned control strategies, harmonized release specifications, and quality data exchange across both sites to hold consistent commercial output through the supply term."

Specimen MT-2026-02-18-V1 · entry E3 of 5 · ENTRY_COUNT reports the whole record · prose shortened

06 / DELIMITER NORMALIZATION

Delimiter Normalization

Several anchors emit values as semicolon-delimited lists. Extraction routines MUST normalize these into array structures.

DELIMITER · NORMALIZATION RULES

4 FIELDS

ENTITY

Semicolon-delimited list of entity names; normalize to array of strings

Specimen E3 · inputOXFORD BIOMEDICA; BRISTOL MYERS SQUIBB
Output["OXFORD BIOMEDICA", "BRISTOL MYERS SQUIBB"]

GEOGRAPHY

Semicolon-delimited list of ISO regions or jurisdictions; normalize to array of strings

Specimen E3 · inputUNITED KINGDOM; UNITED STATES
Output["UNITED KINGDOM", "UNITED STATES"]

FUNCTIONAL_DOMAIN

Semicolon-delimited list of canonical functional domains; normalize to array of strings

Specimen E3 · inputPROCESS DEVELOPMENT AND MSAT; TECH TRANSFER AND CMC PROGRAM LEADERSHIP; EXECUTIVE MANUFACTURING AND TECHOPS
Output["PROCESS DEVELOPMENT AND MSAT", "TECH TRANSFER AND CMC PROGRAM LEADERSHIP", "EXECUTIVE MANUFACTURING AND TECHOPS"]

SUBJECT_CLASS

Single-value scalar; free-form controlled vocabulary; do not enumerate against a fixed set

Specimen E3 · inputSUPPLY
Output"SUPPLY"

07 / ERROR HANDLING

Error Handling

ERROR · CONDITION REGISTRY

6 CONDITIONS

ANCHOR_NOT_FOUND

HALTEDFLAGGEDRULE 01

An anchor designated REQUIRED is missing from the input. Extraction halts; record flagged for review. Absence of an OPTIONAL anchor is not reported.

UUID_VALIDATION_FAILED

REJECTEDRULE 04

RECORD_SIGNATURE or INGESTION_ID does not conform to RFC 4122. Record rejected; partial extraction not permitted.

SCHEMA_MISMATCH

ROUTEDorREJECTEDRULE 07

SCHEMA_VERSION does not match the active handler. Record routed to versioned handler or rejected.

CHAIN_BROKEN

WARNINGRULE 05

PRECEDING_RECORD does not match any known prior RECORD_ID. Reported as warning; record not invalidated.

STATUS_INELIGIBLE

RETAINEDEXCLUDEDRULE 06

Record STATUS is not FINALIZED. Record retained but excluded from active indexing.

ACCESS_VIOLATION

REJECTEDLOGGEDRULE 08

Extraction attempted by a system without authorization for the record's ACCESS_CLASSIFICATION. Extraction rejected; access attempt logged.

09 / RELATED

Matilon Research Extraction Specification · Schema v3.2