Keep photo evidence attached after the app is suspended
A technician takes an equipment photo, answers a phone call, and returns to a blank attachment tile. The draft stored a temporary camera URI that no longer exists.
- Focused work estimate
- 2h 45m + prerequisites
- Priority in the scenario
- High
- Engineering practice
- Mobile filesystems · Lifecycle recovery · Data integrity
Estimated field mix
- Mobile60%
- Storage systems40%
Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.
Review it, then add it to your workspace.
The board opens an editable draft; nothing is saved until you confirm it. Sign-in and workspace permissions apply, and Demo boards remain ephemeral.
Project context
The fictional Vale facilities team services equipment in basements with poor reception. Technicians receive assigned work orders, record checks, and attach synthetic equipment photos. The practice app uses an on-device database and a stub sync service; background location tracking is excluded.
Setup prerequisites
- Synthetic work orders and a revisioned sync contract
- An emulator with controllable connectivity and app lifecycle
Preceding work
Complete these dependencies, or supply their agreed outputs before taking this ticket.
Acceptance criteria
- Attachment metadata becomes saved only after the file is copied into app-owned storage.
- Restart restores pending attachments with a clear missing-file recovery action when necessary.
- Cancelled capture and failed copies leave neither dangling records nor orphaned temporary files.
Implementation constraints
- Use synthetic equipment images; permission to capture does not authorize unrelated gallery access.
Verification to include
- Capture, suspend, terminate, and reopen; the saved attachment remains available.
- Delete the source URI before copying and cancel another capture; no accepted attachment or orphaned pending row remains.
Deliverables
- Durable attachment staging and lifecycle failure cases
Rollout and recovery
Pilot capture separately from uploads; disable new capture if staged-file recovery fails while preserving existing files.
Value of the work
For the engineer: Practice durable local state, mobile lifecycle recovery, and conflict resolution in realistic offline workflows.
For the team: Review whether an engineer can protect field work through crashes, interrupted uploads, and reassignment.
Evidence boundaries
Outcome Evidence: Tests, patches, and runbooks are requested deliverables. They become Outcome Evidence only through a qualified Mission and immutable Evidence IDs.
Ownership Evidence: Independent adaptation must be observed under a declared verification policy and cite immutable Evidence IDs. Completing a planning ticket establishes no Ownership Evidence.