### Tariff version 6: a job priced per endpoint, a third party's usage billed, and an upscale and a tone mapping billed by what re-derives them

- **Tariff and invoice version 6** ([extensions/receipt-ledger.md](extensions/receipt-ledger.md) §4.9). A job price names
  an `endpoint`, or none for every endpoint, since two providers of one capability have different list prices; a price
  of any endpoint beside a price of one is refused, since it would bill a job at both.
- **A third party's usage.** A new job unit, `usage`, in a unit the price names. A job source may give `third_party`,
  the hop records of [route-record](extensions/route-record.md) §6.2, and a job is billed what its billed hop's record
  states the provider bills. A failed hop's billed usage and a record's `charge` reach no line; the line cites the
  record, which states both. Records are kind 17.
- **An upscale and a tone mapping** are jobs of their own forms, `media.upscale` and `media.tonemap`, billed in `subpixels`.
  An upscale's record is proved by exact-upscale §7 from its input and its prior, and a tone mapping's by exact-tonemap
  §8 from its envelope, and what the hop delivered is held to what they prove. Their records are kinds 18 and 19, and a
  later invoice may cite them again, as an output receipt is.
- A tariff of versions 1 to 5, its invoices and its sources read, verify and bill as before. The corpus grows from 120
  to 169 vectors.

- **Breaking:** `api:rust:wai::receipt_ledger::JobPrice::endpoint` and `api:rust:wai::receipt_ledger::JobPrice::usage`: new
  members of a public struct.
- **Breaking:** `api:rust:wai::receipt_ledger::JobFacts::endpoint`, `api:rust:wai::receipt_ledger::JobFacts::usage`,
  `api:rust:wai::receipt_ledger::JobFacts::third_party`, `api:rust:wai::receipt_ledger::JobFacts::upscales` and
  `api:rust:wai::receipt_ledger::JobFacts::renditions`: new members of a public struct.
- **Breaking:** `api:rust:wai::receipt_ledger::JOB_UNITS`: holds a fourth name, an array of 4.
- **Breaking:** `record:corpus:wai/live-conformance/ledger/vectors.json`: the control `invoice_version` gives an
  invoice of version 7, since version 6 is now defined, and is refused `unknown_version` as before; every other vector
  keeps its outcome, and the new vectors are added.

