-
Notifications
You must be signed in to change notification settings - Fork 2
fix(core): Focus Agent and SideQuest config not wired from TOML — always use defaults (enabled=false) #1907
Copy link
Copy link
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
Bug
After PR #1900 (context compression), [agent.focus] and [memory.sidequest] config sections are parsed but never passed to the agent — both always use defaults (enabled = false).
Root Cause
AgentBuilder::with_focus_config() and AgentBuilder::with_sidequest_config() are defined in crates/zeph-core/src/agent/builder.rs:565-575 but are never called from bootstrap (crates/zeph-core/src/bootstrap/).
Agent::default() in agent/mod.rs:586-587 uses FocusState::default() and SidequestState::default(), which have enabled = false.
Evidence
With config:
[agent.focus]
enabled = true
compression_interval = 5
[memory.sidequest]
enabled = true
interval_turns = 3Output of /focus and /sidequest:
Focus Agent status
Enabled: false ← should be true
SideQuest status
Enabled: false ← should be true
Interval turns: 4 ← should be 3 (from config)
Fix
In the bootstrap AppBuilder (where it constructs AgentBuilder), pass the parsed config:
// crates/zeph-core/src/bootstrap/...
agent_builder = agent_builder
.with_focus_config(config.agent.focus.clone())
.with_sidequest_config(config.memory.sidequest.clone());Impact
- Focus Agent completely non-functional (cannot be enabled via config)
- SideQuest completely non-functional (cannot be enabled via config)
start_focus/complete_focustools and automatic focus suggestions never trigger- SideQuest eviction never runs regardless of config
Severity
High — new PR #1900 features (Focus Agent, SideQuest) are effectively dead-on-arrival; config has no effect.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working