Render the complete searchable reconstructed issue in correct page order.
Only the original-then-rebuilt QA PDF is produced. The production PDF of rebuilt pages alone is not implemented.
Source evidence, candidate evidence, human decision, audit acceptance, release and production are six separate things. This step produces the highlighted one and nothing further.
Renders QA-passed page packages in issue order with pinned font, shaping engine, browser engine, locale and colour profile. Two separate outputs are required: a production PDF of rebuilt pages only, and a QA PDF pairing each original page with its rebuild.
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.
23 QA25 DGTLNot 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.
Owner/reviewer, Authorized publication
python tools/export_original_rebuilt_pdf.pyThis exporter produces the original-then-rebuilt QA PDF, which is one of the two PDFs the owner's corrected pipeline requires. The separate production PDF — rebuilt pages only — is not produced by any tool. Only QA-passed page packages may enter either, and step 23 currently returns HOLD, so neither PDF is release-eligible today.
| File | Original SHA-256 | Bytes | Copy |
|---|---|---|---|
export_original_rebuilt_pdf.py |
1f2dc7bbe4eb4cdf… | 14,720 | verified |
renderer.config.json |
fb11adfe58114e81… | 4,481 | 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.
No superseded versions recorded for this role.
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)PDFFeedback 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.