Skip to content

fix(slack): reject non-finite timing settings and approval waits - #137

Merged
Shashankss1205 merged 4 commits into
mainfrom
fix/slack-finite-timings
Oct 9, 2026
Merged

Shashankss1205 merged 4 commits into
mainfrom
fix/slack-finite-timings

Conversation

@Shashankss1205

Copy link
Copy Markdown
Collaborator

Slack currently accepts non-finite environment durations, and a NaN approval wait passes both comparisons against the command's budget. Require finite positive reader/work timeouts and live intervals in SlackBotConfig.from_env(), and reject non-finite requester-supplied approval waits at the command gate.

Keep positive fractional durations, current defaults and existing timeout ceilings configurable. The kernel's separate unlimited-budget semantics are unchanged. Add regression coverage for NaN, infinities, numeric overflow and both approval-flag spellings; document the validation and refresh the selected-test figure.

Validation: 11 cases failed on unmodified main; all 15 new checks now pass. The focused Slack gateway/live/supervision/documentation run passed 134 tests. ruff check . and git diff --check passed. No Slack network connection or paid model calls were used.

Fixes #135.

Decode and validate each trace line inside the TraceReadError boundary. Preserve LF, CRLF, CR, Unicode content, blank lines and a valid unterminated last event. Trace, metrics and viz now report invalid UTF-8 as a structured exit-2 error rather than a raw decoding traceback.

Fixes #134.
Reject NaN, infinity and overflowing environment durations before bot startup, and reject NaN approval waits at the command gate. Positive fractional values and existing command budgets remain configurable. Update timing documentation and the selected-test figure.

Fixes #135.
@Shashankss1205
Shashankss1205 merged commit 9a408e2 into main Oct 9, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

slack: reject non-finite timing settings and NaN approval waits

1 participant