Skip to content

fix(mu-core): tolerate the [dialogue] config section owned by mu-dialogue#485

Merged
sahuagin merged 2 commits into
mainfrom
cc/mucore-tolerate-dialogue
Jul 13, 2026
Merged

fix(mu-core): tolerate the [dialogue] config section owned by mu-dialogue#485
sahuagin merged 2 commits into
mainfrom
cc/mucore-tolerate-dialogue

Conversation

@tcovert-c137

@tcovert-c137 tcovert-c137 Bot commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

Live config-break introduced by #482. The operator ~/.config/mu/config.toml is shared between mu-core (mu ask/daemon/orchestrate via Config::load_default) and the mu-dialogue binary. #482 added a [dialogue.presence] section for mu-dialogue, but mu-core's Config uses deny_unknown_fields and has no dialogue field — so mu-core rejects the entire config and silently falls back to built-in defaults (no MCP servers, no config-defined providers, no session settings). Confirmed live on c99240b2 by building + running mu askCONFIG ERROR … unknown field dialogue … entire config ignored.

Fix: accept-and-ignore [dialogue] as an opaque Option<toml::Value> passthrough so mu-core tolerates the section it doesn't own. Regression test added; mu-core tests + clippy clean.

🤖 Generated with Claude Code

https://claude.ai/code/session_01RC1Lv7PR4KdNxM64EhCoYF

…ogue

The operator ~/.config/mu/config.toml is SHARED between mu-core (mu ask /
daemon / orchestrate, via Config::load_default) and the mu-dialogue binary.
mu#482 added a [dialogue.presence] section for mu-dialogue, but mu-core's
Config uses deny_unknown_fields and has no dialogue field — so mu-core rejected
the ENTIRE config and silently fell back to built-in defaults (no MCP servers,
no providers, no session settings). Confirmed live on c99240b.

Accept-and-ignore [dialogue] as an opaque passthrough (Option<toml::Value>) so
mu-core tolerates the section it does not own. Regression test added.
@tcovert-c137

tcovert-c137 Bot commented Jul 11, 2026

Copy link
Copy Markdown
Contributor Author

Closing as a duplicate of #486 — the sibling cc session shipped the same fix (identical approach: opaque dialogue: Option<toml::Value> passthrough + regression test) and it's their domain (#482 introduced the section). Our messages crossed. Deferring to #486; it has the fuller just ci run. Fix is sound either way.

@sahuagin sahuagin merged commit ec0602c into main Jul 13, 2026
5 checks passed
@sahuagin sahuagin deleted the cc/mucore-tolerate-dialogue branch July 13, 2026 15:24
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.

1 participant