Why This Matters
failed-tool counting and exit-code logic are product-visible details.
Read First
app/services/tracer_client/tracer_tools.py
Scope
- Add a fake subclass that stubs
_get().
- Test
get_run_tasks() with all-success, mixed-failure, and empty payloads.
- Confirm failed-task details include the expected extra fields.
Tests / Coverage
tests/services/tracer_client/test_tracer_tools.py
- cover non-zero exit code handling
- cover
None, empty string, and "0" exit code cases
- cover unsuccessful responses
Acceptance Criteria
- task-count logic is directly protected
- failure-detail extraction is tested
- response handling is fully offline
Why This Matters
failed-tool counting and exit-code logic are product-visible details.
Read First
app/services/tracer_client/tracer_tools.pyScope
_get().get_run_tasks()with all-success, mixed-failure, and empty payloads.Tests / Coverage
tests/services/tracer_client/test_tracer_tools.pyNone, empty string, and"0"exit code casesAcceptance Criteria