fix(daily-infra-report): drop the vestigial Zulip key requirement; fail loudly on a failed send #127

Merged
abiba-bot merged 1 commits from fix/daily-health-digest-remove-vestigial-zulip-20260921 into master 2026-09-21 11:36:49 +00:00
1 Commits
Author SHA1 Message Date
root 59ed7cdbf7 fix(daily-infra-report): remove vestigial ZULIP_API_KEY requirement, exit non-zero on failed send
PR Pipeline — Authorize → Validate → Review → Merge / auth (pull_request) Successful in 2s
PR Pipeline — Authorize → Validate → Review → Merge / validate (pull_request) Successful in 4s
PR Pipeline — Authorize → Validate → Review → Merge / lint (pull_request) Successful in 4s
PR Pipeline — Authorize → Validate → Review → Merge / ai-review (pull_request) Successful in 3s
PR Pipeline — Authorize → Validate → Review → Merge / gate (pull_request) Successful in 0s
1. Remove vestigial ZULIP_API_KEY requirement:
   - /api/v1/server_settings is a PUBLIC endpoint (verified HTTP 200 with or without credential)
   - No Zulip API key is required for this call
   - If a future leg genuinely needs abiba-bot's key, it must prove it with a 200 from
     /api/v1/users/me as abiba-bot and label itself degraded when it cannot
   - Never fall back to the vault's shared ZULIP_API_KEY

2. Make failed sends exit non-zero:
   - A degraded leg (no credential configured) must stay exit 0
   - A failed send (attempted and failed) must exit 1
   - This distinguishes 'not configured' from 'attempted and failed'

Test evidence:
- No-credential run: exit 0, digest still produced
- Wrong password: exit 1, labelled SMTP error
- grep -n ZULIP_API_KEY: only comment reference remains
2026-09-21 11:30:42 +00:00