Added
- Codex receipt-only launch mode.
--receipt-only(requiring--receipt-outand--run-id, mutually exclusive with--budgetand--install-only) lets a launch emit accounting receipts without installing the TokenPak mechanism, and launches without a request body now produce no-body accounting receipts so accounting stays truthful instead of silently dropping those events. - Canonical staging-to-public promotion tooling.
scripts/promote-staging-to-public.shandscripts/promotion-drift-report.shcodify the promotion train between the staging and public repositories, with a path hold-list at.github/public-promotion-hold.txt.
Fixed
- The no-picker menu fallback is interactive. On terminals without the
arrow-key picker (Windows consoles without a
termiosbackend, pipes, dumb terminals),tokenpakwith no arguments now prompts for a numbered selection instead of printing an inoperable menu and returning to the shell. - Trigger and macro command actions no longer run through the host shell.
Config- and user-provided command strings are shlex-parsed into an argv
vector and executed with
shell=False; shell metacharacters are passed literally rather than interpreted, closing a quoting/injection hazard. An explicitshell:prefix remains available for trusted commands and emits a warning, bare TokenPak subcommands are resolved against the live CLI registry, and command failures and timeouts are handled structurally so trigger daemons and CLI callers never crash.
Docs
- Add a value-proof guide for
tokenpak proveand remove stale lifetime savings examples from current docs.