Skip to content

docs/eph — the SPECial RFC corpus (index)

These are working decision-records for the L2 program: RFCs (decision logs with D-numbered decisions and M-numbered migration steps), AUDITs (read-only evidence), DESIGN/PLAN notes, a DEVIATION reality ledger, and one FEASIBILITY study. The logs are kept as history; this index is the status layer on top — what SHIPPED, what's PENDING, what's just a study.

Compiled 2026-07-04. Status determined from each doc's own markers and cross-checked against the commit history (M-step / S-step / slice landings).

Status vocabulary

  • SHIPPED — all migration steps landed.
  • MOSTLY SHIPPED — most landed; a named tail is deferred/queued.
  • IN PROGRESS — actively landing; some steps done, some pending.
  • DEFERRED / NOT STARTED — decided but not begun.
  • EVIDENCE/AUDIT — read-only investigation, not a plan.
  • REFERENCE — a design note or ledger (may describe realized machinery).

The map

Doc Purpose Status
RFC-L2-architecture-cleanup Crate-topology split, typed MailOperation vocabulary, frame/id renames, replica/link/outbox trait seams (the M0–M10 refactor). SHIPPED — M0–M10 (incl. M3b) landed; M9 wave complete (V14–V16), M10 done.
DEVIATION-L2-architecture-cleanup Reality ledger for the cleanup: one row per drained divergence between spec end-state and code. REFERENCE (ledger) — complete; all 13 rows closed at M8.
RFC-L2-lifecycle-and-errors Ordered shutdown/teardown, deadline discipline, bounded growth, watchdog liveness, typed Terminality vocabulary + boundary error hygiene. SHIPPED — M20–M31 (incl. M23b) landed; M28 absorbed into scripting S1.
RFC-L2-provider-reliability One outbound-call envelope per provider call, send-exactly-once, push-lifecycle repair, IMAP/sync robustness, supervision + P5 fix, OAuth CAS rotation. SHIPPED — M30–M37 all landed.
RFC-L2-scripting The scripting/automation surface: the tap, one-vocabulary action path, capability tokens, the rules→MCP ladder, and CLI distribution. MOSTLY SHIPPED — S1–S6 + distribution wave + rulings 21–23 landed. Remaining: Linux AppImage sidecar (DEFERRED), ruling-24 /commands/send idempotency.
RFC-L2-client-resilience The web client converges from any state: level-triggered self-healing, no silent drops, one reconcile pass, the one reactive store revamp. IN PROGRESS — landed M40, M46, M47, M48. Pending: M41–M45, M49, M50.
RFC-L2-drafts The draft lifecycle: send consumes the draft, discard = hard-delete, idempotent identity-stable saves, edit-draft in the action row. SHIPPED — M60, M61, M62 all landed.
AUDIT-L2-error-taxonomy Error-type census + conversion edge list (info-loss flags), retryability/swallowing/panic findings — the M29/D70–D73 worklist input. EVIDENCE/AUDIT — feeds RFC-L2-lifecycle-and-errors (M29 shipped).
AUDIT-L2-imap-sync-scheduling IMAP gateway + sync scheduling/supervision robustness: P1 data-loss window, no-timeout connection layer, no supervision, P5 flake verdict. EVIDENCE/AUDIT — feeds RFC-L2-provider-reliability (M34–M36 shipped).
AUDIT-L2-jmap-push JMAP engine + push pipeline robustness: S1 duplicate-send, A1 OAuth lockout, PP1 silent push death, F2 timeout monoculture, PP2 reconnect defect. EVIDENCE/AUDIT — feeds RFC-L2-provider-reliability (M32/M33/M37 shipped).
AUDIT-L2-lifecycle-resources Re-verified lifecycle/resource debt register + 22 new rows (N1–N22) + watchdog census + top-10. EVIDENCE/AUDIT — feeds RFC-L2-lifecycle-and-errors (M20–M31 shipped).
DESIGN-L2-deployment-topology Forward design: productize the deployment topology over the realized link mechanism (control-pane UI, transport selector, native IPC, hardening). REFERENCE (design note) — link mechanism realized; productization partial.
DESIGN-L2-release-channels Release channels as a first-class concept: a single per-channel policy table (identity, updater manifest, devtools, signing, smoke gates). REFERENCE (design note) — machinery realized and in use (tools/release/*).
DESIGN-L2-undo-redo-synced-history The model: per-account durable server-authoritative reversible-op log, cursor synced as a view, evaluation stays local-optimistic; cross-device undo. REFERENCE (design note) — Phase 1 shipped; Phase 2 implemented (see revlog-contract).
DESIGN-L2-undo-redo-revlog-contract Phase 2 implementable contract: rev_log store table + cursor + RevLog synced view; client proposes idempotent cursor moves, server arbitrates. REFERENCE (design contract) — Slices 1–5c landed; remaining JMAP per-message version + e2e.
PLAN-L2-client-link-unification Forward plan: finish unifying the client↔runtime link onto assertion-replication (U1 recompute, U3 replica-default, U4 coverage, U5 one BackendApi). REFERENCE (forward plan) — U2 view-deltas landed; U1/U3/U4/U5 open (overlaps client-resilience Part 2).
PLAN-L2-testkit-roadmap Roadmap for posthaste-testkit contracts: runtime-in-harness, view-settlement recorder, declarative fixtures, headless driver, property tests. MOSTLY SHIPPED — P0–P3d landed; P4 headless driver + P5 proptest/profiling remain.
FEASIBILITY-calendar-platform Read-only survey: how hard to build a Calendar app on Posthaste's substrate + cross-domain agent automations. Verdict + five named seams. EVIDENCE/FEASIBILITY — NOT STARTED — recommendation: integration shim first.

Program at a glance

The core L2 refactor and reliability program shipped: architecture-cleanup (M0–M10), lifecycle-and-errors (M20–M31), provider-reliability (M30–M37), and drafts (M60–M62) are all landed. Scripting is mostly shipped through the distribution wave, with only the Linux AppImage sidecar deferred and one send-route idempotency tail queued. The live front is client-resilience: the hotfix (M40) and the reactive-store foundation (M46–M48) landed; the self-healing tail (M41–M45) and the revamp completion (M49–M50) are pending. Undo/redo (Phases 1–2) shipped; the testkit roadmap is mostly done. Calendar is a study only — not started.