← E2T System V1 portal

07 — ROLE

Assign structural function to each accepted page object.

ACTIVE Built and verified

2 tool files copied and hash-verified against the original.

ML proposal-only Page model 0 archived step 07 of 26

Where this output sits

Source evidenceCandidate evidenceHuman decisionAudit acceptanceReleaseProduction

Source evidence, candidate evidence, human decision, audit acceptance, release and production are six separate things. This step produces the highlighted one and nothing further.

Scope

Assigns one structural function to each accepted page object — header, footer, title, subtitle, body, caption, picture, table, advertisement, ornament or furniture — using visual hierarchy and containment, never the meaning of the words.

This role is allowed to

How it works

fed by 04 MAP-REFINE
Inputs
MAP geometryVisual prominence and typography evidenceCAP geometry after freeze
ML proposal-only Pinned layout classifier plus deterministic evidence gates.

No internal sequence is documented for this step — only the contract above and below it. Nothing was invented to fill the gap.

Must pass
  • Exactly one structural role or HOLD per object
  • Furniture cannot enter public content without an explicit content relation
passes →
Outputs
header, footer, title, subtitle, body, byline, caption, picture, table, advertisement, ornament, furniture or HOLD
hands off to TITLE · TYPE · ORDER · TAG · PROTECTION
fails →
HOLD
ROLE_AMBIGUOUSROLE_CONFLICTROLE_MISSING

Nothing continues on a failed gate. Uncertainty becomes an explicit HOLD, and no later step may read an unanswered item as an accepted one.

Non-scope — what this role does NOT own

Explicitly forbidden

Dependencies and position

Starts
After geometry is frozen; CAP geometry may assist.
Previous step
06 STYLE
Next step
08 TITLE
Hands off to
TITLE, TYPE, ORDER, TAG, PROTECTION

Exact inputs

Exact outputs

Performer and AI/ML boundary

Performer
Pinned layout classifier plus deterministic evidence gates.
Class
ML proposal-only
AI boundary
Constrained proposal is allowed.

Training information

Not trained by this project. A pinned general model is prompted under a strict response schema. It proposes; deterministic validation accepts or HOLDs. It cannot create text or coordinates.

Deterministic validation and acceptance gates

HOLD and failure behaviour

Failure codes this step may emit:

Uncertainty becomes an explicit HOLD. Omission never converts uncertainty into acceptance, and no downstream step may treat an unanswered item as an accepted one.

Downstream handoff

TITLE, TYPE, ORDER, TAG, PROTECTION

Active tool

Status
Active tool
Run / inspect
structural role is emitted by the MAP-AI detail call: field `f` = H|F|R|X (header, footer, rule, other furniture); field `x` = table boolean
Input
MAP geometry + CAP geometry
Output
detail-response fields `f` and `x`

Dependencies

Why this is the active version

ROLE has no separate binary. It is realised as typed fields inside the MAP-AI detail response schema v65 and validated deterministically against that schema. Recorded ACTIVE because the contract is enforced and the output exists — but the performer is step 03, not an independent classifier, and the report says so.

Copied files — source receipt

FileOriginal SHA-256BytesCopy
schemas/detail-response.schema.json 4b73e8c39581ca16… 2,721 verified
config/ontology.json 15b0da5dcb1df276… 1,419 verified

2 file(s), all hash-verified against the original. Full detail in tool/SOURCE_RECEIPT.json. Copy-only: the historical source is never modified.

Archived versions

No superseded versions recorded for this role.

Known limitations

Security and privacy

Page images and indexed references are sent to an external provider. Credentials live outside this repository. Model output is candidate evidence, never truth.

Cost behaviour

Metered per call by the provider. Token budget and tier are set per run and recorded in the run receipts.

Copying a tool into this repository does not authorise running it, retraining it, calling a model, or processing a new issue. No paid call may be made without the owner's explicit authorisation and a hard cost cap.

Provenance

Registry
registry/roles.json (schema marsoom.e2t.roles.v1)
Derivation
28 legacy roles - VER - HUMAN + REV = 27 active steps
Legacy role id
ROLE
Legacy source SHA-256
6f5d5d7ed8869e45307424c2193f95ffab84abc44a6a188f5c7f98c2a48ec64d
Generated
2026-09-04T22:13:12.433Z

Feedback and decisions

Feedback is recorded per source and never merged into an invented consensus. Where sources disagree, both positions stand and the owner decides.

SourceEvents
Naser / owner
Final authority. Overrides every other source.
none recorded
Codex / orchestrator
Architecture and sequencing.
none recorded
Builder / designer
Implementation reality and constraints.
none recorded
Independent reviewer
Adversarial review of claims.
none recorded
Auditor
Evidence verification against artifacts.
none recorded
Human REV reviewer
Page-level truth from the review site.
none recorded

Recorded events

No feedback events recorded yet. The ledger exists and is append-only: feedback/FEEDBACK_LEDGER.jsonl.

Editing feedback is not possible: a change is a new event whose supersedes names the one it replaces, and the original stays exactly as written.


Generated from registry/roles.json by tools/build-reports.mjs. Do not hand-edit — edit the registry and rebuild.
Original page pixels are the visual authority. CAP owns the exact captured text.