# Measure useful output and full cost

Practices: full-cost-accounting, price-token-categories, matched-comparison, scoped-findings.

Choose one cohort and observation period. Define acceptance and an independent deliverable before counting. Store PRs, tasks and deliverables as separate identifiers; a task can split into multiple PRs.

Record all attempts, stops, reviews, repairs and shared coordination. For every model use the actual identity, fresh input, output, cache reads and cache-write TTL. Retain modifiers and pricing date. Deduplicate streamed usage by message ID using the maximum available counter per category. Do not add cached input twice.

Cash cost includes actual charges and explicitly attributed subscription/tools/infrastructure. API-equivalent value is the selected token mix priced under a dated schedule. Quota consumption is a meter observation. Never rename one of these as another.

Record active human minutes across preparation, questions, review, debugging and integration. Concurrent tasks must not double-count the same human interval. Agent execution hours and wall time are separate fields.

Calculate accepted work/human hour only when its denominator is measured. Compare unit costs and rates only with compatible work mix, acceptance, price basis and scope. A zero or absent baseline supports an absolute result, not a multiplier.

Report repair burden and attributable defects over a fixed follow-up window. Show immature cohorts separately. Use [the worksheet](https://hamedtaheri.com/playbook/v0.2.0/templates/run-ledger.csv) and [local tools](https://hamedtaheri.com/playbook/v0.2.0/tools/README.md); their calculations do not make an unsupported causal claim valid.

## Cost per accepted task

Read [the metric definitions and benchmark bridge](https://hamedtaheri.com/playbook/v0.2.0/reference/cost-per-task.md).

Before execution, define task boundaries, parent/child relationships, work class, acceptance checks and retry limits. Pick one counting level. Join task IDs to run IDs, PRs and verification evidence. Deduplicate acceptance by task ID; never count accepted ledger rows as tasks. Retain all failed, stopped and repair attempts in the numerator.

Report cost per attempt separately from all-cohort cost per distinct accepted task. With repeated trials, distinguish successful trials from distinct solved tasks. Divide by the actual outcome count, not the accounting-row count. An unknown denominator stays unknown; zero successes give an undefined unit cost. Disclose missing costs and exclusions rather than silently treating them as zero.

For shared coordinator cost, keep a cohort total and disclose any per-task allocation rule. For subscription cash, record paid period, seat count, outside-cohort work and allocation basis. Human minutes and labor rates need their own evidence. Never multiply the detailed cohort's unit cost by a broader account-wide PR count.

For comparisons, hold starting state, task specification, acceptance tests, retry policy and price basis constant. Report work classes, acceptance rate, first-attempt success, repair/revert burden and human minutes. Use a public benchmark's tasks and grading protocol before claiming a benchmark cost advantage.

## Current results and the 20× target

Read [the metric availability audit](https://hamedtaheri.com/playbook/v0.2.0/reference/delivery-metrics.html) and [aggregates](https://hamedtaheri.com/playbook/v0.2.0/evidence/delivery-metrics.json). The observation window is October 1–19, 2026, Vancouver. Current counts are 275 merged task units and 185 parent tasks with all recorded parts merged. The 770 weekly merged PRs include 462 internal task-branch merges; the approximately 188× comparison to DX is raw PR volume only.

Keep review/test flags distinct from confirmed defects. First logged activity to merge includes waiting and is not human work time or production lead time. Absence of a recorded repair worker is not first-pass acceptance or zero intervention. Existing dated unattended-run accounts are not a measured developer-away completion rate. Preserve unknown acceptance, human-time and memory-causal metrics as null.

Explain 20× as comparable accepted parent tasks per developer-week against an explicit baseline, with all participating human effort, work mix, quality and full cost recorded. Do not derive it by discounting a larger PR ratio. Prepare any additional instrumentation as a proposal for the human; do not change operational records or start paid runs without authorization.

## Explain the result before the diagnostics

Lead with three questions: what work got through, what evidence makes it trustworthy, and what it cost. Keep requested outcomes, implementation units, PRs and human-effort denominators distinct. The current 275 merged units include 213 classified as reviewed with passing tests (146 deep, 67 standard); the other 62 have different evidence categories, including 14 audit flags. Do not call the full cohort fully tested or accepted.

For each requested outcome, link definition, implementation revision, behavioral verification, resolved review findings, integration checks and independent acceptance. Report the last evidenced step. For bugs, retain reproduction and regression evidence; for feature slices, demonstrate the acceptance criteria. Classify work size and category before execution; never infer equivalent human hours from lines changed. Team memory connects the records, while tests and acceptance establish the result.
