{# T7 - Methods appendix (D4 section 10), auto-generated from the run: every list on this page is read from the run document by proofpack.render.t7 (methods from the Numbers' method fields, the software from the manifest, the conventions file's sections for the blocks the run computed, the citations the run's methods name). No arithmetic here. #} {% extends "base.html" %} {% block pages %}
{{ page_header() }}

{{ template_name }}

The methods this run used, read from the run document. Attachment set prepared for the manufacturer's own submission or record. Not a submission. No regulator has endorsed this tool.

{{ cover_stamps() }}

1. Software, determinism and tolerances

{{ margin_note(anchor.software) }} {% for label, value in software_rows %} {% endfor %}
As recorded in the manifest of this run
{{ label }}{{ value }}

{{ tolerance_policy }}

2. Data handling

{{ margin_note(anchor.data) }}

Mapping: rule-based, confirmed before the run; mapping.json SHA-256 {{ mapping_sha256 }}.

{% if halts %} {% else %}

HALT gates: none fired (a document is written only when none does).

{% endif %}

Warnings raised: {% if warning_codes %}{{ warning_codes | join(", ") }}{% else %}none{% endif %}.

{% for label, value in flow_rows %} {% endfor %}
Table T1-2 - flow of rows (D4 section 5.10)
{{ label }}{{ value }}

Clustering: declared unit {{ clustering.declared }}; clustered path used: {% if clustering.clustered %}yes{% else %}no{% endif %} (route {{ clustering.route }}; {{ clustering.n_cases }} cases).

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

3. Methods used in this run

{{ margin_note(anchor.methods) }} {% for m in methods %} {% endfor %}
Every interval method named by a Number in the run document, and how many Numbers carry it (read from run.json, not a list of what ProofPack can do)
MethodWhat it isNumbers
{{ m.id }}{{ m.description }}{{ m.count }}
{% if has_subgroups %}

4. Subgroups and differences

{{ margin_note(anchor.subgroups) }}

{{ x1_sentence }} Interval methods of the difference Numbers in this run: {% for m in x1_methods %}{{ m.phrase }} ({{ m.id }}, {{ m.count }}){% if not loop.last %}; {% endif %}{% else %}none recorded{% endfor %}.

{{ subgroup_conventions | safe }}
{% endif %}

5. Calibration

{{ margin_note(anchor.calibration) }} {% if has_calibration %}
{{ calibration_conventions | safe }}
{% else %} {% if calibration_reason %}

calibration: null - reason {{ calibration_reason.reason }} (score declared {{ calibration_reason.score_type }}, {{ calibration_reason.orientation }}).

{% else %} {{ no_data("calibration: null - the run document records no reason") }} {% endif %} {% endif %} {% if has_cluster_bootstrap %}

6. Cluster-bootstrap coverage

{{ coverage_conventions | safe }}
{% endif %} {% if fairness %}

7. Fairness

{% for key, text in fairness.definitions %} {% endfor %}
Gap definitions, as the engine computed them
{{ key }}{{ text }}

Impossibility statement: {{ fairness.citation }} [unverified] {{ fairness.pending }}.

{% endif %} {{ page_footer() }}
{{ page_header() }}

8. Reporting conventions

{{ margin_note(anchor.conventions) }}

{{ conventions_sentence }}

{{ conventions_intro | safe }}
{% for mark, text in tier_legend %} {% endfor %}
Tier superscripts - ProofPack reporting convention (R2 section 3.3); annotations, never suppression
{{ mark }}{{ text }}
{% if not_run %}

Not part of this run: {{ not_run | join("; ") }}.

{% endif %}

9. Library and reference citations

{% if citations_used %} {% else %} {{ no_data("No citation in the register names a method or block this run used.") }} {% endif %}

10. Open verification items

{% if open_items %} {% else %}

No open verification item is recorded in the citation register.

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