Skip to content

Evidence — token cost of one OBPI run, measured 2026-10-03

This is a dated record, not a ruling. It holds the baseline for a trial the operator ruled on 2026-10-03 (verbatim: "yes, run the trial on obpi-10"): run OBPI-0.35.0-10 in a single direct session and compare its cost with the OBPI-0.35.0-08 pipeline run. Re-run the script rather than trusting the figures transcribed here.

Script (session_token_cost.py)

Read-only. It reads Claude Code session transcripts for this repository, which live outside the repository on the machine that ran the session, and sums the usage each API call reported. Run it from the repository root:

Text Only
uv run python docs/governance/obpi-run-cost-2026-10-03-evidence/session_token_cost.py \
    <session-id> --siblings-between <ISO-start> <ISO-end>

It reports three groups: the named session, its in-process subagents, and sibling sessions whose rows all fall inside the window. The sibling rule is a heuristic and is described in the script's docstring.

Baseline — OBPI-0.35.0-08, session 553e5afb-48e8-4cae-be4a-db046a3690ba

Window 2026-10-03T06:55:00+00:00 to 2026-10-03T11:35:00+00:00.

Group Transcripts API calls Cache-read tokens Cache-write tokens Output tokens Peak context
Orchestrator session 1 260 118,627,618 1,676,930 299,116 743,855
In-process subagents 3 145 13,390,717 1,712,721 10,698 232,736
Sibling reviewer sessions 12 152 21,910,398 2,866,542 358,223 269,644

The orchestrator's context was 55,206 tokens at its first call and was never compacted. The session also resumed a handoff and amended the campaign plan before the pipeline was launched, so its figures include that work.

The change the run landed is commit 2f39139d7.

Trial launch prompt

The operator launches the trial in a fresh session, without resuming a handoff in it, by pasting the text below after /goal. The route it names was read from the code and the help text on 2026-10-03 and had not been run when this record was written.

Text Only
Every [behavior] REQ in the OBPI-0.35.0-10-classification-reader-and-ownership brief has a
passing @covers test, and every command in the brief's `verification:` list exits 0.

This is an operator-ruled trial (2026-10-03: "yes, run the trial on obpi-10").
- Do not load the gz-obpi-pipeline skill and do not dispatch subagents.
- Launch with `uv run gz obpi pipeline OBPI-0.35.0-10-classification-reader-and-ownership --no-subagents`,
  then declare it with `uv run gz obpi dispatch OBPI-0.35.0-10-classification-reader-and-ownership --single-driver --reason "operator-ruled single-session trial"`.
  Follow what the CLI prints.
- Edit only paths in the brief's allowlist.
- Anything you find that is not one of the brief's REQs: record it once with
  `uv run gz insights remember` and move on.
- While working, run only the brief's own unit test module. Run the full verification
  list once, at the end.
- Stop and show me the state when the condition holds, or when a `gz` command refuses twice
  for the same reason. Do not run `gz obpi complete` or the `human-review` operation of
  `gz obpi acceptance`; those take my words.

Completion on this route takes two operator rulings: the verbatim judgment recorded by the human-review operation of gz obpi acceptance, and the attestation gz obpi complete records. The ledger then marks the completion degraded-human-only.

What the trial compares

The same three groups for the OBPI-0.35.0-10 session, beside the size of the change it lands. The two OBPIs differ in scope, so the comparison is indicative, not controlled.

Remaining evaluation

The independent trial evaluation, measured 2026-10-04 UTC, records the full-session cost comparison, verification results, requirement review, reproducible defects and limits. The unchanged implementation fails independent review despite passing the listed checks; the lower recorded cost does not establish equivalent quality. No completion or apparatus change was authorized by that result.