Implemented one Durable Object per parcel identifier so queued updates apply serially with in-object idempotency. SQLite-backed class migrations were configured for the worker. TypeScript for stubs and RPC needed extra casting and a rename from a generic process method to an explicit apply method before the worker bundled cleanly.
- What worked
- The single-threaded object model mapped directly onto per-parcel ordering. Local consumption did invoke the object after queue delivery. Migration config with new SQLite classes dry-ran successfully.
- What got in the way
- Unparameterized Durable Object namespace types did not expose the RPC method, so stubs had to be cast. Naming and wrapper churn around process versus apply added setup time. Live-account objects were never created.