{% extends "base.html" %} {% block title %}{{ app_name }} — Engineering Review Board{% endblock %} {% block content %}

Engineering Review Board

Continuous Multi-Persona Code Analysis

Seven engineering personas automatically analyze the codebase on configurable schedules: SRE (reliability), QA (coverage), Security (red team), Performance (profiling), UX (accessibility), Docs (freshness), Product (adoption). Findings are stored in an append-only audit trail (NIST AU compliant).

{% if health_score is defined and health_score is not none %}
{{ health_score|round(0)|int }}
Health Score / 100
{{ health_grade }}
Trend: {{ health_trend }} {% if health_trend == 'improving' %} ▲{% elif health_trend == 'degrading' %} ▼{% else %} ▬{% endif %}
{% if health_trend_data %} {% for point in health_trend_data %} {% if not loop.first %} {% endif %} {% endfor %} {% endif %}
{% endif %}
{{ total_findings }}
Total Findings
{{ severity_summary.get('critical', 0) }}
Critical
{{ severity_summary.get('high', 0) }}
High
{{ severity_summary.get('medium', 0) }}
Medium
{{ severity_summary.get('low', 0) + severity_summary.get('info', 0) }}
Low / Info
{{ reflexes|length }}
Active Reflexes
{{ remediation_stats.get('auto_fixes_last_hour', 0) if remediation_stats else 0 }}
Fixes (Last Hour)
{% if correlation_groups %}

Root Cause Clusters

Related findings grouped by root cause — fix the root cause to resolve multiple findings at once.

{% for g in correlation_groups %} {% endfor %}
Root CauseSeverityFindingsPersonas
{{ g.root_cause|replace('_', ' ')|title }} {% if g.severity == 'critical' %}CRITICAL {% elif g.severity == 'high' %}HIGH {% else %}{{ g.severity|upper }}{% endif %} {{ g.finding_count }} {{ g.personas_involved|join(', ')|upper }}
{% endif %}

Reflex Status

Each reflex represents an engineering persona. Click "Run" to trigger on-demand analysis.

{% for r in reflexes %} {% endfor %} {% if not reflexes %} {% endif %}
Persona Enabled Last Run Runs Pass Rate CB Last Metric Actions
{{ r.reflex_name|upper }} {% if r.enabled %} On {% else %} Off {% endif %} {{ r.last_run_at or '—' }} {{ r.total_runs }} {% if r.total_runs > 0 %} {{ ((r.total_successes / r.total_runs) * 100)|round(0)|int }}% {% else %} — {% endif %} {% if r.circuit_breaker_open %} OPEN {% else %} OK {% endif %} {{ r.last_metric_value|default('—', true) }}
No reflex state data. Run the daemon: python tools/review_board/daemon.py --once

Recent Findings

{% for f in findings %} {% endfor %} {% if not findings %} {% endif %}
Severity Persona Category Title Confidence Auto-Fix Created
{% if f.severity == 'critical' %} CRITICAL {% elif f.severity == 'high' %} HIGH {% elif f.severity == 'medium' %} MEDIUM {% elif f.severity == 'low' %} LOW {% else %} INFO {% endif %} {{ f.reflex_name|upper }} {{ f.category }} {{ f.title }} {{ (f.confidence * 100)|round(0)|int }}% {% if f.auto_fixable %}Yes{% else %}—{% endif %} {{ f.created_at }}
No findings yet. Run a reflex or start the daemon.

Recent Audit Events

{% for e in audit_events %} {% endfor %} {% if not audit_events %} {% endif %}
Event Reflex Success Duration Metric Time
{{ e.event_type }} {{ e.reflex_name or '—' }} {% if e.success == 1 %} Pass {% elif e.success == 0 %} Fail {% else %} — {% endif %} {% if e.duration_ms %}{{ e.duration_ms }}ms{% else %}—{% endif %} {% if e.metric_value is not none %}{{ e.metric_value }}{% else %}—{% endif %} {{ e.created_at }}
No audit events yet.

CLI Quick Reference

# Run as continuous daemon
ICDEV_REVIEW_BOARD_ENABLED=true python tools/review_board/daemon.py

# Single pass (run all due reflexes)
python tools/review_board/daemon.py --once --json

# Run individual persona
python tools/review_board/daemon.py --reflex sre --json
python tools/review_board/daemon.py --reflex qa --json
python tools/review_board/daemon.py --reflex security --json

# Check status
python tools/review_board/daemon.py --status --json

# Enable/disable a reflex
python tools/review_board/daemon.py --enable perf
python tools/review_board/daemon.py --disable docs

# Reset circuit breaker
python tools/review_board/daemon.py --reset sre
{% if error %} {% endif %} {% endblock %}