infospace-bench/tests
tegwick 110c78b9ad IB-WP-0019-T05: state-hub token-event emission with failure isolation
Emit one record_token_event payload per completed generate run, derived
from the just-recorded usage rollup. tokens_in/out come from the
rollup, model defaults to the dominant model used (or "mixed" when
buckets disagree), agent="infospace-bench", ref_type="session", and
ref_id="<slug>/run-<run_index>". The note carries the infospace slug,
workspace, snapshot_id, and any known/estimated cost so the hub event
is self-describing.

Failure isolation: any exception from the HTTP poster (hub down,
timeout, 5xx) is caught, logged to stderr, and reported as
status=failed; the generate run still completes. INFOSPACE_BENCH_HUB_URL
overrides the default http://127.0.0.1:8000 base;
INFOSPACE_BENCH_DISABLE_HUB_TOKEN_EVENTS skips emission entirely.

Tests cover the happy path, the disable env var, poster failure, the
no-usage skip, multi-model coalescing to "mixed", and an end-to-end
run_generation against an unbindable hub port to prove the run survives
when the hub is unreachable. 116 tests pass.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-17 20:33:29 +02:00
..
test_agentic_memory_profile.py Agentic memory profile 2026-05-15 16:01:35 +02:00
test_archive.py archive: include contracts/, schemas/; report skipped top-level dirs 2026-05-17 12:21:19 +02:00
test_budget_registry.py IB-WP-0019-T05: state-hub token-event emission with failure isolation 2026-05-17 20:33:29 +02:00
test_cli.py IB-WP-0014: archive-list, restore, retention annotation, docs (T03-T05) 2026-05-17 11:46:23 +02:00
test_engine_boundary.py engine and lifecycle 2026-05-14 16:26:42 +02:00
test_epub3_intake.py IB-WP-0016-T02: chapter-aware chunking and stable IDs 2026-05-17 15:52:47 +02:00
test_evaluation.py Initial implementation 2026-05-14 11:32:25 +02:00
test_evaluation_history.py eval history and metrics 2026-05-14 15:35:04 +02:00
test_generic_generator.py generic source-to-infospace generator 2026-05-14 19:33:22 +02:00
test_inspection.py Initial implementation 2026-05-14 11:32:25 +02:00
test_legacy_pilot.py Kontextual Engine Integration Boundary 2026-05-14 16:43:29 +02:00
test_lifecycle.py Initial implementation 2026-05-14 11:32:25 +02:00
test_markdown_adapter.py markitect-tool integration 2026-05-14 14:53:16 +02:00
test_plan_scale.py IB-WP-0016-T03: scale-aware planning 2026-05-17 18:18:09 +02:00
test_reference_pilot.py Initial implementation 2026-05-14 11:32:25 +02:00
test_replacement_readiness.py command parity and migration guide 2026-05-14 17:16:39 +02:00
test_semantics.py entity relationship model 2026-05-14 15:06:17 +02:00
test_trading_literature_profile.py IB-WP-0016-T04: trading-literature profile 2026-05-17 18:59:45 +02:00
test_wealth_vsm_generation.py infospace pipeline for wealth of nations example 2026-05-14 18:04:38 +02:00
test_workflow.py acceptance matrix and workflow generation 2026-05-14 16:01:32 +02:00