{# T8 - Run manifest, declarations, scope and disclaimer (D4 section 11). Three page sections; every value comes through a fmt_* filter or from proofpack.render.html's context (section 7's counts, the criteria rows by position, the anchors' labels from the guidance map). No arithmetic here. Customer text is rendered verbatim, escaped, inside .customer-text. #} {% extends "base.html" %} {% from "_criteria.html" import criteria_table %} {% block pages %}
{{ page_header() }}

{{ template_name }}

Attachment set prepared for the manufacturer's own submission or record. Not a submission. No regulator has endorsed this tool.

{{ cover_stamps() }}
Cover block
Model{{ model.name }} v{{ model.version }}{% if model.prior_version is not none %} (prior version {{ model.prior_version | fmt_text }}){% endif %}
Run id{{ document.manifest.run_id | fmt_text }}
Engine version{{ document.manifest.engine_version | fmt_text }}
Reference platform{{ document.manifest.reference_platform | fmt_scalar }} ({{ document.manifest.platform | fmt_text }})
Input SHA-256{{ document.manifest.input_sha256 | fmt_text }}
Guidance versions referenced{% for ref in guidance_refs %}{{ ref.label }}{% if not loop.last %}; {% endif %}{% endfor %}
Customer sections outstanding{{ customer_sections_outstanding | length | fmt_count }}

1. {{ long_form_title }}

{{ margin_note(anchor.disclaimer) }}
    {% for title, body in long_form_items %}
  1. {{ title }} {{ body }}
  2. {% endfor %}
{{ page_footer() }}
{{ page_header() }}

2. Run manifest

{{ margin_note(anchor.manifest) }} {% for label, value in manifest_rows %} {% endfor %}
Manifest, as recorded by the engine at run time (every field a fact about the run)
{{ label }}{{ value }}

3. Declarations echo

{{ margin_note(anchor.declarations) }}

Every declaration below was written by the manufacturer in criteria.yaml; the engine infers none and supplies no default. The positive class and the score orientation are highlighted.

{% for label, value, highlight in declaration_rows %} {% endfor %}
Table T1-1 - declarations that shape every number in the pack
{{ label }}{{ value }}
{{ manufacturer_text("the declarations block of run.json as YAML (keys in canonical order; the file's SHA-256 is in the manifest)", criteria_yaml_block) }}

4. Mapping report

The confirmed mapping is not printed in this pack: its SHA-256 is in the manifest above, and the original headers and value summaries stay in the mapping.json beside the input, never in a document a customer hands over.

{{ page_footer() }}
{{ page_header() }}

5. HALT and warning log

{% if halts %} {% else %}

No HALT gate fired (a document is only written when none does).

{% endif %} {% if warning_rows %} {% for w in warning_rows %} {% endfor %}
Warnings raised
CodeMeaningParameters
{{ w.code }}{{ w.text }}{{ w.params }}
{% else %}

No warnings were raised.

{% endif %}

5a. Acceptance criteria (Table T1-17)

{{ margin_note(anchor.criteria) }} {% if has_criteria %} {{ criteria_table(criteria_rows) }} {% else %}

No acceptance criteria were declared; estimates and intervals only.

{% endif %}

6. Ledger

{{ margin_note(anchor.ledger) }}
Acceptance-decision runs recorded against this test set in the local ledger
Test-set SHA-256{{ ledger.test_set_sha256 }}
Acceptance runs recorded (including this run){{ ledger.acceptance_runs }}
Manifest ledger count{{ ledger.ledger_count }}
Declared limit (warn_after_acceptance_runs){{ ledger.declared_limit }}
Counted{% if ledger.counted %}yes{% else %}no (the ledger could not be read or written; see the warning log){% endif %}

7. Narrative integrity

{{ margin_note(anchor.narrative) }} {% if has_criteria %} {% for status, n in integrity.criteria_by_status %} {% endfor %} {% endif %}
Counts computed from the document by the renderer
Claims generated{{ integrity.claims_generated | fmt_count }}
Claims rejected by the checker{{ integrity.claims_rejected | fmt_count }}
Claims substituted by the deterministic template claim{{ integrity.claims_substituted | fmt_count }}
Rows analysed{{ integrity.rows_analysed | fmt_count }}
Subgroup rows{{ integrity.subgroup_rows | fmt_count }}
Criteria rows{{ integrity.criteria_rows | fmt_count }}
{{ status_words[status] }}{{ n | fmt_count }}
Suppressed cells{{ integrity.suppressed_cells | fmt_count }}
Warnings{{ integrity.warnings | fmt_count }}
{% if rejections %} {% for rj in rejections %} {% endfor %}
Claim rejections (each replaced by the deterministic template claim for its slot where one exists)
Claim idTemplateReason codeSubstituted
{{ rj.claim_id | fmt_text }}{{ rj.template_id | fmt_text }}{{ rj.reason_code | fmt_text }}{% if rj.substituted %}yes{% else %}no{% endif %}
{% else %}

No claim was rejected by the checker.

{% endif %}

8. Out of scope - never performed by ProofPack

9. Guidance references

{% for ref in guidance_refs %} {% endfor %}
Every anchor used in this render, labelled from the guidance map; a draft is a draft in the label and in the structured data
Internal idDocument, version or date, statusDraftURL
{{ ref.id }}{{ ref.label }}{% if ref.draft %}yes{% else %}no{% endif %}{% if ref.url %}{{ ref.url }}{% else %}not recorded{% endif %}

10. Customer sections outstanding

{% if customer_sections_outstanding %}

The customer-text slots of the attachment set (T1) that no text filled in this build; T1 prints each as below and ProofPack drafts none of them.

{% for slot in customer_sections_outstanding %} {{ placeholder(slot) }} {% endfor %} {% else %}

No customer-text slot of the attachment set is outstanding.

{% endif %}

11. Data status

{% if watermark %} {{ cover_stamps() }}

This document carries the marking above and must not be used in any regulatory record while it does.

{% else %}

No synthetic, demonstration or trial marking applies to this run.

{% endif %} {{ page_footer() }}
{% endblock %}