fix(cli): expose publication debt and recovery context - #1046
Merged
Merged
Conversation
TusanHomichi
marked this pull request as ready for review
September 14, 2026 18:12
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
system generation pendingomitted the selected database and the recorded publication failure reason. Its dense one-line records also hid the summary and retry count. The command now passes the existing core query results toui/generation_pending.rs, which renders exact identities, typed phase/status, recorded paths, summary, retry count, and last error through shared fields and guarded status tags.The existing
pending_recoverablequery, order, schema, retry owner, and mutation boundaries stay unchanged. One recovery note retains the queried database, including when an individual record stores another path. Ordinary paths use the existing shell quoting; control-containing paths receive same-path instructions without an executable placeholder. The original empty-result line remains intact for the supported-host publication fixture. The old interpolated-status allowlist entry is removed, and the existing transaction recovery capture follows the new frame.Three real CLI regressions use the registered core database connection and model APIs. They cover the exact retained failure cause and retry count, pending/running/failed records, exclusion of complete/abandoned/nonrecoverable records, order, empty output, quoted and control-containing fields, TTY/pipe/NO_COLOR, and unchanged complete database snapshots. Printed ordinary-path recovery commands are exercised with
--help, so parser and shell-quoting proof does not apply publication. Terminal metadata in the exclusion fixture is queried only, never published, activated, or recovered.Verification at
9ee84eb5:cargo test -p conary --features test-hooks --test cli_generation_pending: three passed. All three fail against the previous executable and pass with this change.cargo test -p conary --features test-hooks --no-fail-fast: 1,525 passed, five ignored, and exactly the 16 documented namespace failures in test(conary): make the full library suite hermetic on restricted hosts #788. All 16 exact binaries passed undersudo -n unshare --mount --propagation private <binary> --exact <test> --nocapture. The ordinary sweep is not reported as green.Primary issue: Refs #644; supports #132. Rebased onto merged #1045 without changing the tested tree
509ff5e86a48e3ee8ad9bd2580e4459224544acf; current head is4d5a1f4073ab6a713c7edb47f6d0984f09d3507f. Remaining generation/recovery refusal and broader machine-output acceptance stay open.