{% extends "base.html" %} {% block title %}{{ workflow.workflow_id or workflow.path }} · Striatum{% endblock %} {% block main %}

{{ workflow.workflow_id or workflow.path }}

{% if workflow.status == "valid" %} valid {% elif workflow.status == "workflow_error" %} workflow error {% else %} parse error {% endif %} version: {{ workflow.workflow_version or "—" }} lint warnings: {{ workflow.lint_warning_count or 0 }} {% if workflow.status == "valid" %} {% endif %}

Path

{{ workflow.path }}

{% if workflow.lint_warning_count %}

Lint warnings

{{ workflow.lint_warning_count }} warning{{ "" if workflow.lint_warning_count == 1 else "s" }}

{% endif %} {% if workflow.message %}

Validation

{{ workflow.message }}
{% endif %} {% if graph_svg %}

Graph

{{ graph_svg | safe }}
{% endif %} {% if workflow.data %} {% set d = workflow.data %} {% if d.jobs %}

Jobs

{% for job in d.jobs %} {% endfor %}
IDTypeRoleLanePostureRequired posturesArtifacts
{{ job.id }} {{ job.type }} {{ job.role_id or "—" }} {{ job.lane_id or "—" }} {% if job.review_posture %}{{ job.review_posture }}{% else %}{% endif %} {% if job.required_review_postures %} {% for p in job.required_review_postures %}{{ p }}{% endfor %} {% else %}{% endif %} {{ (job.expected_artifacts or []) | length }}
{% endif %} {% if d.lanes %}

Lanes

{% for lane_id, lane in d.lanes.items() %} {% endfor %}
IDAdapterDisplay modelCapabilitiesConstraints
{{ lane_id }} {{ lane.adapter or "—" }} {{ lane.display_model or "—" }} {% for c in (lane.capabilities or []) %}{{ c }}{% if not loop.last %}, {% endif %}{% endfor %} {% if lane.constraints %} {% for k, v in lane.constraints.items() %}{{ k }}={{ v }}{% if not loop.last %}, {% endif %}{% endfor %} {% else %}{% endif %}
{% endif %} {% if d.roles %}

Roles

{% for role_id, role in d.roles.items() %} {% endfor %}
IDDefinition path
{{ role_id }} {{ role.definition_path or "—" }}
{% endif %} {% if d.edges %}

Edges

{% for edge in d.edges %} {% endfor %}
FromToOnRequires verdict
{{ edge.from }} {{ edge.to }} {{ edge.on or "—" }} {{ edge.requires_verdict or "—" }}
{% endif %} {% if d.cycles %}

Cycles

{% for cycle in d.cycles %} {% endfor %}
FromToOn verdictMax iterations
{{ cycle.from }} {{ cycle.to }} {{ cycle.on_verdict or "—" }} {{ cycle.max_iterations or "—" }}
{% endif %} {% endif %}
{% endblock %}