Skip to content

Anytime generator search: time_budget and per-stage timings - #49

Merged
Autoplectic merged 5 commits into
mainfrom
anytime-pipeline
Nov 12, 2026
Merged

Autoplectic merged 5 commits into
mainfrom
anytime-pipeline

Conversation

@Autoplectic

Copy link
Copy Markdown
Member

Summary

  • generative_model, generative_model_from_bidirectional and minimal_wyner_model take time_budget (seconds). The pipeline checks the budget before each stage, between line-split seeds and between coupled-search sizes. Once it's spent, the remaining stages are logged as skipped: time budget exhausted and the best verified bracket so far is returned, with GenerativeModelResult.budget_exhausted = True (also in the reliability summary). A single long stage can still overrun the budget.
  • Every stage-log entry records elapsed seconds since the search started, so slow stages show up in survey records.

Motivation: in a random 4-state survey, 30 of the 39 cases that reached the full pipeline hit the 1500 s hard timeout and lost both bounds.

Test plan

  • time_budget=0 on a survey process returns the epsilon-machine bracket with budget_exhausted, skips the expensive stages, and timestamps every entry.
  • An unlimited budget is not reported as exhausted.
  • test_generative_model.py; ruff; ty (no new warnings).

Made with Cursor

Ryan James and others added 5 commits November 10, 2026 21:54
…stage

Co-authored-by: Cursor <cursoragent@cursor.com>
…search

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>

# Conflicts:
#	CHANGELOG.md
Co-authored-by: Cursor <cursoragent@cursor.com>

# Conflicts:
#	CHANGELOG.md
@Autoplectic
Autoplectic merged commit 91c8a4b into main Nov 12, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant