diff --git a/.storkit/work/1_backlog/365_story_surface_api_rate_limit_warnings_in_chat.md b/.storkit/work/1_backlog/365_story_surface_api_rate_limit_warnings_in_chat.md deleted file mode 100644 index 876322c..0000000 --- a/.storkit/work/1_backlog/365_story_surface_api_rate_limit_warnings_in_chat.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -name: "Surface API rate limit warnings in chat" ---- - -# Story 365: Surface API rate limit warnings in chat - -## User Story - -As a project owner watching the chat, I want to see rate limit warnings surfaced directly in the conversation when they appear in the agent's PTY output, so that I know immediately when an agent is being throttled without having to watch server logs. - -## Acceptance Criteria - -- [ ] Server detects rate limit warnings in pty-debug output lines -- [ ] When a rate limit warning is detected, a notification is sent to the active chat (Matrix/Slack/WhatsApp) -- [ ] The notification includes which agent/story triggered the rate limit -- [ ] Rate limit notifications are debounced to avoid spamming the chat with repeated warnings - -## Technical Context - -Claude Code emits `rate_limit_event` JSON in its streaming output: - -```json -{ - "type": "rate_limit_event", - "rate_limit_info": { - "status": "allowed_warning", - "resetsAt": 1774443600, - "rateLimitType": "seven_day", - "utilization": 0.82, - "isUsingOverage": false, - "surpassedThreshold": 0.75 - } -} -``` - -Key fields: -- `status`: `"allowed_warning"` when approaching limit, likely `"blocked"` or similar when hard-limited -- `rateLimitType`: e.g. `"seven_day"` rolling window -- `utilization`: 0.0–1.0 fraction of limit consumed -- `resetsAt`: Unix timestamp when the window resets -- `surpassedThreshold`: the threshold that triggered the warning (e.g. 0.75 = 75%) - -These events are already logged as `[pty-debug] raw line:` in the server logs. The PTY reader in `server/src/llm/providers/claude_code.rs` (line ~234) sees them but doesn't currently parse or act on them. - -## Out of Scope - -- TBD diff --git a/.storkit/work/1_backlog/367_story_rename_bot_whatsup_command_to_status.md b/.storkit/work/1_backlog/367_story_rename_bot_whatsup_command_to_status.md new file mode 100644 index 0000000..bb2a882 --- /dev/null +++ b/.storkit/work/1_backlog/367_story_rename_bot_whatsup_command_to_status.md @@ -0,0 +1,20 @@ +--- +name: "Rename bot whatsup command to status" +--- + +# Story 367: Rename bot whatsup command to status + +## User Story + +As a project owner using the bot from a phone, I want to type "status {number}" instead of "whatsup {number}" to get a story triage dump, because "whatsup" gets autocorrected to "WhatsApp" on mobile keyboards. + +## Acceptance Criteria + +- [ ] '{bot_name} status {number}' returns the same triage dump that 'whatsup' currently returns +- [ ] The 'whatsup' command is removed or aliased to 'status' +- [ ] Help output shows 'status' as the command name +- [ ] The MCP tool name (whatsup) is unaffected — this only changes the bot command + +## Out of Scope + +- TBD