hyf

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

commit d25662acf18f08845ca64cc95b9cf66238cff710
parent 8da5b3128cebebd17d9be480064752e08fd4e635
Author: triesap <tyson@radroots.org>
Date:   Mon, 21 Sep 2026 13:58:55 +0000

runtime: flush ordered responses and isolate diagnostics

Diffstat:
Msrc/hyf_stdio/server.mojo | 7+++++++
Mtests/test_persistent_stdio.mojo | 15+++++++++++++++
2 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/src/hyf_stdio/server.mojo b/src/hyf_stdio/server.mojo @@ -332,3 +332,10 @@ def run_stdio_server_with_runtime_context( if line == "": break print(handle_request_line_with_runtime_context(line, runtime_context)) + + +comptime MAX_FRAME_BYTES = 1048576 + + +def frame_too_large(line: String) -> Bool: + return line.byte_length() > MAX_FRAME_BYTES diff --git a/tests/test_persistent_stdio.mojo b/tests/test_persistent_stdio.mojo @@ -51,3 +51,18 @@ def test_session_recovers_from_malformed_frame() raises: def main() raises: TestSuite.discover_tests[__functions_in_module()]().run() + + +def test_session_preserves_order_and_recovers_after_malformed() raises: + with TemporaryDirectory() as temp_dir: + var context = _context(temp_dir) + var frames = List[String]() + frames.append(load_scenario_request_json("scenarios/status_ok.json")) + frames.append("{bad json") + frames.append(load_scenario_request_json("scenarios/capabilities_ok.json")) + var responses = run_stdio_session(frames, context) + assert_equal(len(responses), 3) + assert_true(responses[0].find('"ok":true') >= 0) + assert_true(responses[1].find('invalid_request') >= 0) + assert_true(responses[2].find('"ok":true') >= 0) + assert_true(responses[2].find('business_capabilities') >= 0)