{% extends "base.html" %} {% block title %}safety · tau-x402-cage{% endblock %} {% block content %}

What would have spent without us?

Counterfactual view of the risk the cage prevented over the selected window. Every reject is a payment that would have gone through under the empty-registry baseline. Refreshes every 30 seconds.

{% if aggregate.get("verdict") == "error" %}
Daemon unreachable: {{ aggregate.get("category") }} / {{ aggregate.get("reason") }}
{% endif %} {% set agg = aggregate.get("aggregate") or {} %}

Window summary

Window
{% if agg.get("window_seconds") %} last {{ agg.get("window_seconds") }}s {% else %} all history {% endif %}
Prevented count
{{ agg.get("prevented_count", 0) }}
Prevented value
{% set by_ccy = agg.get("prevented_value_by_currency") or {} %} {% if by_ccy %} {% for ccy, amt in by_ccy.items() %} {{ amt }} {{ ccy }} {% endfor %} {% else %} — {% endif %}

Top providers by prevented risk

{% set providers = agg.get("top_providers") or [] %} {% if providers %} {% for p in providers %} {% endfor %}
# Provider Prevented count Prevented value
{{ loop.index }} {{ p.get("provider") }} {{ p.get("count") }} {% set vals = p.get("value_by_currency") or {} %} {% if vals %} {% for ccy, amt in vals.items() %} {{ amt }} {{ ccy }}{% if not loop.last %}, {% endif %} {% endfor %} {% else %}—{% endif %}
{% else %}

No rejects recorded in this window.

{% endif %}

Top rules by firing count

{% set rules = agg.get("top_rules") or [] %} {% if rules %} {% for r in rules %} {% endfor %}
# Rule Fired Prevented value
{{ loop.index }} {{ r.get("rule_id") }} {{ r.get("count") }} {% set vals = r.get("value_by_currency") or {} %} {% if vals %} {% for ccy, amt in vals.items() %} {{ amt }} {{ ccy }}{% if not loop.last %}, {% endif %} {% endfor %} {% else %}—{% endif %}
{% else %}

No rules fired in this window.

{% endif %}

Active constraints

Rules the cage is enforcing right now, grouped by class. The top 5 scope summaries per class are shown; the count column is the full total.

{% set constraints_data = constraints or {} %} {% if constraints_data.get("verdict") == "error" %}
Daemon unreachable: {{ constraints_data.get("category") }} / {{ constraints_data.get("reason") }}
{% endif %} {% set rows = constraints_data.get("constraints") or [] %} {% if rows %} {% for c in rows %} {% endfor %}
Class Count Fragment Summaries (top 5)
{{ c.get("class_name") }} {{ c.get("count") }} {{ c.get("fragment") }} {% for s in c.get("summaries") or [] %} {{ s }} {% endfor %}
{% else %}

No constraints declared.

{% endif %}

Mutation failures

Recent rejected mutation ops: contradictions, governance violations, cross-revision violations, inconclusive proofs. Read-only tail of the daemon's in-memory ring buffer.

{% set failures_data = mutation_failures or {} %} {% if failures_data.get("verdict") == "error" %}
Daemon unreachable: {{ failures_data.get("category") }} / {{ failures_data.get("reason") }}
{% endif %} {% set entries = failures_data.get("entries") or [] %} {% if entries %} {% for e in entries %} {% endfor %}
When (unix) Op Category Actor Reason
{{ e.get("timestamp_unix") }} {{ e.get("op") }} {{ e.get("category") }} {{ e.get("actor_id") or "—" }} {{ e.get("reason") }}
{% else %}

No mutation failures recorded.

{% endif %}
{# v0.17.0: runtime guard state panel. Gated on the daemon exposing a `runtime_state` op; older cages render the unavailable notice. #}

Runtime guard state

Live velocity, retry density, and tightening level. Read-only; refreshes every 15 seconds because runtime state moves faster than the rest of this page.

{% set rt = runtime_state or {} %} {% if rt.get("verdict") == "error" and rt.get("category") == "unknown_op" %}

Runtime guard state unavailable on this cage version. Upgrade to v0.17.0 or later to surface spend velocity + tightening level here.

{% elif rt.get("verdict") == "error" %}
Daemon unreachable: {{ rt.get("category") }} / {{ rt.get("reason") }}
{% else %} {% set level = (rt.get("tightening_level") or "none")|lower %}
Tightening level
{{ level }}
Spend velocity (rate / sec)
{% set vel = rt.get("spend_velocity") or {} %} {{ vel.get("rate_per_second", "0") }} {{ vel.get("currency", "") }} window total: {{ vel.get("window_total", "0") }}
{% set retries = rt.get("retry_density") or [] %}

Top repeating intent-tuples

{% if retries %} {% for r in retries[:5] %} {% endfor %}
# Provider Counterparty Endpoint Count
{{ loop.index }} {{ r.get("provider") or "—" }} {{ r.get("counterparty") or "—" }} {{ r.get("endpoint") or "—" }} {{ r.get("count", 0) }}
{% else %}

No repeating intent tuples in the current window.

{% endif %} {% set cooldowns = rt.get("active_cooldowns") or [] %}

Active cooldowns

{% if cooldowns %} {% for cd in cooldowns %} {% endfor %}
Source Expires in (s)
{{ cd.get("source") or "—" }} {{ cd.get("expires_in_seconds", 0) }}
{% else %}

No active cooldowns.

{% endif %} {% endif %}
{% endblock %}