{% extends "base.html" %} {% block title %}{{ run.skill_name }} — secfoo{% endblock %} {% block content %} ← Back to project

{{ run.skill_name }}

Status
{{ run.status }}
Agent
{{ run.agent_id }}
Started
{{ run.started_at | fmt_time }}
Duration
{{ run.duration_seconds | fmt_duration }}
Exit code
{{ run.exit_code if run.exit_code is not none else '-' }}
{% if run.confluence_urls %}
Confluence context
{% endif %}
Download raw report
{% if report_html %} {{ report_html | safe }} {% else %}

{% if run.status == 'running' %}This assessment is still running. {% elif run.status == 'timeout' %}This run timed out before producing a report. {% elif run.status == 'binary_not_found' %}The selected agent's CLI was not found on PATH. {% else %}No report content available.{% endif %}

{% if run.stderr_excerpt %}
stderr
{{ run.stderr_excerpt }}
{% endif %} {% endif %}
{% if mermaid_available %} {# Vendored locally rather than loaded from a CDN: this is a security tool whose reports are often reviewed on airgapped or restricted networks, and a report viewer that phones out to a third-party host is its own finding. The asset is optional (see web/app.py::mermaid_bundle_available) -- without it, diagrams stay readable as Mermaid source instead of breaking. #} {# mermaid@11's dist/mermaid.min.js is an IIFE that assigns globalThis.mermaid -- NOT an ES module, so it must be loaded as a classic script rather than imported. #} {% endif %} {% endblock %}