Skip to content

Milestones

List view

  • Retire carried weight: fold the legacy send-only worker/ into inbound/, single-source the webmail, vector-index hygiene, docs/tags pass. No behavior changes, just less to maintain.

    No due date
    7/7 issues closed
  • Make the human doors good enough to live in: new mail surfaces mid-session, server-side IMAP SEARCH, one-tap iOS setup. Follows M8 because liveness work should ride the corrected data model.

    No due date
    6/6 issues closed
  • The mail we store is the mail that was sent. The v1 store (single to_addr, no Cc/Bcc/Sender, Message-ID-unique dedup) is now the binding constraint under a family of live symptoms (ENVELOPE NILs, per-recipient drops, inline-part loss, approximate RFC822.SIZE). Contract design first (CONTRACT.md update), then migration + seams.

    No due date
    4/4 issues closed
  • Bring the IMAP door to the relay's security bar and close the hardening tail from the Fable deep-dive (2026-07-02). Theme: two doors, ONE policy. Security debt first because it is small, well-defined, and highest risk-reduction per hour.

    No due date
    8/8 issues closed
  • Let a standard IMAP mail client (Thunderbird/Apple Mail/etc.) SEND as @skyphusion.org via authenticated SMTP submission -> postern send/reply API. Pairs with M5 IMAP read = postern becomes a real usable human mailbox. WHY: vendors require email FROM the account-holder's own domain (sender-domain verification), so send-as-domain from a client is the unblock for actually using skyphusion.org as email. Deferred behind vivijure.

    No due date
    3/3 issues closed
  • The human face. Python/Twisted IMAP proxy consuming the shared mailbox API -- reference frontend, not the only door.

    No due date
    2/2 issues closed
  • The agent semantic face. Cloudflare AI Search over the mailbox (Vectorize is already populated by inbound ingestion).

    No due date
    2/2 issues closed
  • Prove the module boundary. Make the Go relay a real transport module against the contract (bring-your-own-SMTP, both directions) so people are not locked into CF Email Routing/Sending on the wire.

    No due date
    3/3 issues closed
  • Close the receive-only gap. Agent send/reply THROUGH the mailbox: reply-in-thread + the sent copy lands back in the store. The mailbox becomes genuinely two-way.

    No due date
    2/2 issues closed
  • Core v1.0. De-hardcode, unify the two email handlers into one ingest(), define the ingest/dispatch transport contract with CF Email as the default module, expose the read side of the structured mailbox API. Gate: a stranger deploys on CF and sends + receives.

    No due date
    7/7 issues closed
  • Rename to Postern, go public, carve into 3 repos (postern / postern-relay / postern-imap), move CI to GitHub Actions, license + stranger README. Gate: the repo is publishable.

    No due date
    6/6 issues closed