Path
{{ workflow.path }}
{% 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
| ID | Type | Role | Lane | Posture | Required postures | Artifacts |
{% for job in d.jobs %}
{{ 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 }} |
{% endfor %}
{% endif %}
{% if d.lanes %}
Lanes
| ID | Adapter | Display model | Capabilities | Constraints |
{% for lane_id, lane in d.lanes.items() %}
{{ 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 %}
|
{% endfor %}
{% endif %}
{% if d.roles %}
Roles
| ID | Definition path |
{% for role_id, role in d.roles.items() %}
{{ role_id }} |
{{ role.definition_path or "—" }} |
{% endfor %}
{% endif %}
{% if d.edges %}
Edges
| From | To | On | Requires verdict |
{% for edge in d.edges %}
{{ edge.from }} |
{{ edge.to }} |
{{ edge.on or "—" }} |
{{ edge.requires_verdict or "—" }} |
{% endfor %}
{% endif %}
{% if d.cycles %}
Cycles
| From | To | On verdict | Max iterations |
{% for cycle in d.cycles %}
{{ cycle.from }} |
{{ cycle.to }} |
{{ cycle.on_verdict or "—" }} |
{{ cycle.max_iterations or "—" }} |
{% endfor %}
{% endif %}
{% endif %}
{% endblock %}