Five-condition comparison

Spec: unknown · 5 metrics × 5 conditions · click a condition to filter all charts
antigravity
claude_code
cursor_agent
human_control
replit_agent
complexity_mean
2.24 cc
Best: human_control
Worst: claude_code (3.35)
Mean McCabe cyclomatic complexity per function (radon)
correction_freq
0.00 per_kkey
Best: antigravity
Worst: human_control (334.45)
Backspace + delete events per 1000 keystrokes
duplication_pct
0.00 %
Best: claude_code
Worst: replit_agent (9.56)
% of source lines inside a duplicated 6-line shingle
hallucinations
0.00 count
Best: claude_code
Worst: replit_agent (1.00)
Features shipped that were NOT in the spec
security_density
0.00 per_kloc
Best: human_control
Worst: cursor_agent (43.67)
OWASP/CWE-tagged Bandit findings per 1000 lines of Python (per-language density)

Comparison view

Use the toggle to switch between calibrated scores and raw metric values. Calibrated scores are anchored to practical thresholds for each metric; raw values preserve the underlying measurement scale.
Interpretation note: calibrated scores make the chart more useful for partners because they reflect the metric semantics and risk bands, rather than rescaling the results only within this report.

Leaderboard

Composite of per-metric ranks (lower is better). Illustrative only — a naïve rank-sum that does not weight metrics or account for the human baseline's spec-minimal style; the authoritative analysis is in the dissertation, Chapter 4.
1
human_control
avg rank 1.8
🏆 4
2
claude_code
avg rank 2.4
🏆 3
3
replit_agent
avg rank 2.8
🏆 2
4
antigravity
avg rank 3.0
🏆 1
5
cursor_agent
avg rank 3.2
🏆 1

Heatmap

Green = best for that metric, red = worst. Calibrated per row.

Per-metric drill-down

Click a tab to inspect one metric.
complexity_mean
correction_freq
duplication_pct
hallucinations
security_density

complexity_mean

Mean McCabe cyclomatic complexity per function (radon)

Unit: cc · Lower is better
Axis guidance
Axis guidance: lower is better. Values at or below 3 are broadly sustainable; 3 to 6 signals rising maintainability risk; above 6 is likely to become brittle in production.
What this means for adoption
What this means for adoption: code that is structurally complex is harder to maintain, review, and govern at scale.
ConditionValueRank
antigravity 2.601 3
claude_code 3.354 5
cursor_agent 2.723 4
human_control 2.238 1
replit_agent 2.388 2

correction_freq

Backspace + delete events per 1000 keystrokes

Unit: per_kkey · Lower is better
Axis guidance
Axis guidance: lower is better. Values at or below 10 are efficient; 10 to 25 indicates repeated editing effort; above 25 suggests a poor interaction loop for real-world use.
What this means for adoption
What this means for adoption: high correction frequency points to friction that can erode developer trust and slow delivery.
ConditionValueRank
antigravity 0.000 1
claude_code 0.000 1
cursor_agent 0.000 1
human_control 334.448 5
replit_agent 0.000 1

duplication_pct

% of source lines inside a duplicated 6-line shingle

Unit: % · Lower is better
Axis guidance
Axis guidance: lower is better. Values at or below 5 are healthy; 5 to 10 suggests avoidable copy-and-paste debt; above 10 is a strong sign of maintainability problems.
What this means for adoption
What this means for adoption: high duplication increases the chance of inconsistent fixes and makes long-term stewardship harder.
ConditionValueRank
antigravity 4.258 4
claude_code 0.000 1
cursor_agent 0.904 3
human_control 0.000 1
replit_agent 9.556 5

hallucinations

Features shipped that were NOT in the spec

Unit: count · Lower is better
Axis guidance
Axis guidance: lower is better. Zero is ideal; 1 to 3 indicates scope drift and trust risk; above 3 is a serious control failure.
What this means for adoption
What this means for adoption: a tool that ships features outside the spec creates procedural and compliance risk, even when it appears productive.
ConditionValueRank
antigravity 0.333 4
claude_code 0.000 1
cursor_agent 0.167 3
human_control 0.000 1
replit_agent 1.000 5

security_density

OWASP/CWE-tagged Bandit findings per 1000 lines of Python (per-language density)

Unit: per_kloc · Lower is better
Axis guidance
Axis guidance: lower is better. Values at or below 50 are manageable; 50 to 100 is a warning band; above 100 is a clear governance concern.
What this means for adoption
What this means for adoption: tools that produce frequent security issues should not be rolled out broadly without remediation and review.
ConditionValueRank
antigravity 1.475 3
claude_code 42.047 4
cursor_agent 43.670 5
human_control 0.000 1
replit_agent 0.000 1
Provenance metadata
{
  "conditions": [
    "human_control",
    "claude_code",
    "cursor_agent",
    "replit_agent",
    "antigravity"
  ],
  "kind": "main_study",
  "note": "main_001 AI matrix (4 conditions x 3 specs x 10 reps) plus the human_control baseline (1 rep per spec). Dashboard shows per-(metric,condition) MEANS across specs/reps. Human is a single-rep reference point (see docs/PROTOCOL_DEVIATIONS.md, Deviation 003).",
  "spec_files": [
    "specs/agent_education_system.yaml",
    "specs/data_pipeline.yaml",
    "specs/internal_tool_cli.yaml"
  ]
}