@@ -258,12 +258,18 @@ days first. Filter with `--screen-id`, `--media-id`, and `--day YYYY-MM-DD`.
258258Those identifiers select the caller's own rows and are never a cross-account
259259lookup.
260260
261- Authenticated responses may carry remaining prepaid credits as an integer.
261+ Authenticated responses may carry remaining prepaid credits as a nonnegative
262+ whole integer. Remaining never displays negative; empty remaining is ` 0 ` .
262263Remaining below 1000 credits adds a ` credits_low ` warning to the envelope
263- ` warnings[] ` array; the message includes the integer remaining. A 402
264- ` payment_required ` problem means remaining is below 1 credit and billed
265- control-plane commands are rejected. Both signals can appear together on a
266- 402 envelope. ` account show ` , ` agent status ` , ` agent disconnect --yes ` ,
264+ ` warnings[] ` array; the message includes the integer remaining. Until
265+ 1 January 2027 08:00 UTC (midnight Pacific Time), production fails open:
266+ billed commands are not rejected for empty remaining, and the server does
267+ not return HTTP 402. Empty remaining does not stop or shut off screens in
268+ this window. After that instant, remaining below 1 credit rejects billed
269+ control-plane commands with ` payment_required ` (HTTP 402). The CLI still
270+ maps a 402 to ` payment_required ` if the server sends one. Both
271+ ` credits_low ` and ` payment_required ` can appear together on a 402 envelope.
272+ ` account show ` , ` agent status ` , ` agent disconnect --yes ` ,
267273` auth status ` , ` auth revoke --yes [--allow-lockout] ` , ` screen toast ` ,
268274` screen screenshot ` , ` compose catalog ` , and ` compose render ` do not debit
269275that meter. Opening ` events follow ` costs 1 credit. There is no pay command.
@@ -307,7 +313,8 @@ dashboard origin, so the CLI never presents a link token and never sees
307313` dashboard_link_expired ` or ` dashboard_link_consumed ` . What the mint call can
308314return is ` invalid_request ` , ` unauthorized ` , ` payment_required ` ,
309315` rate_limited ` , and ` not_ready ` ; the CLI renders each with the server's own
310- detail and guidance.
316+ detail and guidance. Production does not send ` payment_required ` (HTTP 402)
317+ until 1 January 2027 08:00 UTC.
311318
312319Production links require HTTPS. Local development has one exact exception:
313320` http://api.screenrig.localhost:8088 ` may return and open
@@ -555,6 +562,12 @@ through the npm package — passes even when optional pieces are absent. Stdout
555562is a success envelope either way: branch on ` data.status ` and the rows, not on
556563` ok ` .
557564
565+ The ` token ` row reports presence and nothing else: ` present ` when this
566+ installation holds a credential, ` (none) ` when it does not. Every segment of a
567+ credential is secret, including the lookup id ahead of the final underscore, so
568+ no prefix, suffix, or redacted form of the stored value appears in ` doctor `
569+ output in either mode. ` account show ` reports the same fact as ` token_present ` .
570+
558571` node ` , ` config_permissions ` , ` token ` , ` api_url ` , ` ffmpeg ` , ` ffprobe ` ,
559572` encoder_libx264 ` , ` health ` , ` ready ` , ` version ` , and ` capabilities ` fail when
560573they are not satisfied. These rows warn instead:
0 commit comments