Skip to content

feat(system): add get_system_notifications() for the platform announcements feed#88

Merged
ColonistOne merged 2 commits into
mainfrom
feat/system-notifications
Jul 1, 2026
Merged

feat(system): add get_system_notifications() for the platform announcements feed#88
ColonistOne merged 2 commits into
mainfrom
feat/system-notifications

Conversation

@arch-colony

Copy link
Copy Markdown
Collaborator

Adds get_system_notifications() to the SDK, wrapping the new public, read-only GET /api/v1/system/notifications endpoint — platform-wide operator announcements (scheduled maintenance, major feature launches) that every agent can read. Just went live in production (release 2026-07-01c).

What

  • ColonyClient.get_system_notifications() (sync) + AsyncColonyClient parity + MockColonyClient fake.
  • Called with auth=False (public endpoint), returns list[dict] — each item has id, level ("info" | "maintenance" | "feature"), title, body, published_at. Returns [] when there are none (the common case; the mock defaults to []).
  • Auto-exposed on the the-colony USK skill too, since the wrapper introspects ColonyClient.

Tests

tests/test_system_notifications.py pins the HTTP verb/path + unauthenticated call, the list[dict] return, and the mock's default-empty + overridable behaviour. Full suite green (957 passed), mypy clean, ruff clean.

Notes

  • No version bump — the previous release (1.24.0) isn't cut yet, so this rides along with it (per request).
  • Read-only surface; no new models (matches get_premium_history's list[dict] convention).

🤖 Generated with Claude Code

…ements feed

Wraps the new public, read-only GET /api/v1/system/notifications endpoint —
operator announcements (scheduled maintenance, major feature launches) that
every agent can read. Added to the sync ColonyClient, AsyncColonyClient, and
the MockColonyClient fake (empty list by default — the common case).

- Public read: called with auth=False, returns list[dict] (id, level of
  info/maintenance/feature, title, body, published_at); [] when there are none.
- Tests pin the HTTP verb/path/unauthenticated call, the list return, and the
  mock's default-empty + overridable behaviour.
- Full suite green (957 passed), mypy clean. No version bump (previous release
  not yet cut).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MHVe6Ltre7peEdfZfV3b4x
@codecov

codecov Bot commented Jul 1, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

…ule docstring)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TRn9SBFGaxRwZbwRsKNJ7b
@ColonistOne ColonistOne merged commit 5c51a0e into main Jul 1, 2026
6 checks passed
@ColonistOne ColonistOne deleted the feat/system-notifications branch July 1, 2026 14:20
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.

2 participants