docs: M7 push-notification backend contract + plan #20

Merged
whitlocktech merged 2 commits from docs/android-m7-push into main 2026-07-20 15:24:38 +00:00
Member

What & why

Documentation companion to RunicGateway/website#78 (M7 push notifications, Part 1). Keeps docs/ in lockstep with the backend per the repo contract.

Changes

  • docs/android/PLAN.md
    • Records the M7 plan (two event sources / one publisher, the stream catalog + PUBLIC_KINDS-gated mapping, the two tables, the /auth/me routes, the SSRF endpoint guard, and the content-free-tickle ntfy service) as the working plan of record — Part 1 (backend + docs) vs Part 2 (the app).
    • Flips M7 Part 1 to in review (status line, §8 item 3, §9 M7), referencing website#78.
  • docs/website/BACKEND_DESIGN.md
    • New push_devices + notification_subscriptions tables (§3).
    • /auth/me/devices* + /auth/me/notifications/* API rows (§4).
    • A push-notification design + security section: content-free tickles, the same public/admin split as the SSE feed, owner-keyed personal streams, the SSRF endpoint allow-set, and the untrusted-relay model.
    • The ntfy service in the deployment section (§8) — declarative, no host port, zero interactive setup.

AI disclosure

Authored with Claude Code (Claude Opus). Commits carry a Co-Authored-By: Claude trailer per org policy.

🤖 Generated with Claude Code

## What & why Documentation companion to **RunicGateway/website#78** (M7 push notifications, Part 1). Keeps `docs/` in lockstep with the backend per the repo contract. ## Changes - **`docs/android/PLAN.md`** - Records the **M7 plan** (two event sources / one publisher, the stream catalog + `PUBLIC_KINDS`-gated mapping, the two tables, the `/auth/me` routes, the SSRF endpoint guard, and the content-free-tickle ntfy service) as the working plan of record — Part 1 (backend + docs) vs Part 2 (the app). - Flips M7 Part 1 to **in review** (status line, §8 item 3, §9 M7), referencing website#78. - **`docs/website/BACKEND_DESIGN.md`** - New `push_devices` + `notification_subscriptions` tables (§3). - `/auth/me/devices*` + `/auth/me/notifications/*` API rows (§4). - A push-notification **design + security** section: content-free tickles, the same public/admin split as the SSE feed, owner-keyed personal streams, the SSRF endpoint allow-set, and the untrusted-relay model. - The `ntfy` service in the deployment section (§8) — declarative, no host port, zero interactive setup. ## AI disclosure Authored with **Claude Code** (Claude Opus). Commits carry a `Co-Authored-By: Claude` trailer per org policy. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
wtclaude added 2 commits 2026-07-20 10:15:42 +00:00
Capture the M7 backend/docs breakdown in PLAN.md before the code lands: two
event sources / one publisher, the stream catalog + PUBLIC_KINDS-gated mapping,
push_devices + notification_subscriptions tables, the /auth/me routes, the SSRF
endpoint guard, and the content-free-tickle ntfy service (no publish token).

Co-Authored-By: Claude <noreply@anthropic.com>
- BACKEND_DESIGN.md: push_devices + notification_subscriptions tables (§3), the
  /auth/me/devices* + /auth/me/notifications/* API rows (§4), a push-notification
  design + security section (content-free tickles, PUBLIC_KINDS split, owner-keyed
  personal streams, SSRF endpoint guard, untrusted-relay model), and the ntfy
  compose service in the deploy section (§8).
- PLAN.md: flip M7 Part 1 (backend + docs) to in-review — status line, §8 item 3,
  §9 M7.

Co-Authored-By: Claude <noreply@anthropic.com>
whitlocktech approved these changes 2026-07-20 15:24:31 +00:00
whitlocktech merged commit 9a8c083a1e into main 2026-07-20 15:24:38 +00:00
whitlocktech deleted branch docs/android-m7-push 2026-07-20 15:24:38 +00:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: RunicGateway/docs#20
No description provided.