{{ stats.total }}
Total
{{ stats.done }}
Done
{{ stats.fixable }}
Fixable
{{ stats.needs_work }}
Needs Work
{{ stats.pct }}%
Progress
{{ stats.run_stats.today_runs }}
Runs Today
{{ stats.run_stats.avg_delta }}%
Avg Delta
{{ stats.audited }}
Audited
{{ stats.escalated }}
Escalated
Score Distribution
{% set max_count = stats.buckets.values()|max if stats.buckets.values()|list else 1 %}
{% for bucket, css in [("100","s100"),("90-99","s90"),("80-89","s80"),("70-79","s70"),("60-69","s60"),("50-59","s50"),("40-49","s40"),("30-39","s30"),("20-29","s20"),("10-19","s10"),("0-9","s0")] %}
{% set count = stats.buckets.get(bucket, 0) %}
{% if count > 0 %}
{% endif %}
{% endfor %}
Where Points Are Lost
{% if stats.deduction_breakdown %}
{% set max_pts = stats.deduction_breakdown[0].total_pts if stats.deduction_breakdown else 1 %}
{% for d in stats.deduction_breakdown[:10] %}
{{ d.category | replace("_", " ") }}
{{ d.functions }} fns
{{ d.total_pts|round(0)|int }} pts
{% endfor %}
{% else %}
No data. Run a scan first.
{% endif %}
Model Performance
{{ stats.run_stats.total_runs }} runs
{{ stats.run_stats.success_rate }}% success
{{ stats.run_stats.regressions }} regressed
{{ stats.run_stats.zero_delta }} zero-Δ
Today:
{{ stats.run_stats.today.runs }} runs
·
{{ stats.run_stats.today.success_rate }}% success
·
avg {{ stats.run_stats.today.avg_delta }}% Δ
{% endif %}
{% for provider, pstats in stats.run_stats.by_provider.items() %}
{{ provider }}
{{ pstats.runs }} runs
avg {{ pstats.avg_delta }}%
{{ pstats.success_rate }}% ok
{% if pstats.known_tool_runs > 0 %}
{{ pstats.avg_tools }} tools
{{ pstats.known_tool_runs }} known
{% endif %}
{% if pstats.unknown_tool_runs > 0 %}
{{ pstats.unknown_tool_runs }} unknown tc
{% endif %}
{% if pstats.today_runs > 0 %}
today: {{ pstats.today_runs }} · {{ pstats.today_avg_delta }}%Δ
{% endif %}
{% endfor %}
{% if stats.run_stats.handoffs.total > 0 %}
Handoffs:
{{ stats.run_stats.handoffs.total }} total
{% for item in stats.run_stats.handoffs.top_pairs[:3] %}
· {{ item.pair }} {{ item.count }}
{% endfor %}
{% endif %}
{% if stats.run_stats.failure_modes %}
Failures:
{% for mode, count in stats.run_stats.failure_modes.items() %}
{{ mode }} {{ count }}
{% endfor %}
{% endif %}
{% if stats.run_stats.audit.ran > 0 or stats.run_stats.audit.skipped_good > 0 %}
Audit:
{{ stats.run_stats.audit.ran }} ran
·
{{ stats.run_stats.audit.improved }} improved
·
{{ stats.run_stats.audit.regressed }} regressed
·
{{ stats.run_stats.audit.no_change }} no change
·
{{ stats.run_stats.audit.skipped_good + stats.run_stats.audit.skipped_delta }} skipped
{% endif %}
{% if stats.run_stats.stuck_functions %}
Stuck:
{% for s in stats.run_stats.stuck_functions[:3] %}
{% endif %}
{{ s.name }} ({{ s.fails }}x)
{% endfor %}
Function Inventory
disabledLoading…
| Binary | Coverage | Scored | Total | Missing | % | Status | Last Scan | |
|---|---|---|---|---|---|---|---|---|
| No inventory data yet — enable the scorer. | ||||||||
Global Variables Inventory
disabledLoading…
| Binary | Coverage | Documented | Total | Issues | % | Status | Last Scan | |
|---|---|---|---|---|---|---|---|---|
| No global-inventory data yet — enable the scorer. | ||||||||
Cross-Binary Progress
| Binary | Progress | Done | Total | Avg | Fixable | |
|---|---|---|---|---|---|---|
| {{ prog }} | {{ info.done }} | {{ info.total }} | {{ pct }}% | {{ info.remaining }} |
Score Refresh:
never
|
Escalations:
0
|
Audits:
—
|
Inventory:
disabled
Work Queue ({{ queued|length }})
What you've explicitly queued. Workers pull from here in queue order, then auto-dequeue once a function crosses good@.| Actions | Function | Addr | Score | Deps | Fixable | ROI | Type | Last |
|---|---|---|---|---|---|---|---|---|
| QUEUED {{ t.name }} | 0x{{ t.address }} | {{ t.score }}% | {% if t.deps_remaining is defined and t.deps_remaining == 0 and not t.is_leaf %}Ready{% elif t.is_leaf %}Leaf{% elif t.deps_remaining is defined and t.deps_remaining > 0 %}{{ t.deps_remaining }} dep{{ 's' if t.deps_remaining > 1 }}{% else %}—{% endif %} | {{ t.fixable }} | {{ t.roi }} | {% if t.is_leaf %}Leaf{% elif t.call_graph_layer is not none %}L{{ t.call_graph_layer }}{% elif t.call_graph_layer is none and not t.is_leaf %}Cyc{% endif %} | {{ t.last_result or '' }} | |
| Nothing queued. Workers will fall through to Auto-Pick Preview below when started. | ||||||||
Auto-Pick Preview (top {{ [autopicks|length, 30]|min }})
Bottom-up order: leaves first, then callers whose callees are documented. Ready% = fraction of callees at ≥80%.| Actions | Function | Addr | Score | Deps | Fixable | ROI | Type | Last |
|---|---|---|---|---|---|---|---|---|
| {% if t.needs_scoring %}COLD {% endif %}{{ t.name }} | 0x{{ t.address }} | {{ t.score }}% | {% if t.deps_remaining is defined and t.deps_remaining == 0 and not t.is_leaf %}Ready{% elif t.is_leaf %}Leaf{% elif t.deps_remaining is defined and t.deps_remaining > 0 %}{{ t.deps_remaining }} dep{{ 's' if t.deps_remaining > 1 }}{% else %}—{% endif %} | {{ t.fixable }} | {{ t.roi }} | {% if t.is_leaf %}Leaf{% elif t.call_graph_layer is not none %}L{{ t.call_graph_layer }}{% elif t.call_graph_layer is none and not t.is_leaf %}Cyc{% endif %} | {{ t.last_result or '' }} |
All Functions
{{ stats.all_functions|length }} functions| Actions | Function | Addr | Score | Deps | Fixable | Tools | Layer | Src | Status | |
|---|---|---|---|---|---|---|---|---|---|---|
| {% if f.pinned %} {% else %}{% endif %} | {% if f.pinned %}QUEUED {% endif %}{{ f.name }} | 0x{{ f.address }} | {% if f.unscored %}— | {% else %}{{ f.score }}% | {% endif %}{% if f.is_leaf %}Leaf{% elif f.callers == 0 %}Ready{% else %}{{ f.callers }} dep{{ 's' if f.callers > 1 }}{% endif %} | {{ f.fixable }} | {% if f.tool_calls is none or f.tool_calls < 0 %}—{% else %}{{ f.tool_calls }}{% endif %} | {% if f.is_leaf %}Leaf{% else %}—{% endif %} | {% set ns = f.name_source or 'scan' %} {% if f.skip_reason == 'propagation' %}propagation {% elif ns == 'propagation' %}propagation {% elif ns == 'manual' %}manual {% elif ns == 'pdb' %}pdb {% elif ns == 'archive' %}archive {% else %}scan{% endif %} | {% if f.unscored %}UNSCORED {% elif f.score >= (stats.queue_config.good_enough_score|default(80)) %}DONE {% elif f.score >= 70 %}FIX {% else %}NEW{% endif %} |