Skip to content

fix(core): wire Focus Agent and SideQuest config from TOML to agent builder#1914

Merged
bug-ops merged 1 commit intomainfrom
1907-fix-core-focus-agent-and-sideq
Mar 16, 2026
Merged

fix(core): wire Focus Agent and SideQuest config from TOML to agent builder#1914
bug-ops merged 1 commit intomainfrom
1907-fix-core-focus-agent-and-sideq

Conversation

@bug-ops
Copy link
Owner

@bug-ops bug-ops commented Mar 16, 2026

Fixes #1907.

Root Cause

AgentBuilder::with_focus_config() and AgentBuilder::with_sidequest_config() were defined but never called from any bootstrap path. All bootstrap entry points constructed AgentBuilder without passing config.agent.focus or config.memory.sidequest, so both subsystems always ran with defaults (enabled = false).

Changes

  • src/runner.rs: chain .with_focus_config() and .with_sidequest_config() when building the agent
  • src/daemon.rs: same wiring for daemon path
  • src/acp.rs: add focus_config and sidequest_config to SharedAgentDeps, populated from config at init, applied in spawn_acp_agent
  • crates/zeph-core/src/agent/builder.rs: add two unit tests verifying config propagation to FocusState and SidequestState
  • CHANGELOG.md: fix entry under [Unreleased]

Test Plan

  • cargo +nightly fmt --check — pass
  • cargo clippy --workspace --features full -- -D warnings — pass (0 warnings)
  • cargo nextest run --workspace --features full --lib --bins — 6045 passed, 0 failed
  • New unit tests: with_focus_config_propagates_to_focus_state, with_sidequest_config_propagates_to_sidequest_state

@github-actions github-actions bot added documentation Improvements or additions to documentation rust Rust code changes core zeph-core crate bug Something isn't working size/M Medium PR (51-200 lines) labels Mar 16, 2026
@bug-ops bug-ops enabled auto-merge (squash) March 16, 2026 15:47
…otstrap paths

AgentBuilder::with_focus_config() and AgentBuilder::with_sidequest_config()
were never called from bootstrap, so [agent.focus] and [memory.sidequest]
config sections were silently ignored (always defaulting to enabled=false).

Wire both calls in runner.rs, daemon.rs, and acp.rs (SharedAgentDeps gains
focus_config and sidequest_config fields).

Closes #1907
@bug-ops bug-ops force-pushed the 1907-fix-core-focus-agent-and-sideq branch from e8c4edc to aaf1b7c Compare March 16, 2026 15:57
@bug-ops bug-ops merged commit 4624f2c into main Mar 16, 2026
20 checks passed
@bug-ops bug-ops deleted the 1907-fix-core-focus-agent-and-sideq branch March 16, 2026 16:07
bug-ops added a commit that referenced this pull request Mar 16, 2026
…otstrap paths (#1914)

AgentBuilder::with_focus_config() and AgentBuilder::with_sidequest_config()
were never called from bootstrap, so [agent.focus] and [memory.sidequest]
config sections were silently ignored (always defaulting to enabled=false).

Wire both calls in runner.rs, daemon.rs, and acp.rs (SharedAgentDeps gains
focus_config and sidequest_config fields).

Closes #1907
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working core zeph-core crate documentation Improvements or additions to documentation rust Rust code changes size/M Medium PR (51-200 lines)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(core): Focus Agent and SideQuest config not wired from TOML — always use defaults (enabled=false)

1 participant