{% extends "base.html" %} {% from "partials/icons.html" import icon %} {% block title %}Sraosha — Compliance{% endblock %} {% block breadcrumbs %}
Team validation health over the last 30 days
{% endblock %} {% block content %}Compliance snapshots may be stale
Last computed {{ kpis.last_computed_rel or "—" }}. Ensure the periodic compliance job is running.
Org average
{% if kpis.org_avg is not none %}{{ "%.1f" | format(kpis.org_avg) }}%{% else %}—{% endif %}
Mean score across teams with data
Teams tracked
{{ kpis.teams_tracked }}
Registered in Sraosha
Needs attention
{{ kpis.teams_needing_attention }}
Score < 70% or owned contracts with no runs
Violations (30d)
{{ kpis.total_violations_30d }}
Failed + error validation runs
Last snapshot
{{ kpis.last_computed_rel or "Never" }}
Latest Celery compliance write
Some contracts are not linked to a team
{{ contracts_unlinked }} contract(s) have no team_id and are excluded from the leaderboard. Edit each contract or set x-sraosha.team_id in YAML. Manage teams
You have {{ contracts_unlinked }} contract(s), but no teams yet. Create teams under Settings → Teams, then link each contract by setting x-sraosha.team_id to that team’s UUID (or open a contract and pick a team).
Create teams under Settings → Teams, then assign contracts by setting x-sraosha.team_id or choosing a team when editing a contract. Validation scores roll up only for linked contracts.
passed runs ÷ total runs. Violations count failed and error outcomes.Rolling 30d, contracts with an owner team
{{ c.title }}
{{ c.owner_team }}
{{ c.pass_rate }}%
{{ c.total_runs }} runs
No contracts with runs in the last 30 days.
{% endif %}Failed or error runs (30d)
{{ f.team or "—" }} · {{ f.status }} · {{ f.when }}
No failures in the last 30 days.
{% endif %}No validation activity yet
Trigger runs from CI, the CLI, or schedules to populate compliance metrics.