hyf

Context-aware query service for Radroots
git clone https://radroots.dev/git/hyf.git
Log | Files | Refs | README | LICENSE

commit b38e595d7d2641858b77db043929791162104a1d
parent 833296344231724ac46fe6f7b1c8fe6ed70d4fe5
Author: triesap <tyson@radroots.org>
Date:   Fri, 19 Jun 2026 04:02:40 -0700

provider: guard max fallback taxonomy

- map unknown max transport failures to the public provider error reason
- keep transport boundary reason tokens out of business fallback taxonomy
- add stdio coverage for malformed max chat completion responses
- verify provider-adapter and stdio contract suites remain green

Diffstat:
Msrc/hyf_provider/max_local.mojo | 4++++
Mtests/test_stdio_contract.mojo | 12++++++++++++
2 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/src/hyf_provider/max_local.mojo b/src/hyf_provider/max_local.mojo @@ -79,6 +79,10 @@ def max_local_query_rewrite_failure_from_reason( return MaxLocalQueryRewriteFailure( kind="transport", reason="connection_failed" ) + if reason == "unknown_transport": + return MaxLocalQueryRewriteFailure( + kind="provider", reason="provider_error" + ) if reason == "provider_non_2xx": return MaxLocalQueryRewriteFailure( kind="http_status", reason="provider_non_2xx" diff --git a/tests/test_stdio_contract.mojo b/tests/test_stdio_contract.mojo @@ -451,6 +451,12 @@ def test_business_fallback_reason_taxonomy_excludes_control_health_reason() rais ) +def test_business_fallback_reason_taxonomy_excludes_transport_boundary_reason() raises: + assert_equal( + _business_fallback_reason_family("unknown_transport"), "undeclared" + ) + + def test_status_success() raises: var response = run_hyf_stdio( load_scenario_request_json("scenarios/status_ok.json") @@ -1767,6 +1773,12 @@ def test_query_rewrite_falls_back_on_provider_timeout() raises: ) +def test_query_rewrite_falls_back_on_unknown_transport_as_provider_error() raises: + _assert_query_rewrite_provider_fallback( + "query_rewrite_malformed_http", "provider_error", 15000 + ) + + def test_query_rewrite_falls_back_when_provider_readiness_probe_times_out() raises: _assert_query_rewrite_provider_fallback_with_requests( "health_timeout", "timeout", 100, 1