Separate from the CEM discussion in #3. This is the preferences click only.
What happens
- Preferences, VibeCAD, Connect Grok Bot. The page says connected.
- Apply, then OK. The preferences dialog warns that a restart is needed.
- After restart, the same page says Grok Bot is not connected.
The click can also say connected when the Grok Bot app was not found. The status text in that case is still connected | … Grok Bot app was not found.
What the code does
_connect_grok_bot in src/Mod/VibeCAD/VibeCADPreferences.py starts the loopback agent-control server in the running process (VibeCADAgentControl.ensure_server_started) and stores the endpoint in memory on the page (_grok_bot_connection). The only value written to preferences is GrokBotCommand, the optional app path. The status label is created as not_connected | Click Connect Grok Bot… and nothing on page load asks whether the channel is up.
The button does not request a restart. A restart ends the process, so the channel goes with it. docs/vibecad-agent-control.md says a restart clears the registry and rotates server_instance_id.
This is the local control channel in docs/vibecad-agent-control.md (loopback, token on disk, Grok Bot drives the UI). It is not the external MCP tool-server path, and it is not VibeCAD acting as an MCP server.
Open
What should persist: the app path only (today), a channel that starts again on launch, or a status that reads the live server instead of the hardcoded line? Not decided here. No branch from this issue.
Separate from the CEM discussion in #3. This is the preferences click only.
What happens
The click can also say connected when the Grok Bot app was not found. The status text in that case is still
connected | … Grok Bot app was not found.What the code does
_connect_grok_botinsrc/Mod/VibeCAD/VibeCADPreferences.pystarts the loopback agent-control server in the running process (VibeCADAgentControl.ensure_server_started) and stores the endpoint in memory on the page (_grok_bot_connection). The only value written to preferences isGrokBotCommand, the optional app path. The status label is created asnot_connected | Click Connect Grok Bot…and nothing on page load asks whether the channel is up.The button does not request a restart. A restart ends the process, so the channel goes with it.
docs/vibecad-agent-control.mdsays a restart clears the registry and rotatesserver_instance_id.This is the local control channel in
docs/vibecad-agent-control.md(loopback, token on disk, Grok Bot drives the UI). It is not the external MCP tool-server path, and it is not VibeCAD acting as an MCP server.Open
What should persist: the app path only (today), a channel that starts again on launch, or a status that reads the live server instead of the hardcoded line? Not decided here. No branch from this issue.