Skip to content

Add the public Atmo RSVP service - #83

Open
flo-bit wants to merge 1 commit into
feat/public-read-service-corefrom
feat/atmo-rsvp-service
Open

Add the public Atmo RSVP service#83
flo-bit wants to merge 1 commit into
feat/public-read-service-corefrom
feat/atmo-rsvp-service

Conversation

@flo-bit

@flo-bit flo-bit commented Aug 7, 2026

Copy link
Copy Markdown
Owner

Stack

Summary

  • add the Cloudflare Worker/D1 deployment served at https://api.atmo.rsvp
  • use DNS-authoritative rsvp.atmo.* XRPC method names
  • expose indexed calendar events, RSVPs, relation counts/hydration, references, search, and the committed ordered-source position
  • pin the primary Jetstream endpoint and operator-owned continuity epoch
  • check in a clean, reproducible public Lexicon bundle with no stale label schema
  • enable strict shared Lexicon validation and canonical CID verification for every ingest source
  • keep PDSes responsible for authentication and writes; the public service has no sessions, service DID, write proxy, or configured notify procedure
  • retain local development backfill as backfill:dev while documenting fresh native SQLite → verified fresh D1 generation/import as the future production provisioning path
  • add exact contract/startup tests and generated drift checking

Live verification

Deployed Worker version: d85a7c26-94b9-4681-b2a2-3d1494c41a4b

  • discovery advertises exactly five rsvp.atmo.* query methods
  • contract digest: sha256:40c6000e936adb6b0275f3ea46ded191536e1f902a539aa0c348392f1816956b
  • Lexicon digest: sha256:e4e5641de9cb25e2c48705c6090021552ab77e91a5d04ba3c41d8ae416706299
  • getCursor returns jetstream/api-atmo-rsvp-primary-2026-08/<opaque cursor>
  • event and RSVP queries return the existing D1 data
  • old atmo.rsvp.*, getOverview, and notifyOfUpdate routes return 404
  • content-addressed Lexicons are immutable; status remains cached and sanitized
  • an independent packed-package consumer connected, regenerated Atcute types, typechecked, and completed a live typed query

Verification

  • pnpm typecheck
  • pnpm test — Contrail: 411 passed, 3 PostgreSQL-dependent skipped; Atmo contract: 2 passed
  • pnpm --dir apps/atmo-rsvp lexicons:check
  • pnpm --dir apps/atmo-rsvp typecheck
  • pnpm --dir apps/atmo-rsvp test
  • pnpm --dir apps/atmo-rsvp exec wrangler deploy --dry-run
  • live deployment and independent consumer smoke test

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Native SQLite benchmark

Metric Result
Total time 25.91 s
Backfill time 25.47 s
Indexed records 20,985
Accepted records/s 823.99
Indexed records/s 809.79
Complete accounts 1,588
Retrying accounts 47

Runtime: Node v22.14.0, SQLite 3.47.2

Artifact source: calendar-records-only-sqlite-r100-h20-d3-2026-08-07T05-09-34-295Z.json

View workflow run

@flo-bit
flo-bit force-pushed the feat/atmo-rsvp-service branch from dc3c9cc to 29e1b4d Compare August 7, 2026 05:01
@flo-bit
flo-bit force-pushed the feat/atmo-rsvp-service branch from 29e1b4d to 2e2f008 Compare August 7, 2026 05:08
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