Summary
Add break mode logging integration to the telemetry system, as defined in Step 8 of specs/telemetry-enhancements.md Section 4.
This was deferred from #34 (PR #37) because break mode middleware is not yet implemented.
Acceptance Criteria
Design Reference
See specs/telemetry-enhancements.md Section 4: Break Mode Logging Integration.
Expected text output in --debug-calls:
* Break: invalid_content_type — replaced Content-Type
* original: application/vnd.oci.image.manifest.v1+json
* mutated: text/plain
Expected telemetry block row:
break invalid_content_type 1 applied
Files to Create/Modify
libs/decorators/metrics.py — Add BreakRuleEntry dataclass
libs/decorators/__init__.py — Add break_rule_log to TelemetryConfig, export BreakRuleEntry
libs/decorators/call_details.py — Add break rule lines to format_curl_debug() and format_curl_debug_json()
libs/decorators/output.py — Add break row rendering to text and JSON renderers
libs/decorators/scenario.py — Pass break entries to print_telemetry_block()
tests/test_break_mode_telemetry.py — New test file
Dependencies
- Break mode middleware implementation (will populate
break_rule_log during request processing)
References
Summary
Add break mode logging integration to the telemetry system, as defined in Step 8 of
specs/telemetry-enhancements.mdSection 4.This was deferred from #34 (PR #37) because break mode middleware is not yet implemented.
Acceptance Criteria
BreakRuleEntrydataclass tolibs/decorators/metrics.pybreak_rule_log: list[BreakRuleEntry]field toTelemetryConfig* Break:output lines toformat_curl_debug()when break rules are applied to a requestbreakrow type toprint_telemetry_block()text rendererbreak_rules_appliedfield to JSON debug_call and scenario eventsredact_header_value()break_rule_logalongsidemethod_timingsafter renderingBreakRuleEntrydataDesign Reference
See
specs/telemetry-enhancements.mdSection 4: Break Mode Logging Integration.Expected text output in
--debug-calls:Expected telemetry block row:
Files to Create/Modify
libs/decorators/metrics.py— AddBreakRuleEntrydataclasslibs/decorators/__init__.py— Addbreak_rule_logtoTelemetryConfig, exportBreakRuleEntrylibs/decorators/call_details.py— Add break rule lines toformat_curl_debug()andformat_curl_debug_json()libs/decorators/output.py— Add break row rendering to text and JSON rendererslibs/decorators/scenario.py— Pass break entries toprint_telemetry_block()tests/test_break_mode_telemetry.py— New test fileDependencies
break_rule_logduring request processing)References
specs/telemetry-enhancements.mdSection 4