Skip to content

feat: showcase polish — configurable paths, webhook, get_status, CI#2

Merged
TadMSTR merged 8 commits intomainfrom
feat/showcase-polish
Apr 20, 2026
Merged

feat: showcase polish — configurable paths, webhook, get_status, CI#2
TadMSTR merged 8 commits intomainfrom
feat/showcase-polish

Conversation

@TadMSTR
Copy link
Copy Markdown
Owner

@TadMSTR TadMSTR commented Apr 20, 2026

Summary

  • AGENT_BUS_COMMS_DIR — base directory now configurable via env var (blank = ~/.claude/comms). Propagated to server.py, reconcile.py, cleanup.sh, ecosystem.config.js, .env.example
  • Configurable retentionAGENT_BUS_CROSS_AGENT_RETENTION_DAYS (default 90) and AGENT_BUS_SESSION_RETENTION_DAYS (default 30) replace hardcoded values in cleanup.sh
  • Helm comment cleanup — removed Helm-specific language from two code comments
  • agent_bus_client.py — direct JSONL writer for non-MCP callers (PM2 cron jobs, task dispatchers); documented in README but was missing from the repo
  • HTTP webhookAGENT_BUS_WEBHOOK_URL + AGENT_BUS_WEBHOOK_EVENTS env vars; fire-and-forget POST on matching events; * fires on all events; silent failure like emit_ntfy
  • get_status tool — returns comms_dir, logs_dir, hostname, active integrations (NATS/ntfy/webhook), log date range, and today's event count; useful for verifying setup after install
  • README — optional components table, full env vars table, get_status docs, real clone URL, updated storage layout to use $AGENT_BUS_COMMS_DIR, CI badge
  • CI — GitHub Actions on Python 3.11/3.12/3.13: import smoke test + pip-audit dependency audit

Test plan

  • Import smoke test passes locally (python -c "import server; import reconcile; import agent_bus_client") ✅
  • CI passes on push (3 Python versions + audit job)
  • get_status returns correct paths and integration state
  • AGENT_BUS_COMMS_DIR redirects all log writes when set
  • Blank AGENT_BUS_WEBHOOK_URL leaves webhooks disabled silently
  • cleanup.sh retention defaults behave identically to before

🤖 Generated with Claude Code

TadMSTR and others added 8 commits April 20, 2026 08:01
COMMS_DIR is now read from AGENT_BUS_COMMS_DIR (blank or unset falls back
to ~/.claude/comms). Also removes Helm-specific language from comments.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
AGENT_BUS_CROSS_AGENT_RETENTION_DAYS (default 90) and
AGENT_BUS_SESSION_RETENTION_DAYS (default 30) replace hardcoded
day counts in cleanup.sh. Ecosystem and .env.example updated.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Direct JSONL writer for PM2 cron jobs and other scripts that can't
call MCP. Uses the same event schema as the server so events are
visible via query_events and get_event. Documented in README.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…al clone URL

Adds optional components table (NATS, ntfy, webhook), full env vars
reference table, get_status tool docs, real clone URL, and updated
storage layout to use $AGENT_BUS_COMMS_DIR. CI badge added.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Import smoke test on Python 3.11, 3.12, 3.13 plus pip-audit dependency
audit. Matches pattern from scoped-mcp and searxng-mcp.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Both CVEs are fixed in 3.2.0; pinning to latest 3.2.4.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
L-01: strip \r\n from event fields interpolated into curl -H args in
emit_ntfy() to prevent header injection (near-zero exploitability but
trivially defensible).

L-03: expand ntfy-real-channel gitleaks rule to also match
ntfy.glitch42.me and ntfy.glitch42.com patterns.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@TadMSTR TadMSTR merged commit 393912a into main Apr 20, 2026
4 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.

1 participant