From 95df450fca5359d6fbc11e6325e5264f8b3618f9 Mon Sep 17 00:00:00 2001 From: dave Date: Sat, 28 Mar 2026 10:05:58 +0000 Subject: [PATCH] storkit: create 426_bug_mergemaster_pipeline_marks_story_done_without_verifying_code_landed_on_master --- ...without_verifying_code_landed_on_master.md | 28 +++++++++++++++++++ ...ffic_light_status_and_hard_block_alerts.md | 23 +++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 .storkit/work/1_backlog/426_bug_mergemaster_pipeline_marks_story_done_without_verifying_code_landed_on_master.md create mode 100644 .storkit/work/5_done/424_story_rate_limit_traffic_light_status_and_hard_block_alerts.md diff --git a/.storkit/work/1_backlog/426_bug_mergemaster_pipeline_marks_story_done_without_verifying_code_landed_on_master.md b/.storkit/work/1_backlog/426_bug_mergemaster_pipeline_marks_story_done_without_verifying_code_landed_on_master.md new file mode 100644 index 00000000..533d5a1f --- /dev/null +++ b/.storkit/work/1_backlog/426_bug_mergemaster_pipeline_marks_story_done_without_verifying_code_landed_on_master.md @@ -0,0 +1,28 @@ +--- +name: "Mergemaster pipeline marks story done without verifying code landed on master" +--- + +# Bug 426: Mergemaster pipeline marks story done without verifying code landed on master + +## Description + +The mergemaster pipeline can mark a story as done even when the feature code never makes it to master. The cherry-pick step in merge.rs may fail or be skipped, but the pipeline still advances the story to done via the filesystem watcher. There is no post-merge verification that the code actually exists on master before marking done. + +## How to Reproduce + +Observed on stories 422 and 403. For 422: mergemaster created merge-queue branch, resolved 2 conflicts in chat/commands/mod.rs and http/mcp/mod.rs, passed quality gates, created merge-queue commit cb2ef6b (4 files, 333 insertions including unblock.rs). But the done commit on master (05db012) only moves the story file — zero code changes. There is no 'storkit: merge 422' commit on master at all. The feature branch (db3157f) still has the code but it was never cherry-picked onto master. + +## Actual Result + +Story moved to done with no code on master. The merge-queue commit exists on a detached branch but was never applied to master. No merge commit appears in git log on master. + +## Expected Result + +Pipeline should verify that the cherry-pick produced a merge commit on master before advancing to done. If cherry-pick fails or is missing, the story should remain in merge stage with a merge_failure flag. + +## Acceptance Criteria + +- [ ] Pipeline must not move a story to done unless a merge commit containing the feature code exists on master +- [ ] If cherry-pick fails or produces no code diff on master, the merge must be reported as failed +- [ ] Add a post-merge verification step that checks git log on master for the expected merge commit before advancing to done +- [ ] When verification fails, emit a merge_failure and leave the story in the merge stage for retry diff --git a/.storkit/work/5_done/424_story_rate_limit_traffic_light_status_and_hard_block_alerts.md b/.storkit/work/5_done/424_story_rate_limit_traffic_light_status_and_hard_block_alerts.md new file mode 100644 index 00000000..7b7ec8d6 --- /dev/null +++ b/.storkit/work/5_done/424_story_rate_limit_traffic_light_status_and_hard_block_alerts.md @@ -0,0 +1,23 @@ +--- +name: "Rate limit traffic light status and hard block alerts" +agent: coder-opus +--- + +# Story 424: Rate limit traffic light status and hard block alerts + +## User Story + +As a ..., I want ..., so that ... + +## Acceptance Criteria + +- [ ] Remove repetitive per-message throttle warnings (allowed_warning) from chat transports entirely +- [ ] Pipeline status messages show a coloured dot next to each work item: green for running normally, yellow for throttled, red for hard blocked, white/grey for idle/no agent +- [ ] Hard block events (429 / rate_limit_exceeded) still send an individual chat notification with a red icon, including the reset time +- [ ] Throttle and block state tracked per-agent so the status dot updates in real time +- [ ] Server-side logging of throttle warnings is preserved for debugging +- [ ] Traffic light dots in status report should be small/compact, not large emoji + +## Out of Scope + +- TBD