Skip to content

feat: accept SolverConfigOverride (with_override, solve_with_override) - #198

Merged
blackopsrepl merged 2 commits into
mainfrom
feature/197-config-override
Nov 5, 2026
Merged

blackopsrepl merged 2 commits into
mainfrom
feature/197-config-override

Conversation

@blackopsrepl

Copy link
Copy Markdown
Collaborator

Closes #197. Base main @ 62388fea, two commits:

  • a73be457 feat(config): apply a SolverConfigOverride with SolverConfig::with_override
  • 958303a4 feat(manager): run a retained job under a SolverConfigOverride

Slice 1 alone: config clippy, rustdoc, doc-names and tests (32 + 3 passed). Gate on 958303a4 (fmt, clippy, doc-names file-length facade-reachability public-api deps, rustdoc, examples, workspace all-feature tests, doctests): EXIT 0, 1541 passed, 0 failed, 67 result lines. Mutation check: without the apply_config_override call at the run entry point, tests/config_override.rs fails (the job runs to its configured 1000 steps instead of the override's 10).

…erride

`SolverConfigOverride` was exported and documented as a runtime override
but nothing accepted it. `SolverConfig::with_override` applies one: each
field the override sets replaces the configured one, so a set `termination`
replaces the solver-level termination and leaves phase terminations alone.
A retained solve always ran with its solution's own configuration, so there
was no way to change a job's termination at submission.
`SolverManager::solve_with_override` stores the override in the job record,
and `SolverRuntime::apply_config_override` applies it at the run entry
point every configured solve reaches, so generated, weighted and bridge
solves all honour it. Jobs submitted without one, and detached solves, run
with their configuration unchanged.

Closes #197.
@blackopsrepl
blackopsrepl merged commit 958303a into main Nov 5, 2026
12 checks passed
@blackopsrepl
blackopsrepl deleted the feature/197-config-override branch November 5, 2026 03:15
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.

SolverConfigOverride is exported but no API accepts it

1 participant