A look at why the fastest fix was deleting code.
// A stand-in for the auth and protocols services that serves a small, entirely // invented mailbox in the JSON shapes the webmail expects. It exists so the // interface can be run and photographed without a mail server or real mail: // // node scripts/screenshots/stub-server.mjs # listens on :4001 // cd services/webmail && AUTH_SERVICE_URL=http://127.0.0.1:4001 \ // PROTOCOLS_SERVICE_URL=http://127.0.0.1:4001 npx next dev -p 3100 // // Nothing here is real: the names, the addresses (all on reserved example // domains) and the messages are made up. import http from "node:http"; const ME = "mara@lambdamail.example"; const prefs = { signature: "", auto_save_drafts: true, conversation_view: true }; const trusted = new Set(["helena@studio.example"]); const T = { launch: "10000000-0000-4000-8000-000000000001", invoice: "10000000-0000-4000-8000-000000000002", digest: "10000000-0000-4000-8000-000000000003", flight: "10000000-0000-4000-8000-000000000004", review: "10000000-0000-4000-8000-000000000005", contract: "10000000-0000-4000-8000-000000000006", welcome: "10000000-0000-4000-8000-000000000007", standup: "10000000-0000-4000-8000-000000000008", }; const digestHtml = `
Three short reads for the week, picked by hand.
A look at why the fastest fix was deleting code.
Running your own, a year in.
Fewer charts, better decisions.
| Booking confirmed |
LIS → GRU · Fri 14 Nov, 22:40 Seat 14A · Reference QX7M2P |
${text}
Hi Mara,
Here is the checklist for Thursday. Could you take the copy review and the release notes? Marcos has the infra items.
Helena
", answered: true }), m({ folder: "Sent", thread: T.launch, subject: "Re: Launch checklist", from: `Mara Lima <${ME}>`, date: "2026-10-20T11:42:00Z", mid: "l2@x", own: true, html: "On it. I will send the notes by Wednesday noon.
" }), m({ folder: "INBOX", thread: T.launch, subject: "Re: Launch checklist", from: "Helena VargasPerfect. One more thing: the status page should say \"scheduled maintenance\" until we flip the switch.
Helena
" }), m({ folder: "INBOX", thread: T.launch, subject: "Re: Launch checklist", from: "Marcos OliveiraMorning both. The staging run finished green, so I think we are fine to go ahead on Thursday as planned.
I did notice the backup job takes a little longer than it used to (about 11 minutes now). Not a blocker, but I will keep an eye on it and report back after the launch.
Marcos
${quote("Helena Vargas <helena@studio.example>", "Wed, Oct 21, 2026 at 8:30 AM", "Perfect. One more thing: the status page should say \"scheduled maintenance\" until we flip the switch.
Helena
")}` }), m({ folder: "INBOX", thread: T.invoice, subject: "Invoice 2041 for October", from: "Northwind BillingHello Mara,
Your invoice for October is ready. The total is due on 5 November.
Northwind Billing
" }), m({ folder: "INBOX", thread: T.digest, subject: "Your weekly digest", from: "Field NotesNotes from today's review are attached. The short version: keep the sidebar, simplify the toolbar, and let the reading pane breathe.
Priya
" }), m({ folder: "INBOX", thread: T.contract, subject: "Contract draft v3", from: "Tomas ReyesMara, v3 of the contract is in the shared folder with the changes we agreed on. Tell me if anything looks off before Friday.
Tomas
" }), m({ folder: "INBOX", thread: T.standup, subject: "Standup moves to 10:15", from: "Marcos OliveiraHeads up: from Monday the standup is at 10:15.
" }), m({ folder: "INBOX", thread: T.welcome, subject: "Welcome to the team workspace", from: "WorkspaceWelcome aboard. Your workspace is ready.
" }), ]; // Opening a message marks it read, so a run can put the mailbox back as it began. const pristine = structuredClone(msgs); const reset = () => { msgs.splice(0, msgs.length, ...structuredClone(pristine)); }; const key = (x) => `${x.folder.toLowerCase()}:${x.uid}`; const nameOf = (f) => (f.match(/^"?([^"<]*?)"?\s*)?.[1] || f).trim(); const addrOf = (f) => (f.match(/<([^>]+)>/)?.[1] || f).toLowerCase(); const plain = (h) => h.replace(/