---
id: OV-C10-EDGE-002
title: "Force-quit during silent sync resumes safely without duplicate records"
product: mobile
module: offline-visitation
type: recovery
priority: P0
risk: critical
status: draft
automationStatus: planned
sourceRefs:
  tsd: PK144
  tsdSection: C10
  tsdScenario: C10.1
  prd: PK144
  jira: null
automationRef: null
lifecycleStatus: active
lifecycleReason: "AI-generated draft from PK144 TSD C10.1 (sync branch); pending QA review."
lastReviewedAt: null
reviewedBy: null
supersededBy: null
duplicateOf: null
blockedBy: null
preconditionRefs:
  - PRE-OV-gagal-kirim-has-items
tags:
  - mobile
  - offline-visitation
  - sync
  - perlu-dikirim
  - edge-case
  - pk144
  - staging
---
## Objective
Verify force-quitting during silent sync resumes safely with no duplicate backend submissions.

## Preconditions
- See [[PRE-OV-gagal-kirim-has-items]]
- And a silent sync is in progress

## Steps
1. Force-quit during the silent sync, then relaunch with a connection

## Expected Result
- Then the queue is re-evaluated on next launch + connection
- And pending items resume sync automatically (if Auto-Sync ON)
- And there are NO duplicate backend submissions

## Source Traceability
- TSD: PK144
- Section: C10 - Cross-cutting Edge Cases & Failure Recovery
- Scenario: C10.1 - Force-quit recovery: clean state
- Acceptance Criteria: E11.US-1 AC1–AC4

## Evidence Required
- Backend record count before/after; relaunch resume behavior.

## Notes / Gaps
- Idempotency contract (Concern #19, Critical) underpins duplicate prevention.
