Kalah TDD study · Part 28 of 29 · Data

Supporting data: ratings

List reliability and rating agreement for each run.

Source runs tcp-1-list, full-1, rep-1, rep-2 and tcp-1-list2 at tdd-experiment c3dd988

Contents

How far a second lister agreed on the test list of run tcp-1-list, and how far the three blind raters agreed in runs full-1, rep-1 and rep-2.

List reliability

A second lister in run tcp-1-list2 rated the clauses and candidate tests of the list of run tcp-1-list blind. Risk agreement is a linearly weighted kappa, usage agreement a Spearman rho with a seeded bootstrap 95% interval, and checks agreement the mean Jaccard overlap of the clauses each candidate test checks. Tag: recomputed.

RatingStatisticValue95% intervaln
RiskLinearly weighted kappa0.53-19 clauses
UsageSpearman rho0.960.88 to 1.0019 clauses
ChecksMean Jaccard0.71-12 candidate tests

Rating agreement (full-1)

Three blind raters scored each item from 1 to 5 on each cqp.html principle. Alpha is Krippendorff's ordinal alpha over the three rater slots, with a seeded bootstrap 95% interval in brackets. A resample whose values do not vary has no alpha and is skipped, so above 20% of the draws skipped an interval leans on the few varying items and is not estimable. An alpha's q is then not estimable too. q is the share of bootstrap alphas below 0.8 and below 0.7. The finals alpha sets each status: accepted at 0.8 or more, tentative at 0.7 or more and unchecked below. Only accepted and tentative principles join the headline. The finals set holds the 11 final clones. The all set holds every rated item of the published rounds, 20 in all. LOC and PMD rho are Spearman correlations of the finals medians with lines of code and with distinct PMD violations, with Holm-adjusted q. Tag: recomputed.

PrincipleFinals alpha [95% CI]Finals q 0.8, 0.7Status
Clear Presentation0.62 [0.23, 0.85]0.94, 0.80unchecked
Explanatory Language0.41 [-0.19, 0.88]0.93, 0.86unchecked
Consistent Codenot measurednot measured, not measuredunchecked
Used Content0.58 [-0.10, 0.91]0.89, 0.73unchecked
Simple Constructs1.00 [not estimable, 34.7% of resamples skipped]not estimable, not estimableaccepted
Minimal Duplication0.88 [-0.03, 1.00]0.35, 0.17accepted
Modular Structure0.85 [0.51, 1.00]0.36, 0.14accepted
Problem Alignment0.75 [0.29, 1.00]0.66, 0.39tentative
PrincipleAll alpha [95% CI]LOC rho (q)PMD rho (q)
Clear Presentation0.71 [0.41, 0.87]0.32 (q 1.00)-0.72 (q 0.18)
Explanatory Language0.75 [0.41, 0.94]0.50 (q 1.00)-0.51 (q 0.94)
Consistent Code0.63 [0.19, 0.89]not measurednot measured
Used Content0.92 [0.75, 0.99]-0.75 (q 0.14)0.77 (q 0.14)
Simple Constructs0.75 [-0.04, 1.00]0.50 (q 1.00)-0.51 (q 0.94)
Minimal Duplication0.91 [0.00, 1.00]0.07 (q 1.00)-0.34 (q 1.00)
Modular Structure0.88 [0.65, 1.00]0.35 (q 1.00)0.09 (q 1.00)
Problem Alignment0.80 [0.55, 0.95]0.72 (q 0.26)-0.45 (q 1.00)

Rating cost sums costs.py over each round's Workflow transcripts, so the table gives the full cost of the rating. A calibration round's role comes from its committed verdict.json. A failed calibration round adds only its cost. Its ratings join no alpha and no median. Wall time runs from the first to the last timestamp over a round's workflows. Weighted tokens count input 1, cache creation 1.25, cache read 0.05 and output 5 per token. These are claude-opus-5-5 prices relative to an input token and state no dollar cost. Tag: recomputed.

RoundRoleAgent callsWeighted tokens
round-acalibration (failed)303922621
round-bcalibration (passed)304448124
study-astudy374379777
RoundWall timeAgent time
round-a0:03:290:35:06
round-b0:03:330:33:05
study-a0:03:320:29:40

Rating agreement (rep-1)

Three blind raters scored each item from 1 to 5 on each cqp.html principle. Alpha is Krippendorff's ordinal alpha over the three rater slots, with a seeded bootstrap 95% interval in brackets. A resample whose values do not vary has no alpha and is skipped, so above 20% of the draws skipped an interval leans on the few varying items and is not estimable. An alpha's q is then not estimable too. q is the share of bootstrap alphas below 0.8 and below 0.7. The finals alpha sets each status: accepted at 0.8 or more, tentative at 0.7 or more and unchecked below. Only accepted and tentative principles join the headline. The finals set holds the 20 final clones. The all set holds every rated item of the published rounds, 30 in all. LOC and PMD rho are Spearman correlations of the finals medians with lines of code and with distinct PMD violations, with Holm-adjusted q. Tag: recomputed.

PrincipleFinals alpha [95% CI]Finals q 0.8, 0.7Status
Clear Presentation0.80 [0.54, 0.96]0.48, 0.18accepted
Explanatory Language0.63 [0.14, 0.92]0.87, 0.66unchecked
Consistent Code0.40 [-0.02, 0.49]1.00, 1.00unchecked
Used Content0.80 [0.54, 0.98]0.59, 0.21tentative
Simple Constructs0.67 [-0.02, 1.00]0.75, 0.58unchecked
Minimal Duplication0.44 [0.01, 0.74]0.99, 0.96unchecked
Modular Structure0.78 [0.48, 0.95]0.62, 0.28tentative
Problem Alignment0.84 [0.53, 1.00]0.38, 0.16accepted
PrincipleAll alpha [95% CI]LOC rho (q)PMD rho (q)
Clear Presentation0.81 [0.59, 0.94]0.51 (q 0.28)-0.63 (q 0.07)
Explanatory Language0.77 [0.53, 0.95]0.59 (q 0.11)-0.66 (q 0.07)
Consistent Code0.57 [0.25, 0.80]-0.06 (q 1.00)-0.23 (q 1.00)
Used Content0.93 [0.83, 0.99]-0.23 (q 1.00)0.21 (q 1.00)
Simple Constructs0.68 [0.16, 0.91]0.36 (q 1.00)-0.43 (q 0.76)
Minimal Duplication0.57 [0.13, 0.83]0.18 (q 1.00)-0.11 (q 1.00)
Modular Structure0.82 [0.55, 0.96]0.20 (q 1.00)-0.27 (q 1.00)
Problem Alignment0.85 [0.67, 0.97]0.47 (q 0.43)-0.54 (q 0.13)

Rating cost sums costs.py over each round's Workflow transcripts, so the table gives the full cost of the rating. A calibration round's role comes from its committed verdict.json. A failed calibration round adds only its cost. Its ratings join no alpha and no median. Wall time runs from the first to the last timestamp over a round's workflows. Weighted tokens count input 1, cache creation 1.25, cache read 0.05 and output 5 per token. These are claude-opus-5-5 prices relative to an input token and state no dollar cost. Tag: recomputed.

RoundRoleAgent callsWeighted tokens
round-bcalibration (passed)304448124
study-bstudy607718057
RoundWall timeAgent time
round-b0:03:330:33:05
study-b0:03:190:57:57

Rating agreement (rep-2)

Three blind raters scored each item from 1 to 5 on each cqp.html principle. Alpha is Krippendorff's ordinal alpha over the three rater slots, with a seeded bootstrap 95% interval in brackets. A resample whose values do not vary has no alpha and is skipped, so above 20% of the draws skipped an interval leans on the few varying items and is not estimable. An alpha's q is then not estimable too. q is the share of bootstrap alphas below 0.8 and below 0.7. The finals alpha sets each status: accepted at 0.8 or more, tentative at 0.7 or more and unchecked below. Only accepted and tentative principles join the headline. The finals set holds the 20 final clones. The all set holds every rated item of the published rounds, 30 in all. LOC and PMD rho are Spearman correlations of the finals medians with lines of code and with distinct PMD violations, with Holm-adjusted q. Tag: recomputed.

PrincipleFinals alpha [95% CI]Finals q 0.8, 0.7Status
Clear Presentation0.45 [0.08, 0.74]0.99, 0.96unchecked
Explanatory Language0.45 [-0.09, 1.00]0.92, 0.80unchecked
Consistent Code0.67 [-0.02, 1.00]0.73, 0.56unchecked
Used Content0.52 [0.08, 0.83]0.96, 0.87unchecked
Simple Constructs0.52 [-0.04, 1.00]0.92, 0.80unchecked
Minimal Duplication0.80 [0.31, 1.00]0.54, 0.28tentative
Modular Structure0.70 [0.32, 0.89]0.79, 0.51tentative
Problem Alignment0.72 [0.21, 0.99]0.74, 0.47tentative
PrincipleAll alpha [95% CI]LOC rho (q)PMD rho (q)
Clear Presentation0.63 [0.34, 0.82]0.12 (q 1.00)-0.76 (q 0.00)
Explanatory Language0.78 [0.45, 0.95]0.30 (q 1.00)0.14 (q 1.00)
Consistent Code0.64 [0.29, 0.86]0.29 (q 1.00)0.29 (q 1.00)
Used Content0.89 [0.74, 0.98]-0.33 (q 1.00)-0.20 (q 1.00)
Simple Constructs0.61 [0.08, 0.87]0.49 (q 0.30)0.03 (q 1.00)
Minimal Duplication0.85 [0.53, 1.00]-0.29 (q 1.00)0.11 (q 1.00)
Modular Structure0.75 [0.45, 0.91]0.49 (q 0.37)0.25 (q 1.00)
Problem Alignment0.80 [0.60, 0.95]0.67 (q 0.01)-0.01 (q 1.00)

Rating cost sums costs.py over each round's Workflow transcripts, so the table gives the full cost of the rating. A calibration round's role comes from its committed verdict.json. A failed calibration round adds only its cost. Its ratings join no alpha and no median. Wall time runs from the first to the last timestamp over a round's workflows. Weighted tokens count input 1, cache creation 1.25, cache read 0.05 and output 5 per token. These are claude-opus-5-5 prices relative to an input token and state no dollar cost. Tag: recomputed.

RoundRoleAgent callsWeighted tokens
round-bcalibration (passed)304448124
study-cstudy608525853
study-dstudy151687413
RoundWall timeAgent time
round-b0:03:330:33:05
study-c0:14:490:50:25
study-d0:01:430:13:34