capxul org create / org retry - terminal evidence

Packed CLI capxul-cli-4.20.0-beta.5.tgz (sha256 606febd72ea49e8250d5cd9715a41b29d2feed1520821778ce5aadbeef354b61) built from 807c35ec549289efd05d38247f2a7a65c63b0b35, installed outside the repository and run in a real PTY (asciinema 3.0.0, input recording off, egress denied by preload, isolated CLI home, CI unset).

Frames

A noninteractive write without --confirm refuses with exit 2 before any client work.
A noninteractive write without --confirm refuses with exit 2 before any client work.
v3-confirm-refusal.png
The command deadline is validated locally: --timeout-seconds 0 refuses with exit 2.
The command deadline is validated locally: --timeout-seconds 0 refuses with exit 2.
v3-timeout-bound.png
With --confirm satisfied, an absent session is exit 3.
With --confirm satisfied, an absent session is exit 3.
v3-session-refusal.png
On a terminal, retry verifies the session before any preview: exit 3, no preview line.
On a terminal, retry verifies the session before any preview: exit 3, no preview line.
v3-tty-session-before-preview.png
The same ordering for create.
The same ordering for create.
v3-tty-create-session-before-preview.png
The acceptance rows this run proved, and the rows it did not.
The acceptance rows this run proved, and the rows it did not.
v3-acceptance-summary.png

Receipt

# CLI business commands — Organization writes: terminal evidence

Validated code head `807c35ec549289efd05d38247f2a7a65c63b0b35`
(`feat/d9-org-create-retry`); the receipt and its frames are committed on top of
it, and this commit changes no product code. Base of the
change: `c92edf21e36d0d19481c34aa8631adbd8058f4c5`.

The packed CLI was installed outside the repository and run in a real PTY through
the local terminal viewer (`asciinema 3.0.0`, `session --stream-local`,
`--window-size 100x40`, `--capture-env SHELL`, input recording off). Every command
ran with an isolated `CAPXUL_CLI_HOME`, `CI` unset, `CAPXUL_TELEMETRY_DISABLED=true`
and a preload that denies `fetch` and `net.connect`, so no command in this receipt
performed network egress.

Artifact built from that head: `capxul-cli-4.20.0-beta.5.tgz`
sha256 `606febd72ea49e8250d5cd9715a41b29d2feed1520821778ce5aadbeef354b61`,
`@capxul/cli/dist/main.mjs`, `capxul v4.20.0-beta.5`.

## Checkpoints

| #   | Command                                                                                                | Exit | Observed in the terminal                                                                                                       |
| --- | ------------------------------------------------------------------------------------------------------ | ---- | ------------------------------------------------------------------------------------------------------------------------------ |
| 1   | `capxul --version`                                                                                     | 0    | `capxul v4.20.0-beta.5`                                                                                                        |
| 2   | `capxul org --help`                                                                                    | 0    | group help lists `create` and `retry`                                                                                          |
| 3   | `capxul org create --help`                                                                             | 0    | `--email --name --handle --country --bio --size --confirm --timeout-seconds`                                                   |
| 4   | `capxul org retry --help`                                                                              | 0    | `--org, --org-id --email --confirm --timeout-seconds`                                                                          |
| 5   | `capxul org retry --json`                                                                              | 2    | `CLI_USAGE: Provide --org.`                                                                                                    |
| 6   | `capxul org retry --org org_a --json`                                                                  | 2    | `CLI_USAGE: Provide --confirm to write.`                                                                                       |
| 7   | `capxul org retry --org org_a --timeout-seconds 0 --confirm --json`                                    | 2    | `CLI_USAGE: Provide --timeout-seconds as an integer from 1 to 3600.`                                                           |
| 8   | `capxul org retry --org org_a --email not-an-email --confirm --json`                                   | 2    | `CLI_USAGE: Provide a valid email.`                                                                                            |
| 9   | `capxul org create --name 'New Org' --handle new_org --country GH --confirm --json`                    | 3    | `NOT_AUTHENTICATED: Authentication is required.`                                                                               |
| 10  | `capxul org retry --org org_a --email demo@example.com` (terminal)                                     | 3    | `NOT_AUTHENTICATED: Authentication is required.`, with no preview line: the session is verified before any preview is rendered |
| 11  | `capxul org create --name 'New Org' --handle new_org --country GH --email demo@example.com` (terminal) | 3    | the same, for create                                                                                                           |

Rows 5 to 9 are the bounded local refusals: each one refused before a client, a
browser, or any network use. Rows 10 and 11 are the ordering the confirmation
correction requires: on a terminal the session is verified first, so an absent
session is exit 3 with no preview and no prompt.

Verbatim output for the refusal rows:

```text
$ capxul org retry --json
{"version":1,"command":"org.retry","outcome":"refused","error":{"code":"CLI_USAGE","message":"Provide --org."}}
exit=2

$ capxul org retry --org org_a --json
{"version":1,"command":"org.retry","outcome":"refused","error":{"code":"CLI_USAGE","message":"Provide --confirm to write."}}
exit=2

$ capxul org retry --org org_a --timeout-seconds 0 --confirm --json
{"version":1,"command":"org.retry","outcome":"refused","error":{"code":"CLI_USAGE","message":"Provide --timeout-seconds as an integer from 1 to 3600."}}
exit=2

$ capxul org create --name 'New Org' --handle new_org --country GH --confirm --json
{"version":1,"command":"org.create","outcome":"refused","error":{"code":"NOT_AUTHENTICATED","message":"Authentication is required."}}
exit=3

$ capxul org retry --org org_a --email demo@example.com
NOT_AUTHENTICATED: Authentication is required.
exit=3
```

## Frames

Captured from the artifact named above while each row was on screen:

- `confirm-refusal.png` — row 6
- `timeout-bound.png` — row 7
- `session-refusal.png` — row 9
- `tty-session-before-preview.png` — row 10
- `tty-create-session-before-preview.png` — row 11
- `acceptance-summary.png` — the acceptance-row summary printed at the end of the run

## Not proven by this receipt

- The resolved preview and its default-no prompt. They render only after a
  verified session, which this environment cannot create without an authorized
  live write, so the prompt path is covered by unit tests instead: the preview
  reads before the prompt, the default-no refusal, a supplied `--confirm` still
  prompting, the accepted prompt continuing, and the browser signer being built
  only after the prompt is accepted. A write that never resolves, or a settlement
  that never settles, is bounded by the one deadline, still emits the Organization
  the lane already committed, aborts the active SDK signal, and returns the typed
  exit-5 result.
- The committed Organization ID, the pending result, the verified result, a
  fresh-process resume, and the real digest ordering against a browser wallet.
  These need a signed-in staging session and a real Openfort wallet step.