Skip to main content

B Results Appendix

B.1 Economic Cost Breakdowns​

Table B.1 gives the per-order detail behind the Economic results of Section 5.1: the cost difference by realised session order, with each order group’s own summaries and interval.

Paired cost differences by realised session order, APM minus Spec-kit, in US dollars, at 95.3% coverage for the n = 7 row and 93.8% for n = 5.
OrdernSign (+/−)MedianHLMeanCI
APM first74 / 3+0.80+2.74+5.72[−2.72, +19.49]
APM second55 / 0+10.79+8.97+9.12[+0.04, +16.81]

B.2 Process Breakdowns​

Table B.2 gives the model-specific paired time differences behind the Process results of Section 5.2, at session and phase scope. At session scope, APM was longer in all six pairs under each model, with a wider duration gap under Opus. Its turn-time and inter-turn-time components were higher in at least five of the six pairs in each group. At phase scope, the implementation phase was longer under APM in all six pairs of each model, with close median differences. For implementation duration, the Sonnet group had the higher Hodges-Lehmann estimate and mean. Planning remained mixed in sign under both models.

Paired time differences within each model group, by scope, APM minus Spec-kit, in seconds.
GroupScopeMeasurenSign (+/−)MedianHLMeanCI
OpusSessionDuration66 / 0+2436.4+2436.4+2603.4[+664.1, +5596.1]
Turn time66 / 0+2206.9+2139.4+2076.9[+519.7, +3415.5]
Inter-turn idle65 / 1+674.4+667.1+526.5[−1475.3, +2180.6]
PlanningDuration63 / 3−46.2−46.2+205.5[−885.5, +2347.0]
Turn time64 / 2+108.6+139.3+168.5[−1185.8, +1497.0]
Inter-turn idle63 / 3+147.7+132.4+37.0[−1188.3, +849.9]
ImplementationDuration66 / 0+1820.6+1862.6+2259.3[+331.7, +5752.0]
Turn time66 / 0+1498.6+1612.5+1873.5[+782.2, +3566.5]
Inter-turn idle64 / 2+247.9+247.9+385.8[−450.4, +2185.5]
SonnetSessionDuration66 / 0+1878.6+2302.2+2310.7[+701.8, +4635.4]
Turn time65 / 1+1199.3+1384.4+1643.8[−1034.8, +3833.9]
Inter-turn idle66 / 0+679.3+679.3+666.9[+5.8, +1736.6]
PlanningDuration62 / 4−366.6−361.4−321.3[−1411.2, +821.2]
Turn time61 / 5−344.1−472.6−452.3[−1354.9, +308.5]
Inter-turn idle64 / 2+98.6+111.2+130.9[−156.0, +512.7]
ImplementationDuration66 / 0+1862.5+2486.9+2592.8[+589.7, +6046.7]
Turn time65 / 1+1450.1+1822.9+2066.9[−858.7, +5188.8]
Inter-turn idle65 / 1+412.4+464.9+526.0[−47.1, +1448.4]

Table B.3 lists the session-duration and turn-prompt differences within each realised session order. Neither order reverses either result; the central differences are comparable across the two groups.

Paired session-duration and turn-prompt differences by realised session order, APM minus Spec-kit. Duration is in seconds; the turn-prompt rows are counts. The n = 7 rows have 95.3% coverage and the n = 5 rows 93.8%.
MeasureOrdernSign (+/−/=)MedianHLMeanCI
DurationAPM first 77 / 0+2124.3+2537.8+2676.2[+1201.5, +4635.4]
APM second 55 / 0+2197.1+2197.1+2150.3[+664.1, +3902.6]
Turn promptsAPM first 76 / 0 / 1+7.0+7.5+7.9[+1.0, +15.0]
APM second 55 / 0 / 0+9.0+10.0+10.4[+4.0, +19.0]

Table B.4 details each APM session’s turn-time composition, including its solo and concurrent spans, behind the concurrency reading in Section 5.2.1.

Turn-time composition of the APM sessions, in seconds, with the concurrent span as a share of the turn time. Descriptive and APM only, since Spec-kit’s single conversation has no concurrent span.
ParticipantSoloConcurrentConcurrent share
P001483400.0%
P0025993160.3%
P003445866112.9%
P0045300581.1%
P005568600.0%
P006620390.1%
P007476581214.6%
P008393458012.8%
P0094476154125.6%
P0106556125916.1%
P011421857712.0%
P01240374299.6%

Table B.5 details the turn-prompt difference by scope within each model group. The implementation difference set the session difference under both models and planning stayed level, with the gap clearer under Sonnet, where all six pairs favoured APM at the session and implementation scopes.

Paired turn-prompt count differences by scope within each model group, APM minus Spec-kit.
GroupScopenSign (+/−/=)MedianHLMeanCI
OpusSession65 / 0 / 1+6.5+7.0+8.0[+0.0, +21.0]
Planning63 / 3 / 0+0.0+0.0+0.0[−10.0, +13.0]
Implementation65 / 0 / 1+7.0+7.0+7.7[+0.0, +22.0]
SonnetSession66 / 0 / 0+8.0+8.5+9.8[+7.0, +19.0]
Planning62 / 2 / 2+0.0+0.0−0.3[−3.0, +2.0]
Implementation66 / 0 / 0+9.5+9.5+10.0[+5.0, +17.0]

Table B.6 gives the turn-prompt bucket shares within each model group, each bucket by its median, Hodges-Lehmann estimate, and mean.

