Description
Remove parse_output explicit implementations from the individual backends and move it to the CliBackend trait.
The parse_output method is defined as a required in the CliBackend trait within src/backend/mod.rs. and every implementation (claude.rs, codex.rs, gemini.rs) implements it, but this method is identical across all backends...
TO-DO
- Updated
CliBackend trait in src/backend/mod.rs to provide a default implementation for parse_output.
- The
parse_output method is removed from claude.rs, codex.rs, and gemini.rs.
Definition of Done
- No
parse_output code duplication
- All existing tests for each backend (e.g.,
claude_test.rs, codex_test.rs, gemini_test.rs) pass without modification.
Description
Remove
parse_outputexplicit implementations from the individual backends and move it to theCliBackendtrait.The
parse_outputmethod is defined as a required in theCliBackendtrait withinsrc/backend/mod.rs. and every implementation (claude.rs,codex.rs,gemini.rs) implements it, but this method is identical across all backends...TO-DO
CliBackendtrait insrc/backend/mod.rsto provide a default implementation forparse_output.parse_outputmethod is removed fromclaude.rs,codex.rs, andgemini.rs.Definition of Done
parse_outputcode duplicationclaude_test.rs,codex_test.rs,gemini_test.rs) pass without modification.