Replay and ordering
A device replays one project queue at a time in creation order. Different projects may sync concurrently, capped at three to protect battery and API capacity.
Proposed · decision requested
Ship reliable offline capture for field teams without turning every client into a distributed database. Use an append-only local queue, server-authoritative conflict resolution, and a measured rollout behind workspace-level controls.
Recommendation
It keeps the API authoritative, reuses our existing event log, and limits the first release to task updates and inspection notes. Defer attachments and simultaneous document editing until field telemetry proves the sync loop is stable.
01
Field work fails where connectivity is weakest—and recovery is invisible.
Northstar’s inspection teams work in basements, utility corridors, and rural facilities. Today, a dropped request looks like a saved task until the screen is refreshed. Supervisors discover missing notes hours later, after the technician has left the site.
Offline reliability is the top blocker in 18 of 31 enterprise evaluations this quarter. The mobile team also plans to replace its ad-hoc request cache in Q4; doing both as one designed system avoids a second migration.
02
The beta is deliberately narrow enough to observe and reverse.
03
Clients record intent locally; the existing API remains the source of truth.
A device replays one project queue at a time in creation order. Different projects may sync concurrently, capped at three to protect battery and API capacity.
Status transitions use domain rules; scalar task fields use revision-aware last-write-wins; note bodies fork visibly when both sides changed.
Retry transient failures with jitter. Stop on authorization or validation errors, preserve the draft, and show the user a specific recovery action.
Record queue age, attempts, settle time, conflict class, and client version. Never include note text or customer payloads in telemetry.
04
Each phase ends with evidence, not percentage-complete reporting.
| Phase | Target | Owner | Deliverable and exit criterion | Depends on |
|---|---|---|---|---|
| 1 · Prove | 7 Aug | Maya | Replay prototype passes airplane-mode and duplicate-request fault tests. | Security key review |
| 2 · Foundations | 4 Sep | Ishan | Queue, sync endpoint, telemetry, and remote kill switch work in staging. | Event log capacity test |
| 3 · Team pilot | 2 Oct | Priya | Twenty internal users complete a five-day scripted field trial with no lost intent. | Support runbook |
| 4 · Private beta | 30 Oct | Jon | Five design partners meet settle-time and conflict targets for two weeks. | Partner agreements |
| 5 · Harden | 4 Dec | Maya | Go/no-go review has SLO evidence, rollback drill results, and a GA scope proposal. | Beta telemetry |
05
Ranked by current exposure after mitigation.
| Risk | Likelihood | Impact | Mitigation and trigger | Owner |
|---|---|---|---|---|
| Conflict rules surprise users | Likely | High | Test with real work orders; pause rollout if manual resolution exceeds 0.1%. | Priya |
| Queue payload exposed on a lost device | Unlikely | Critical | Device-bound encryption and remote wipe; block beta on failed key extraction test. | Elena |
| Reconnect storm overloads the API | Possible | High | Jitter, concurrency caps, and load test at 10× forecast before the team pilot. | Ishan |
| Support cannot diagnose stuck work | Possible | Medium | Redacted queue diagnostics and a drill; delay beta if median diagnosis exceeds 15 minutes. | Jon |
| Attachment demand expands scope | Likely | Low | Publish the boundary in beta onboarding; revisit only after core SLOs hold for four weeks. | Priya |
06
Recorded choices keep settled tradeoffs from reopening by accident.
07
Every unknown has an owner, a date, and a decision it unblocks.
Unblocks the queue retention default and remote-wipe policy.
Unblocks workspace controls and partner onboarding copy.
Unblocks concurrency caps and the Phase 2 capacity test.
Unblocks the private-beta cohort and field test plan.
08
Close the review only when the plan is specific enough to execute and reverse.