Lanes
One lane at a time — the goal, the critical path, and the current wave of blockers.
Approve: Destinations buildDone · blockerverify:secrets-rotation is red — VideoTranscoder secret is a placeholder in 1PasswordTo do · blockerMenu update wipes every section/item/price on any mid-rebuild failureDone · blockerVideo quota prune deletes R2 media before the DB rows, and both callers swallow the failureDone · blockerapps/web prod deploy blocked — /legal 500s on the new buildDone · blockerDestination editing: build editors for media types (Gallery, Video, Audio, Document)DoneDestination editing: build editors for Contact, Menu, Link HubDoneFix Android destination Preview to route through /t/{hash} instead of hardcoded /d/{hash}DoneVerify Android destination preview renders all 14 typesTo doDestination editing: wire Document builder into edit modeDoneDestination editing: wire Gallery builder into edit modeDoneDestination editing: wire Video builder into edit modeDoneDestination editing: wire Audio builder into edit modeDoneDestination editing: wire Contact card builder(s) into edit modeDoneDestination editing: wire Form builder into edit modeDoneContact card field replace deletes before inserting — same shape as the link-hub bugDoneContact card save silently deletes fields its parser couldn't readDoneBuild verify:destructive-order — the check that catches the sixth instance automaticallyDoneProfile save wiped every profile field — fixed and deployedDoneSECURITY: contact + menu /content serve PRIVATE destinations to anyone with the hashDoneDATA LOSS: form PUT accepts fields:[] and wipes every field, returning 200Doneform.ts: refuse an empty/degenerate fields array on update (route guard)Donevisibility-gate's owner exception has no test — deleting it would keep the suite greenTo doCreate flow: route the "recently used" Action-kind shortcut to its real builder instead of a coming-soon placeholderDoneCleanup: delete unreachable SourcePickerPlaceholder in destination create flowDoneDestination editing: build editors for Payment, Wi-Fi, Bluetooth, Form, and generic Action typesDoneSign-off: Destination create flow — all 8 categories, ~20 builders — phone onlyTo doSign-off: Destination Launchpad — preview, delete, website/notes editing, families, analytics handoff — phone onlyTo doDestination editing: build Menu editor (blocked on missing backend update endpoint)DoneDestination editing: build Link Hub editor (blocked on missing backend update endpoint)DoneDestination editing: build Payment editor (blocked on missing backend update endpoint)DoneDestination editing: build Wi-Fi editor (blocked on missing backend update endpoint)DoneDestination editing: build Bluetooth editor (blocked on missing backend update endpoint)DoneDestination editing: build Action editor with per-subtype router (blocked on missing backend update endpoint)DoneVideo/audio edit mode does not show the media you are editingDoneTrigger delete removes the QR images before the row, so a failed delete leaves a broken triggerDoneGallery editor: add the media picker and phase-2 multipart uploadDoneAndroid: restore the Dashboard "See all" → Assets tab handoff (salvaged from a deleted backup branch)DoneGallery editor: span editing (1..3) — the half of t_9d056298 that didn't landDoneform.ts: `fields` entries are still written to JSONB with zero per-entry validationTo doPin the destination-scoping predicate on collection writes (static scan over routes/)To doNFC metadata returns hardcoded tap_count: 0 — buildable now, but blocked on a privacy decisionDoneResidue from the round-20 adversarial re-read: clientKey collapses IPv4-mapped IPs, and 2 of 3 clients bypass the resend meterTo do
Wave
Android — Destinations build
Destination creation, viewers, and post-create editing. Creation is comprehensively built (~20 real builders across all 8 categories) despite stale in-code comments claiming otherwise. Editing is the real gap: only website and notes are editable post-create — 11 of 13 types show "Editing coming soon," mirroring iOS's destination-editing gap almost exactly.
TacTile › Launch TacTile › Android › Android — Destinations build
35/43 done8 open1 open blocker
Selected taskclear
Sign-off: Destination create flow — all 8 categories, ~20 builders — phone only
To doOwner · Caitlint_5f908809
Unlocks 1Approve: Destinations build
Show the prompt
To doIn progressDoneBlockedPick a wave on the left · tap a task to expand it