Commit Graph

95 Commits

Author SHA1 Message Date
Dave
54d6fb31ea fix: restore color/font inherit on button cards so work item titles are visible
The button wrapping from story 224 uses browser-default black text,
making titles invisible on the dark background.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 16:44:34 +00:00
Dave
15a1783d2e Fix syntax error in StagePanel.tsx from merge conflict artifact
Remove duplicate inline-style JSX block that was left behind after a
merge, causing esbuild parse errors. Restore hasMergeFailure border and
background colors in the cardStyle object.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 11:24:46 +00:00
Dave
101bfd78fe story-kit: merge 224_story_expand_work_item_to_full_screen_detail_view 2026-02-27 11:21:46 +00:00
Dave
f8bbe1ea31 story-kit: merge 225_story_surface_merge_conflicts_and_failures_in_the_web_ui 2026-02-27 10:26:28 +00:00
Dave
eeec745abc story-219: add Always Allow button to web UI permission dialog
Cherry-pick from feature branch — code was never squash-merged
despite story being accepted (bug 226).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 10:00:33 +00:00
Dave
19f661e8e3 story-kit: start 218_story_hide_thinking_traces_from_agents_panel 2026-02-27 09:52:02 +00:00
Dave
e4abc42cbb story-kit: merge 215_bug_cancel_button_still_discards_queued_messages_197_regression 2026-02-26 17:37:49 +00:00
Dave
d908a54fc4 story-kit: merge 180_bug_web_ui_permissions_handling_unreliable 2026-02-26 17:10:54 +00:00
Dave
8715e648ba story-kit: merge 213_story_remove_colored_left_border_from_work_item_cards 2026-02-26 16:17:10 +00:00
Dave
b6fcc3ec93 story-198: distinguish work item types (story/bug/spike) in web UI
Add visual type indicators to pipeline stage panels so stories, bugs,
and spikes are distinguishable at a glance.

Squash merge of feature/story-198

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-26 15:32:16 +00:00
Dave
b9427a2707 story-207: rename LLM provider labels - Claude Code (PTY) to Claude Code, Anthropic to Anthropic API
Squash merge of feature/story-207

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-26 15:02:30 +00:00
Dave
a2465f476a story-206: default to claude-code-pty on first use
Squash merge of feature/story-206

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-26 15:02:16 +00:00
Dave
d006e47d3f Rename nav header branding from "Story Kit" to "StorkIt"
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 13:59:31 +00:00
Dave
b05ac6acac story-kit: merge 204_story_rename_storkit_branding_to_story_kit 2026-02-26 12:49:28 +00:00
Dave
77547972c4 feat(story-193): clickable code references in frontend 2026-02-26 12:34:57 +00:00
Dave
8d29956dea story-kit: merge 199_story_web_ui_submits_all_queued_items_at_once 2026-02-26 12:05:08 +00:00
Dave
b5e5b783a3 story-kit: done 195_story_preserve_newlines_in_chat_message_submission 2026-02-25 18:19:33 +00:00
Dave
9f469068fc story-kit: merge 195_story_preserve_newlines_in_chat_message_submission 2026-02-25 18:16:46 +00:00
Dave
91a2daf481 story-kit: merge 196_story_render_code_fences_in_user_chat_messages 2026-02-25 18:08:08 +00:00
Dave
cc59f0fcfc story-kit: merge 186_story_add_storkit_branding_to_header 2026-02-25 15:32:03 +00:00
Dave
71691a63ce story-kit: merge 178_story_fix_chat_textarea_input_lag 2026-02-25 11:41:44 +00:00
Dave
42c40209d2 story-kit: merge 174_story_constrain_thinking_traces_in_chat_panel 2026-02-25 09:32:48 +00:00
Dave
150f654e04 story-kit: merge 166_story_add_done_column_to_pipeline_board
Add Done column to pipeline board. Adds the 'done' stage to
PipelineState, exposes it via the WebSocket and REST API, and
renders a Done column in the frontend pipeline board view.

