commit 02dfbf0ec9d9a646f3a1c930daea792e113bc087
parent bf5114b28674e28c465e5c3e43c1f78d660d765e
Author: triesap <tyson@radroots.org>
Date: Thu, 9 Apr 2026 17:08:25 +0000
runtime: route diagnostics through hyf paths
Diffstat:
8 files changed, 404 insertions(+), 262 deletions(-)
diff --git a/src/hyf_runtime/diagnostics.mojo b/src/hyf_runtime/diagnostics.mojo
@@ -0,0 +1,76 @@
+from std.ffi import c_int, external_call
+from std.os import getenv, makedirs
+from std.pathlib import Path
+
+from hyf_runtime.paths import RuntimePaths
+from hyf_runtime.startup import resolve_startup_context_from_process
+
+
+comptime _HYF_DIAGNOSTICS_DIR_ENV = "HYF_DIAGNOSTICS_DIR"
+comptime _HYF_DIAGNOSTICS_FILE_PREFIX = "hyf-internal-error-pid-"
+comptime _HYF_DIAGNOSTICS_FILE_SUFFIX = ".log"
+comptime _HYF_DIAGNOSTICS_DIR_MODE = 0o700
+comptime _HYF_DIAGNOSTICS_FILE_MODE = 0o600
+
+
+def hyf_diagnostics_dir_debug_override_env_name() -> String:
+ return _HYF_DIAGNOSTICS_DIR_ENV
+
+
+def _current_process_id() -> Int:
+ return Int(external_call["getpid", c_int]())
+
+
+def _ensure_directory_mode(path: Path):
+ var path_str = path.__fspath__()
+ _ = external_call["chmod", c_int](
+ path_str.as_c_string_slice().unsafe_ptr(),
+ c_int(_HYF_DIAGNOSTICS_DIR_MODE),
+ )
+
+
+def _ensure_file_mode(handle: Int):
+ _ = external_call["fchmod", c_int](
+ c_int(handle), c_int(_HYF_DIAGNOSTICS_FILE_MODE)
+ )
+
+
+def diagnostics_debug_override_dir_from_env() -> String:
+ return getenv(_HYF_DIAGNOSTICS_DIR_ENV, "")
+
+
+def diagnostics_dir_for_runtime_paths(paths: RuntimePaths) -> String:
+ return String(paths.diagnostics_dir)
+
+
+def effective_diagnostics_dir_for_runtime_paths(paths: RuntimePaths) -> String:
+ var configured = diagnostics_debug_override_dir_from_env()
+ if configured != "":
+ return configured
+ return diagnostics_dir_for_runtime_paths(paths)
+
+
+def effective_diagnostics_dir_from_process_startup() raises -> String:
+ var startup_context = resolve_startup_context_from_process()
+ return effective_diagnostics_dir_for_runtime_paths(startup_context.paths)
+
+
+def _diagnostic_log_path(diagnostics_dir: String) raises -> Path:
+ var dir_path = Path(diagnostics_dir)
+ makedirs(dir_path, mode=_HYF_DIAGNOSTICS_DIR_MODE, exist_ok=True)
+ _ensure_directory_mode(dir_path)
+ return dir_path / (
+ _HYF_DIAGNOSTICS_FILE_PREFIX
+ + String(_current_process_id())
+ + _HYF_DIAGNOSTICS_FILE_SUFFIX
+ )
+
+
+def append_internal_diagnostic(line: String, diagnostics_dir: String):
+ try:
+ var log_path = _diagnostic_log_path(diagnostics_dir)
+ with open(log_path, "a") as log_file:
+ _ensure_file_mode(log_file.handle)
+ log_file.write(line)
+ except:
+ pass
diff --git a/src/hyf_stdio/diagnostics.mojo b/src/hyf_stdio/diagnostics.mojo
@@ -1,65 +1,13 @@
-from std.ffi import c_int, external_call
-from std.os import getenv, makedirs
-from std.pathlib import Path
-from std.tempfile import gettempdir
-
-
-comptime _HYF_DIAGNOSTICS_DIR_ENV = "HYF_DIAGNOSTICS_DIR"
-comptime _HYF_DIAGNOSTICS_DIR_NAME = "hyf-diagnostics"
-comptime _HYF_DIAGNOSTICS_FILE_PREFIX = "hyf-internal-error-pid-"
-comptime _HYF_DIAGNOSTICS_FILE_SUFFIX = ".log"
-comptime _HYF_DIAGNOSTICS_DIR_MODE = 0o700
-comptime _HYF_DIAGNOSTICS_FILE_MODE = 0o600
-
-
-def _current_process_id() -> Int:
- return Int(external_call["getpid", c_int]())
-
-
-def _ensure_directory_mode(path: Path):
- var path_str = path.__fspath__()
- _ = external_call["chmod", c_int](
- path_str.as_c_string_slice().unsafe_ptr(),
- c_int(_HYF_DIAGNOSTICS_DIR_MODE),
- )
-
-
-def _ensure_file_mode(handle: Int):
- _ = external_call["fchmod", c_int](
- c_int(handle), c_int(_HYF_DIAGNOSTICS_FILE_MODE)
- )
-
-
-def _default_diagnostics_dir() raises -> Path:
- var tmpdir = gettempdir()
- if tmpdir:
- return Path(tmpdir.value()) / _HYF_DIAGNOSTICS_DIR_NAME
- return Path("/tmp") / _HYF_DIAGNOSTICS_DIR_NAME
-
-
-def _diagnostics_dir() raises -> Path:
- var configured = getenv(_HYF_DIAGNOSTICS_DIR_ENV, "")
- if configured != "":
- return Path(configured)
- return _default_diagnostics_dir()
-
-
-def _diagnostic_log_path() raises -> Path:
- var diagnostics_dir = _diagnostics_dir()
- makedirs(diagnostics_dir, mode=_HYF_DIAGNOSTICS_DIR_MODE, exist_ok=True)
- _ensure_directory_mode(diagnostics_dir)
- return diagnostics_dir / (
- _HYF_DIAGNOSTICS_FILE_PREFIX
- + String(_current_process_id())
- + _HYF_DIAGNOSTICS_FILE_SUFFIX
- )
+from hyf_runtime.diagnostics import (
+ append_internal_diagnostic as append_internal_diagnostic_to_dir,
+ effective_diagnostics_dir_from_process_startup,
+)
def append_internal_diagnostic(line: String):
try:
- var log_path = _diagnostic_log_path()
- with open(log_path, "a") as log_file:
- _ensure_file_mode(log_file.handle)
- log_file.write(line)
+ append_internal_diagnostic_to_dir(
+ line, effective_diagnostics_dir_from_process_startup()
+ )
except:
pass
diff --git a/src/hyf_stdio/server.mojo b/src/hyf_stdio/server.mojo
@@ -4,11 +4,25 @@ from std.sys import stdin
from mojson import Value
-from hyf_core.backends.selector import execute_capability as execute_backend_capability
+from hyf_runtime.diagnostics import (
+ append_internal_diagnostic as append_internal_diagnostic_to_dir,
+ effective_diagnostics_dir_for_runtime_paths,
+)
+from hyf_runtime.startup import (
+ RuntimeStartupContext,
+ resolve_startup_context_from_process,
+)
+from hyf_core.backends.selector import (
+ execute_capability as execute_backend_capability,
+)
from hyf_core.capabilities.registry import (
canonical_business_capability,
)
-from hyf_core.errors import CapabilityFailure, CapabilityResult, CapabilitySuccess
+from hyf_core.errors import (
+ CapabilityFailure,
+ CapabilityResult,
+ CapabilitySuccess,
+)
from hyf_core.metadata import hyf_protocol_version
from hyf_stdio.codec import (
decode_request,
@@ -18,7 +32,6 @@ from hyf_stdio.codec import (
)
from hyf_stdio.control.capabilities import build_capabilities_output
from hyf_stdio.control.status import build_status_output
-from hyf_stdio.diagnostics import append_internal_diagnostic
from hyf_stdio.envelope import (
WireErrorResponse,
WireRequest,
@@ -78,6 +91,7 @@ def _write_success(response: WireSuccessResponse) raises:
def _diagnostic_value(value: String) -> String:
return value.replace("\n", "\\n").replace("\r", "\\r")
+
def _diagnostic_trace_id(trace_id: Optional[String]) -> String:
if trace_id:
return _diagnostic_value(String(trace_id.value()))
@@ -89,17 +103,19 @@ def _emit_internal_diagnostic(
trace_id: Optional[String],
capability: String,
detail: String,
+ diagnostics_dir: String,
):
- append_internal_diagnostic(
- "hyf_internal_error request_id=\""
+ append_internal_diagnostic_to_dir(
+ 'hyf_internal_error request_id="'
+ _diagnostic_value(request_id)
- + "\" trace_id=\""
+ + '" trace_id="'
+ _diagnostic_trace_id(trace_id)
- + "\" capability=\""
+ + '" capability="'
+ _diagnostic_value(capability)
- + "\" detail=\""
+ + '" detail="'
+ _diagnostic_value(detail)
- + "\"\n"
+ + '"\n',
+ diagnostics_dir,
)
@@ -185,8 +201,24 @@ def handle_request_with_control_builders[
status_builder: def() raises -> Value,
capabilities_builder: def() raises -> Value,
](request: WireRequest) raises -> String:
+ return handle_request_with_runtime_context_and_control_builders[
+ status_builder, capabilities_builder
+ ](request, resolve_startup_context_from_process())
+
+
+@parameter
+def handle_request_with_runtime_context_and_control_builders[
+ status_builder: def() raises -> Value,
+ capabilities_builder: def() raises -> Value,
+](
+ request: WireRequest,
+ runtime_context: RuntimeStartupContext,
+) raises -> String:
var request_id = String(request.request_id)
var trace_id = request.trace_id
+ var diagnostics_dir = effective_diagnostics_dir_for_runtime_paths(
+ runtime_context.paths
+ )
try:
if request.capability == "sys.status":
return encode_success(
@@ -215,6 +247,7 @@ def handle_request_with_control_builders[
trace_id,
String(request.capability),
String(e),
+ diagnostics_dir,
)
return encode_error(
WireErrorResponse(
@@ -232,6 +265,14 @@ def handle_request(request: WireRequest) raises -> String:
](request)
+def handle_request_with_runtime_context(
+ request: WireRequest, runtime_context: RuntimeStartupContext
+) raises -> String:
+ return handle_request_with_runtime_context_and_control_builders[
+ build_status_output, build_capabilities_output
+ ](request, runtime_context)
+
+
@parameter
def handle_request_line_with_control_builders[
status_builder: def() raises -> Value,
@@ -254,20 +295,58 @@ def handle_request_line_with_control_builders[
)
+@parameter
+def handle_request_line_with_runtime_context_and_control_builders[
+ status_builder: def() raises -> Value,
+ capabilities_builder: def() raises -> Value,
+](line: String, runtime_context: RuntimeStartupContext) raises -> String:
+ try:
+ var request = decode_request(line)
+ return handle_request_with_runtime_context_and_control_builders[
+ status_builder, capabilities_builder
+ ](request^, runtime_context)
+ except e:
+ var correlation = extract_request_correlation(line)
+ return encode_error(
+ WireErrorResponse(
+ version=hyf_protocol_version(),
+ request_id=correlation.request_id,
+ trace_id=correlation.trace_id,
+ error=invalid_request_error(String(e)),
+ )
+ )
+
+
def handle_request_line(line: String) raises -> String:
return handle_request_line_with_control_builders[
build_status_output, build_capabilities_output
](line)
+def handle_request_line_with_runtime_context(
+ line: String, runtime_context: RuntimeStartupContext
+) raises -> String:
+ return handle_request_line_with_runtime_context_and_control_builders[
+ build_status_output, build_capabilities_output
+ ](line, runtime_context)
+
+
def run_stdio_server() raises:
+ run_stdio_server_with_runtime_context(
+ resolve_startup_context_from_process()
+ )
+
+
+def run_stdio_server_with_runtime_context(
+ runtime_context: RuntimeStartupContext,
+) raises:
if stdin.isatty():
return
try:
var line = _read_request_line()
- print(handle_request_line(line))
+ print(handle_request_line_with_runtime_context(line, runtime_context))
except e:
if String(e) == "EOF":
return
diff --git a/src/main.mojo b/src/main.mojo
@@ -1,8 +1,7 @@
from hyf_runtime.startup import resolve_startup_context_from_process
-from hyf_stdio.server import run_stdio_server
+from hyf_stdio.server import run_stdio_server_with_runtime_context
def main() raises:
var startup_context = resolve_startup_context_from_process()
- _ = startup_context.paths.config_path
- run_stdio_server()
+ run_stdio_server_with_runtime_context(startup_context)
diff --git a/tests/internal_error_stdio_main.mojo b/tests/internal_error_stdio_main.mojo
@@ -3,7 +3,10 @@ from std.sys import stdin
from mojson import Value, loads
-from hyf_stdio.server import handle_request_line_with_control_builders
+from hyf_runtime.startup import resolve_startup_context_from_process
+from hyf_stdio.server import (
+ handle_request_line_with_runtime_context_and_control_builders,
+)
def _read_request_line() raises -> String:
@@ -24,8 +27,9 @@ def main() raises:
return
var line = _read_request_line()
+ var startup_context = resolve_startup_context_from_process()
print(
- handle_request_line_with_control_builders[
+ handle_request_line_with_runtime_context_and_control_builders[
_failing_status_output, _unused_capabilities_output
- ](line)
+ ](line, startup_context)
)
diff --git a/tests/stdio_process_helper.mojo b/tests/stdio_process_helper.mojo
@@ -2,11 +2,13 @@ import std.os
from std.os import Pipe, Process
from std.ffi import CStringSlice, c_int, external_call
from std.sys._libc import close, exit, vfork
+from std.tempfile import TemporaryDirectory
from mojson import Value, loads
-comptime HYF_DIAGNOSTICS_DIR_ENV = "HYF_DIAGNOSTICS_DIR"
+comptime HYF_PATHS_PROFILE_ENV = "HYF_PATHS_PROFILE"
+comptime HYF_PATHS_REPO_LOCAL_ROOT_ENV = "HYF_PATHS_REPO_LOCAL_ROOT"
struct ScopedEnvVar:
@@ -48,7 +50,9 @@ def _read_pipe_to_string(mut pipe: Pipe) raises -> String:
return output^
-def run_stdio_entrypoint(entrypoint: String, request_json: String) raises -> Value:
+def run_stdio_entrypoint(
+ entrypoint: String, request_json: String
+) raises -> Value:
var stdin_pipe = Pipe()
var stdout_pipe = Pipe()
var output = String("")
@@ -56,15 +60,9 @@ def run_stdio_entrypoint(entrypoint: String, request_json: String) raises -> Val
var include_flag = String("-I")
var include_path = String("src")
var entrypoint_path = String(entrypoint)
- var argv = List[Optional[CStringSlice[ImmutAnyOrigin]]](
- length=6, fill={}
- )
- argv[0] = rebind[CStringSlice[ImmutAnyOrigin]](
- command.as_c_string_slice()
- )
- argv[1] = rebind[CStringSlice[ImmutAnyOrigin]](
- "run".as_c_string_slice()
- )
+ var argv = List[Optional[CStringSlice[ImmutAnyOrigin]]](length=6, fill={})
+ argv[0] = rebind[CStringSlice[ImmutAnyOrigin]](command.as_c_string_slice())
+ argv[1] = rebind[CStringSlice[ImmutAnyOrigin]]("run".as_c_string_slice())
argv[2] = rebind[CStringSlice[ImmutAnyOrigin]](
include_flag.as_c_string_slice()
)
@@ -114,4 +112,9 @@ def run_stdio_entrypoint(entrypoint: String, request_json: String) raises -> Val
def run_hyf_stdio(request_json: String) raises -> Value:
- return run_stdio_entrypoint("src/main.mojo", request_json)
+ var response = Value(None)
+ with TemporaryDirectory() as temp_dir:
+ with ScopedEnvVar(HYF_PATHS_PROFILE_ENV, "repo_local"):
+ with ScopedEnvVar(HYF_PATHS_REPO_LOCAL_ROOT_ENV, temp_dir):
+ response = run_stdio_entrypoint("src/main.mojo", request_json)
+ return response^
diff --git a/tests/test_hyf.mojo b/tests/test_hyf.mojo
@@ -116,11 +116,11 @@ def _parse_manifest_quoted_value(value: String) raises -> String:
var trimmed = value.strip()
if (
trimmed.byte_length() < 2
- or not trimmed.startswith("\"")
- or not trimmed.endswith("\"")
+ or not trimmed.startswith('"')
+ or not trimmed.endswith('"')
):
raise Error("manifest assignment value must be quoted")
- return String(trimmed[byte=1 : trimmed.byte_length() - 1])
+ return String(trimmed[byte = 1 : trimmed.byte_length() - 1])
def _manifest_workspace_value(target_key: String) raises -> String:
@@ -147,7 +147,7 @@ def _manifest_workspace_value(target_key: String) raises -> String:
continue
return _parse_manifest_quoted_value(
- String(line[byte=equals_index + 1 :])
+ String(line[byte = equals_index + 1 :])
)
raise Error("missing workspace manifest key '" + target_key + "'")
@@ -169,7 +169,8 @@ def _array_string_values(value: Value) raises -> List[String]:
def test_decode_request_parses_context_and_input() raises:
var request = decode_request(
- '{"version":1,"request_id":"req-1","trace_id":"trace-1","capability":"query_rewrite","context":{"consumer":"radroots-cli","execution_mode_preference":"deterministic","return_provenance":true},"input":{"query":"eggs near me"}}'
+ '{"version":1,"request_id":"req-1","trace_id":"trace-1","capability":"query_rewrite","context":{"consumer":"radroots-cli","execution_mode_preference":"deterministic","return_provenance":true},"input":{"query":"eggs'
+ ' near me"}}'
)
assert_equal(request.version, 1)
@@ -177,9 +178,7 @@ def test_decode_request_parses_context_and_input() raises:
assert_equal(request.trace_id.value(), "trace-1")
assert_equal(request.capability, "query_rewrite")
assert_equal(request.context.consumer, "radroots-cli")
- assert_equal(
- request.context.execution_mode_preference, "deterministic"
- )
+ assert_equal(request.context.execution_mode_preference, "deterministic")
assert_equal(request.context.return_provenance, True)
assert_equal(request.input["query"].string_value(), "eggs near me")
@@ -213,7 +212,8 @@ def test_decode_request_rejects_unsupported_context_field() raises:
def test_decode_request_rejects_unsupported_scope_field() raises:
with assert_raises():
_ = decode_request(
- '{"version":1,"request_id":"req-scope-1","capability":"semantic_rank","context":{"scope":{"farm_ids":["farm-1"]}},"input":{"query":"eggs","candidates":[{"id":"lst_1","title":"Eggs","farm":"One Farm","delivery":"pickup","distance_km":1.0,"freshness_minutes":5}]}}'
+ '{"version":1,"request_id":"req-scope-1","capability":"semantic_rank","context":{"scope":{"farm_ids":["farm-1"]}},"input":{"query":"eggs","candidates":[{"id":"lst_1","title":"Eggs","farm":"One'
+ ' Farm","delivery":"pickup","distance_km":1.0,"freshness_minutes":5}]}}'
)
@@ -282,9 +282,7 @@ def test_current_build_identity_matches_manifest_package_surface() raises:
assert_equal(package_surface.package_name, manifest_package_name)
assert_equal(package_surface.package_version, manifest_package_version)
assert_equal(build_identity.package_name, manifest_package_name)
- assert_equal(
- build_identity.package_version, manifest_package_version
- )
+ assert_equal(build_identity.package_version, manifest_package_version)
def test_repo_local_fixture_manifest_declares_expected_scenarios() raises:
@@ -296,9 +294,7 @@ def test_repo_local_fixture_manifest_declares_expected_scenarios() raises:
"radroots-canonical-hyf-v1",
)
assert_equal(Int(manifest["schema_version"].int_value()), 1)
- assert_equal(
- manifest["family_kind"].string_value(), "wire_compatibility"
- )
+ assert_equal(manifest["family_kind"].string_value(), "wire_compatibility")
assert_equal(manifest["transport"].string_value(), "stdio")
assert_equal(
manifest["request_framing"].string_value(),
@@ -333,9 +329,7 @@ def test_repo_local_fixture_loader_reads_all_mirrored_scenarios() raises:
)
var status_scenario = load_fixture_scenario("scenarios/status_ok.json")
- assert_equal(
- status_scenario["fixture_id"].string_value(), "status_ok"
- )
+ assert_equal(status_scenario["fixture_id"].string_value(), "status_ok")
assert_equal(
status_scenario["request"]["capability"].string_value(),
"sys.status",
@@ -363,17 +357,20 @@ def test_fixture_loader_reads_top_level_request_and_expected_structurally() rais
with TemporaryDirectory() as temp_dir:
var scenario_path = Path(temp_dir) / "scenario.json"
scenario_path.write_text(
- '{'
+ "{"
+ '"fixture_id":"shadowed-top-level-fields",'
- + '"description":"this description mentions request and expected before the real fields",'
+ + '"description":"this description mentions request and expected'
+ ' before the real fields",'
+ '"request":{"version":1,"request_id":"shadow-1","capability":"sys.status","input":{}},'
+ '"expected":{"ok":true,"equals":{"output.kind":"status"}}'
- + '}'
+ + "}"
)
var scenario = load_fixture_json_file(scenario_path)
var request = load_fixture_scenario_request("scenarios/status_ok.json")
- var expected = load_fixture_scenario_expected("scenarios/status_ok.json")
+ var expected = load_fixture_scenario_expected(
+ "scenarios/status_ok.json"
+ )
var temp_request = load_fixture_top_level_field_from_path(
scenario_path, "request"
)
@@ -403,7 +400,9 @@ def test_fixture_loader_reads_top_level_request_and_expected_structurally() rais
def test_status_reports_registered_deterministic_ready() raises:
- var result = _dispatch(load_scenario_request_json("scenarios/status_ok.json"))
+ var result = _dispatch(
+ load_scenario_request_json("scenarios/status_ok.json")
+ )
assert_matches_scenario_response(result, "scenarios/status_ok.json")
@@ -431,12 +430,8 @@ def test_capabilities_output_reflects_registry_truth_for_all_business_capabiliti
)
assert_equal(
entry["implementation_status"].string_value(),
- "implemented"
- if capability.implemented
- else (
- "not_implemented"
- if capability.deterministic_enabled
- else "disabled"
+ "implemented" if capability.implemented else (
+ "not_implemented" if capability.deterministic_enabled else "disabled"
),
)
if capability.disabled_reason != "":
@@ -450,7 +445,9 @@ def test_capabilities_output_reflects_registry_truth_for_all_business_capabiliti
def test_disabled_capability_returns_capability_disabled() raises:
var result = _dispatch(
- load_scenario_request_json("scenarios/deferred_capability_disabled.json")
+ load_scenario_request_json(
+ "scenarios/deferred_capability_disabled.json"
+ )
)
assert_matches_scenario_response(
result, "scenarios/deferred_capability_disabled.json"
@@ -480,13 +477,13 @@ def test_non_callable_registry_business_capabilities_do_not_route_as_success() r
+ '","input":{}}'
)
assert_equal(Int(result["version"].int_value()), 1)
- assert_equal(result["request_id"].string_value(), capability.id + "-routing-1")
+ assert_equal(
+ result["request_id"].string_value(), capability.id + "-routing-1"
+ )
assert_equal(result["ok"].bool_value(), False)
assert_equal(
result["error"]["code"].string_value(),
- "capability_disabled"
- if not capability.deterministic_enabled
- else "capability_unavailable",
+ "capability_disabled" if not capability.deterministic_enabled else "capability_unavailable",
)
@@ -545,7 +542,8 @@ def test_query_rewrite_returns_deterministic_output() raises:
def test_query_rewrite_accepts_query_alias_with_same_behavior() raises:
var result = _dispatch(
- '{"version":1,"request_id":"rewrite-query-1","capability":"query_rewrite","input":{"query":"eggs near me with weekend pickup"}}'
+ '{"version":1,"request_id":"rewrite-query-1","capability":"query_rewrite","input":{"query":"eggs'
+ ' near me with weekend pickup"}}'
)
assert_equal(Int(result["version"].int_value()), 1)
@@ -573,7 +571,8 @@ def test_query_rewrite_rejects_unknown_input_field() raises:
def test_query_rewrite_rejects_text_and_query_together() raises:
var result = _dispatch(
- '{"version":1,"request_id":"rewrite-bad-dual-1","capability":"query_rewrite","input":{"text":"eggs near me","query":"eggs"}}'
+ '{"version":1,"request_id":"rewrite-bad-dual-1","capability":"query_rewrite","input":{"text":"eggs'
+ ' near me","query":"eggs"}}'
)
assert_equal(Int(result["version"].int_value()), 1)
@@ -598,7 +597,11 @@ def test_semantic_rank_returns_ranked_ids_and_reasons() raises:
def test_semantic_rank_scope_listing_ids_remains_effective() raises:
var result = _dispatch(
- '{"version":1,"request_id":"rank-scope-1","capability":"semantic_rank","context":{"scope":{"listing_ids":["lst_8k1p"]}},"input":{"query":"eggs","candidates":[{"id":"lst_7ak2","title":"Pasture eggs","farm":"La Huerta del Sur","delivery":"pickup","distance_km":3.2,"freshness_minutes":2},{"id":"lst_8k1p","title":"Free range eggs","farm":"Santa Elena","delivery":"delivery","distance_km":8.7,"freshness_minutes":18}]}}'
+ '{"version":1,"request_id":"rank-scope-1","capability":"semantic_rank","context":{"scope":{"listing_ids":["lst_8k1p"]}},"input":{"query":"eggs","candidates":[{"id":"lst_7ak2","title":"Pasture'
+ ' eggs","farm":"La Huerta del'
+ ' Sur","delivery":"pickup","distance_km":3.2,"freshness_minutes":2},{"id":"lst_8k1p","title":"Free'
+ ' range eggs","farm":"Santa'
+ ' Elena","delivery":"delivery","distance_km":8.7,"freshness_minutes":18}]}}'
)
assert_equal(Int(result["version"].int_value()), 1)
@@ -618,7 +621,10 @@ def test_semantic_rank_scope_listing_ids_remains_effective() raises:
def test_semantic_rank_rejects_unknown_top_level_field() raises:
var result = _dispatch(
- '{"version":1,"request_id":"rank-bad-top-1","capability":"semantic_rank","input":{"query":"eggs near me","candidates":[{"id":"lst_7ak2","title":"Pasture eggs","farm":"La Huerta del Sur","delivery":"pickup","distance_km":3.2,"freshness_minutes":2}],"tone":"brief"}}'
+ '{"version":1,"request_id":"rank-bad-top-1","capability":"semantic_rank","input":{"query":"eggs'
+ ' near me","candidates":[{"id":"lst_7ak2","title":"Pasture'
+ ' eggs","farm":"La Huerta del'
+ ' Sur","delivery":"pickup","distance_km":3.2,"freshness_minutes":2}],"tone":"brief"}}'
)
assert_equal(Int(result["version"].int_value()), 1)
@@ -626,31 +632,35 @@ def test_semantic_rank_rejects_unknown_top_level_field() raises:
assert_equal(result["request_id"].string_value(), "rank-bad-top-1")
assert_equal(result["error"]["code"].string_value(), "invalid_request")
assert_true(
- result["error"]["message"].string_value().find("unexpected field")
- >= 0
+ result["error"]["message"].string_value().find("unexpected field") >= 0
)
def test_semantic_rank_rejects_unknown_candidate_field() raises:
var result = _dispatch(
- '{"version":1,"request_id":"rank-bad-candidate-1","capability":"semantic_rank","input":{"query":"eggs near me","candidates":[{"id":"lst_7ak2","title":"Pasture eggs","farm":"La Huerta del Sur","delivery":"pickup","distance_km":3.2,"freshness_minutes":2,"rating":5}]}}'
+ '{"version":1,"request_id":"rank-bad-candidate-1","capability":"semantic_rank","input":{"query":"eggs'
+ ' near me","candidates":[{"id":"lst_7ak2","title":"Pasture'
+ ' eggs","farm":"La Huerta del'
+ ' Sur","delivery":"pickup","distance_km":3.2,"freshness_minutes":2,"rating":5}]}}'
)
assert_equal(Int(result["version"].int_value()), 1)
assert_equal(result["ok"].bool_value(), False)
- assert_equal(
- result["request_id"].string_value(), "rank-bad-candidate-1"
- )
+ assert_equal(result["request_id"].string_value(), "rank-bad-candidate-1")
assert_equal(result["error"]["code"].string_value(), "invalid_request")
assert_true(
- result["error"]["message"].string_value().find("unexpected field")
- >= 0
+ result["error"]["message"].string_value().find("unexpected field") >= 0
)
def test_semantic_rank_rejects_duplicate_candidate_ids() raises:
var result = _dispatch(
- '{"version":1,"request_id":"rank-dup-1","capability":"semantic_rank","input":{"query":"eggs near me","candidates":[{"id":"lst_dup","title":"Pasture eggs","farm":"La Huerta del Sur","delivery":"pickup","distance_km":3.2,"freshness_minutes":2},{"id":"lst_dup","title":"Free range eggs","farm":"Santa Elena","delivery":"delivery","distance_km":8.7,"freshness_minutes":18}]}}'
+ '{"version":1,"request_id":"rank-dup-1","capability":"semantic_rank","input":{"query":"eggs'
+ ' near me","candidates":[{"id":"lst_dup","title":"Pasture'
+ ' eggs","farm":"La Huerta del'
+ ' Sur","delivery":"pickup","distance_km":3.2,"freshness_minutes":2},{"id":"lst_dup","title":"Free'
+ ' range eggs","farm":"Santa'
+ ' Elena","delivery":"delivery","distance_km":8.7,"freshness_minutes":18}]}}'
)
assert_equal(Int(result["version"].int_value()), 1)
@@ -665,18 +675,18 @@ def test_semantic_rank_rejects_duplicate_candidate_ids() raises:
def test_semantic_rank_rejects_invalid_delivery_value() raises:
var result = _dispatch(
- '{"version":1,"request_id":"rank-bad-delivery-1","capability":"semantic_rank","input":{"query":"eggs near me","candidates":[{"id":"lst_7ak2","title":"Pasture eggs","farm":"La Huerta del Sur","delivery":"ship","distance_km":3.2,"freshness_minutes":2}]}}'
+ '{"version":1,"request_id":"rank-bad-delivery-1","capability":"semantic_rank","input":{"query":"eggs'
+ ' near me","candidates":[{"id":"lst_7ak2","title":"Pasture'
+ ' eggs","farm":"La Huerta del'
+ ' Sur","delivery":"ship","distance_km":3.2,"freshness_minutes":2}]}}'
)
assert_equal(Int(result["version"].int_value()), 1)
assert_equal(result["ok"].bool_value(), False)
- assert_equal(
- result["request_id"].string_value(), "rank-bad-delivery-1"
- )
+ assert_equal(result["request_id"].string_value(), "rank-bad-delivery-1")
assert_equal(result["error"]["code"].string_value(), "invalid_request")
assert_true(
- result["error"]["message"].string_value().find("must be one of")
- >= 0
+ result["error"]["message"].string_value().find("must be one of") >= 0
)
@@ -693,7 +703,11 @@ def test_explain_result_returns_deterministic_summary_and_provenance() raises:
def test_explain_result_accepts_result_alias() raises:
var result = _dispatch(
- '{"version":1,"request_id":"explain-result-1","capability":"explain_result","input":{"query":"eggs near me with weekend pickup","result":{"id":"lst_7ak2","title":"Pasture eggs","farm":"La Huerta del Sur","delivery":"pickup","distance_km":3.2,"freshness_minutes":2}}}'
+ '{"version":1,"request_id":"explain-result-1","capability":"explain_result","input":{"query":"eggs'
+ " near me with weekend"
+ ' pickup","result":{"id":"lst_7ak2","title":"Pasture eggs","farm":"La'
+ " Huerta del"
+ ' Sur","delivery":"pickup","distance_km":3.2,"freshness_minutes":2}}}'
)
assert_equal(Int(result["version"].int_value()), 1)
@@ -710,58 +724,59 @@ def test_explain_result_accepts_result_alias() raises:
def test_explain_result_rejects_unknown_top_level_field() raises:
var result = _dispatch(
- '{"version":1,"request_id":"explain-bad-top-1","capability":"explain_result","input":{"query":"eggs near me","candidate":{"id":"lst_7ak2","title":"Pasture eggs","farm":"La Huerta del Sur","delivery":"pickup","distance_km":3.2,"freshness_minutes":2},"tone":"brief"}}'
+ '{"version":1,"request_id":"explain-bad-top-1","capability":"explain_result","input":{"query":"eggs'
+ ' near me","candidate":{"id":"lst_7ak2","title":"Pasture'
+ ' eggs","farm":"La Huerta del'
+ ' Sur","delivery":"pickup","distance_km":3.2,"freshness_minutes":2},"tone":"brief"}}'
)
assert_equal(Int(result["version"].int_value()), 1)
assert_equal(result["ok"].bool_value(), False)
- assert_equal(
- result["request_id"].string_value(), "explain-bad-top-1"
- )
+ assert_equal(result["request_id"].string_value(), "explain-bad-top-1")
assert_equal(result["error"]["code"].string_value(), "invalid_request")
assert_true(
- result["error"]["message"].string_value().find("unexpected field")
- >= 0
+ result["error"]["message"].string_value().find("unexpected field") >= 0
)
def test_explain_result_rejects_unknown_candidate_field() raises:
var result = _dispatch(
- '{"version":1,"request_id":"explain-bad-candidate-1","capability":"explain_result","input":{"query":"eggs near me","candidate":{"id":"lst_7ak2","title":"Pasture eggs","farm":"La Huerta del Sur","delivery":"pickup","distance_km":3.2,"freshness_minutes":2,"rating":5}}}'
+ '{"version":1,"request_id":"explain-bad-candidate-1","capability":"explain_result","input":{"query":"eggs'
+ ' near me","candidate":{"id":"lst_7ak2","title":"Pasture'
+ ' eggs","farm":"La Huerta del'
+ ' Sur","delivery":"pickup","distance_km":3.2,"freshness_minutes":2,"rating":5}}}'
)
assert_equal(Int(result["version"].int_value()), 1)
assert_equal(result["ok"].bool_value(), False)
- assert_equal(
- result["request_id"].string_value(), "explain-bad-candidate-1"
- )
+ assert_equal(result["request_id"].string_value(), "explain-bad-candidate-1")
assert_equal(result["error"]["code"].string_value(), "invalid_request")
assert_true(
- result["error"]["message"].string_value().find("unexpected field")
- >= 0
+ result["error"]["message"].string_value().find("unexpected field") >= 0
)
def test_explain_result_rejects_invalid_delivery_value() raises:
var result = _dispatch(
- '{"version":1,"request_id":"explain-bad-delivery-1","capability":"explain_result","input":{"query":"eggs near me","candidate":{"id":"lst_7ak2","title":"Pasture eggs","farm":"La Huerta del Sur","delivery":"ship","distance_km":3.2,"freshness_minutes":2}}}'
+ '{"version":1,"request_id":"explain-bad-delivery-1","capability":"explain_result","input":{"query":"eggs'
+ ' near me","candidate":{"id":"lst_7ak2","title":"Pasture'
+ ' eggs","farm":"La Huerta del'
+ ' Sur","delivery":"ship","distance_km":3.2,"freshness_minutes":2}}}'
)
assert_equal(Int(result["version"].int_value()), 1)
assert_equal(result["ok"].bool_value(), False)
- assert_equal(
- result["request_id"].string_value(), "explain-bad-delivery-1"
- )
+ assert_equal(result["request_id"].string_value(), "explain-bad-delivery-1")
assert_equal(result["error"]["code"].string_value(), "invalid_request")
assert_true(
- result["error"]["message"].string_value().find("must be one of")
- >= 0
+ result["error"]["message"].string_value().find("must be one of") >= 0
)
def test_semantic_rank_invalid_input_returns_invalid_request() raises:
var result = _dispatch(
- '{"version":1,"request_id":"rank-bad-1","trace_id":"trace-rank-bad-1","capability":"semantic_rank","input":{"query":"eggs near me with weekend pickup","candidates":[]}}'
+ '{"version":1,"request_id":"rank-bad-1","trace_id":"trace-rank-bad-1","capability":"semantic_rank","input":{"query":"eggs'
+ ' near me with weekend pickup","candidates":[]}}'
)
assert_equal(Int(result["version"].int_value()), 1)
@@ -782,19 +797,21 @@ def test_missing_input_returns_invalid_request() raises:
assert_equal(Int(result["version"].int_value()), 1)
assert_equal(result["ok"].bool_value(), False)
assert_equal(result["request_id"].string_value(), "missing-input-1")
- assert_equal(
- result["trace_id"].string_value(), "trace-missing-input-1"
- )
+ assert_equal(result["trace_id"].string_value(), "trace-missing-input-1")
assert_equal(result["error"]["code"].string_value(), "invalid_request")
assert_true(
- result["error"]["message"].string_value().find("field 'input' is required")
+ result["error"]["message"]
+ .string_value()
+ .find("field 'input' is required")
>= 0
)
def test_assisted_request_returns_backend_unavailable() raises:
var result = _dispatch(
- load_scenario_request_json("scenarios/assisted_backend_unavailable.json")
+ load_scenario_request_json(
+ "scenarios/assisted_backend_unavailable.json"
+ )
)
assert_matches_scenario_response(
result, "scenarios/assisted_backend_unavailable.json"
@@ -805,12 +822,8 @@ def test_invalid_request_preserves_request_and_trace_correlation() raises:
var result = _dispatch(status_request_with_invalid_version_json())
assert_equal(Int(result["version"].int_value()), 1)
- assert_equal(
- result["request_id"].string_value(), "status-fixture-1"
- )
- assert_equal(
- result["trace_id"].string_value(), "trace-status-fixture-1"
- )
+ assert_equal(result["request_id"].string_value(), "status-fixture-1")
+ assert_equal(result["trace_id"].string_value(), "trace-status-fixture-1")
assert_equal(result["ok"].bool_value(), False)
assert_equal(result["error"]["code"].string_value(), "invalid_request")
assert_true(
@@ -819,25 +832,28 @@ def test_invalid_request_preserves_request_and_trace_correlation() raises:
def test_internal_error_is_bounded_on_wire() raises:
- var result = loads(
- handle_request_line_with_control_builders[
- _failing_status_output, build_capabilities_output
- ](
- '{"version":1,"request_id":"status-internal-1","trace_id":"trace-status-internal-1","capability":"sys.status","input":{}}'
- )
- )
+ with TemporaryDirectory() as temp_dir:
+ var diagnostics_dir = Path(temp_dir) / "hyf-internal-diagnostics"
+ with ScopedEnvVar(
+ _HYF_DIAGNOSTICS_DIR_ENV, diagnostics_dir.__fspath__()
+ ):
+ var result = loads(
+ handle_request_line_with_control_builders[
+ _failing_status_output, build_capabilities_output
+ ](
+ '{"version":1,"request_id":"status-internal-1","trace_id":"trace-status-internal-1","capability":"sys.status","input":{}}'
+ )
+ )
+
+ _assert_internal_error_is_bounded(result)
+
+def _assert_internal_error_is_bounded(result: Value) raises:
assert_equal(Int(result["version"].int_value()), 1)
- assert_equal(
- result["request_id"].string_value(), "status-internal-1"
- )
- assert_equal(
- result["trace_id"].string_value(), "trace-status-internal-1"
- )
+ assert_equal(result["request_id"].string_value(), "status-internal-1")
+ assert_equal(result["trace_id"].string_value(), "trace-status-internal-1")
assert_equal(result["ok"].bool_value(), False)
- assert_equal(
- result["error"]["code"].string_value(), "internal_error"
- )
+ assert_equal(result["error"]["code"].string_value(), "internal_error")
assert_equal(
result["error"]["message"].string_value(),
_EXPECTED_INTERNAL_ERROR_MESSAGE,
diff --git a/tests/test_stdio_contract.mojo b/tests/test_stdio_contract.mojo
@@ -11,7 +11,8 @@ from fixture_assertions import (
status_request_with_invalid_version_json,
)
from stdio_process_helper import (
- HYF_DIAGNOSTICS_DIR_ENV,
+ HYF_PATHS_PROFILE_ENV,
+ HYF_PATHS_REPO_LOCAL_ROOT_ENV,
ScopedEnvVar,
run_hyf_stdio,
run_stdio_entrypoint,
@@ -21,6 +22,8 @@ from stdio_process_helper import (
comptime _EXPECTED_INTERNAL_ERROR_MESSAGE = (
"internal hyf daemon error; inspect local diagnostics"
)
+
+
def _has_key(value: Value, key: String) -> Bool:
for candidate in value.object_keys():
if candidate == key:
@@ -46,19 +49,17 @@ def test_invalid_envelope_preserves_correlation() raises:
var response = run_hyf_stdio(status_request_with_invalid_version_json())
assert_equal(Int(response["version"].int_value()), 1)
- assert_equal(
- response["request_id"].string_value(), "status-fixture-1"
- )
- assert_equal(
- response["trace_id"].string_value(), "trace-status-fixture-1"
- )
+ assert_equal(response["request_id"].string_value(), "status-fixture-1")
+ assert_equal(response["trace_id"].string_value(), "trace-status-fixture-1")
assert_true(not response["ok"].bool_value())
assert_equal(response["error"]["code"].string_value(), "invalid_request")
def test_assisted_request_fails_explicitly() raises:
var response = run_hyf_stdio(
- load_scenario_request_json("scenarios/assisted_backend_unavailable.json")
+ load_scenario_request_json(
+ "scenarios/assisted_backend_unavailable.json"
+ )
)
assert_matches_scenario_response(
response, "scenarios/assisted_backend_unavailable.json"
@@ -67,7 +68,9 @@ def test_assisted_request_fails_explicitly() raises:
def test_deferred_capability_returns_disabled_error() raises:
var response = run_hyf_stdio(
- load_scenario_request_json("scenarios/deferred_capability_disabled.json")
+ load_scenario_request_json(
+ "scenarios/deferred_capability_disabled.json"
+ )
)
assert_matches_scenario_response(
response, "scenarios/deferred_capability_disabled.json"
@@ -120,7 +123,10 @@ def test_strict_query_rewrite_failure() raises:
def test_strict_semantic_rank_failure() raises:
var response = run_hyf_stdio(
- '{"version":1,"request_id":"rank-bad-proc-1","capability":"semantic_rank","input":{"query":"eggs near me","candidates":[{"id":"lst_7ak2","title":"Pasture eggs","farm":"La Huerta del Sur","delivery":"pickup","distance_km":3.2,"freshness_minutes":2,"rating":5}]}}'
+ '{"version":1,"request_id":"rank-bad-proc-1","capability":"semantic_rank","input":{"query":"eggs'
+ ' near me","candidates":[{"id":"lst_7ak2","title":"Pasture'
+ ' eggs","farm":"La Huerta del'
+ ' Sur","delivery":"pickup","distance_km":3.2,"freshness_minutes":2,"rating":5}]}}'
)
assert_true(not response["ok"].bool_value())
@@ -133,13 +139,20 @@ def test_strict_semantic_rank_failure() raises:
def test_duplicate_candidate_ids_fail_explicitly() raises:
var response = run_hyf_stdio(
- '{"version":1,"request_id":"rank-dup-proc-1","capability":"semantic_rank","input":{"query":"eggs near me","candidates":[{"id":"lst_dup","title":"Pasture eggs","farm":"La Huerta del Sur","delivery":"pickup","distance_km":3.2,"freshness_minutes":2},{"id":"lst_dup","title":"Free range eggs","farm":"Santa Elena","delivery":"delivery","distance_km":8.7,"freshness_minutes":18}]}}'
+ '{"version":1,"request_id":"rank-dup-proc-1","capability":"semantic_rank","input":{"query":"eggs'
+ ' near me","candidates":[{"id":"lst_dup","title":"Pasture'
+ ' eggs","farm":"La Huerta del'
+ ' Sur","delivery":"pickup","distance_km":3.2,"freshness_minutes":2},{"id":"lst_dup","title":"Free'
+ ' range eggs","farm":"Santa'
+ ' Elena","delivery":"delivery","distance_km":8.7,"freshness_minutes":18}]}}'
)
assert_true(not response["ok"].bool_value())
assert_equal(response["error"]["code"].string_value(), "invalid_request")
assert_true(
- response["error"]["message"].string_value().find("duplicate candidate id")
+ response["error"]["message"]
+ .string_value()
+ .find("duplicate candidate id")
>= 0
)
@@ -152,81 +165,85 @@ def test_missing_input_fails_explicitly() raises:
assert_true(not response["ok"].bool_value())
assert_equal(response["error"]["code"].string_value(), "invalid_request")
assert_true(
- response["error"]["message"].string_value().find("field 'input' is required")
+ response["error"]["message"]
+ .string_value()
+ .find("field 'input' is required")
>= 0
)
def test_internal_error_is_bounded_on_wire() raises:
- var response = run_stdio_entrypoint(
- "tests/internal_error_stdio_main.mojo",
- '{"version":1,"request_id":"status-internal-proc-1","trace_id":"trace-status-internal-proc-1","capability":"sys.status","input":{}}',
- )
+ with TemporaryDirectory() as temp_dir:
+ with ScopedEnvVar(HYF_PATHS_PROFILE_ENV, "repo_local"):
+ with ScopedEnvVar(HYF_PATHS_REPO_LOCAL_ROOT_ENV, temp_dir):
+ var response = run_stdio_entrypoint(
+ "tests/internal_error_stdio_main.mojo",
+ '{"version":1,"request_id":"status-internal-proc-1","trace_id":"trace-status-internal-proc-1","capability":"sys.status","input":{}}',
+ )
- assert_equal(Int(response["version"].int_value()), 1)
- assert_equal(
- response["request_id"].string_value(),
- "status-internal-proc-1",
- )
- assert_equal(
- response["trace_id"].string_value(),
- "trace-status-internal-proc-1",
- )
- assert_true(not response["ok"].bool_value())
- assert_equal(
- response["error"]["code"].string_value(), "internal_error"
- )
- assert_equal(
- response["error"]["message"].string_value(),
- _EXPECTED_INTERNAL_ERROR_MESSAGE,
- )
- assert_true(
- response["error"]["message"].string_value().find("simulated test-only")
- < 0
- )
+ assert_equal(Int(response["version"].int_value()), 1)
+ assert_equal(
+ response["request_id"].string_value(),
+ "status-internal-proc-1",
+ )
+ assert_equal(
+ response["trace_id"].string_value(),
+ "trace-status-internal-proc-1",
+ )
+ assert_true(not response["ok"].bool_value())
+ assert_equal(
+ response["error"]["code"].string_value(), "internal_error"
+ )
+ assert_equal(
+ response["error"]["message"].string_value(),
+ _EXPECTED_INTERNAL_ERROR_MESSAGE,
+ )
+ assert_true(
+ response["error"]["message"]
+ .string_value()
+ .find("simulated test-only")
+ < 0
+ )
-def test_internal_error_records_detail_in_explicit_diagnostics_dir() raises:
+def test_internal_error_records_detail_in_canonical_runtime_diagnostics_dir() raises:
with TemporaryDirectory() as temp_dir:
- var diagnostics_dir = Path(temp_dir) / "hyf-internal-diagnostics"
- with ScopedEnvVar(
- HYF_DIAGNOSTICS_DIR_ENV, diagnostics_dir.__fspath__()
- ):
- var response = run_stdio_entrypoint(
- "tests/internal_error_stdio_main.mojo",
- '{"version":1,"request_id":"status-internal-proc-diag-1","trace_id":"trace-status-internal-proc-diag-1","capability":"sys.status","input":{}}',
- )
-
- assert_true(not response["ok"].bool_value())
- assert_equal(
- response["error"]["code"].string_value(),
- "internal_error",
- )
- assert_true(exists(diagnostics_dir))
-
- var entries = std.os.listdir(diagnostics_dir)
- assert_equal(len(entries), 1)
- assert_true(entries[0].startswith("hyf-internal-error-pid-"))
-
- var content = (diagnostics_dir / entries[0]).read_text()
- assert_true(
- content.find(
- 'request_id="status-internal-proc-diag-1"'
+ var diagnostics_dir = (
+ Path(temp_dir) / "logs" / "services" / "hyf" / "diagnostics"
+ )
+ with ScopedEnvVar(HYF_PATHS_PROFILE_ENV, "repo_local"):
+ with ScopedEnvVar(HYF_PATHS_REPO_LOCAL_ROOT_ENV, temp_dir):
+ var response = run_stdio_entrypoint(
+ "tests/internal_error_stdio_main.mojo",
+ '{"version":1,"request_id":"status-internal-proc-diag-1","trace_id":"trace-status-internal-proc-diag-1","capability":"sys.status","input":{}}',
+ )
+
+ assert_true(not response["ok"].bool_value())
+ assert_equal(
+ response["error"]["code"].string_value(),
+ "internal_error",
+ )
+ assert_true(exists(diagnostics_dir))
+
+ var entries = std.os.listdir(diagnostics_dir)
+ assert_equal(len(entries), 1)
+ assert_true(entries[0].startswith("hyf-internal-error-pid-"))
+
+ var content = (diagnostics_dir / entries[0]).read_text()
+ assert_true(
+ content.find('request_id="status-internal-proc-diag-1"')
+ >= 0
)
- >= 0
- )
- assert_true(
- content.find(
- 'trace_id="trace-status-internal-proc-diag-1"'
+ assert_true(
+ content.find('trace_id="trace-status-internal-proc-diag-1"')
+ >= 0
)
- >= 0
- )
- assert_true(
- content.find(
- 'detail="simulated test-only status builder failure"'
+ assert_true(
+ content.find(
+ 'detail="simulated test-only status builder failure"'
+ )
+ >= 0
)
- >= 0
- )
def main() raises: