{% extends "dashboard/layout.htm" %} {% block content %}

Project workspace

{{ project.display_name or project.name }}

{{ project.description or "No description provided." }}

{% if runtime_enabled %}Register artifact{% endif %}
Manifest validation and synchronization
{% if manifest.validation.errors %}{% endif %}
{% macro catalog_table(title, rows, fields) %}
{{ title }}
{% for field, label in fields %}{% endfor %} {% for row in rows %}{% for field, label in fields %}{% endfor %} {% else %}{% endfor %}
{{ label }}
{{ row[field] if row[field] is not none else "" }}
None recorded.
{% endmacro %} {% macro summary_table(summary) %}
{{ summary.title }}
{% if summary.error %}

{{ summary.error }}

{% elif summary.rows %}
{% for column in summary.columns %}{% endfor %}{% for row in summary.rows %}{% for column in summary.columns %}{% endfor %}{% endfor %}
{{ column.label }}
{% if column.key == 'status' %}{{ row[column.key] }}{% elif column.key == 'duration_seconds' and row[column.key] is not none %}{{ "%.2f"|format(row[column.key]) }} s{% elif column.key == 'finished_at' and row[column.key] %}{% else %}{{ row[column.key] if row[column.key] is not none else '—' }}{% endif %}
{% else %}

No {{ summary.title|lower }} is available for this project.

{% endif %}
{% endmacro %} {% if summaries is defined %}{{ summary_table(summaries.config) }}{{ summary_table(summaries.result) }}{% endif %}
Workflows
{% for workflow in workflows %}{% else %}{% endfor %}
NameDescriptionSequenceMonitor
{{ workflow.name }}{{ workflow.description or "" }}
    {% for step in workflow.sequence %}
  1. {{ step }}
  2. {% endfor %}
Dataset × step matrix
None recorded.
{{ catalog_table("Steps", steps, (("position", "Order"), ("name", "Name"), ("description", "Description"))) }} {{ catalog_table("Validators", validators, (("name", "Name"), ("phase", "Phase"), ("description", "Description"))) }} {{ catalog_table("Parameters", parameters, (("name", "Name"), ("type", "Type"), ("required", "Required"), ("default", "Default"))) }} {{ catalog_table("Dataset columns", dataset_columns, (("name", "Name"), ("type", "Type"), ("required", "Required"))) }} {{ catalog_table("Artifact definitions", artifact_definitions, (("name", "Name"), ("path_pattern", "Path pattern"), ("media_type", "Media type"))) }} {% endblock %}