Skip to content

feat: Discord transport hardening + listener mode (bounty #320)#62

Closed
createkr wants to merge 1 commit intoScottcjn:mainfrom
createkr:feat/discord-transport-hardening-320
Closed

feat: Discord transport hardening + listener mode (bounty #320)#62
createkr wants to merge 1 commit intoScottcjn:mainfrom
createkr:feat/discord-transport-hardening-320

Conversation

@createkr
Copy link

Summary\nImplements Discord transport hardening and lightweight listener mode requested in rustchain-bounties#320.\n\n### What changed\n- Hardened Discord retry/error handling in \n - 429 handling now reads header or JSON fallback\n - safer retry-after normalization and bounded minimum delay\n - dry-run now returns payload shape metadata (, )\n- Added lightweight listener poll/read path\n - now supports JSONL polling\n - persists + in state file for resume safety\n- Added CLI listener command in \n - \n- Expanded Discord transport tests in \n - 429 retry path\n - webhook 4xx/5xx parsing behavior\n - dry-run payload shape assertions\n - listener JSONL polling behavior\n- Updated docs in \n - copy/paste setup aligned with current CLI\n - listener mode examples + troubleshooting improvements\n\n### Validation\n- \n- Result: 18 passed\n\nCloses Scottcjn/rustchain-bounties#320

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Welcome to beacon-skill! Thanks for your first pull request.

Quick checklist:

  • Tests pass (pytest tests/)
  • New code includes SPDX license header
  • Focused on a single change

Bounty tiers: Micro (1-10 RTC) | Standard (20-50) | Major (75-100)

A maintainer will review your PR soon!

@Scottcjn
Copy link
Owner

Closing — good ideas (JSONL event source, rate limit header parsing) but several issues: synchronous file I/O inside async methods, dry_run leaks webhook URLs, and the test changes weaken test_error_parsing_429 by catching generic DiscordError instead of DiscordRateLimitError. Please rework with proper async file I/O and preserve test specificity. Thanks @createkr.

@Scottcjn Scottcjn closed this Feb 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/L PR: 201-500 lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants