storkit: create 367_story_rename_bot_whatsup_command_to_status
This commit is contained in:
@@ -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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user