---
id: w8/m2/t005
title: Docs — docs/ADR023-usage-metering.md + CLAUDE.md index + parity-ledger row
worker: worker8
status: todo
estimate: 30m
depends_on: [w8/m2/t002, w8/m2/t003, w8/m2/t004]
---

## Objective

Document the metering slice as a first-class topic: `docs/ADR023-usage-metering.md` (what's metered and why those three kinds, the pipeline, the API surface, env knobs, the quantities-not-dollars stance with the FUTURE-MAYBE pricing pointer), indexed in CLAUDE.md, with the usage surface recorded in `docs/ADR018-render-parity.md`'s bex-extras section.

## Context

- One file per topic in `docs/`, indexed in CLAUDE.md's docs index (repo convention).
- The parity ledger's "bex extras" precedent is the API-key-management entry — add usage the same way, citing that Render's public API has no billing endpoints and its dashboard Billing page is the UI reference (sources verified 2026-07-09: render.com/pricing, docs/build-pipeline, docs/outbound-bandwidth).
- Mention prod dependency: metering activates with `BEX_CP_DB_URI` (w1/m2/t007) + `BEX_PROM_URL`.

## Steps

1. Write `docs/ADR023-usage-metering.md`; cross-link ADR003-control-plane.md, ADR010-observability.md, w6 plans.
2. Add the CLAUDE.md docs-index line (+ env-table rows if t003/m1 introduced any).
3. Add the ADR018-render-parity.md bex-extras entry.
4. `npx prettier@3.4.2 --write "**/*.md"`.

## Files

- `docs/ADR023-usage-metering.md`, `CLAUDE.md`, `docs/ADR018-render-parity.md`

## Acceptance criteria

- [ ] Doc exists, indexed, prettier-clean; parity ledger names usage as a declared extension with evidence links.

## Out of scope

- Dashboard docs (m3 captures its own reference).