Turn-prompt bucket shares within each model group, by phase and framework, each bucket by its median, Hodges-Lehmann estimate, and mean.
GroupPhaseFrameworkBucketMedianHLMean
OpusPlanningAPMProtocol0.130.220.25
Short0.530.530.46
Standard0.310.300.29
Spec-kitProtocol0.400.400.42
Short0.470.460.45
Standard0.070.080.13
ImplementationAPMProtocol0.740.740.76
Short0.100.120.12
Standard0.060.120.12
Spec-kitProtocol0.200.250.27
Short0.320.330.38
Standard0.240.300.35
SonnetPlanningAPMProtocol0.100.100.10
Short0.480.480.48
Standard0.420.420.42
Spec-kitProtocol0.640.640.66
Short0.240.240.24
Standard0.100.100.11
ImplementationAPMProtocol0.700.680.66
Short0.150.150.17
Standard0.100.110.17
Spec-kitProtocol0.380.380.38
Short0.120.250.29
Standard0.000.120.17
  1. The three buckets are summarised independently, so their summaries need not sum to one; see note [a] of Table 5.10.

Table B.7 lists the corresponding turn-prompt character counts within each model group.

Turn-prompt bucket character counts within each model group, by phase and framework, each bucket by its median, Hodges-Lehmann estimate, and mean.
GroupPhaseFrameworkBucketMedianHLMean
OpusPlanningAPMProtocol150144144
Short202121
Standard85139136
Spec-kitProtocol104104110
Short201415
Standard818181
ImplementationAPMProtocol117121122
Short262323
Standard889395
Spec-kitProtocol100100100
Short292929
Standard747471
SonnetPlanningAPMProtocol150150150
Short191817
Standard167167155
Spec-kitProtocol113115117
Short252525
Standard828888
ImplementationAPMProtocol130129128
Short151718
Standarda69134237
Spec-kitProtocol100101144
Short383837
Standard117117117
  1. P002’s high APM implementation standard-prompt character count is explained in note [b] of Table 5.10.

Table B.8 details the turn-prompt bucket shares and character counts for each APM agent role, pooled over the role’s agents across the sessions.

Per-role turn-prompt bucket shares and character counts across the twelve APM sessions, pooled over each role’s agents. Descriptive and APM only, since Spec-kit has no agent roles to separate.
RoleBucketBucket share MedianBucket share HLBucket share MeanMagnitude (chars) MedianMagnitude (chars) HLMagnitude (chars) Mean
PlannerProtocol0.110.120.18150150147
Short0.500.500.47202019
Standard0.380.370.35156139146
ManagerProtocol0.590.580.56130127125
Short0.160.170.18212122
Standard0.150.190.18798899
WorkerProtocol0.920.850.81128128128
Short0.000.080.10292223
Standarda0.000.000.0896326403
  1. P002’s high standard-prompt character count is explained in note [b] of Table 5.10.
  2. The three buckets are summarised independently, so their summaries need not sum to one; see note [a] of Table 5.10.

Table B.9 gives each session’s steers, separating those delivered to the working agent from those that were not.

Steers per participant and framework, at session scope.
ParticipantAPM DeliveredAPM Not deliveredSpec-kit DeliveredSpec-kit Not delivered
P0010000
P0020002
P0030201
P0040000
P0050000
P0061001
P0070100
P0080000
P0090100
P0100100
P0112200
P0120302
Cohort31006

B.3 Functional Breakdowns​

Table B.10 gives every session’s strict and partial score parts, total score, and Python and C section totals, behind the Functional results of Section 5.3.

Per-session scores, in points. The total is the strict part plus the partial part, and the Python and C section totals sum to it.
ParticipantFrameworkStrictPartialTotalPythonC
P001APM91.03.494.428.765.7
Spec-kit71.00.071.020.051.0
P002APM93.00.093.028.065.0
Spec-kit40.00.040.010.030.0
P003APM34.00.034.030.04.0
Spec-kit34.00.034.030.04.0
P004APM95.00.095.028.067.0
Spec-kit97.00.097.030.067.0
P005APM100.00.0100.030.070.0
Spec-kit100.00.0100.030.070.0
P006APM88.03.091.027.563.5
Spec-kit97.00.097.029.068.0
P007APM98.00.098.029.069.0
Spec-kit96.00.096.029.067.0
P008APM99.00.099.030.069.0
Spec-kit98.00.098.030.068.0
P009APM100.00.0100.030.070.0
Spec-kit100.00.0100.030.070.0
P010APM34.00.034.030.04.0
Spec-kit28.01.629.616.013.6
P011APM99.00.099.030.069.0
Spec-kit99.00.099.030.069.0
P012APM96.00.596.530.066.5
Spec-kit78.06.284.226.158.1

Table B.11 gives the total-score difference by realised session order.

Paired total-score difference by realised session order, APM minus Spec-kit, in points, at 95.3% coverage for the n = 7 row and 93.8% for n = 5.
OrdernSign (+/−/=)MedianHLMeanCI
APM first73 / 1 / 3+0.0+1.5+4.5[−3.0, +12.7]
APM second53 / 1 / 1+1.0+2.2+11.3[−2.0, +53.0]

B.4 Perception Breakdowns​

Table B.12 gives responses to the comparison question of Section 5.4, grouped by the framework used in the second session.

Responses to the comparison question, by the framework used in the second session. Each row is the participants whose second framework was the named one, and the counts are how that session felt against their first.
Second frameworkMuch harderHarderAbout the sameEasierMuch easier
APMa02111
Spec-kit22101
  1. P012 is excluded from this row; their comparative response is tied to the session they labelled second, which does not match the session they actually completed second, so it cannot be assigned to either framework’s realised-order group. Their other perception ratings are reported per session and retain their classification.

Table B.13 gives each framework’s sessions across the four completion states the questionnaire offered.

Self-reported completion state against the three-hour cap, by framework.
FrameworkComfortably withinNear the capHit the capStopped early
APM9300
Spec-kit10200