haliosai-cli 2.0.2__tar.gz → 2.0.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. {haliosai_cli-2.0.2/haliosai_cli.egg-info → haliosai_cli-2.0.4}/PKG-INFO +1 -1
  2. haliosai_cli-2.0.4/halios_cli/_version.py +1 -0
  3. {haliosai_cli-2.0.2 → haliosai_cli-2.0.4}/halios_cli/cli_eval.py +13 -0
  4. {haliosai_cli-2.0.2 → haliosai_cli-2.0.4/haliosai_cli.egg-info}/PKG-INFO +1 -1
  5. {haliosai_cli-2.0.2 → haliosai_cli-2.0.4}/tests/test_cli_surface.py +19 -0
  6. haliosai_cli-2.0.2/halios_cli/_version.py +0 -1
  7. {haliosai_cli-2.0.2 → haliosai_cli-2.0.4}/LICENSE +0 -0
  8. {haliosai_cli-2.0.2 → haliosai_cli-2.0.4}/MANIFEST.in +0 -0
  9. {haliosai_cli-2.0.2 → haliosai_cli-2.0.4}/README.md +0 -0
  10. {haliosai_cli-2.0.2 → haliosai_cli-2.0.4}/halios_cli/__init__.py +0 -0
  11. {haliosai_cli-2.0.2 → haliosai_cli-2.0.4}/halios_cli/cli.py +0 -0
  12. {haliosai_cli-2.0.2 → haliosai_cli-2.0.4}/halios_cli/cli_auth.py +0 -0
  13. {haliosai_cli-2.0.2 → haliosai_cli-2.0.4}/halios_cli/cli_optimize.py +0 -0
  14. {haliosai_cli-2.0.2 → haliosai_cli-2.0.4}/halios_cli/cli_project.py +0 -0
  15. {haliosai_cli-2.0.2 → haliosai_cli-2.0.4}/halios_cli/cli_scenario.py +0 -0
  16. {haliosai_cli-2.0.2 → haliosai_cli-2.0.4}/halios_cli/cli_support.py +0 -0
  17. {haliosai_cli-2.0.2 → haliosai_cli-2.0.4}/halios_cli/cli_trace.py +0 -0
  18. {haliosai_cli-2.0.2 → haliosai_cli-2.0.4}/halios_cli/py.typed +0 -0
  19. {haliosai_cli-2.0.2 → haliosai_cli-2.0.4}/halios_cli/schemas/__init__.py +0 -0
  20. {haliosai_cli-2.0.2 → haliosai_cli-2.0.4}/halios_cli/schemas/eval.schema.json +0 -0
  21. {haliosai_cli-2.0.2 → haliosai_cli-2.0.4}/halios_cli/schemas/scenarios.schema.json +0 -0
  22. {haliosai_cli-2.0.2 → haliosai_cli-2.0.4}/haliosai_cli.egg-info/SOURCES.txt +0 -0
  23. {haliosai_cli-2.0.2 → haliosai_cli-2.0.4}/haliosai_cli.egg-info/dependency_links.txt +0 -0
  24. {haliosai_cli-2.0.2 → haliosai_cli-2.0.4}/haliosai_cli.egg-info/entry_points.txt +0 -0
  25. {haliosai_cli-2.0.2 → haliosai_cli-2.0.4}/haliosai_cli.egg-info/requires.txt +0 -0
  26. {haliosai_cli-2.0.2 → haliosai_cli-2.0.4}/haliosai_cli.egg-info/top_level.txt +0 -0
  27. {haliosai_cli-2.0.2 → haliosai_cli-2.0.4}/pyproject.toml +0 -0
  28. {haliosai_cli-2.0.2 → haliosai_cli-2.0.4}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: haliosai-cli
3
- Version: 2.0.2
3
+ Version: 2.0.4
4
4
  Summary: Halios CLI for coding-agent evaluations, guardrails, and OpenTelemetry evidence
5
5
  Author-email: HaliosLabs <support@halios.ai>
6
6
  License-Expression: Apache-2.0
@@ -0,0 +1 @@
1
+ __version__ = "2.0.4"
@@ -344,6 +344,19 @@ def _eval_quality_gaps(eval_plan: dict[str, Any], scenarios: list[dict[str, Any]
344
344
  f"Scenario '{scenario_id}': constraints prescribe an assistant answer; "
345
345
  "describe the user pressure and let checks grade the outcome"
346
346
  )
347
+ simulator_context = scenario.get("simulator_context")
348
+ arc_messages = scenario.get("arc_messages") or []
349
+ max_turns = int(scenario.get("max_turns") or 1)
350
+ if (
351
+ (max_turns > 1 or len(arc_messages) > 0)
352
+ and not simulator_context
353
+ and scenario.get("generation_mode") != "single-turn"
354
+ ):
355
+ gaps.append(
356
+ f"Scenario '{scenario_id}': simulator_context is empty for a multi-turn scenario; "
357
+ "populate private user facts/preferences/state in simulator_context so the simulator "
358
+ "can reveal them dynamically upon agent request"
359
+ )
347
360
  return list(dict.fromkeys(gaps))
348
361
 
349
362
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: haliosai-cli
3
- Version: 2.0.2
3
+ Version: 2.0.4
4
4
  Summary: Halios CLI for coding-agent evaluations, guardrails, and OpenTelemetry evidence
5
5
  Author-email: HaliosLabs <support@halios.ai>
6
6
  License-Expression: Apache-2.0
@@ -190,3 +190,22 @@ def test_adapter_receives_only_agent_context(tmp_path) -> None:
190
190
  assert outcome == "completed"
191
191
  assert stop_reason == "goal_resolved"
192
192
  assert error == {}
193
+
194
+
195
+ def test_eval_quality_gaps_flags_empty_simulator_context() -> None:
196
+ from halios_cli.cli_eval import _eval_quality_gaps
197
+
198
+ scenarios = [
199
+ {
200
+ "id": "multi-turn-missing-context",
201
+ "title": "Account check",
202
+ "goal": "Verify email check",
203
+ "initial_message": "Hi",
204
+ "agent_context": {},
205
+ "simulator_context": {},
206
+ "arc_messages": ["Provide email when asked"],
207
+ "max_turns": 4,
208
+ }
209
+ ]
210
+ gaps = _eval_quality_gaps(eval_plan={}, scenarios=scenarios)
211
+ assert any("simulator_context is empty for a multi-turn scenario" in gap for gap in gaps)
@@ -1 +0,0 @@
1
- __version__ = "2.0.2"
File without changes
File without changes
File without changes
File without changes