Skip to content

feat(error): let DetailedError contribute structured next_actions to error envelopes - #99

Open
mguerrero3-godaddy wants to merge 3 commits into
mainfrom
feat/error-envelope-next-actions
Open

feat(error): let DetailedError contribute structured next_actions to error envelopes#99
mguerrero3-godaddy wants to merge 3 commits into
mainfrom
feat/error-envelope-next-actions

Conversation

@mguerrero3-godaddy

@mguerrero3-godaddy mguerrero3-godaddy commented Aug 18, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Adds DetailedError::error_next_actions() -> Vec (default-empty, mirroring error_fix()) so error envelopes can carry structured, agent-executable next actions instead of only a plain-text fix string.
  • CliCoreError::Detailed now captures these eagerly at wrap time (before the source is erased to dyn Error), and both build_error_envelope and build_detailed_error_envelope thread the value through instead of hardcoding next_actions: Vec::new().

Implements for ticket DEVEX-983

Test plan

  • cargo fmt --all --check
  • cargo clippy --all-targets -- -D warnings
  • cargo test --all-targets

Manual verification

Setup:

# In the cli repo, temporarily override the engine dependency:
cd cli/rust
# Edit Cargo.toml → cli-engine = { features = ["pkce-auth"], path = "../../cli-engine" }
cargo build --release && cp target/release/gddy ~/.local/bin/gddy

Test WITHOUT the fix (baseline):

cd cli-engine && git checkout main
cd cli/rust && cargo build --release && cp target/release/gddy ~/.local/bin/gddy
# <command to reproduce the issue>
# Expected: <describe broken behavior>

Test WITH the fix:

cd cli-engine && git checkout <this-branch>
cd cli/rust && cargo build --release && cp target/release/gddy ~/.local/bin/gddy
# <same command>
# Expected: <describe fixed behavior>

Cleanup:

# Revert cli/rust/Cargo.toml back to:
# cli-engine = { features = ["pkce-auth"], version = "<published-version>" }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant