{% extends "base.html" %} {% block title %}{{ app_name }} — Engineering Review Board{% endblock %} {% block content %}
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).
Related findings grouped by root cause — fix the root cause to resolve multiple findings at once.
| Root Cause | Severity | Findings | Personas |
|---|---|---|---|
| {{ 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 }} |
Each reflex represents an engineering persona. Click "Run" to trigger on-demand analysis.
| 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 | |||||||
| 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. | ||||||
| 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. | |||||
# 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