Dave
ec553a5b8a
story-kit: start 256_story_bot_must_verify_other_users_cross_signing_identity_before_checking_device_verification
2026-03-17 12:49:40 +00:00
Dave and Claude Opus 4.6
076324c470
Fix pipe buffer deadlock in quality gate test runner
...
run_command_with_timeout piped stdout/stderr but only read them after
the child exited. When test output exceeded the 64KB OS pipe buffer,
the child blocked on write() while the parent blocked on waitpid() —
a permanent deadlock that caused every merge pipeline to hang.
Drain both pipes in background threads so the buffers never fill.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-17 12:49:12 +00:00
Dave
5ed2737edc
story-kit: accept 250_bug_merge_pipeline_cherry_pick_fails_with_bad_revision_on_merge_queue_branch
2026-03-17 12:48:11 +00:00
Dave
0eafddd186
story-kit: done 257_story_rename_storkit_to_story_kit_in_header
2026-03-17 12:46:33 +00:00
Dave
7d4f722942
story-kit: merge 257_story_rename_storkit_to_story_kit_in_header
2026-03-17 12:46:30 +00:00
Dave
5d80d289c4
story-kit: create 258_bug_auto_assign_not_called_after_merge_failure
2026-03-17 12:35:08 +00:00
Dave and Claude Opus 4.6
7c6e1b445d
Make merge_agent_work async to avoid MCP 60-second tool timeout
...
The merge pipeline (squash merge + quality gates) takes well over 60
seconds. Claude Code's MCP HTTP transport times out at 60s, causing
"completed with no output" — the mergemaster retries fruitlessly.
merge_agent_work now starts the pipeline as a background task and
returns immediately. A new get_merge_status tool lets the mergemaster
poll until the job reaches a terminal state. Also adds a double-start
guard so concurrent calls for the same story are rejected.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-17 12:15:42 +00:00
Dave
a85d1a1170
story-kit: queue 257_story_rename_storkit_to_story_kit_in_header for merge
2026-03-17 12:14:53 +00:00
Dave
afc1ab5e0e
story-kit: queue 257_story_rename_storkit_to_story_kit_in_header for merge
2026-03-17 11:51:29 +00:00
Dave
32b6439f2f
story-kit: create 256_story_bot_must_verify_other_users_cross_signing_identity_before_checking_device_verification
2026-03-17 11:46:28 +00:00
Dave
85e56e0ea8
story-kit: queue 257_story_rename_storkit_to_story_kit_in_header for merge
2026-03-17 11:45:29 +00:00
Dave
b63fa6be4f
story-kit: queue 256_story_bot_must_verify_other_users_cross_signing_identity_before_checking_device_verification for merge
2026-03-17 11:43:23 +00:00
Dave
f012311303
story-kit: queue 257_story_rename_storkit_to_story_kit_in_header for merge
2026-03-17 11:39:28 +00:00
Dave
af0aa007ca
story-kit: queue 257_story_rename_storkit_to_story_kit_in_header for merge
2026-03-17 11:36:05 +00:00
Dave
b2aec94d4c
story-kit: queue 256_story_bot_must_verify_other_users_cross_signing_identity_before_checking_device_verification for QA
2026-03-17 11:35:03 +00:00
Dave
2ac550008a
story-kit: start 256_story_bot_must_verify_other_users_cross_signing_identity_before_checking_device_verification
2026-03-17 11:32:49 +00:00
Dave and Claude Opus 4.6
ebbbfed1d9
Add 10-minute timeout to test commands and disable e2e in merge pipeline
...
Test commands in run_project_tests now use wait-timeout to enforce a
600-second ceiling, preventing hung processes (e.g. Playwright with no
server) from blocking the merge pipeline indefinitely. Also disables
e2e tests in script/test until the merge workspace can run them safely.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-17 11:32:44 +00:00
Dave
fd6ef83f76
story-kit: queue 257_story_rename_storkit_to_story_kit_in_header for QA
2026-03-17 11:29:57 +00:00
Dave
473461b65d
story-kit: start 257_story_rename_storkit_to_story_kit_in_header
2026-03-17 11:24:55 +00:00
Dave
dc8d639d02
story-kit: create 256_story_bot_must_verify_other_users_cross_signing_identity_before_checking_device_verification
2026-03-17 11:24:20 +00:00
Dave
594fc500cf
story-kit: create 250_bug_merge_pipeline_cherry_pick_fails_with_bad_revision_on_merge_queue_branch
2026-03-17 11:24:15 +00:00
Dave
5448a99759
story-kit: done 245_bug_chat_history_persistence_lost_on_page_refresh_story_145_regression
2026-03-17 11:24:09 +00:00
Dave
f5524b3ae1
story-kit: accept 255_story_show_agent_logs_in_expanded_story_popup
2026-03-17 11:23:36 +00:00
Dave
4585537dd8
story-kit: create 250_bug_merge_pipeline_cherry_pick_fails_with_bad_revision_on_merge_queue_branch
2026-03-17 11:23:19 +00:00
Dave
57911fd9e7
story-kit: start 256_story_bot_must_verify_other_users_cross_signing_identity_before_checking_device_verification
2026-03-17 11:23:11 +00:00
Dave
b6f5169b56
story-kit: start 250_bug_merge_pipeline_cherry_pick_fails_with_bad_revision_on_merge_queue_branch
2026-03-17 11:23:07 +00:00
Dave
a4b99c68da
story-kit: done 255_story_show_agent_logs_in_expanded_story_popup
2026-03-17 11:23:04 +00:00
Dave
85062c338f
story-kit: done 254_story_add_refactor_work_item_type
2026-03-17 11:23:01 +00:00
Dave
a7f3d283ec
story-kit: done 245_bug_chat_history_persistence_lost_on_page_refresh_story_145_regression
2026-03-17 11:22:57 +00:00
Dave
6cc9d1bde9
story-kit: queue 245_bug_chat_history_persistence_lost_on_page_refresh_story_145_regression for merge
2026-03-17 11:14:16 +00:00
Dave
a82fa37730
story-kit: accept 253_bug_watcher_and_auto_assign_do_not_reinitialize_when_project_root_changes
2026-03-17 03:26:24 +00:00
Dave
06ceab3e22
story-kit: merge 245_bug_chat_history_persistence_lost_on_page_refresh_story_145_regression
2026-03-17 01:02:34 +00:00
Dave
58438f3ab6
story-kit: queue 245_bug_chat_history_persistence_lost_on_page_refresh_story_145_regression for merge
2026-03-17 01:02:04 +00:00
Dave
59bb7dbc3a
story-kit: queue 245_bug_chat_history_persistence_lost_on_page_refresh_story_145_regression for merge
2026-03-17 00:59:38 +00:00
Dave
9c2471fbcc
story-kit: queue 250_bug_merge_pipeline_cherry_pick_fails_with_bad_revision_on_merge_queue_branch for merge
2026-03-17 00:52:34 +00:00
Dave
f383d0cb4f
story-kit: queue 245_bug_chat_history_persistence_lost_on_page_refresh_story_145_regression for QA
2026-03-17 00:52:02 +00:00
Dave
be61803af0
story-kit: merge 255_story_show_agent_logs_in_expanded_story_popup
2026-03-17 00:49:43 +00:00
Dave
c132d4f5c0
story-kit: queue 255_story_show_agent_logs_in_expanded_story_popup for merge
2026-03-17 00:49:20 +00:00
Dave
263ba440dc
story-kit: queue 255_story_show_agent_logs_in_expanded_story_popup for merge
2026-03-17 00:46:33 +00:00
Dave
2fae9066e2
story-kit: merge 254_story_add_refactor_work_item_type
2026-03-17 00:40:37 +00:00
Dave
3553f59078
story-kit: queue 254_story_add_refactor_work_item_type for merge
2026-03-17 00:39:55 +00:00
Dave
78ea96d0a9
story-kit: queue 255_story_show_agent_logs_in_expanded_story_popup for QA
2026-03-17 00:36:40 +00:00
Dave
79d3eccc46
story-kit: queue 254_story_add_refactor_work_item_type for merge
2026-03-17 00:34:56 +00:00
Dave
c21a087399
story-kit: queue 250_bug_merge_pipeline_cherry_pick_fails_with_bad_revision_on_merge_queue_branch for merge
2026-03-17 00:30:47 +00:00
Dave
67942d466c
story-kit: done 253_bug_watcher_and_auto_assign_do_not_reinitialize_when_project_root_changes
2026-03-17 00:30:26 +00:00
Dave
1d6a4fa8c6
story-kit: queue 254_story_add_refactor_work_item_type for QA
2026-03-17 00:29:53 +00:00
Dave
250f3ff819
story-kit: accept 242_story_status_slash_command
2026-03-17 00:26:51 +00:00
Dave
a02ea3c292
story-kit: queue 253_bug_watcher_and_auto_assign_do_not_reinitialize_when_project_root_changes for merge
2026-03-17 00:25:50 +00:00
Dave
bbc5d9c90c
story-kit: queue 256_story_bot_must_verify_other_users_cross_signing_identity_before_checking_device_verification for merge
2026-03-17 00:21:03 +00:00
Dave
24f6a5c7cc
story-kit: queue 256_story_bot_must_verify_other_users_cross_signing_identity_before_checking_device_verification for merge
2026-03-17 00:13:44 +00:00
Dave
ab3420fa90
story-kit: queue 250_bug_merge_pipeline_cherry_pick_fails_with_bad_revision_on_merge_queue_branch for merge
2026-03-17 00:13:12 +00:00
Dave
4c6228abee
story-kit: queue 253_bug_watcher_and_auto_assign_do_not_reinitialize_when_project_root_changes for QA
2026-03-17 00:12:25 +00:00
Dave
6df28d5393
story-kit: queue 250_bug_merge_pipeline_cherry_pick_fails_with_bad_revision_on_merge_queue_branch for merge
2026-03-17 00:04:39 +00:00
Dave
2ad59ba155
story-kit: accept 249_story_agent_assignment_via_story_front_matter
2026-03-17 00:04:13 +00:00
Dave
319fc3823a
story-kit: queue 250_bug_merge_pipeline_cherry_pick_fails_with_bad_revision_on_merge_queue_branch for merge
2026-03-17 00:04:12 +00:00
Dave and Claude Opus 4.6
b9f3449021
story-kit: support agent assignment via story front matter (story 249)
...
Adds an optional `agent:` field to story file front matter so that a
specific agent can be requested for a story. The auto-assign loop now:
1. Reads the front-matter `agent` field for each story before picking
a free agent.
2. If a preferred agent is named, uses it when free; skips the story
(without falling back) when that agent is busy.
3. Falls back to the existing `find_free_agent_for_stage` behaviour
when no preference is specified.
Ported from feature branch that predated the agents.rs module refactoring.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-17 00:03:49 +00:00
Dave
cd7444ac5c
story-kit: done 249_story_agent_assignment_via_story_front_matter
2026-03-17 00:03:21 +00:00
Dave
f5d9c98e74
story-kit: queue 256_story_bot_must_verify_other_users_cross_signing_identity_before_checking_device_verification for QA
2026-03-16 23:59:22 +00:00
Dave
7cd19e248c
story-kit: start 245_bug_chat_history_persistence_lost_on_page_refresh_story_145_regression
2026-03-16 23:57:48 +00:00
Dave
ec5024a089
story-kit: start 255_story_show_agent_logs_in_expanded_story_popup
2026-03-16 23:57:05 +00:00
Dave
9041cd1d16
story-kit: start 256_story_bot_must_verify_other_users_cross_signing_identity_before_checking_device_verification
2026-03-16 23:53:53 +00:00
Dave
0a0624795c
story-kit: create 256_story_bot_must_verify_other_users_cross_signing_identity_before_checking_device_verification
2026-03-16 23:53:26 +00:00
Dave
d8d0d7936c
story-kit: queue 253_bug_watcher_and_auto_assign_do_not_reinitialize_when_project_root_changes for QA
2026-03-16 23:46:47 +00:00
Dave
55ea8e6aaf
story-kit: accept 251_bug_archive_sweep_not_moving_stories_from_done_to_archived
2026-03-16 23:44:13 +00:00
Dave
1598d2a453
story-kit: done 251_bug_archive_sweep_not_moving_stories_from_done_to_archived
2026-03-16 23:44:09 +00:00
Dave
0120de5f00
story-kit: queue 249_story_agent_assignment_via_story_front_matter for QA
2026-03-16 23:44:00 +00:00
Dave
21835bc37d
story-kit: queue 254_story_add_refactor_work_item_type for QA
2026-03-16 23:42:04 +00:00
Dave
f01fa6c527
story-kit: start 253_bug_watcher_and_auto_assign_do_not_reinitialize_when_project_root_changes
2026-03-16 23:41:05 +00:00
Dave
a51488a0ce
story-kit: create 253_bug_watcher_and_auto_assign_do_not_reinitialize_when_project_root_changes
2026-03-16 23:40:02 +00:00
Dave
9054ac013e
story-kit: accept 252_story_coder_agents_must_find_root_causes_for_bugs
2026-03-16 23:38:24 +00:00
Dave
95eea3a624
story-kit: start 254_story_add_refactor_work_item_type
2026-03-16 23:35:18 +00:00
Dave
6b9390b243
story-kit: start 255_story_show_agent_logs_in_expanded_story_popup
2026-03-16 23:34:24 +00:00
Dave
3ed9b7a185
story-kit: create 255_story_show_agent_logs_in_expanded_story_popup
2026-03-16 23:29:20 +00:00
Dave
bd7426131f
story-kit: create 255_story_show_agent_logs_in_expanded_story_popup
2026-03-16 23:29:05 +00:00
Dave
e0132a7807
story-kit: create 255_bug_agent_logs_tab_shows_no_output_in_expanded_story_popup
2026-03-16 23:28:24 +00:00
Dave
b829783a84
story-kit: queue 253_bug_watcher_and_auto_assign_do_not_reinitialize_when_project_root_changes for QA
2026-03-16 23:27:28 +00:00
Dave
2f0c54150a
story-kit: start 253_bug_watcher_and_auto_assign_do_not_reinitialize_when_project_root_changes
2026-03-16 23:25:56 +00:00
Dave
a716ca312a
story-kit: start 253_bug_watcher_and_auto_assign_do_not_reinitialize_when_project_root_changes
2026-03-16 23:25:33 +00:00
Dave
8ff6e3963b
story-kit: accept 241_story_help_slash_command
2026-03-16 23:23:45 +00:00
Dave
2e25e2a46b
story-kit: queue 253_bug_watcher_and_auto_assign_do_not_reinitialize_when_project_root_changes for merge
2026-03-16 23:23:45 +00:00
Dave and Claude Opus 4.6
7c3a756a5c
Refactor agents.rs (7631 lines) into agents/ module directory
...
Split the monolithic agents.rs into 6 focused modules:
- mod.rs: shared types (AgentEvent, AgentStatus, etc.) and re-exports
- pool.rs: AgentPool struct, all methods, and helper free functions
- pty.rs: PTY streaming (run_agent_pty_blocking, emit_event)
- lifecycle.rs: story movement functions (move_story_to_qa, etc.)
- gates.rs: acceptance gates (clippy, tests, coverage)
- merge.rs: squash-merge, conflict resolution, quality gates
All 121 original tests are preserved and distributed across modules.
Also adds clear_front_matter_field to story_metadata.rs to strip
stale merge_failure from front matter when stories move to done.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-16 23:06:14 +00:00
Dave and Claude Opus 4.6
225137fbdc
story-kit: instruct coder agents to find root causes for bugs (story 252)
...
Add "Bug Workflow: Root Cause First" guidance to all coder agent prompts
and system prompts. Adds a test ensuring all coder-stage agents include
root cause, git bisect/log, and anti-workaround instructions.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-16 19:33:54 +00:00
Dave
cce3ceb55b
story-kit: merge 249_story_agent_assignment_via_story_front_matter
2026-03-14 21:00:52 +00:00
Dave and Claude Sonnet 4.6
b54f16b945
story-kit: commit work pipeline files and package-lock
...
Commit untracked work pipeline files (stories, bugs in various stages)
and package-lock.json that were present on the filesystem but not yet
tracked by git.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-14 20:04:43 +00:00
Dave and Claude Opus 4.6
93d5dbd92a
story-kit: fix chat auto-scroll to bottom on new messages (bug 248)
...
Correct lastScrollTopRef assignment in scrollToBottom to read back the
browser-capped scrollTop value instead of using scrollHeight, which was
causing handleScroll to incorrectly detect upward scrolling and disable
auto-scroll.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-14 19:56:55 +00:00
Dave and Claude Opus 4.6
ec652a6fe8
story-kit: enforce cryptographic identity verification for Matrix commands (story 246)
...
Remove the require_verified_devices config toggle. The bot now always requires
encrypted rooms and cross-signing-verified devices before executing any command.
Messages from unencrypted rooms or unverified devices are rejected.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-14 19:56:38 +00:00
Dave
568207687d
story-kit: merge 241_story_help_slash_command
2026-03-14 18:55:30 +00:00
Dave
3abea68f9e
story-kit: merge 243_bug_replace_pnpm_with_npm
2026-03-14 18:12:00 +00:00
Dave and Claude Opus 4.6
3a430dfaa2
story-kit: done 240_story_btw_side_question_slash_command
...
Implement /btw side question slash command — lets users ask quick
questions from conversation context without disrupting the main chat.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-14 18:09:30 +00:00
Dave
6a7baa4a15
Reverting sqlite upgrade
2026-03-14 13:28:33 +00:00
Dave
5f7647cbda
Dependencies upgrade
2026-03-14 11:44:51 +00:00
Dave
1dcf043c53
story-kit: accept 233_story_auto_assign_backoff_for_failed_merge_items
2026-03-13 18:38:53 +00:00
Dave
523553197d
story-kit: done 233_story_auto_assign_backoff_for_failed_merge_items
2026-03-13 18:38:45 +00:00
Dave
8d0c74c7d0
story-kit: done 227_bug_thinking_traces_visible_in_agents_panel_in_release_builds_only
2026-03-13 18:38:08 +00:00
Dave
ae115599a8
story-kit: queue 233_story_auto_assign_backoff_for_failed_merge_items for merge
2026-03-13 18:36:40 +00:00
Dave
6a477de2e1
story-kit: merge 227_bug_thinking_traces_visible_in_agents_panel_in_release_builds_only
2026-03-13 18:36:29 +00:00
Dave
20a4f0c492
story-kit: queue 227_bug_thinking_traces_visible_in_agents_panel_in_release_builds_only for merge
2026-03-13 18:34:04 +00:00
Dave
9fc7aebe22
story-kit: queue 233_story_auto_assign_backoff_for_failed_merge_items for QA
2026-03-13 18:32:45 +00:00
Dave
f681d978b5
story-kit: queue 227_bug_thinking_traces_visible_in_agents_panel_in_release_builds_only for QA
2026-03-13 18:29:29 +00:00
Dave
57a02d9a2b
story-kit: start 233_story_auto_assign_backoff_for_failed_merge_items
2026-03-13 18:17:26 +00:00