{{ mission.id }}
{{ mission.summary.objective or t('missions.objective_unavailable') }}
{{ t('missions.command_state') }}
{{ t('missions.next_task') }}
- {{ t('missions.pinned_revision') }}
- {{ mission.control.pinned_plan_id }} · r{{ mission.control.pinned_plan_revision }}
- {{ t('missions.status') }}
- {{ easy(mission.control.run_status) }}
- {{ t('missions.approval') }}
- {{ easy(mission.control.approval_status) }}
{{ mission.control.next_task.id }} · {{ mission.control.next_task.title }}{{ mission.control.next_task.instruction }}
{% else %}{{ t('missions.no_active_run') }}
{% endif %}{{ t('mission_detail.degraded_title') }}
{% for item in mission.degraded %}{{ item.message }}
{% if item.recovery %}{{ item.recovery }}
{% endif %}{{ t('mission_detail.decision_context') }}
{{ t('mission_detail.overview') }}
- {{ t('missions.status') }}
- {{ easy(mission.status) }}
- {{ t('missions.owner') }}
- {{ mission.metadata.created_by }}
- {{ t('missions.updated') }}
- {{ mission.metadata.modified_at }}
- {{ t('mission_detail.created') }}
- {{ mission.metadata.created_at }}
- {{ t('missions.approval') }}
- {{ easy(mission.summary.approval.status) }}
- {{ t('mission_detail.visibility') }}
- {{ mission.policy.visibility }}{% if mission.policy.redacted_fields %} · {{ mission.policy.redacted_fields|length }} {{ t('mission_detail.redacted') }}{% endif %}
{{ t('mission_report.eyebrow') }}
{{ t('mission_report.title') }}
{{ t('mission_report.scope') }}
- {% for item in mission.research.scope %}
- {{ item }} {% else %}
- {{ t('mission_report.none') }} {% endfor %}
{{ t('mission_report.excluded_scope') }}
- {% for item in mission.research.excluded_scope %}
- {{ item }} {% else %}
- {{ t('mission_report.none') }} {% endfor %}
{{ t('mission_report.findings') }}
-
{% for finding in mission.research.findings %}
-
{{ finding.id }}{{ finding.title }}
{{ finding.detail }}
{% else %} - {{ t('mission_report.no_findings') }} {% endfor %}
{{ t('mission_report.recommendations') }}
- {% for item in mission.research.recommendations %}
- {{ item }} {% else %}
- {{ t('mission_report.none') }} {% endfor %}
{{ t('mission_report.uncertainties') }}
- {% for item in mission.research.uncertainties %}
- {{ item }} {% else %}
- {{ t('mission_report.none') }} {% endfor %}
{{ t('mission_detail.review_state') }}
{{ t('mission_detail.progress') }}
- {{ t('missions.progress') }}
- {{ mission.task_counts.completed or 0 }} / {{ mission.task_counts.total or 0 }}
- {{ t('missions.in_review') }}
- {{ mission.task_counts.in_review or 0 }}
- {{ t('missions.blocked') }}
- {{ mission.task_counts.blocked or 0 }}
- {{ t('missions.criteria') }}
- {{ mission.criterion_counts.covered or 0 }} / {{ mission.criterion_counts.total or 0 }}
- {{ t('missions.evidence') }}
- {{ mission.evidence_count or 0 }}
- {{ t('missions.handoff') }}
- {{ t('missions.recorded') if mission.handoff_count else t('missions.not_recorded') }}
{{ mission.task_counts.blocked }} {{ t('mission_detail.blocked_tasks') }}
{% endif %}{{ t('mission_detail.pinned_context') }}
{{ t('mission_detail.linked_plan') }}
{{ t('mission_detail.run_uses_plan') }}
{{ mission.run.plan_id }} · r{{ mission.run.plan_revision }}{{ t('mission_detail.execution_context') }}
{{ t('missions.linked_runs') }}
- {% for run in mission.plan.linked_runs %}
- {{ run.id }} · r{{ run.revision }}{{ easy(run.status) }} {% endfor %}
{{ t('mission_detail.no_runs') }}
{% endif %}{{ t('mission_detail.boundaries') }}
{{ t('mission_detail.scope_constraints') }}
{{ t('mission_detail.scope') }}
- {% for item in mission.summary.scope %}
- {{ item }} {% else %}
- {{ t('mission_detail.not_recorded') }} {% endfor %}
{{ t('mission_detail.constraints') }}
- {% for item in mission.summary.constraints %}
- {{ item }} {% else %}
- {{ t('mission_detail.not_recorded') }} {% endfor %}
{{ t('mission_detail.completion_standard') }}
{{ t('mission_detail.global_criteria') }}
-
{% for criterion in mission.plan.global_criteria %}
-
{{ criterion.id }}{{ t('criterion_state.' ~ criterion.coverage_status) }}{{ criterion.text }}
{{ criterion.evidence_count }} {{ t('mission_tasks.evidence_count') }} {% for evidence_id in criterion.evidence_ids %}{{ evidence_id }}{% endfor %}
{% endfor %}
{{ t('mission_tasks.work_breakdown') }}
{{ t('mission_tasks.title') }}
{{ task.id }}
{{ task.title }}
{{ t('accessibility.task_disclosure') }}
- {{ t('mission_tasks.assignee') }}
- {{ task.assigned_to or t('mission_tasks.not_recorded') }}
- {{ t('mission_tasks.attempt') }}
- {{ task.attempt }}
- {{ t('mission_tasks.started') }}
- {{ task.started_at or t('mission_tasks.not_recorded') }}
- {{ t('mission_tasks.completed') }}
- {{ task.completed_at or t('mission_tasks.not_recorded') }}
- {{ t('mission_tasks.readiness') }}
- {% if task.ready %}{{ t('mission_tasks.ready') }}{% elif task.status == 'blocked' %}{{ t('mission_tasks.blocked') }}{% else %}{{ easy(task.status) }}{% endif %}
{{ t('mission_tasks.instructions') }}
{{ task.instructions or t('mission_tasks.not_recorded') }}
{{ t('mission_tasks.dependencies') }}
{% if task.dependencies %}- {% for dependency in task.dependencies %}
- {{ dependency }} {% endfor %}
{{ t('mission_tasks.none') }}
{% endif %}{{ t('mission_tasks.verification') }}
- {% for item in task.verification %}
{{ item }}{% else %}- {{ t('mission_tasks.not_recorded') }} {% endfor %}
{{ t('mission_tasks.authorization') }}
- {% for item in task.authorization %}
- {{ item }} {% else %}
- {{ t('mission_tasks.not_recorded') }} {% endfor %}
{{ t('mission_tasks.resources') }}
- {% for item in task.resources %}
{{ item }}{% else %}- {{ t('mission_tasks.not_recorded') }} {% endfor %}
{{ t('mission_tasks.result') }}
{{ task.result or t('mission_tasks.not_recorded') }}
{{ t('mission_tasks.criteria') }}
{{ task.criteria|length }}-
{% for criterion in task.criteria %}
-
{{ criterion.id }}{{ t('criterion_state.' ~ criterion.coverage_status) }}{{ criterion.text }}
{{ criterion.evidence_count }} {{ t('mission_tasks.evidence_count') }} {% for evidence_id in criterion.evidence_ids %}{{ evidence_id }}{% endfor %}
{% else %} - {{ t('mission_tasks.no_criteria') }} {% endfor %}
{{ t('mission_handoff.resume_context') }}
{{ t('mission_handoff.title') }}
{{ t('mission_handoff.missing_fields') }}: {{ mission.handoff.completeness.missing_fields|join(', ') }}
{% endif %}{{ t('mission_handoff.current_state') }}
{{ mission.handoff.current_state or t('mission_handoff.not_recorded') }}
{{ t('mission_handoff.changed_files') }}
- {% for item in mission.handoff.changed_files %}
- {% if item == '[redacted]' %}{{ t('mission_evidence.redacted') }}{% else %}
{{ item }}{% endif %} {% else %} - {{ t('mission_handoff.none') }} {% endfor %}
{{ t('mission_handoff.remaining_work') }}
- {% for item in mission.handoff.remaining_work %}
- {{ item }} {% else %}
- {{ t('mission_handoff.none') }} {% endfor %}
{{ t('mission_handoff.blockers') }}
- {% for item in mission.handoff.blockers %}
- {{ item }} {% else %}
- {{ t('mission_handoff.none') }} {% endfor %}
{{ t('mission_handoff.evidence') }}
- {% for ref in mission.handoff.evidence_refs %}
- {% if ref.href %}{{ ref.value }}{% else %}
{{ ref.value }}{{ t('handoff_reason.' ~ ref.reason) }}{% endif %} {% else %} - {{ t('mission_handoff.none') }} {% endfor %}
{{ t('mission_handoff.artifacts') }}
- {% for ref in mission.handoff.artifact_refs %}
- {% if ref.href %}{{ ref.value }}{% elif ref.state == 'redacted' %}{{ t('mission_evidence.redacted') }}{% else %}
{{ ref.value }}{{ t('handoff_reason.' ~ ref.reason) }}{% endif %} {% else %} - {{ t('mission_handoff.none') }} {% endfor %}
{{ t('mission_handoff.legacy_fields') }}
- {% for key, value in mission.handoff.legacy_fields.items() %}
- {{ key }}
- {{ value|string|truncate(500, True) }}
{{ t('mission_handoff.no_transfer') }} {{ t('mission_handoff.no_transfer_help') }}
{{ t('mission_evidence.proof_record') }}
{{ t('mission_evidence.title') }}
{{ label(item.type) }}{{ item.evidence_id }}
{{ item.criterion_links|length }} {{ t('mission_evidence.linked_criteria') }}
{% if item.result == '[redacted]' or item.locator == '[redacted]' or item.content_hash == '[redacted]' %}{{ item.evidence_id }}
{{ t('mission_evidence.redacted_help') }}
{% endif %} {% if item.result == '[unavailable]' or item.locator == '[unavailable]' %}{{ t('mission_evidence.unavailable_help') }}
{% endif %}- {{ t('mission_evidence.result') }}
- {% if item.result == '[redacted]' %}{{ t('mission_evidence.redacted') }}{% elif item.result == '[unavailable]' %}{{ t('mission_evidence.unavailable') }}{% elif item.result %}
{{ item.result }}{% else %}{{ t('mission_evidence.absent') }}{% endif %} - {{ t('mission_evidence.locator') }}
- {% if item.locator == '[redacted]' %}{{ t('mission_evidence.redacted') }}{% elif item.locator == '[unavailable]' %}{{ t('mission_evidence.unavailable') }}{% elif item.locator %}
{{ item.locator }}{% else %}{{ t('mission_evidence.absent') }}{% endif %} - {{ t('mission_evidence.hash') }}
- {% if item.content_hash == '[redacted]' %}{{ t('mission_evidence.redacted') }}{% elif item.content_hash %}
{{ item.content_hash }}{% else %}{{ t('mission_evidence.absent') }}{% endif %} - {{ t('mission_evidence.actor') }}
- {{ item.captured_by or t('mission_evidence.absent') }}
- {{ t('mission_evidence.time') }}
- {{ item.captured_at or t('mission_evidence.absent') }}
- {{ t('mission_evidence.sources') }}
- {% if item.source_ids %}{% for source_id in item.source_ids %}
{{ source_id }}{% endfor %}{% else %}{{ t('mission_evidence.absent') }}{% endif %} - {{ t('mission_evidence.criterion_ids') }}
- {% if item.criterion_ids %}{% for criterion_id in item.criterion_ids %}
{{ criterion_id }}{% endfor %}{% else %}{{ t('mission_evidence.absent') }}{% endif %}
{{ t('mission_evidence.empty') }}
{% endif %}{{ t('mission_trace.audit_record') }}
{{ t('mission_trace.title') }}
{{ t('missions.audit_ledger') }}
{{ t('mission_trace.mission_history') }}
- {% for event in mission.history %}
- {{ easy(event.new_status) }}{{ event.actor }}
{{ event.reason or t('mission_trace.no_reason') }}
{% else %} - {{ t('mission_trace.empty') }} {% endfor %}
{{ t('mission_trace.execution_events') }}
- {% for event in mission.execution_events %}
- {{ easy(event.new_status) }}{{ event.actor }}
{{ event.reason or t('mission_trace.no_reason') }}
{% else %} - {{ t('mission_trace.empty') }} {% endfor %}
{{ t('mission_trace.review_decisions') }}
- {% for event in mission.review_decisions %}
- {{ easy(event.new_status) }}{{ event.actor }}
{{ event.reason or t('mission_trace.no_reason') }}
{% else %} - {{ t('mission_trace.empty') }} {% endfor %}