Dave
cbc1c8819c
story-kit: accept 82_story_shift_enter_inserts_newline_instead_of_sending_in_chat_input
2026-02-23 15:59:21 +00:00
Dave
0a5fcd8db9
story-kit: queue 82_story_shift_enter_inserts_newline_instead_of_sending_in_chat_input for merge
2026-02-23 15:58:44 +00:00
Dave
a2409c2ace
story-kit: queue 82_story_shift_enter_inserts_newline_instead_of_sending_in_chat_input for QA
2026-02-23 15:57:21 +00:00
Dave
3c5dbf7050
story-kit: queue 62_story_allow_frontend_ui_to_accept_permissions_requests for QA
2026-02-23 15:56:35 +00:00
Dave
e0bc4bdc90
feat(story-62): add permission request prompts to web UI
...
When Claude Code requires user approval before executing a tool (file
writes, commits, etc.) the agent sends a permission_request message
over the WebSocket. The web UI now intercepts that message, surfaces a
modal dialog showing the tool name and input, and lets the user approve
or deny. The decision is sent back as a permission_response, allowing
the agent to continue or adjust its approach.
Backend changes:
- claude_code.rs: parse "permission_request" NDJSON events from the PTY,
block the PTY thread via a sync channel, and write the user's decision
back to the PTY stdin as a JSON permission_response.
- chat.rs: thread an optional UnboundedSender<PermissionReqMsg> through
to the provider.
- ws.rs: create a permission-request channel, forward requests to the
client, collect responses via a pending-perms map, and interleave all
of this with the active chat session using tokio::select!.
Frontend changes:
- client.ts: add permission_request to WsResponse, permission_response
to WsRequest, onPermissionRequest handler to ChatWebSocket.connect(),
and sendPermissionResponse() method.
- types.ts: mirror the same type additions.
- Chat.tsx: add permissionRequest state, wire onPermissionRequest
callback, and render an approval modal with tool name, input context,
Approve and Deny buttons.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-23 15:56:01 +00:00
Dave
d19a548b96
story-kit: start 83_story_remove_active_work_list_from_agents_panel
2026-02-23 15:53:48 +00:00
Dave
f380a41fce
story-kit: create 83_story_remove_active_work_list_from_agents_panel
2026-02-23 15:53:29 +00:00
Dave
4294b48af0
story-kit: remove 66_spike_pipeline_stage_state_machine
2026-02-23 15:52:02 +00:00
Dave
980b7f880a
story-kit: start 82_story_shift_enter_inserts_newline_instead_of_sending_in_chat_input
2026-02-23 15:50:26 +00:00
Dave
3a0004d212
story-kit: create 82_story_shift_enter_inserts_newline_instead_of_sending_in_chat_input
2026-02-23 15:50:01 +00:00
Dave
8a4914e6b2
story-kit: accept 81_story_agent_roster_badges_show_availability_state
2026-02-23 15:47:41 +00:00
Dave
fe064c1b99
story-kit: queue 81_story_agent_roster_badges_show_availability_state for merge
2026-02-23 15:47:14 +00:00
Dave
b62ccc9573
story-kit: queue 81_story_agent_roster_badges_show_availability_state for QA
2026-02-23 15:44:03 +00:00
Dave
2386484c49
story-kit: start 81_story_agent_roster_badges_show_availability_state
2026-02-23 15:40:11 +00:00
Dave
2cc5907501
story-kit: start 81_story_agent_roster_badges_show_availability_state
2026-02-23 15:37:40 +00:00
Dave
db60ed0d65
story-kit: create 81_story_agent_roster_badges_show_availability_state
2026-02-23 15:37:30 +00:00
Dave
be3db53524
story-kit: accept 80_story_remove_model_apikey_and_rate_limit_notifications_from_chat_ui
2026-02-23 15:36:25 +00:00
Dave
8133ef2847
story-kit: queue 80_story_remove_model_apikey_and_rate_limit_notifications_from_chat_ui for merge
2026-02-23 15:36:09 +00:00
Dave
42a47a2645
story-kit: queue 80_story_remove_model_apikey_and_rate_limit_notifications_from_chat_ui for merge
2026-02-23 15:36:01 +00:00
Dave
6afad0d10b
story-kit: start 62_story_allow_frontend_ui_to_accept_permissions_requests
2026-02-23 15:34:56 +00:00
Dave
5e33a0c0b3
story-kit: create 62_story_allow_frontend_ui_to_accept_permissions_requests
2026-02-23 15:34:34 +00:00
Dave
377b8144a9
story-kit: accept 79_story_agents_panel_skips_archived_work_on_startup
2026-02-23 15:31:55 +00:00
Dave
e118c6240f
story-kit: queue 79_story_agents_panel_skips_archived_work_on_startup for merge
2026-02-23 15:31:25 +00:00
Dave
722a63949c
story-80: approve test plan
...
Updates test_plan status to approved in the story file.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-23 15:31:23 +00:00
Dave
42d520fc80
story-kit: remove 58_story_live_agent_panel_updates
2026-02-23 15:30:37 +00:00
Dave
2f09ce2584
story-kit: queue 80_story_remove_model_apikey_and_rate_limit_notifications_from_chat_ui for QA
2026-02-23 15:29:59 +00:00
Dave
2833cbcda9
story-80: remove model/apiKey and rate limit notifications from chat UI
...
Suppresses the noisy system-init notification '[model | apiKey: source]'
and rate limit notifications that were being streamed into the chat UI
from the claude_code provider. Normal chat functionality is unaffected.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-23 15:29:41 +00:00
Dave
1d011d9041
story-kit: queue 79_story_agents_panel_skips_archived_work_on_startup for QA
2026-02-23 15:27:51 +00:00
Dave
de0f06dd4d
story-kit: start 79_story_agents_panel_skips_archived_work_on_startup
2026-02-23 15:27:14 +00:00
Dave
e8153eabfa
story-kit: start 80_story_remove_model_apikey_and_rate_limit_notifications_from_chat_ui
2026-02-23 15:26:34 +00:00
Dave
90936173ce
story-kit: create 80_story_remove_model_apikey_and_rate_limit_notifications_from_chat_ui
2026-02-23 15:26:20 +00:00
Dave
7e8d0573ce
story-kit: remove 76_story_story_with_colon_testing_the_fix
2026-02-23 15:20:13 +00:00
Dave
4e418f806c
story-kit: start 79_story_agents_panel_skips_archived_work_on_startup
2026-02-23 15:19:29 +00:00
Dave
44e641966d
story-kit: remove 70_story_server_owned_agent_completion_remove_report_completion_dependency
2026-02-23 15:18:39 +00:00
Dave
2c1ccebbf1
story-kit: create 79_story_agents_panel_skips_archived_work_on_startup
2026-02-23 15:17:06 +00:00
Dave
e141ab2c59
story-kit: accept 74_story_agent_lozenges_float_across_ui_during_assignment
2026-02-23 15:15:56 +00:00
Dave
a18d78e7ac
story-kit: remove 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name
2026-02-23 15:14:08 +00:00
Dave
31e66d7b46
story-kit: start 70_story_server_owned_agent_completion_remove_report_completion_dependency
2026-02-23 15:14:01 +00:00
Dave
a02b78fccc
story-kit: queue 74_story_agent_lozenges_float_across_ui_during_assignment for merge
2026-02-23 15:12:19 +00:00
Dave
83bffed78c
story-kit: queue 74_story_agent_lozenges_float_across_ui_during_assignment for QA
2026-02-23 15:09:26 +00:00
Dave
1c787a29da
story-kit: queue 70_story_server_owned_agent_completion_remove_report_completion_dependency for merge
2026-02-23 15:03:41 +00:00
Dave
771d1bd39e
story-kit: queue 70_story_server_owned_agent_completion_remove_report_completion_dependency for QA
2026-02-23 15:00:48 +00:00
Dave
8bdbe8193c
chore: sync pipeline story/bug files in worktree
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 15:00:33 +00:00
Dave
641fd5420a
story-kit: accept 77_bug_create_bug_file_writes_no_yaml_front_matter
2026-02-23 14:56:22 +00:00
Dave
532031102d
story-kit: queue 77_bug_create_bug_file_writes_no_yaml_front_matter for merge
2026-02-23 14:55:57 +00:00
Dave
f0849ba647
story-kit: start 74_story_agent_lozenges_float_across_ui_during_assignment
2026-02-23 14:55:22 +00:00
Dave
953cc909f1
story-kit: queue 77_bug_create_bug_file_writes_no_yaml_front_matter for QA
2026-02-23 14:53:02 +00:00
Dave
1f5a384cbb
story-kit: create 78_story_create_spike_mcp_tool
2026-02-23 14:49:40 +00:00
Dave
7fd9388b69
story-kit: remove 75_story_test_story_with_colon
2026-02-23 14:47:41 +00:00
Dave
f51c2e0268
story-kit: start 77_bug_create_bug_file_writes_no_yaml_front_matter
2026-02-23 14:47:10 +00:00