Fix CLI recovery errors before beta publication - #7
Conversation
Re-review at 2ea3387: original findings fixed; one new defect blocks publicationBoth suites pass at this head (62/62), and the binaries were probed against a fake API. Original items: 1, 3, 5, 6, 7, 8, 9, 12 FIXED ( New, must fix before publishing (N1, Smaller (N2-N5): a transport failure before anything was submitted now reads "Execution state is uncertain" with the real cause hidden (safe, but less diagnosable; print the cause); the text recovery block suggests Verdict: after N1 and the |
|
Please re-review 538618b (new since 2ea3387). N1 is fixed: all six paid commands resolve and check the output destination before uploads or README and Validation: 72 tests passed, including one successful generation followed by a repeat with the same |
Re-review at 538618b: N1 fixed and proven; safe to publish as
|
Paid CLI commands now reject existing or invalid output destinations before uploads or submission. Re-running a completed command with the same output path cannot start a second paid job. The final write stays exclusive for destination races. README and help document the refusal.
A completed generation could be reported as a permanent generation failure when writing the local output failed. The CLI now reports
local_output_failed, preserves the execution ID and retry key, and directs both JSON and text callers to recover withdownloadinstead of creating a second paid request.Missing credentials, unreadable inputs, unavailable outputs and cancellation have distinct reasons and exit codes. Interrupted/incomplete execution recovery remains retryable without asserting generation failed. Both output paths refuse overwrite. Package publication defaults to
beta, README/help links use existing pages, and built JavaScript excludes source comments.Validation: 72 CLI/client/packaged-install tests passed against offline fixtures, including charged-completion simulation with local write failure in JSON and text modes, GET-only download recovery, overwrite refusal, cancellation, missing credentials and no-ID stream recovery. No live generation or publication.
Follow-up to the independent review on #5. Hold merge/publication for re-review; npm publisher authentication still needs restoring. Publish explicitly with
--tag beta. Beta.2-only docs pages are held outside the docs site until the package exists on npm.