pub struct SolverConfig {Show 20 fields
pub guess_probability: f32,
pub follow_up_probability: f32,
pub context_sensitivity: f32,
pub questioning_rigor: f32,
pub temperature: f32,
pub max_decomposition_depth: u8,
pub recursion_mode: RecursionMode,
pub selection_mode: SelectionMode,
pub skill_mode: SkillMode,
pub agent_mode: bool,
pub diagnostic_mode: bool,
pub offline: bool,
pub cache_ttl_seconds: u64,
pub definition_fusion_by_default: bool,
pub associative_project_promotion: bool,
pub execution_surface: ExecutionSurface,
pub blueprint_composition: BlueprintComposition,
pub probability_policy: ProbabilityDecisionPolicy,
pub forced_response_language: Option<&'static str>,
pub compute_budget: u32,
}Expand description
Runtime configuration for the universal solver.
These knobs control the universal loop’s tradeoffs and let the same engine
be tuned per surface (CLI, HTTP, Telegram) or per user. The default
configuration matches the bounded-chat, offline-friendly stance from
GOALS.md so the engine is safe to embed without further setup.
Fields§
§guess_probability: f320.0 = always ask a clarifying question, 1.0 = always guess.
When this is high the engine commits to its best interpretation of the prompt, shows that interpretation, translates the claim into the chosen formal system, and executes the proof. When it is low the engine stays literal and avoids speculative reductions.
follow_up_probability: f320.0 = stay action-only, 1.0 = always invite the user to refine the
proof inputs before final execution.
Independent of guess_probability. When this is high the proof engine
appends a “Clarifying questions” section listing every input the user
still has to confirm (axiom set, definitions, proof technique) so the
final research execution is unambiguous.
context_sensitivity: f320.0 = ignore surrounding context, 1.0 = use all available context.
questioning_rigor: f320.0 = accept any phrasing, 1.0 = demand fully formal phrasing.
temperature: f320.0 = deterministic projection, 1.0 = allow maximum variation.
max_decomposition_depth: u8Hard upper bound on recursive sub-impulse expansion.
recursion_mode: RecursionModeWhich directions of the meta core’s recursive reasoning are traced
(issue #559): Down (default) reasons about the downward decomposition
only and reproduces the pre-knob trace exactly; Up/Both additionally
trace the upward construction pass. Trace-only either way (R13).
selection_mode: SelectionModeWhether the meta core records the method-selection trace (issue #559,
R339): Off (default) records nothing; Record names the method the
registry resolves for every atomic leaf, or marks the leaf unresolved.
The registry is the sole dispatch authority (R344), so there is no
legacy baseline to compare against. Trace-only in either mode (R13).
skill_mode: SkillModeWhether the meta core records the skill-accumulation ledger (issue #559,
R342): Off (default) records nothing; Accumulate distills each satisfied
need into a proposed reusable skill and each blocked need into a curriculum
item. Proposal-only — no skill is auto-promoted without review — and
trace-only either way (R13/C3).
agent_mode: boolWhether agent mode is opted in. Off by default.
diagnostic_mode: boolWhether diagnostic links are echoed inside the user-facing reply.
offline: boolWhen true, the solver must not perform any external lookup.
cache_ttl_seconds: u64Time-to-live for cached external sources, in seconds.
definition_fusion_by_default: boolWhen true, plain definition prompts such as “What is IIR?” use cross-language definition fusion before falling back to concept lookup.
associative_project_promotion: boolWhen true, repository/project questions prefer known projects from
Link Assistant, Link Foundation, and LinksPlatform before showing the
generic multi-host repository lookup path.
execution_surface: ExecutionSurfaceEmbedding surface used for environment-aware self-description.
blueprint_composition: BlueprintCompositionHow composite-program blueprints (issue #340) project their annotated recipe template into the program shown to the user.
probability_policy: ProbabilityDecisionPolicyInterpretable decision-policy knobs (CU/TU/TC/SS) from
arXiv:2605.00940 that govern how symbolic probability evidence ranks
candidates. The default is the paper’s recommended baseline, which keeps
the additive exact-evidence behaviour the solver shipped before the
policy existed, so every existing surface is unaffected unless it opts in.
forced_response_language: Option<&'static str>Response language forced onto every localizable handler for one replay
(issue #556). None is the normal case: each handler renders in the
language detected from the prompt. When a response-language follow-up
(“I do not understand English, write in Russian”) replays the previous
request through the whole solver, it sets this to the requested ISO
639-1 code so every answer family that can localize — concept lookup,
repository/project lookup, … — re-renders in that language rather than
only a single hardcoded handler. It also serves as the recursion guard:
a solve whose config already carries a forced language never fires the
follow-up again.
compute_budget: u32Compute budget for the step-7 random/evolutionary search stage (issue
#662), counted in candidate evaluations. When reuse and rule reasoning
produce no candidate for a recognized search problem, the solver spends
up to this many evaluations combining known parts against the generated
tests before falling back to the honest unknown-reasoning reply. 0
disables the search entirely; the default is intentionally small. The
stream is seeded from the impulse content hash, so the stage stays
deterministic for a given config per the VISION.md contract.
Implementations§
Source§impl SolverConfig
impl SolverConfig
Sourcepub fn from_env() -> Self
pub fn from_env() -> Self
Build a SolverConfig using the documented environment overrides.
The parsing body lives in crate::solver_helpers::config_from_env to keep
this module under the 1000-line cap enforced by scripts/check-file-size.rs.
Trait Implementations§
Source§impl Clone for SolverConfig
impl Clone for SolverConfig
Source§fn clone(&self) -> SolverConfig
fn clone(&self) -> SolverConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more