Squash merge from feature/story-166_story_add_done_column_to_pipeline_board.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 23:42:59 +00:00
Dave
dc631d1933 story-kit: merge 149_bug_web_ui_does_not_update_when_agents_are_started_or_stopped 2026-02-24 23:09:13 +00:00
Dave
74eeb308e1 story-kit: merge 168_bug_agent_message_queue_limited_to_one_line 2026-02-24 19:17:33 +00:00
Dave
464b1e5530 story-kit: merge 160_story_constrain_thinking_trace_height_in_agent_stream_ui 2026-02-24 18:03:08 +00:00
Dave
ee8be90ce5 story-kit: merge 163_story_remove_bubble_styling_from_streaming_chat_messages 2026-02-24 17:51:55 +00:00
Dave
6f7338dfdb story-kit: accept 145_story_persist_chat_history_to_localstorage_across_rebuilds 2026-02-24 17:03:04 +00:00
Dave
bb1c3ac97c story-kit: merge 155_story_queue_messages_while_agent_is_busy 2026-02-24 16:29:05 +00:00
Dave
5567cdf480 story-kit: merge 148_story_interactive_onboarding_guides_user_through_project_setup_after_init
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 15:34:31 +00:00
Dave
03ca8624cd story-kit: start 147_bug_activity_indicator_still_only_shows_thinking_despite_bug_140_fix 2026-02-24 15:26:39 +00:00
Dave
de79644263 story-kit: merge 144_story_add_build_timestamp_and_persist_chat_history_across_rebuilds 2026-02-24 14:01:55 +00:00
Dave
41d86d29d0 story-kit: merge 143_story_remove_0_running_count_from_agents_panel_header 2026-02-24 13:59:10 +00:00
Dave
a39ba2cef6 story-kit: merge 140_bug_activity_status_indicator_never_visible_due_to_display_condition 2026-02-24 13:28:43 +00:00
Dave
17abf36d9f story-kit: merge 137_bug_lozengeflycontext_animation_queue_race_condition_on_rapid_updates 2026-02-24 13:09:25 +00:00
Dave
e6339979de feat(story-115): hot-reload project.toml agent config without server restart
- Extend `WatcherEvent` to an enum with `WorkItem` and `ConfigChanged` variants
  so the watcher can distinguish between pipeline-file changes and config changes
- Watch `.story_kit/project.toml` at the project root (ignoring worktree copies)
  and broadcast `WatcherEvent::ConfigChanged` on modification
- Forward `agent_config_changed` WebSocket message to connected clients; skip
  pipeline state refresh for config-only events
- Add `is_config_file()` helper with unit tests covering root vs. worktree paths
- Accept `configVersion` prop in `AgentPanel` and re-fetch the agent roster
  whenever it increments
- Increment `agentConfigVersion` in `Chat` on receipt of `agent_config_changed`
  WS event via new `onAgentConfigChanged` handler in `ChatWebSocket`

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-23 22:58:51 +00:00
Dave
85fddcb71a story-kit: merge 117_story_show_startup_reconciliation_progress_in_ui 2026-02-23 22:50:57 +00:00
Dave
17b909c97f story-kit: merge 113_story_add_test_coverage_for_usepathcompletion_hook 2026-02-23 22:32:39 +00:00
Dave
a3b0dc0161 story-kit: merge 109_story_add_test_coverage_for_lozengeflycontext_selectionscreen_and_chatheader_components 2026-02-23 22:28:13 +00:00
Dave
40b0cd77c9 fix: resolve merge conflicts from story-95/96 squash merges
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 21:39:40 +00:00
Dave
52b9bc2994 story-kit: accept 95_bug_pipeline_auto_restart_has_no_retry_limit_causing_infinite_loop 2026-02-23 21:37:05 +00:00
Dave
fcf7984a89 story-kit: queue 100_story_test_coverage_http_context_rs_to_100 for QA 2026-02-23 21:34:59 +00:00
Dave
94ac7639ad Merge branch 'feature/story-85_story_agent_lozenges_move_between_roster_and_work_items_instead_of_duplicating'
# Conflicts:
#	.coverage_baseline
2026-02-23 21:24:44 +00:00
Dave
bed46fea1b story-kit: accept 96_story_reset_agent_lozenge_to_idle_state_when_returning_to_roster 2026-02-23 20:52:06 +00:00
Dave
6c1f8555e8 feat(story-85): agent lozenges move between roster and work items
- Add `hiddenRosterAgents: ReadonlySet<string>` to LozengeFlyContext:
  - Derived from pipeline: any agent currently assigned to a work item
  - `flyingOutAgents` state keeps badge hidden for 500 ms during the
    fly-out animation so the returning clone lands before the badge reappears
  - Union of both sets exposed as `hiddenRosterAgents` in context
- Update AgentPanel: wrap each RosterBadge in a collapsing div
  controlled by `hiddenRosterAgents`. The div transitions max-width
  0→300px / opacity 0→1 so the roster gap closes/opens smoothly.
- Add tests covering:
  - `hiddenRosterAgents` is empty when no agents are assigned
  - Badge hidden immediately when agent appears in pipeline
  - Badge hidden during fly-out (0–499 ms) and visible after (≥500 ms)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-23 19:52:23 +00:00
Dave
af1625a132 story-kit: merge 86_story_show_live_activity_status_instead_of_static_thinking_indicator_in_chat 2026-02-23 18:38:15 +00:00
Dave
ac22e9a882 story-kit: merge 87_story_update_agent_lozenge_colour_scheme_across_panels 2026-02-23 18:23:01 +00:00
Dave
d278c194fd fix: remove stray conflict marker in AgentPanel.test.tsx
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 16:19:38 +00:00
Dave
72741f7ea2 Merge story 83: remove active work list from agents panel
Resolves conflict in AgentPanel.test.tsx (duplicate RosterBadge tests
from story 81 merge).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 16:07:19 +00:00
Dave
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