storkit: done 420_story_loc_for_a_specified_file_bot_command_and_web_ui_slash_command
This commit is contained in:
-29
@@ -1,29 +0,0 @@
|
||||
---
|
||||
name: "Matrix bot crashes on transient network error instead of retrying"
|
||||
---
|
||||
|
||||
# Bug 419: Matrix bot crashes on transient network error instead of retrying
|
||||
|
||||
## Description
|
||||
|
||||
The Matrix bot treats a transient sync error as fatal and stops entirely. A single failed HTTP request to the homeserver kills the bot, requiring a full server rebuild to recover.
|
||||
|
||||
## How to Reproduce
|
||||
|
||||
1. Run storkit with Matrix bot enabled\n2. Homeserver becomes temporarily unreachable (network blip, DNS hiccup, server restart)\n3. Bot hits sync error and crashes
|
||||
|
||||
## Actual Result
|
||||
|
||||
Bot logs "Fatal error: Matrix sync error: error sending request for url (...)" and stops responding. No retry, no recovery.
|
||||
|
||||
## Expected Result
|
||||
|
||||
Bot logs a warning, backs off with exponential delay, and retries the sync. Only crash on unrecoverable errors (invalid credentials, banned, etc).
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- [ ] Transient network errors (connection refused, timeout, DNS failure) trigger a retry with exponential backoff
|
||||
- [ ] Bot logs a warning on each failed retry attempt
|
||||
- [ ] Bot resumes normal operation once the homeserver is reachable again
|
||||
- [ ] Unrecoverable errors (401, 403) still cause a clean shutdown with a clear error message
|
||||
- [ ] Bot sends a notification after recovering from a network outage
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
---
|
||||
name: "loc for a specified file — bot command and web UI slash command"
|
||||
---
|
||||
|
||||
# Story 420: loc for a specified file — bot command and web UI slash command
|
||||
|
||||
## User Story
|
||||
|
||||
As a developer, I want to send `loc <filepath>` to the bot or use it as a slash command in the web UI to see the line count for a specific file, so I can quickly check how large a file is without leaving my workflow.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- [ ] loc <filepath> returns the line count for the specified file
|
||||
- [ ] Relative paths are resolved against the project root
|
||||
- [ ] If the file does not exist, returns a clear error
|
||||
- [ ] Works from all transports (Matrix, WhatsApp, Slack)
|
||||
- [ ] Works as a slash command in the web UI
|
||||
- [ ] loc with no argument retains existing behavior (top files by line count)
|
||||
- [ ] Exposed as an MCP tool so agents can query file line counts programmatically
|
||||
|
||||
## Out of Scope
|
||||
|
||||
- TBD
|
||||
Reference in New Issue
Block a user