# MASForensics Configuration — template. # # Copy this file to `config.yaml` and fill in your API key. config.yaml is # git-ignored so secrets don't land in commits. The two files share schema; # only this template is tracked. agent: base_url: "https://api.deepseek.com" api_key: "YOUR-API-KEY-HERE" model: "deepseek-v4-pro" max_tokens: 16384 reasoning_effort: "high" # DeepSeek/o1-style reasoning depth; omit to disable thinking_enabled: true # DeepSeek extra_body.thinking switch # Maximum rounds of hypothesis-directed investigation (Phase 3). # Only consulted when strategist.enabled is false (legacy fallback path). max_investigation_rounds: 1 # Phase 3 strategist loop (DESIGN_STRATEGIST.md). When enabled, the # InvestigationStrategist agent decides each round whether to propose new # leads or declare the investigation complete. When disabled, the legacy # fixed-round investigation loop runs instead. strategist: enabled: true max_rounds: 10 # Safety net: if the strategist keeps proposing leads but yield (new # phenomena + edges + status flips) is zero for this many consecutive # rounds, the orchestrator force-stops Phase 3 regardless. hard_stop_marginal_yield_zero_rounds: 3 # Hard caps that bound the whole run. The strategist's budget_status tool # reads these to pace its proposals; the orchestrator also enforces them # as hard stops (DESIGN_STRATEGIST.md §4.2 step 7). Comment out any cap # to make it unbounded. budgets: tool_calls_total: 5000 strategist_rounds_max: 10 wall_clock_minutes_max: 480 # Optional: override the per-edge-type log₁₀(LR) calibration table. # Confidence updates accumulate these in odds space (additive, order- # independent), then map back to probability via sigmoid. Single edge # magnitudes: ≥ +0.602 lifts confidence above the 0.8 supported threshold, # ≤ −0.602 drops it below the 0.2 refuted threshold. # If omitted, evidence_graph._DEFAULT_LOG_LR is used. # hypothesis_log_lr: # direct_evidence: 2.0 # supports: 1.0 # consequence_observed: 1.0 # prerequisite_met: 0.5 # weakens: -0.5 # contradicts: -2.0 # Optional: manually specify initial hypotheses. If omitted, the # HypothesisAgent auto-generates them from Phase 1 findings. # hypotheses: # - title: "..." # description: "..." # Investigation areas — LLM-derived from active hypotheses after Phase 2. # Each entry below acts as a MANUAL OVERRIDE: it is seeded into the graph # before the LLM derives areas, so manual entries always survive (slug-based # dedupe; LLM only augments keyword/tool lists, never overwrites). # # investigation_areas: # - area: shutdown_time # description: "Last recorded shutdown time" # agent: registry # priority: 3 # keywords: [shutdown, last shutdown] # tools: [get_shutdown_time]