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

{{ t('tasks.requirements-discovery.the-request-as-understood') }}

{{ render_narrative(narrative.requestUnderstanding, "requirementsDiscovery.userNarrative.requestUnderstanding") }}

{{ t('tasks.requirements-discovery.your-request-verbatim') }}

{{ requirements.requestVerbatim | inline_code }}

{{ t('tasks.requirements-discovery.how-the-system-reads-it') }}

{{ requirements.systemInterpretation | inline_code }}

{% for key, value in requirements.classification.items() %}
{{ key }}
{{ value | inline_code }}
{% endfor %}
{% if requirements.get("rejectionCriteria") %}

{{ t('tasks.requirements-discovery.what-would-prove-this-wrong') }}

{% if requirements.rejectionCriteria.source == "absent-not-material" %}

{{ t('tasks.requirements-discovery.the-requester-left-no-rejection-criteria-eve') }}

{% else %}

{{ requirements.rejectionCriteria.get("statement") | inline_code }}

{{ t('macros.layout.source') }} {{ requirements.rejectionCriteria.source | enum_label("rejectionSource") }}{% if requirements.rejectionCriteria.get("clarificationId") %} · {{ requirements.rejectionCriteria.clarificationId | inline_code }}{% endif %}{% if requirements.rejectionCriteria.get("evidenceRefs") %} · {{ requirements.rejectionCriteria.evidenceRefs | evidence_refs }}{% endif %}

{% endif %}
{% endif %} {% if requirements.get("domainAlignment") %}

{{ t('tasks.requirements-discovery.terms-settled') }}

{{ t('tasks.requirements-discovery.glossary') }} {{ t('macros.layout.checked') if requirements.domainAlignment.glossaryConsulted else t('macros.layout.none') }} · {{ t('tasks.requirements-discovery.decision-record') }} {{ t('macros.layout.checked') if requirements.domainAlignment.decisionsConsulted else t('macros.layout.none') }}

{% for row in requirements.domainAlignment.terms %}{% else %}{% endfor %}
{{ t('tasks.requirements-discovery.as-the-brief-put-it') }}{{ t('tasks.requirements-discovery.settled-term') }}{{ t('tasks.requirements-discovery.settled-by') }}{{ t('tasks.requirements-discovery.evidence') }}
{{ row.raw | inline_code }}{{ row.canonical | inline_code }}{{ row.resolvedBy | enum_label("termSource") }}{{ row.get("evidenceRefs") | default([]) | evidence_refs }}
{{ t('tasks.requirements-discovery.no-term-was-ambiguous') }}
{% endif %}

{{ t('tasks.requirements-discovery.settled-and-unsettled-requirements') }}

{{ render_narrative(narrative.confirmedRequirements, "requirementsDiscovery.userNarrative.confirmedRequirements") }}
{% for row in requirements.confirmedRequirements %}{{ summary_card(row.id ~ " · " ~ t('tasks.requirements-discovery.settled'), row.statement, anchor=row.id) }}{% endfor %}
{{ render_narrative(narrative.unresolvedRequirements, "requirementsDiscovery.userNarrative.unresolvedRequirements") }}
{% for row in requirements.unresolvedRequirements %}{{ summary_card(row.id ~ " · " ~ t('tasks.requirements-discovery.decision-needed'), row.statement, "important") }}{% else %}

{{ t('tasks.requirements-discovery.nothing-is-left-unsettled') }}

{% endfor %}

{{ t('tasks.requirements-discovery.next-tasks-and-dependencies') }}

{{ render_narrative(narrative.routingExplanation, "requirementsDiscovery.userNarrative.routingExplanation") }}

{{ t('tasks.requirements-discovery.next-task') }} {{ requirements.routing.nextTaskType }} · {{ requirements.routing.rationale | inline_code }}

{{ figure(routingFigure) }} {% if not requirements.taskDependencies %}

{{ t('tasks.requirements-discovery.this-requirements-task-stands-alone-nothing') }}

{% endif %}

{{ t('tasks.requirements-discovery.decisions-that-are-yours') }}

{% for row in clarificationItems %}{{ summary_card(row.id ~ " · " ~ row.kind, row.statement, "important") }}{% else %}

{{ t('tasks.requirements-discovery.no-further-decision-is-needed') }}

{% endfor %}
{{ action_list(humanSummary.actions) }}
{% endblock %}