{
  "schema_version": 1,
  "generated": "2026-09-18",
  "title": "Codex Usage Controlled Measurements",
  "source": "https://www.codexusage.dev/research",
  "csv": "https://www.codexusage.dev/research/codex-usage-measurements.csv",
  "row_count": 12,
  "notes": [
    "Codex Usage's own observed measurements on one ChatGPT Plus account; not OpenAI documentation. No OpenAI quota formula is derived or implied.",
    "One run per condition. There are no repetitions, error bars or significance tests, and no figure here is a per-model, per-effort or per-tier multiplier.",
    "The usage meter is displayed in whole percentage points. 0pp means movement below the display increment, not zero usage.",
    "Token counts are client-reported turn telemetry, not billing records, and did not track meter movement across models or tiers.",
    "Rows from comparison 'paired-astra-sol' came from a separate, independently built harness with its own settling policy and should not be pooled with the other rows.",
    "Task 2 (nextjs-feature-add) is graded by a Playwright grader with heuristic text matching; its 21/24 vs 22/24 gap is not treated as a quality difference.",
    "Where a comparison reuses a baseline run, that run appears once; comparison_ids lists every comparison it serves.",
    "The serving-tier comparison uses a Standard baseline captured earlier in the same 5-hour window rather than a rerun immediately before the Fast run.",
    "Empty or null fields were not recorded for that run or are not published."
  ],
  "comparisons": [
    {
      "id": "paired-astra-sol",
      "variable": "model_choice",
      "name": "Earlier paired Astra vs Sol study",
      "url": "https://www.codexusage.dev/research#earlier-paired-study"
    },
    {
      "id": "model-choice-task-1",
      "variable": "model_choice",
      "name": "Luna, Sol and Astra on Task 1",
      "url": "https://www.codexusage.dev/research#model-choice"
    },
    {
      "id": "model-choice-task-2",
      "variable": "model_choice",
      "name": "Luna, Sol and Astra on Task 2",
      "url": "https://www.codexusage.dev/research#model-choice"
    },
    {
      "id": "reasoning-effort",
      "variable": "reasoning_effort",
      "name": "Sol Low vs Medium reasoning",
      "url": "https://www.codexusage.dev/research#reasoning-effort"
    },
    {
      "id": "serving-tier",
      "variable": "serving_tier",
      "name": "Sol Standard vs Fast",
      "url": "https://www.codexusage.dev/research#serving-tier"
    }
  ],
  "measurements": [
    {
      "measurement_id": "paired-task-a-sol",
      "comparison_ids": "paired-astra-sol",
      "variable": "model_choice",
      "run_date_utc": "2026-09-13",
      "plan": "plus",
      "model": "gpt-5.6-sol",
      "reasoning_effort": "medium",
      "service_tier": "default",
      "task_id": "quota-implementation",
      "grader": "deterministic_tests",
      "tests_passed": 28,
      "tests_total": 28,
      "runtime_ms": 78812,
      "five_hour_used_percent_pre": 0,
      "five_hour_used_percent_post": 2,
      "five_hour_movement_pp": 2,
      "weekly_used_percent_pre": 8,
      "weekly_used_percent_post": 8,
      "weekly_movement_pp": 0,
      "input_tokens": 186140,
      "cached_input_tokens": 158336,
      "cache_write_input_tokens": 0,
      "output_tokens": 3114,
      "reasoning_output_tokens": 696,
      "snapshot_method": "polled_settle",
      "harness": "earlier_independent_harness",
      "codex_cli_version": "0.154.0",
      "codex_usage_version": "0.5.0",
      "prompt_sha256": null,
      "fixture_sha256": null,
      "notes": "Task A, ran first of four"
    },
    {
      "measurement_id": "paired-task-a-astra",
      "comparison_ids": "paired-astra-sol",
      "variable": "model_choice",
      "run_date_utc": "2026-09-13",
      "plan": "plus",
      "model": "gpt-6-astra",
      "reasoning_effort": "medium",
      "service_tier": "default",
      "task_id": "quota-implementation",
      "grader": "deterministic_tests",
      "tests_passed": 28,
      "tests_total": 28,
      "runtime_ms": 44915,
      "five_hour_used_percent_pre": 2,
      "five_hour_used_percent_post": 4,
      "five_hour_movement_pp": 2,
      "weekly_used_percent_pre": 8,
      "weekly_used_percent_post": 8,
      "weekly_movement_pp": 0,
      "input_tokens": 75450,
      "cached_input_tokens": 64256,
      "cache_write_input_tokens": 0,
      "output_tokens": 1181,
      "reasoning_output_tokens": 0,
      "snapshot_method": "polled_settle",
      "harness": "earlier_independent_harness",
      "codex_cli_version": "0.154.0",
      "codex_usage_version": "0.5.0",
      "prompt_sha256": null,
      "fixture_sha256": null,
      "notes": "Task A, ran second of four"
    },
    {
      "measurement_id": "paired-task-b-astra",
      "comparison_ids": "paired-astra-sol",
      "variable": "model_choice",
      "run_date_utc": "2026-09-13",
      "plan": "plus",
      "model": "gpt-6-astra",
      "reasoning_effort": "medium",
      "service_tier": "default",
      "task_id": "quota-debugging",
      "grader": "deterministic_tests",
      "tests_passed": 29,
      "tests_total": 29,
      "runtime_ms": 26382,
      "five_hour_used_percent_pre": 4,
      "five_hour_used_percent_post": 6,
      "five_hour_movement_pp": 2,
      "weekly_used_percent_pre": 8,
      "weekly_used_percent_post": 8,
      "weekly_movement_pp": 0,
      "input_tokens": 73057,
      "cached_input_tokens": 63488,
      "cache_write_input_tokens": 0,
      "output_tokens": 503,
      "reasoning_output_tokens": 0,
      "snapshot_method": "polled_settle",
      "harness": "earlier_independent_harness",
      "codex_cli_version": "0.154.0",
      "codex_usage_version": "0.5.0",
      "prompt_sha256": null,
      "fixture_sha256": null,
      "notes": "Task B, ran third of four; model order reversed from Task A"
    },
    {
      "measurement_id": "paired-task-b-sol",
      "comparison_ids": "paired-astra-sol",
      "variable": "model_choice",
      "run_date_utc": "2026-09-13",
      "plan": "plus",
      "model": "gpt-5.6-sol",
      "reasoning_effort": "medium",
      "service_tier": "default",
      "task_id": "quota-debugging",
      "grader": "deterministic_tests",
      "tests_passed": 29,
      "tests_total": 29,
      "runtime_ms": 43936,
      "five_hour_used_percent_pre": 6,
      "five_hour_used_percent_post": 7,
      "five_hour_movement_pp": 1,
      "weekly_used_percent_pre": 8,
      "weekly_used_percent_post": 9,
      "weekly_movement_pp": 1,
      "input_tokens": 129729,
      "cached_input_tokens": 114560,
      "cache_write_input_tokens": 0,
      "output_tokens": 1332,
      "reasoning_output_tokens": 129,
      "snapshot_method": "polled_settle",
      "harness": "earlier_independent_harness",
      "codex_cli_version": "0.154.0",
      "codex_usage_version": "0.5.0",
      "prompt_sha256": null,
      "fixture_sha256": null,
      "notes": "Task B, ran fourth of four"
    },
    {
      "measurement_id": "task1-luna-medium",
      "comparison_ids": "model-choice-task-1",
      "variable": "model_choice",
      "run_date_utc": "2026-09-14",
      "plan": "plus",
      "model": "gpt-5.6-luna",
      "reasoning_effort": "medium",
      "service_tier": "default",
      "task_id": "typescript-112-test-implementation",
      "grader": "deterministic_tests",
      "tests_passed": 112,
      "tests_total": 112,
      "runtime_ms": 118196,
      "five_hour_used_percent_pre": 8,
      "five_hour_used_percent_post": 8,
      "five_hour_movement_pp": 0,
      "weekly_used_percent_pre": 10,
      "weekly_used_percent_post": 10,
      "weekly_movement_pp": 0,
      "input_tokens": 225174,
      "cached_input_tokens": 176896,
      "cache_write_input_tokens": 0,
      "output_tokens": 4635,
      "reasoning_output_tokens": 857,
      "snapshot_method": "immediate",
      "harness": "ai_build_lab",
      "codex_cli_version": "0.154.0",
      "codex_usage_version": "0.5.0",
      "prompt_sha256": "704e8782227e1392d08da05f997e3332f0d576833378e78acf7e2cf166a39503",
      "fixture_sha256": "81ab75e98da5f8fd55f9a0ce0badf35205af4114dec20b20b9bff2658d54c8d0",
      "notes": "0pp means below the meter's 1pp display resolution, not zero usage"
    },
    {
      "measurement_id": "task1-sol-medium",
      "comparison_ids": "model-choice-task-1;reasoning-effort;serving-tier",
      "variable": "model_choice",
      "run_date_utc": "2026-09-14",
      "plan": "plus",
      "model": "gpt-5.6-sol",
      "reasoning_effort": "medium",
      "service_tier": "default",
      "task_id": "typescript-112-test-implementation",
      "grader": "deterministic_tests",
      "tests_passed": 112,
      "tests_total": 112,
      "runtime_ms": 92018,
      "five_hour_used_percent_pre": 0,
      "five_hour_used_percent_post": 2,
      "five_hour_movement_pp": 2,
      "weekly_used_percent_pre": 9,
      "weekly_used_percent_post": 9,
      "weekly_movement_pp": 0,
      "input_tokens": 171739,
      "cached_input_tokens": 145280,
      "cache_write_input_tokens": 0,
      "output_tokens": 4118,
      "reasoning_output_tokens": 394,
      "snapshot_method": "immediate",
      "harness": "ai_build_lab",
      "codex_cli_version": "0.154.0",
      "codex_usage_version": "0.5.0",
      "prompt_sha256": "704e8782227e1392d08da05f997e3332f0d576833378e78acf7e2cf166a39503",
      "fixture_sha256": "81ab75e98da5f8fd55f9a0ce0badf35205af4114dec20b20b9bff2658d54c8d0",
      "notes": "Single run; also the Medium baseline for reasoning-effort and the Standard baseline for serving-tier"
    },
    {
      "measurement_id": "task1-astra-medium",
      "comparison_ids": "model-choice-task-1",
      "variable": "model_choice",
      "run_date_utc": "2026-09-14",
      "plan": "plus",
      "model": "gpt-6-astra",
      "reasoning_effort": "medium",
      "service_tier": "default",
      "task_id": "typescript-112-test-implementation",
      "grader": "deterministic_tests",
      "tests_passed": 112,
      "tests_total": 112,
      "runtime_ms": 109675,
      "five_hour_used_percent_pre": 2,
      "five_hour_used_percent_post": 6,
      "five_hour_movement_pp": 4,
      "weekly_used_percent_pre": 9,
      "weekly_used_percent_post": 9,
      "weekly_movement_pp": 0,
      "input_tokens": 113184,
      "cached_input_tokens": 90624,
      "cache_write_input_tokens": 0,
      "output_tokens": 2715,
      "reasoning_output_tokens": 0,
      "snapshot_method": "immediate",
      "harness": "ai_build_lab",
      "codex_cli_version": "0.154.0",
      "codex_usage_version": "0.5.0",
      "prompt_sha256": "704e8782227e1392d08da05f997e3332f0d576833378e78acf7e2cf166a39503",
      "fixture_sha256": "81ab75e98da5f8fd55f9a0ce0badf35205af4114dec20b20b9bff2658d54c8d0",
      "notes": null
    },
    {
      "measurement_id": "task2-luna-medium",
      "comparison_ids": "model-choice-task-2",
      "variable": "model_choice",
      "run_date_utc": "2026-09-18",
      "plan": "plus",
      "model": "gpt-5.6-luna",
      "reasoning_effort": "medium",
      "service_tier": "default",
      "task_id": "nextjs-feature-add",
      "grader": "playwright_heuristic_checks",
      "tests_passed": 21,
      "tests_total": 24,
      "runtime_ms": 144090,
      "five_hour_used_percent_pre": null,
      "five_hour_used_percent_post": null,
      "five_hour_movement_pp": 0,
      "weekly_used_percent_pre": null,
      "weekly_used_percent_post": null,
      "weekly_movement_pp": 0,
      "input_tokens": 294432,
      "cached_input_tokens": 271616,
      "cache_write_input_tokens": null,
      "output_tokens": 6332,
      "reasoning_output_tokens": 1437,
      "snapshot_method": null,
      "harness": "ai_build_lab",
      "codex_cli_version": null,
      "codex_usage_version": null,
      "prompt_sha256": "94d113ed3967b04f8d69e83da0254e9bb9fc0c2cf173eccba237d73891d5f447",
      "fixture_sha256": "79fff8eeff71f7ee54ba873f667b7df9425dfaa4d1f7615fbc1cb16fc0abbdd3",
      "notes": "Grader uses Playwright with heuristic text matching; a one-check gap is not treated as a quality difference; 0pp means below the meter's 1pp display resolution, not zero usage"
    },
    {
      "measurement_id": "task2-sol-medium",
      "comparison_ids": "model-choice-task-2",
      "variable": "model_choice",
      "run_date_utc": "2026-09-18",
      "plan": "plus",
      "model": "gpt-5.6-sol",
      "reasoning_effort": "medium",
      "service_tier": "default",
      "task_id": "nextjs-feature-add",
      "grader": "playwright_heuristic_checks",
      "tests_passed": 21,
      "tests_total": 24,
      "runtime_ms": 227172,
      "five_hour_used_percent_pre": null,
      "five_hour_used_percent_post": null,
      "five_hour_movement_pp": 3,
      "weekly_used_percent_pre": null,
      "weekly_used_percent_post": null,
      "weekly_movement_pp": 0,
      "input_tokens": 302213,
      "cached_input_tokens": 272000,
      "cache_write_input_tokens": null,
      "output_tokens": 8535,
      "reasoning_output_tokens": 1260,
      "snapshot_method": null,
      "harness": "ai_build_lab",
      "codex_cli_version": null,
      "codex_usage_version": null,
      "prompt_sha256": "94d113ed3967b04f8d69e83da0254e9bb9fc0c2cf173eccba237d73891d5f447",
      "fixture_sha256": "79fff8eeff71f7ee54ba873f667b7df9425dfaa4d1f7615fbc1cb16fc0abbdd3",
      "notes": "Grader uses Playwright with heuristic text matching; a one-check gap is not treated as a quality difference"
    },
    {
      "measurement_id": "task2-astra-medium",
      "comparison_ids": "model-choice-task-2",
      "variable": "model_choice",
      "run_date_utc": "2026-09-18",
      "plan": "plus",
      "model": "gpt-6-astra",
      "reasoning_effort": "medium",
      "service_tier": "default",
      "task_id": "nextjs-feature-add",
      "grader": "playwright_heuristic_checks",
      "tests_passed": 22,
      "tests_total": 24,
      "runtime_ms": 193096,
      "five_hour_used_percent_pre": null,
      "five_hour_used_percent_post": null,
      "five_hour_movement_pp": 6,
      "weekly_used_percent_pre": null,
      "weekly_used_percent_post": null,
      "weekly_movement_pp": 1,
      "input_tokens": 237177,
      "cached_input_tokens": 221952,
      "cache_write_input_tokens": null,
      "output_tokens": 5454,
      "reasoning_output_tokens": 297,
      "snapshot_method": null,
      "harness": "ai_build_lab",
      "codex_cli_version": null,
      "codex_usage_version": null,
      "prompt_sha256": "94d113ed3967b04f8d69e83da0254e9bb9fc0c2cf173eccba237d73891d5f447",
      "fixture_sha256": "79fff8eeff71f7ee54ba873f667b7df9425dfaa4d1f7615fbc1cb16fc0abbdd3",
      "notes": "Grader uses Playwright with heuristic text matching; a one-check gap is not treated as a quality difference; 1pp weekly movement is at the meter's resolution floor"
    },
    {
      "measurement_id": "task1-sol-low",
      "comparison_ids": "reasoning-effort",
      "variable": "reasoning_effort",
      "run_date_utc": "2026-09-14",
      "plan": "plus",
      "model": "gpt-5.6-sol",
      "reasoning_effort": "low",
      "service_tier": "default",
      "task_id": "typescript-112-test-implementation",
      "grader": "deterministic_tests",
      "tests_passed": 112,
      "tests_total": 112,
      "runtime_ms": 77059,
      "five_hour_used_percent_pre": 6,
      "five_hour_used_percent_post": 8,
      "five_hour_movement_pp": 2,
      "weekly_used_percent_pre": 9,
      "weekly_used_percent_post": 10,
      "weekly_movement_pp": 1,
      "input_tokens": 152232,
      "cached_input_tokens": 129920,
      "cache_write_input_tokens": 0,
      "output_tokens": 3613,
      "reasoning_output_tokens": 161,
      "snapshot_method": "immediate",
      "harness": "ai_build_lab",
      "codex_cli_version": "0.154.0",
      "codex_usage_version": "0.5.0",
      "prompt_sha256": "704e8782227e1392d08da05f997e3332f0d576833378e78acf7e2cf166a39503",
      "fixture_sha256": "81ab75e98da5f8fd55f9a0ce0badf35205af4114dec20b20b9bff2658d54c8d0",
      "notes": "Compared with the task1-sol-medium run; 1pp weekly difference is at the meter's resolution floor and is not interpreted"
    },
    {
      "measurement_id": "task1-sol-fast",
      "comparison_ids": "serving-tier",
      "variable": "serving_tier",
      "run_date_utc": "2026-09-14",
      "plan": "plus",
      "model": "gpt-5.6-sol",
      "reasoning_effort": "medium",
      "service_tier": "priority",
      "task_id": "typescript-112-test-implementation",
      "grader": "deterministic_tests",
      "tests_passed": 112,
      "tests_total": 112,
      "runtime_ms": 82635,
      "five_hour_used_percent_pre": 8,
      "five_hour_used_percent_post": 16,
      "five_hour_movement_pp": 8,
      "weekly_used_percent_pre": 10,
      "weekly_used_percent_post": 11,
      "weekly_movement_pp": 1,
      "input_tokens": 155609,
      "cached_input_tokens": 119808,
      "cache_write_input_tokens": 0,
      "output_tokens": 4497,
      "reasoning_output_tokens": 655,
      "snapshot_method": "immediate",
      "harness": "ai_build_lab",
      "codex_cli_version": "0.154.0",
      "codex_usage_version": "0.5.0",
      "prompt_sha256": "704e8782227e1392d08da05f997e3332f0d576833378e78acf7e2cf166a39503",
      "fixture_sha256": "81ab75e98da5f8fd55f9a0ce0badf35205af4114dec20b20b9bff2658d54c8d0",
      "notes": "Fast tier; the Standard baseline (task1-sol-medium) was captured earlier in the same 5-hour window, not rerun immediately before this run"
    }
  ]
}
