a pds written in elixir tempest.desertthunder.dev
elixir phoenix atproto pds
tempest docs specs
24 files

README.md

title: Tempest AT Protocol PDS Specification Index updated: 2026-06-03 #

Tempest is a Phoenix application that will become a self-hostable AT Protocol Personal Data Server.

Near-term focus: Target Profile - Solo Login + Archive. Hosted-provider scale can come later.

Subsystem specifications live in this directory.

Reading Order #

  1. Target Profile - Solo Login + Archive
  2. Architecture
  3. XRPC HTTP Surface
  4. SQLite Storage
  5. Accounts and Auth
  6. Identity and Handles
  7. Repository Core
  8. Record APIs
  9. Lexicon Schema Loading and Generation
  10. Blobs
  11. Sync and Firehose
  12. Security, OAuth, and Delegated Access
  13. Migration and Account Lifecycle
  14. Admin Operations
  15. Deployment and Observability
  16. Interop and Integration Testing
  17. PDS Compatibility Against Reference Surface
  18. Public Stats Dashboard
  19. Documentation Viewer
  20. Account Management Control Panel
  21. Password Resets and Resend Email Delivery
  22. Admin XRPC Methods

Source Baseline #

Research was checked on 2026-05-07 against:

Documentation Rules #

  • Prefer plain technical prose.
  • Keep protocol facts separate from project choices.
  • Every subsystem spec must include HTTP verification.
  • Every completed subsystem must have integration tests before it is considered done.
  • Smoke tests must be Hurl files under test/smoke/*.hurl and must run with hurl --test.
  • Use Req for outbound HTTP in application code.
  • Run mix precommit before marking implementation work complete.