{% extends "base.html" %} {% block title %}Simulator | Suvra{% endblock %} {% block content %}

Policy Simulator

Evaluate policy decisions without executing side effects.

shell.exec, email.delete, and secrets.read are simulation/policy-only action types; execute fails closed.

Workspace root prefix for file actions: {{ workspace_prefix }}

{% if error_message %}

{{ error_message }}

{% endif %}
Policy Override (optional)

Used only for this simulation. Not saved.

Result

{% if result %}

Decision {{ result.decision }}

Action ID
{{ result.action_id }}
Matched Rule
{{ result.matched_rule_id or 'none' }}
Dry Run
{{ 'yes' if result.dry_run else 'no' }}
Actor
{{ result.summary.actor }}
Action Type
{{ result.summary.action_type }}
Target
{{ result.summary.target }}
Agent
{{ result.summary.agent or '-' }}
User
{{ result.summary.user or '-' }}
Role
{{ result.summary.role or '-' }}
Workspace
{{ result.summary.workspace or '-' }}
Environment
{{ result.summary.environment or '-' }}
Labels
{{ result.summary.labels|join(', ') if result.summary.labels else '-' }}
{% if result.reasons %}

Reasons

    {% for reason in result.reasons %}
  • {{ reason }}
  • {% endfor %}
{% endif %} {% if result.checks %}

Constraint Checks

{% for check in result.checks %} {% endfor %}
Constraint Result Detail
{{ check.name }} {{ 'ok' if check.ok else 'failed' }} {{ check.detail }}
{% endif %} {% if result.message %}

{{ result.message }}

{% endif %}
{% else %}

Run a simulation to see decision, rule match, and reasons.

{% endif %}
{% endblock %}