From 05e5880fff47c22d66a528c6fad67eea50b817a8 Mon Sep 17 00:00:00 2001 From: Dave Date: Mon, 23 Feb 2026 23:02:57 +0000 Subject: [PATCH] fix: resolve merge conflicts in client.ts and Chat.tsx Keep both reconciliation_progress (from master) and agent_config_changed (from story-115) features in the WebSocket client and Chat component. Co-Authored-By: Claude Opus 4.6 --- ...oml_agent_config_without_server_restart.md | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .story_kit/work/2_current/115_story_hot_reload_project_toml_agent_config_without_server_restart.md diff --git a/.story_kit/work/2_current/115_story_hot_reload_project_toml_agent_config_without_server_restart.md b/.story_kit/work/2_current/115_story_hot_reload_project_toml_agent_config_without_server_restart.md new file mode 100644 index 0000000..20847f3 --- /dev/null +++ b/.story_kit/work/2_current/115_story_hot_reload_project_toml_agent_config_without_server_restart.md @@ -0,0 +1,23 @@ +--- +name: "Hot-reload project.toml agent config without server restart" +--- + +# Story 115: Hot-reload project.toml agent config without server restart + +## User Story + +As a developer, I want changes to `.story_kit/project.toml` to be picked up automatically by the running server, so that I can update the agent roster without restarting the server. + +## Acceptance Criteria + +- [ ] When `.story_kit/project.toml` is saved on disk, the server detects the change within the debounce window (300 ms) and broadcasts an `agent_config_changed` WebSocket event to all connected clients +- [ ] The frontend `AgentPanel` automatically re-fetches and displays the updated agent roster upon receiving `agent_config_changed`, without any manual action +- [ ] `project.toml` changes inside worktree directories (paths containing `worktrees/`) are NOT broadcast +- [ ] Config file changes do NOT trigger a pipeline state refresh (only work-item events do) +- [ ] A helper `is_config_file(path, git_root)` correctly identifies the root-level `.story_kit/project.toml` (returns false for worktree copies) + +## Out of Scope + +- Watching for newly created `project.toml` (only file modification events) +- Validating the new config before broadcasting (parse errors are surfaced on next `get_agent_config` call) +- Reloading config into in-memory agent state (agents already read config from disk on each start)