{% extends "base.html" %} {% set plural = 'Agents' if kind == 'agent' else 'Capabilities' %} {% block title %}{{ plural }} — Nullius{% endblock %} {% block crumb %}/ {{ plural|lower }}{% endblock %} {% block head %}{% endblock %} {% block body %} {# The standard's agents (or capabilities) as cards, as the benchmarks are; a card opens its own page. docs/standard.md #}

{{ plural }}

{{ entries|length }} {{ plural|lower if entries|length != 1 else kind }} · {% if kind == 'agent' %}driven over ACP, the benchmark's tools served over MCP{% else %}driven over JSON lines{% endif %} · every model call through the relay

{% from "catalogue/add_dialog.html" import add_dialog %} {% set a = 'an agent' if kind == 'agent' else 'a capability' %} {% call add_dialog(a, prompts, kind) %}

Commands use the installed nullius command. Your entries go in {{ catalogue_dir }}. Everything below uses my-{{ 'agent' if kind == 'agent' else 'memory' }} as the key: put yours.

    {% for st in how %}
  1. {{ st.title }}

    {{ st.text|safe }}

    {{ st.file or st.lang }}
    {{ st.code }}
  2. {% endfor %}

The whole contract: docs/standard.md in the source checkout. A bundled example to read: {{ example_dir }}.

{% endcall %} {% if problems %}
Not offered: a definition with problems
{% endif %} {% if not entries %}

No {{ kind }} yet.

{% endif %}
{% for e in entries %}{% set d = e.d %}{% set proven = e.ports|selectattr('state', 'equalto', 'proven')|list %}{% set runs = e.fits|rejectattr('why')|list %}
{% if kind == 'capability' %}{{ d.kind }}{% endif %}{{ e.protocol }}{% if d.example %}example{% endif %}{{ ('v' ~ d.upstream.version if d.upstream and d.upstream.version else '') ~ (' · ' ~ d._versions|length ~ ' versions' if d._versions|length > 1 else '') }}
{{ d.label }}
{{ d.summary }}
{{ proven|length }}/{{ e.ports|length }}ports proven
{{ runs|length }}/{{ e.fits|length }}benchmarks it runs
{{ 'yes' if e.install else 'no' }}installs
{% endfor %}
{% endblock %} {% block scripts %}{% endblock %}