feat(error): let DetailedError contribute structured next_actions to error envelopes - #99
Conversation
|
I'm not sure about this. I think it might be redundant with the Do you think there are cases where having next actions that are not considered fixes make sense? |
Fair question. Digging in, that fix and next_actions aren't structurally the same (single string vs. a list of executable commands with typed params), and next_actions reuses the same mechanism pagination already ships on the success side (middleware.rs). So it's not really duplicating Qi's PR logic. That said, nothing in this repo populates I'd say it is less "is this redundant with fix" and more if is it worth merging the capability now, ahead of a real consumer needing it, or should we hold it until we have an actual error type that needs more than one structured follow-up? |
jpage-godaddy
left a comment
There was a problem hiding this comment.
I guess it doesn't hurt to allow next actions for errors. I can at least imagine legitimate cases for it.
🤖 I have created a release *beep* *boop* --- <details><summary>cli-engine: 0.9.0</summary> ## [0.9.0](cli-engine-v0.8.7...cli-engine-v0.9.0) (2026-08-24) ### ⚠ BREAKING CHANGES * **fs:** default macOS config dir to Application Support ([#100](#100)) * upgrade reqwest to 0.13 ([#102](#102)) ### Features * **error:** let DetailedError contribute structured next_actions to error envelopes ([#99](#99)) ([9c8988a](9c8988a)) ### Bug Fixes * **fs:** default macOS config dir to Application Support ([#100](#100)) ([a8a2291](a8a2291)) ### Build System * upgrade reqwest to 0.13 ([#102](#102)) ([3794ab7](3794ab7)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Summary
Implements for ticket DEVEX-983
Test plan
cargo fmt --all --checkcargo clippy --all-targets -- -D warningscargo test --all-targetsManual verification
Setup:
Test WITHOUT the fix (baseline):
Test WITH the fix:
Cleanup: