{% extends "html/base.template.html" %} {% from "html/macros/layout.html" import narrative as render_narrative, row_key %} {% from "html/macros/visualizations.html" import figure %} {% block human_content %}

{{ t('tasks.final-verification.verification-verdict') }}

{{ verdictToken }}

{{ render_narrative(narrative.verdictExplanation, "finalVerification.userNarrative.verdictExplanation") }}

{{ finalVerdict.finalConclusion | inline_code }}

{{ t('tasks.final-verification.next-step') }} {{ finalVerdict.nextStep | inline_code }}

{% if finalVerdict.get("conditionalAcceptanceConditions") %}

{{ t('tasks.final-verification.conditions-for-acceptance') }}

{{ t('tasks.final-verification.conditions-for-acceptance-intro') }}

{% for row in finalVerdict.conditionalAcceptanceConditions %}{{ row_key(pairs=[(t('macros.layout.id'), row.id)], status_name=t('tasks.final-verification.blocks-release-handoff'), status_raw=('blocked' if row.blocksReleaseHandoff else 'covered'), status_text=(t('macros.layout.checked') if row.blocksReleaseHandoff else t('macros.layout.none'))) }}{% endfor %}
{{ t('macros.layout.id') }}{{ t('tasks.final-verification.condition') }}{{ t('tasks.final-verification.evidence-required') }}
{{ row.condition | inline_code }}{{ row.evidenceRequired | inline_code }}
{% endif %}

{{ t('tasks.final-verification.result-per-requirement') }}

{{ render_narrative(narrative.coverageExplanation, "finalVerification.userNarrative.coverageExplanation") }} {{ figure(coverageFigure, anchor_nodes=true) }}

{{ t('tasks.final-verification.what-the-change-added') }}

{% for row in final.addedSurfaceAudit %}{% else %}{% endfor %}
{{ t('macros.layout.id') }}{{ t('tasks.final-verification.what-the-change-added') }}{{ t('tasks.final-verification.callers') }}{{ t('tasks.final-verification.traced-to') }}{{ t('tasks.final-verification.result-per-requirement') }}
{{ row.id | inline_code }}{{ row.surface | inline_code }}{{ row.callers | inline_code }}{{ row.requirement | inline_code }}{{ row.disposition }} {{ row.note | inline_code }}
{{ t('tasks.final-verification.the-change-added-no-new-surface') }}

{{ t('tasks.final-verification.what-blocks-acceptance') }}

{{ render_narrative(narrative.blockerExplanation, "finalVerification.userNarrative.blockerExplanation") }}
{% for row in final.acceptanceBlockers %}

{{ row.id | inline_code }} · {{ row.severity }}

{{ row.statement | inline_code }}

{{ t('macros.layout.evidence') }} {{ row.evidence | inline_code }}

{{ t('tasks.final-verification.follow-up') }} {{ row.followUpPhase | inline_code }}

{% else %}

{{ t('tasks.final-verification.nothing-is-holding-acceptance') }}

{% endfor %}

{{ t('tasks.final-verification.residual-risk') }}

{% for row in final.residualRisk %}

{{ row.id | inline_code }}

{{ row.item | inline_code }}

{{ t('tasks.final-verification.owner') }} {{ row.owner | inline_code }}

{{ t('tasks.final-verification.escalation-condition') }} {{ row.escalationTrigger | inline_code }}

{% else %}

{{ t('tasks.final-verification.no-residual-risk-was-recorded') }}

{% endfor %}

{{ t('tasks.final-verification.manual-user-test-results') }}

{% if final.manualUserTest.applicable %}{% for row in final.manualUserTest.results %}

{{ row.target | inline_code }} · {{ row.result }}

{{ row.performed | inline_code }}

{{ row.observed | inline_code }}

{% endfor %}{% else %}

{{ final.manualUserTest.exemptionReaffirm | inline_code }}

{% endif %}

{{ t('tasks.final-verification.what-was-verified') }}

{{ t('tasks.final-verification.implementation-report') }}{{ final.sourceImplementationReport.path }}
{{ t('tasks.final-verification.worktree') }}{{ final.sourceImplementationReport.worktreePath }}
{{ t('tasks.final-verification.base-commit') }}{{ final.sourceImplementationReport.implementationBaseRef }}{{ final.sourceImplementationReport.capturedHeadSha }}
{{ t('tasks.final-verification.diff-summary') }}{{ final.sourceImplementationReport.diffSummaryQuote | inline_code }}
{{ t('tasks.final-verification.uncommitted-state') }}{{ final.sourceImplementationReport.gitStatusShort | inline_code }}
{% if final.get("stageReports") %}

{{ t('tasks.final-verification.per-stage-reports') }}

{% endif %}

{{ t('tasks.final-verification.release-path') }}

{{ render_narrative(narrative.releaseReadiness, "finalVerification.userNarrative.releaseReadiness") }} {% if releaseAllowed %}

{{ final.routingRecommendation.target }} — {{ final.routingRecommendation.rationale | inline_code }}

{% else %}

{{ t('tasks.final-verification.the-current-verdict-does-not-allow-release-h') }}

{% endif %}
{% endblock %}