hyf

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

commit 980f239afbc2cc2986b7d391042ce5c6233e209d
parent 1a39d81b44a5b41fcd18f70d549e05aef75457ce
Author: triesap <tyson@radroots.org>
Date:   Mon, 21 Sep 2026 13:48:27 +0000

core: validate interpretation source context

Diffstat:
Asrc/hyf_application/context.mojo | 54++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mtests/test_application.mojo | 23++++++++++++++++++++++-
2 files changed, 76 insertions(+), 1 deletion(-)

diff --git a/src/hyf_application/context.mojo b/src/hyf_application/context.mojo @@ -0,0 +1,54 @@ + + +@fieldwise_init +struct InterpretationSource(Copyable, Movable): + var source_id: String + var revision: String + var text: String + var source_time: String + var timezone: String + var actor_id: String + var farm_id: String + + +def _is_blank(value: String) -> Bool: + return String(value).strip().byte_length() == 0 + + +def interpretation_source( + source_id: String, + revision: String, + text: String, + source_time: String, + timezone: String, + actor_id: String, + farm_id: String, +) raises -> InterpretationSource: + for pair in [ + ("source_id", source_id), + ("revision", revision), + ("text", text), + ("source_time", source_time), + ("timezone", timezone), + ("actor_id", actor_id), + ("farm_id", farm_id), + ]: + if _is_blank(pair[1]): + raise Error("interpretation source requires " + pair[0]) + return InterpretationSource( + source_id=String(source_id), + revision=String(revision), + text=String(text), + source_time=String(source_time), + timezone=String(timezone), + actor_id=String(actor_id), + farm_id=String(farm_id), + ) + + +def context_is_trusted_host_supplied() -> Bool: + return True + + +def source_text_is_data_not_instruction() -> Bool: + return True diff --git a/tests/test_application.mojo b/tests/test_application.mojo @@ -1,4 +1,4 @@ -from std.testing import TestSuite, assert_true, assert_equal +from std.testing import TestSuite, assert_true, assert_equal, assert_raises from hyf_application.orchestration import ( application_layer_owns_business_state, @@ -19,3 +19,24 @@ def test_application_layer_is_transport_independent() raises: def main() raises: TestSuite.discover_tests[__functions_in_module()]().run() + + +from hyf_application.context import ( + context_is_trusted_host_supplied, + interpretation_source, + source_text_is_data_not_instruction, +) + + +def test_interpretation_source_context_validation() raises: + var source = interpretation_source( + "farm-source-1", "r1", "Got about 80 lb of Roma tomatoes.", + "2026-09-21T09:00:00-07:00", "America/Vancouver", "farm-1", "farm-1", + ) + assert_equal(source.revision, "r1") + assert_true(context_is_trusted_host_supplied()) + assert_true(source_text_is_data_not_instruction()) + with assert_raises(): + _ = interpretation_source("", "r1", "x", "t", "z", "a", "f") + with assert_raises(): + _ = interpretation_source("s", "r1", "x", "t", "", "a", "f")