infospace-bench/src/infospace_bench
tegwick 182f7011bb IB-WP-0019-T01: plan snapshot persistence
Every generate plan invocation now appends its compact summary to
output/budget/plans.yaml with a deterministic 12-char snapshot_id
hashed over the selection filters and the estimated call/token/cost
totals. Identical-fingerprint plans refresh the most recent entry's
recorded_at instead of stacking duplicates. Retention defaults to the
last 50 snapshots; older entries are pruned and counted on a top-level
pruned_count field.

The summary now echoes its input filters (chapter_filter, chunk_filter,
from_chapter, to_chapter) so reviewers can read the snapshot without
cross-referencing the CLI invocation.

New module src/infospace_bench/budget.py owns layer 1 (per-infospace
recording) of the IB-WP-0019 three-layer design; layer 2 still belongs
in llm-connect LLM-WP-0004 and layer 3 in state-hub.

99 tests pass.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-17 19:19:35 +02:00
..
profiles IB-WP-0016-T04: trading-literature profile 2026-05-17 18:59:45 +02:00
__init__.py IB-WP-0014: archive-list, restore, retention annotation, docs (T03-T05) 2026-05-17 11:46:23 +02:00
__main__.py Initial implementation 2026-05-14 11:32:25 +02:00
archive.py archive: include contracts/, schemas/; report skipped top-level dirs 2026-05-17 12:21:19 +02:00
budget.py IB-WP-0019-T01: plan snapshot persistence 2026-05-17 19:19:35 +02:00
checks.py Initial implementation 2026-05-14 11:32:25 +02:00
cli.py IB-WP-0016-T03: scale-aware planning 2026-05-17 18:18:09 +02:00
engine.py engine and lifecycle 2026-05-14 16:26:42 +02:00
errors.py Initial implementation 2026-05-14 11:32:25 +02:00
evaluation.py eval history and metrics 2026-05-14 15:35:04 +02:00
evaluation_io.py infospace pipeline for wealth of nations example 2026-05-14 18:04:38 +02:00
generation.py infospace pipeline for wealth of nations example 2026-05-14 18:04:38 +02:00
generator.py IB-WP-0019-T01: plan snapshot persistence 2026-05-17 19:19:35 +02:00
history.py eval history and metrics 2026-05-14 15:35:04 +02:00
inspection.py Initial implementation 2026-05-14 11:32:25 +02:00
lifecycle.py engine and lifecycle 2026-05-14 16:26:42 +02:00
markdown_adapter.py acceptance matrix and workflow generation 2026-05-14 16:01:32 +02:00
models.py Initial implementation 2026-05-14 11:32:25 +02:00
openrouter.py generic source-to-infospace generator 2026-05-14 19:33:22 +02:00
semantics.py entity relationship model 2026-05-14 15:06:17 +02:00
source_intake.py IB-WP-0016-T02: chapter-aware chunking and stable IDs 2026-05-17 15:52:47 +02:00
viability.py Initial implementation 2026-05-14 11:32:25 +02:00
workflow.py generic source-to-infospace generator 2026-05-14 19:33:22 +02:00