Dave and Claude Opus 4.6
8c2b6ee02c
Merge story 81: agent roster badges show availability state
...
Green dot and styling for idle agents, blue pulsing dot for active.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 16:06:16 +00:00
Dave
016ad7f359
story-kit: accept 83_story_remove_active_work_list_from_agents_panel
2026-02-23 16:04:18 +00:00
Dave
12c912e247
story-kit: remove 80_story_remove_model_apikey_and_rate_limit_notifications_from_chat_ui
2026-02-23 16:04:08 +00:00
Dave
29eff51182
story-kit: start 83_story_remove_active_work_list_from_agents_panel
2026-02-23 16:04:02 +00:00
Dave
c42be5d12c
story-kit: queue 83_story_remove_active_work_list_from_agents_panel for merge
2026-02-23 16:03:50 +00:00
Dave
0e8451c412
story-kit: accept 62_story_allow_frontend_ui_to_accept_permissions_requests
2026-02-23 16:01:43 +00:00
Dave
214ddcd7af
story-kit: merge 62_story_allow_frontend_ui_to_accept_permissions_requests
2026-02-23 16:01:25 +00:00
Dave and Claude Sonnet 4.6
6962e92f0c
fix: resolve merge conflict in claude_code.rs
...
Keep master's quiet system/rate_limit_event handlers while preserving
the story-62 permission_request handler (the core feature).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-23 16:01:22 +00:00
Dave
026ba3cbcf
story-kit: queue 62_story_allow_frontend_ui_to_accept_permissions_requests for merge
2026-02-23 15:59:32 +00:00
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
76e5c40134
story-kit: merge 82_story_shift_enter_inserts_newline_instead_of_sending_in_chat_input
2026-02-23 15:59:01 +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
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
285b63ec66
story-kit: merge 81_story_agent_roster_badges_show_availability_state
2026-02-23 15:47:28 +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 and Claude Sonnet 4.6
0ef5e99d1b
feat(story-81): agent roster badges show availability state with green idle styling
...
- Add data-testid="roster-dot-{name}" to both active and idle dot spans for testability
- Change idle badge from grey (#888 , #555 , #333 ) to green (#3fb950, #3fb95015, #3fb95040)
- Update idle label from "idle" to "available" to reinforce positive availability signal
- Update tooltip from "— idle" to "— available" for consistency
- Active/running agents retain blue (#58a6ff) pulsing dot styling unchanged
- Add 4 new Vitest tests covering green idle dot, green badge styling, blue active dot, and blue active badge
Closes story 81: Agent roster badges show availability state
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-23 15:43:25 +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
c76f0b100c
story-kit: merge 79_story_agents_panel_skips_archived_work_on_startup
2026-02-23 15:31:38 +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
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
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 and Claude Opus 4.6
eaa3453395
Add coder-opus agent to project.toml
...
Adds an opus-tier coder agent for complex tasks requiring deep
architectural understanding (80 max turns, $20 budget).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 15:18:29 +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 and Claude Opus 4.6
66534480f7
Merge story 74: agent lozenges float across UI during assignment
...
Resolves conflict in AgentPanel.test.tsx between story 73 (fade-out)
and story 74 (lozenge fly animation) - kept both the assertion and
the comment.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 15:15:50 +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 and Claude Sonnet 4.6
3b3104ba2c
fix: use act instead of waitFor in fake-timer test for agent fade-out
...
waitFor's internal polling setInterval is itself faked when vi.useFakeTimers()
is active, causing it to hang indefinitely. Replace the affected assertions
with act + multiple Promise.resolve() to flush React state updates, and a
direct assertion after act+vi.advanceTimersByTime instead of a second waitFor.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-23 15:09:11 +00:00
Dave and Claude Sonnet 4.6
8b912d1e9d
style: biome format AgentPanel.test.tsx imports
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-23 15:04:23 +00:00
Dave and Claude Sonnet 4.6
ef728331cf
feat: FLIP-style lozenge fly animation when agents are assigned to stories
...
Implements Story 74: agent lozenges now animate as fixed-position overlays
that fly from the roster badge in AgentPanel to the story slot in StagePanel
(and back when the agent is removed), satisfying all acceptance criteria.
Key changes:
- LozengeFlyContext.tsx (new): coordinates FLIP animations via React context.
LozengeFlyProvider tracks pipeline changes, hides slot lozenges during
fly-in (useLayoutEffect before paint), then creates a portal-rendered
fixed-position clone that transitions from roster → slot (or reverse).
z-index 9999 ensures the clone travels above all other UI elements.
- AgentPanel.tsx: RosterBadge registers its DOM element with the context
so fly animations know the correct start/end coordinates.
- StagePanel.tsx: AgentLozenge registers its DOMRect on every render via
useLayoutEffect (for fly-out) and reads pendingFlyIns to stay hidden
while a fly-in clone is in flight. Added align-self: flex-start so the
lozenge maintains its intrinsic width and never stretches in the panel.
- Chat.tsx: right-column panels wrapped in LozengeFlyProvider.
- LozengeFlyContext.test.tsx (new): 10 tests covering fixed width,
fly-in/fly-out clone creation, portal placement, opacity lifecycle,
and idle vs active visual distinction.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-23 15:04:10 +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 and Claude Opus 4.6
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 and Claude Opus 4.6
9bd266eb3f
Server-owned agent completion: remove report_completion dependency
...
When an agent process exits normally, the server now automatically runs
acceptance gates (uncommitted changes check + cargo clippy + tests) and
advances the pipeline based on results. This replaces the previous model
where agents had to explicitly call report_completion as an MCP tool.
Changes:
- Add run_server_owned_completion() free function in agents.rs that runs
gates on process exit, stores a CompletionReport, and advances pipeline
- Wire it into start_agent's spawned task (replaces simple status setting)
- Remove report_completion from MCP tools list and handler (mcp.rs)
- Update default_agent_prompt() to not reference report_completion
- Update all agent prompts in project.toml (supervisor, coders, qa,
mergemaster) to reflect server-owned completion
- Add guard: skip gates if completion was already recorded (legacy path)
- Add 4 new tests for server-owned completion behavior
- Update tools_list test (26 tools, report_completion excluded)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 15:00:10 +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
6e9b5da458
story-kit: merge 77_bug_create_bug_file_writes_no_yaml_front_matter
2026-02-23 14:56:08 +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
Dave
1f0120d2d4
story-kit: accept 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name
2026-02-23 14:46:55 +00:00
Dave
31be646cc7
story-kit: create 77_bug_create_bug_file_writes_no_yaml_front_matter
2026-02-23 14:46:50 +00:00
Dave
ef1591dbd7
story-kit: create 77_bug_create_bug_file_writes_no_yaml_front_matter
2026-02-23 14:46:39 +00:00
Dave
e2dc56fc96
story-kit: create 76_story_story_with_colon_testing_the_fix
2026-02-23 14:46:16 +00:00
Dave
3109282b3b
story-kit: start 74_story_agent_lozenges_float_across_ui_during_assignment
2026-02-23 14:45:23 +00:00
Dave
d5efbc0a53
story-kit: queue 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name for QA
2026-02-23 14:44:46 +00:00
Dave
ebbaed50ac
story-kit: start 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name
2026-02-23 14:42:38 +00:00
Dave
2ab9d1e57b
story-kit: start 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name
2026-02-23 14:42:20 +00:00
Dave
5142584691
story-kit: start 70_story_server_owned_agent_completion_remove_report_completion_dependency
2026-02-23 14:39:11 +00:00
Dave
d6fd446ca5
story-kit: remove 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name
2026-02-23 14:34:42 +00:00
Dave
37fef66fa1
story-kit: start 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name
2026-02-23 14:34:01 +00:00
Dave
79b6cb4f87
story-kit: queue 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name for merge
2026-02-23 14:33:46 +00:00
Dave
a649d08fbe
story-kit: create 75_story_test_story_with_colon
2026-02-23 14:28:30 +00:00
Dave
4499ba8d97
story-kit: accept 73_story_fade_out_completed_agents
2026-02-23 14:27:58 +00:00
Dave
32e1f0d342
story-kit: start 73_story_fade_out_completed_agents
2026-02-23 14:27:15 +00:00
Dave
6297d1643e
story-kit: start 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name
2026-02-23 14:26:52 +00:00
Dave
1795a0853e
story-kit: start 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name
2026-02-23 14:26:20 +00:00
Dave
38e564aaef
story-kit: create 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name
2026-02-23 14:25:38 +00:00
Dave
334071194a
story-kit: accept 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name
2026-02-23 14:24:57 +00:00
Dave
7132291507
story-kit: start 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name
2026-02-23 14:24:17 +00:00
Dave
4ac6c4d114
story-kit: start 70_story_server_owned_agent_completion_remove_report_completion_dependency
2026-02-23 14:23:07 +00:00
Dave
e34dc6fb2c
story-kit: queue 73_story_fade_out_completed_agents for QA
2026-02-23 14:18:47 +00:00
Dave
df94c2fa0b
story-kit: remove 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name
2026-02-23 14:15:50 +00:00
Dave
c672528294
story-kit: queue 70_story_server_owned_agent_completion_remove_report_completion_dependency for QA
2026-02-23 14:15:18 +00:00
Dave
e994a1c738
story-kit: remove 51_story_deterministic_spike_lifecycle_management
2026-02-23 14:13:12 +00:00
Dave
f7183d3271
story-kit: accept 71_bug_server_health_endpoint_missing
2026-02-23 14:12:30 +00:00
Dave
dd5fc48fb6
story-kit: merge 71_bug_server_health_endpoint_missing
2026-02-23 14:12:15 +00:00
Dave
a3183f21db
story-kit: queue 71_bug_server_health_endpoint_missing for merge
2026-02-23 14:12:02 +00:00
Dave
4edf136f38
story-kit: queue 71_bug_server_health_endpoint_missing for QA
2026-02-23 14:09:56 +00:00
Dave
2eddff6642
story-kit: remove 29_story_directory_based_workflow_coordination
2026-02-23 14:09:27 +00:00
Dave
bc2b9f860b
story-kit: create 74_story_agent_lozenges_float_across_ui_during_assignment
2026-02-23 14:07:11 +00:00
Dave
2826ff0349
story-kit: start 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name
2026-02-23 14:06:30 +00:00
Dave
2ed1bd8a00
story-kit: start 71_bug_server_health_endpoint_missing
2026-02-23 14:06:28 +00:00