Create the immutable address space and custody root for the issue.
The freeze half of this role is implemented; the identifier-and-dimension half is not.
Source evidence, candidate evidence, human decision, audit acceptance, release and production are six separate things. This step produces the highlighted one and nothing further.
Reads the issue manifest and the original page images, assigns immutable issue and page identifiers, records page order, dimensions, colour profile and source SHA-256, and seals the result so every later artifact can bind to it.
No internal sequence is documented for this step — only the contract above and below it. Nothing was invented to fill the gap.
Nothing continues on a failed gate. Uncertainty becomes an explicit HOLD, and no later step may read an unanswered item as an accepted one.
01 CAP-RAWNot a trained component. No model, no weights, no training corpus. Behaviour is fixed by code and configuration, and identical inputs must produce identical outputs.
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.
CAP, MAP-GEO, All provenance envelopes
python tools/seal_package.py <package_dir>seal_package.py is the mechanism actually used to freeze and hash-bind every package from V47 through V118, and PACKAGE_SHA256.txt appears in every version folder. It provides the freeze half of this role. It does NOT assign issue_id/page_id/page order/dimensions/colour profile from a source manifest, which is the other half of the V8 contract. Marked PARTIAL for that reason.
| File | Original SHA-256 | Bytes | Copy |
|---|---|---|---|
seal_package.py |
775e4fd674a6457f… | 1,580 | verified |
1 file(s), all hash-verified against the original.
Full detail in tool/SOURCE_RECEIPT.json. Copy-only: the historical source is never modified.
| Archived version | Why superseded | Retained value | Bytes |
|---|---|---|---|
| ARCHITECTURE_FREEZE.md | Superseded in part by the V9 and V10 closure deltas | Canonical role contract and dependency DAG for all 27 steps | copied |
1 archived version(s). Historical packages are never deleted or mutated; large ones are referenced with verified paths rather than copied, because the source archive is 11 GB.
Operates on frozen local artifacts. No credentials required. No data leaves the machine.
No provider calls. No metered cost. Compute is local.
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.
registry/roles.json (schema marsoom.e2t.roles.v1)INGESTFeedback is recorded per source and never merged into an invented consensus. Where sources disagree, both positions stand and the owner decides.
| Source | Events |
|---|---|
| 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 |
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.