Technical planning recipe | Spacefast

The dish

What it makes.

technical-plan.view.fast ↗

Recommendation

Approve the queue-and-replay architecture and phased beta plan.

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.

Success means the field app stays trustworthy.

Problem

Field work fails where connectivity is weakest—and recovery is invisible.

What users experience

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.

Why now

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.

Scope

The beta is deliberately narrow enough to observe and reverse.

In scope

Not in this release

Goals

Prevent silent data loss, make sync state visible, and preserve one server-authoritative project history.

Target users

Field technicians working through long connectivity gaps and supervisors reviewing their completed inspections.

Assumptions and boundaries

Devices reconnect within 72 hours; server APIs remain reachable after reconnect; attachments and rich-text collaboration stay out of beta.

Security

Encrypt queued payloads with a device-bound key and erase them on remote sign-out.

Compatibility

Support the current and previous two mobile releases during the beta.

Operations

No new stateful service in the critical path before general availability.

Architecture

Clients record intent locally; the existing API remains the source of truth.

Mutation flow from offline capture to authoritative project state. Dashed boundaries indicate device-local components.

  1. On device Northstar mobile Validates input and assigns an idempotency key.
  2. Encrypted SQLite Mutation queue Stores ordered intent plus its base revision.
  3. Existing service Sync API Authenticates, deduplicates, and applies policy.
  4. System of record Project event log Appends accepted changes and emits canonical state.

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.

Conflict policy

Status transitions use domain rules; scalar task fields use revision-aware last-write-wins; note bodies fork visibly when both sides changed.

Failure handling

Retry transient failures with jitter. Stop on authorization or validation errors, preserve the draft, and show the user a specific recovery action.

Observability

Record queue age, attempts, settle time, conflict class, and client version. Never include note text or customer payloads in telemetry.

Milestones

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

Delivery phases and exit criteria

Risks

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

Risk register

Decisions

Recorded choices keep settled tradeoffs from reopening by accident.

  1. D-01 · Accepted

    Keep the server authoritative

    Alternative: Replicate project state and resolve it primarily on each client. Rationale: Queued commands fit current domain rules and operations skills. Consequences: The API stays authoritative; offline queries remain deliberately limited. Revisit when: Desktop and mobile both require multi-day offline editing.

  2. D-02 · Accepted

    Use encrypted SQLite, not a custom log file

    Alternative: Maintain a smaller custom append-only file format. Rationale: Transactions, migrations, and bounded queries matter more than binary size. Consequences: The client accepts modest storage and binary overhead for safer recovery. Revisit when: Measured storage overhead exceeds 15% on supported devices.

  3. D-03 · Accepted

    Fork conflicting notes instead of merging text

    Alternative: Automatically merge note bodies with CRDT or operational transforms. Rationale: A visible duplicate is safer than an invented merge for compliance records. Consequences: Users resolve rare forks explicitly; rich-text collaboration stays out of beta. Revisit when: A structured merge can demonstrate zero semantic loss in field trials.

  4. D-04 · Proposed

    Gate rollout by workspace

    Alternative: Gate by account, user cohort, or mobile application version. Rationale: Workspace controls align support, telemetry, and customer consent. Consequences: Phase 1 must freeze a workspace-control API and a minimal admin surface. Revisit when: Pilot telemetry shows workspace-level targeting is too coarse.

Open questions

Every unknown has an owner, a date, and a decision it unblocks.

Unblocks the queue retention default and remote-wipe policy.

Owner: Elena Due: 31 Jul

Unblocks workspace controls and partner onboarding copy.

Owner: Priya Due: 5 Aug

Unblocks concurrency caps and the Phase 2 capacity test.

Owner: Ishan Due: 7 Aug

Unblocks the private-beta cohort and field test plan.

Owner: Jon Due: 14 Aug

Review checklist

Close the review only when the plan is specific enough to execute and reverse.