hyf

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

commit ec4da46805a3e92e723cc962f73882bcc63c6dc7
parent 879ff73264e6d3c988c7bbd3c4e0694220c3b5dc
Author: triesap <tyson@radroots.org>
Date:   Mon, 21 Sep 2026 13:07:15 +0000

provider: add data-minimized state projection

Diffstat:
Asrc/hyf_provider/jev_state.mojo | 43+++++++++++++++++++++++++++++++++++++++++++
Mtests/test_jev.mojo | 20++++++++++++++++++++
2 files changed, 63 insertions(+), 0 deletions(-)

diff --git a/src/hyf_provider/jev_state.mojo b/src/hyf_provider/jev_state.mojo @@ -0,0 +1,43 @@ +from std.collections import List + + +comptime MAX_STATE_BYTES = 4096 + + +def _is_blank(value: String) -> Bool: + return String(value).strip().byte_length() == 0 + + +def _truncate(value: String, limit: Int) -> String: + if value.byte_length() <= limit: + return String(value) + return String(value[byte=0:limit]) + + +def minimal_state( + source_text: String, focus_product: String, buyer_request: String +) raises -> String: + if source_text.byte_length() > MAX_STATE_BYTES: + raise Error("provider state exceeds maximum size") + var parts = List[String]() + if not _is_blank(source_text): + parts.append(String("farm_update: ") + _truncate(source_text, 2048)) + if not _is_blank(focus_product): + parts.append(String("focus_product: ") + _truncate(focus_product, 256)) + if not _is_blank(buyer_request): + parts.append(String("buyer_request: ") + _truncate(buyer_request, 512)) + + var joined = String() + var first = True + for part in parts: + if not first: + joined += "\n" + joined += part + first = False + if joined.byte_length() > MAX_STATE_BYTES: + raise Error("provider state exceeds maximum size") + return joined^ + + +def state_includes_full_repository() -> Bool: + return False diff --git a/tests/test_jev.mojo b/tests/test_jev.mojo @@ -184,3 +184,23 @@ def test_provider_response_projection() raises: assert_true(provider_cannot_supply_trusted_identity()) with assert_raises(): _ = answer_by_id(answers, "nonexistent") + + +from hyf_provider.jev_state import minimal_state, state_includes_full_repository + + +def test_data_minimized_state_projection() raises: + var state = minimal_state( + "Roma tomatoes available now", "Roma tomatoes", "Tomatoes for sauce; seconds permitted" + ) + assert_true(state.find("farm_update:") >= 0) + assert_true(state.find("focus_product:") >= 0) + assert_true(state.find("buyer_request:") >= 0) + var only_source = minimal_state("Basil sold out", "", "") + assert_equal(only_source, "farm_update: Basil sold out") + assert_true(not state_includes_full_repository()) + var huge = String() + for _ in range(2000): + huge += "xxxxxxxxxx" + with assert_raises(): + _ = minimal_state(huge, "", "")