{% macro agent_mark(kind, key, label, css='agent-logo') -%} {% set source = agent_marks.get(key.split('@')[0]) if kind == 'agent' else none %} {% if source and '#' in source %} {% elif source %} {% else %}{{ label[:1] }}{% endif %} {%- endmacro %} {% block title %}Nullius{% endblock %} {% block head %}{% endblock %} {# ---- icons: one symbol each, referenced by . Hand-drawn on a 24-grid, stroke only, so they take the item's colour and weight. ---- #}
{% set ep = request.endpoint or '' %} {# The rail: brand, the open workspace as a switcher, the pages in groups, and the controls at the foot. Collapses to icons (Ctrl/⌘ B); every item keeps its name as a tooltip, so nothing is lost, only width. #}
{% block crumb %}{% endblock %}
{% if record_workspace and (not workspace or record_workspace.name != workspace.name) %}

Source workspace: {{ record_workspace.label }} {{ record_workspace.name }}

{% endif %} {% block body %}{% endblock %}
{% block scripts %}{% endblock %} {#- The tour's stops: each page's own address and the rail item that names it; the last is the checklist. #} {% set onb_tour = [ {'url': url_for('index'), 'sel': '.nav-item[href="' ~ url_for('index') ~ '"]', 'k': 'Runs', 'h': 'Every run you made or brought in', 'p': "Each job, its solve rate and what failed. Open one to watch its trials live, then any trial's trace."}, {'url': url_for('benchmarks_page'), 'sel': '.nav-item[href="' ~ url_for('benchmarks_page') ~ '"]', 'k': 'Benchmarks', 'h': 'The catalogue', 'p': 'What can be run, each benchmark with what runs it and how it is scored. One of your own is added here too.'}, {'url': url_for('new_run'), 'sel': '.nav-item[href="' ~ url_for('new_run') ~ '"]', 'k': 'Run builder', 'h': 'Build a run, step by step', 'p': 'Benchmark, agents, model, where it runs. Review shows the exact script, and Run starts it.'}, {'url': url_for('compare'), 'sel': '.nav-item[href="' ~ url_for('compare') ~ '"]', 'k': 'Compare', 'h': 'Runs side by side, on the same tasks', 'p': "Matched task by task, so a difference is the agent's and not a different set of tasks."}, {'url': url_for('settings_page'), 'sel': '.nav-item[href="' ~ url_for('settings_page') ~ '"]', 'k': 'Settings', 'h': 'Keys, hosts and judges', 'p': 'Model providers, the machines that run benchmarks, and the two judges. Keys stay in a file on this machine.'}, {'url': url_for('settings_page'), 'sel': '#onb-panel', 'k': 'First steps', 'h': 'What is left to do', 'p': 'Click a step: Nullius opens its page and points at what to do next. Hide it any time; it stays in the rail.'}, ] %} {% if not embedded %} {% endif %} {#- Every notice a page is sent (Flask's flash) is a toast at the bottom left, as the builder's: it goes after a few seconds - an error after twice as many - its bar counting them, paused while pointed at, or on its ×. #} {% set notices = get_flashed_messages(with_categories=true) %} {% if notices %}
{% for category, message in notices %}
{{ message }}
{% endfor %}
{% endif %} {% if not embedded %}

Settings

{% endif %}