{# ═══════════════════════════════════════════════════════════════════════════
/r6-dashboard — the live guardrail measurement.
What this replaced: fifteen panels of buttons, each POSTing to /r6/… , plus
a "Security Posture" panel of nine hand-written rows reading Enforced /
Required / Immutable beside green checkmarks. Two things were wrong with
that page and only one of them was visible.
1. The nine rows were prose. No test could fail them. They are
docs/defect-catalogue.md §1 — a reassuring word doing a check's job —
on the most-linked page the project has.
2. Every button was dead where the page is served. healthclaw.io runs on
Vercel with ephemeral storage, and api/index.py refuses mutating
requests to /r6/ with 405. "Run 6-Step Guardrail Demo" POSTs to
/r6/demo/agent-loop. Anyone who clicked it on the public site got a 405.
So the page now shows the measurement instead of claiming the result, and
states plainly which host it is on and what that host can do.
Division of labour with /security: that page is the prose posture and
deliberately prints no grade, because a copied number goes stale and a
stale copy always reads as the better one. This page prints one because it
is not a copy — it renders the endpoint's own output at request time and
shows when the run happened and where it came from.
═══════════════════════════════════════════════════════════════════════════ #}
{% extends "base.html" %}
{% block surface %}surface-paper{% endblock %}
{% block bstheme %}light{% endblock %}
{% block title %}Guardrail conformance — live report — HealthClaw{% endblock %}
{% block head %}
{% endblock %}
{% block mainclass %}wrap{% endblock %}
{% block content %}
{% set report = snapshot.report %}
A probe creates a synthetic patient, drives real requests through the
running stack, and records what comes back. Every line below is something
it observed. Nothing here is asserted by hand, and the
failures are printed at the same weight as the passes.
What the guardrails actually did, the last time anyone checked
Run a fresh check now Re-runs the harness against this deployment instead of serving the cached result. Takes a second or two.
{% endif %} {% else %} {# The state this page exists to get right. An empty report rendered as a blank scorecard reads as a clean bill of health — "examined nothing" and "found nothing" have to look different (docs/defect-catalogue.md §0). #}The report could not be obtained, so this page has nothing to show you and will not imply otherwise. An empty scorecard is not a clean one. Until this section is replaced by a grade, treat every guardrail claim about this deployment as unverified.
{{ snapshot.error }}
Open a property to see every check inside it and what the probe observed. The bars are one mark per check, so a property resting on two probes looks thinner than one resting on seventeen. It is thinner. What each property means →
Probed {{ row.reference }} in the self-test tenant.
Listed at the same weight as the result, because you would find them anyway and finding them yourself is worse.
Coverage is {{ row.coverage }}, not full.
The grade for this property describes only the surface named there.
{{ row.caveat }}
{{ why }}
The deployment grades itself. There is no SOC 2 and no HITRUST report behind this number. It says the controls fired on a synthetic record a moment ago; it says nothing about the organisation running the deployment, its hosting, or its staff. The full posture, including what is missing →
Writes land in a dedicated conformance-selftest tenant.
No real record is read or written to produce this page.
The endpoint is public and unauthenticated. Run it yourself; the harness runs on request, so what you get is what is true when you ask.
# the same report this page rendered, as JSON curl {{ stateful_host }}/r6/fhir/$conformance # a human-readable scorecard, and a fresh run rather than the cache curl '{{ stateful_host }}/r6/fhir/$conformance?format=text&fresh=1' # 200 at grade A, 503 below it — so an uptime check can watch the guardrails curl -o /dev/null -w '%{http_code}\n' {{ stateful_host }}/r6/fhir/$conformance
You are on the stateful deployment. It has a database, it accepts writes, and it ran the report above itself.
{% else %}
You are on the read-only deployment. It serves the site from ephemeral
serverless storage and refuses every write to a clinical path with a
405, so it cannot run the harness — the report above was
fetched from {{ stateful_host }}, which
can. That is also where the interactive demo runs; buttons here would
return 405, so there are none.