Fix the half of the minor that was left describing the old input: the volume members an order carries, the zero a re-pass reports, and what the second pause reason actually proves
This commit is contained in:
parent
c9dfde5ea1
commit
278ffd8722
1 changed files with 45 additions and 12 deletions
|
|
@ -1574,8 +1574,11 @@ components:
|
||||||
Machine reason a run is paused; the client draws the phrase. **TWO values since the
|
Machine reason a run is paused; the client draws the phrase. **TWO values since the
|
||||||
order-form minor (0.11.0), and the distinction is load-bearing because the remedies are
|
order-form minor (0.11.0), and the distinction is load-bearing because the remedies are
|
||||||
OPPOSITE:** `credit_exhausted` — the ACCOUNT has no money, the remedy is to top up;
|
OPPOSITE:** `credit_exhausted` — the ACCOUNT has no money, the remedy is to top up;
|
||||||
`run_limit_reached` — the account is fine and the RUN delivered everything that was ordered,
|
`run_limit_reached` — the account is fine and the RUN spent the order it was
|
||||||
the remedy is to order more. Reading the second as the first sends a paying user to a
|
sold, the remedy is to order more. ⚠ **The mechanism is the run's own ceiling, set flush
|
||||||
|
against its hold — NOT a proof that everything ordered was delivered:** an order whose
|
||||||
|
projection ran low reaches this state before the last chapter, and the honest reading is
|
||||||
|
"this run has spent what it was given", not "your order is complete". Reading the second as the first sends a paying user to a
|
||||||
payment page they do not need.
|
payment page they do not need.
|
||||||
|
|
||||||
A client MUST tolerate an unknown one under a minor bump and MUST render a paused run whose
|
A client MUST tolerate an unknown one under a minor bump and MUST render a paused run whose
|
||||||
|
|
@ -1807,8 +1810,13 @@ components:
|
||||||
`resume` clears nothing — nothing was withdrawn.
|
`resume` clears nothing — nothing was withdrawn.
|
||||||
ordered_chapters:
|
ordered_chapters:
|
||||||
type: integer
|
type: integer
|
||||||
minimum: 1
|
minimum: 0
|
||||||
description: |
|
description: |
|
||||||
|
⚠ **`0` is legal and is not "nothing was ordered":** a re-pass buys no chapters, and an
|
||||||
|
order phrased in CHARACTERS spans no whole chapter — both report `0` here while being
|
||||||
|
perfectly ordinary runs. A client that treats this as at-least-one will reject valid
|
||||||
|
answers.
|
||||||
|
|
||||||
What this run was ORDERED to deliver, in chapters — a property of the RUN. Present so a
|
What this run was ORDERED to deliver, in chapters — a property of the RUN. Present so a
|
||||||
reloaded screen can name what the user bought and read `progress` against it.
|
reloaded screen can name what the user bought and read `progress` against it.
|
||||||
|
|
||||||
|
|
@ -2535,20 +2543,45 @@ components:
|
||||||
run does not stop for it and uses the bank as it stands. Nothing on this surface marks a
|
run does not stop for it and uses the bank as it stands. Nothing on this surface marks a
|
||||||
book as having been translated against an unsigned bank: what is observable is the bank
|
book as having been translated against an unsigned bank: what is observable is the bank
|
||||||
itself — `BankPage.signed` against `BankPage.total`.
|
itself — `BankPage.signed` against `BankPage.total`.
|
||||||
ceiling_chapters:
|
chapters:
|
||||||
type: integer
|
type: integer
|
||||||
minimum: 1
|
minimum: 1
|
||||||
description: |
|
description: |
|
||||||
Limit of THIS run, in chapters, within the bounds from
|
Order this many chapters, counted from the first not yet delivered. Bounds come from
|
||||||
`GET /books/{bookId}/run-options`.
|
`GET /books/{bookId}/run-options` (`order.chapters_left`, `order.affordable_chapters`).
|
||||||
|
|
||||||
Required for an ordinary run, and a run started without a declared limit would spend
|
⚠ **OPTIONAL, and its absence is not "no limit" — it is the order of the WHOLE BOOK**,
|
||||||
past the boundary the user is entitled to set BEFORE it begins rather than learn about
|
which is the ratified default. `0` is not legal: an order that buys nothing is not an
|
||||||
after. `0` is not legal.
|
order.
|
||||||
|
|
||||||
⚠ **Absent — and refused — when `re_pass` is true:** a re-pass does not buy chapters, so
|
Mutually exclusive with `characters`; a request carrying both is `400`.
|
||||||
a chapter limit would describe nothing. The two members are mutually exclusive, and a
|
characters:
|
||||||
request carrying both is `400`.
|
type: integer
|
||||||
|
minimum: 1
|
||||||
|
description: |
|
||||||
|
Order by size instead of by chapters, for a book whose chapter boundaries this build
|
||||||
|
does not trust — `order.chapter_orders: false` says when that is the case.
|
||||||
|
|
||||||
|
⚠ **Such an order stops INSIDE a chapter**, so the run it starts reports
|
||||||
|
`delivered_chapters: null` rather than `0`: it closed no whole chapter, and `0` would
|
||||||
|
read as "nothing happened" when work was done and paid for.
|
||||||
|
|
||||||
|
Mutually exclusive with `chapters`; a request carrying both is `400`.
|
||||||
|
ceiling_chapters:
|
||||||
|
deprecated: true
|
||||||
|
type: integer
|
||||||
|
description: |
|
||||||
|
⛔ **RETIRED BY THE ORDER-FORM MINOR (0.11.0) AND REFUSED ON THE WAY IN — `400` with a
|
||||||
|
pointer to `/chapters`.** It is NOT silently reinterpreted: the old name said "limit"
|
||||||
|
when the figure is a PURCHASE, and a client that kept sending it would be buying
|
||||||
|
something it did not mean.
|
||||||
|
|
||||||
|
⚠ Named here only so a reader of a 0.10.0 client can find out what became of it. It is
|
||||||
|
not accepted, and it is not the same field as `chapters` — one bounded a run, the other
|
||||||
|
orders work.
|
||||||
|
|
||||||
|
⚠ **A re-pass (`re_pass: true`) carries NEITHER volume member:** it does not buy
|
||||||
|
chapters, so a volume would describe nothing.
|
||||||
|
|
||||||
RunOptions:
|
RunOptions:
|
||||||
type: object
|
type: object
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue