Skip to content

Add resumable deep permutation passes for unmatched functions - #139

Merged
RetroGameDeveloper merged 7 commits into
mainfrom
feat/persistent-deep-permutation
Oct 29, 2026
Merged

RetroGameDeveloper merged 7 commits into
mainfrom
feat/persistent-deep-permutation

Conversation

@RetroGameDeveloper

Copy link
Copy Markdown

Summary

  • Add a project-wide Deep permutation pass alongside the existing untested-function workflow. It processes one unmatched function at a time through the existing local/random searches and ordinary ROM or imported-project judges.
  • Persist per-function bounded-pass completion, budget, input signature, result and errors. Completed unchanged work is skipped; interrupted work resumes, and changed source/build inputs become eligible again. Single-function deep searches publish the same history.
  • Persist queue intent across app restarts. Provide per-function time/variant limits, progress, cancellation, an explicit repeat option and function-drawer history. Defaults are five minutes / 10,000 variants per function.
  • Respect claims and wait for scored C rather than marking busy or unprepared functions complete. Unchanged invalid candidates remain visible as errors; no paid helper is launched.
  • Detach long-job polling when navigating between projects without cancelling the background work.

Verification

  • pytest -q tests/test_deep_sweep.py tests/test_deep_permuter.py tests/test_gui.py tests/test_app_server.py: 102 passed.
  • Repository Ruff, JS syntax checks and git diff --check passed.
  • Isolated real owned N64 project/database copy: completed three real bounded turns, cancelled the queue, verified claims were released and completion records survived reopening. Existing matched progress was unchanged. No live project writes were used for testing.
  • ROM and imported-project paths covered in the scheduler/search tests; existing ordinary judges and match gates are unchanged.

Scope

A completed pass means its bounded turn finished, not an exhaustive search of all possible C. Functions without usable scored C wait; permanent errors are not marked completed. Only exact judge results count as matches.

@github-actions github-actions Bot added the enhancement New feature or request label Oct 28, 2026
@RetroGameDeveloper
RetroGameDeveloper merged commit 0111ffb into main Oct 29, 2026
6 checks passed
@RetroGameDeveloper
RetroGameDeveloper deleted the feat/persistent-deep-permutation branch October 29, 2026 20:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant