# PK144 C1 — agentic import gap report

Section **C1 — Download Preparation, Download Center, Storage Tiering & Bundle Lifecycle**
Source: `importer/examples/PK144-offline-mode-visitation.txt` (extracted from "PK144 Offline Mode Visitation.pdf").

## Mapping result

- 16 TSD scenarios (C1.1–C1.16) → **27 testcases** (`OV-C1-*`).
- Multi-branch scenarios split by coverage type:
  - C1.6 storage routing → POS-009 / EDGE-010 / NEG-011 (3 branches).
  - C1.7 consent → POS-012 (Lanjutkan) / NEG-013 (Batal).
  - C1.11 re-download guard → NEG-018 (blocked) / POS-019 (unblocked).
  - C1.16 mid-download failure → EDGE-026 (storage) / EDGE-027 (network).
- 2 reusable preconditions (`PRE-OV-logged-in-online`, `PRE-OV-download-center-open`).
- 1 journey (`FLOW-OV-C1-download-lifecycle`).

## Testing Concerns carried as gaps

| # | Concern | Priority | Handling |
| --- | --- | --- | --- |
| 1 | Empty state design (hide vs "0 kB") | Low | Asserted both forms in OV-C1-POS-004; flag build mismatch |
| 2 | "Pilih Semua" behavior TBD | Medium | **No testcase created** — behavior undefined (noted in POS-005) |
| 3 | Max selection limit specified? | Medium | No boundary assertion until clarified (noted in POS-005) |
| 4 | Hybrid persona (PJP + non-PJP same day) | **Critical** | **Uncovered gap** — POS-006/007/025 assume pure persona |
| 5 | Storage tier routing thresholds | **Critical** | Branches POS-009/EDGE-010/NEG-011 cannot be triggered deterministically until thresholds defined |
| 6 | Limited vs Complete reference data contract | High | Bundle/option-set assertions (POS-012/015) depend on this contract |
| 7 | Percentage progress bar TBD | Low | POS-014 asserts byte counter only |
| 9 | Retention timer start (check-out vs no-dependent) | **Critical** | POS-020 asserts relative elapse; exact trigger flagged |
| 11 | "Hapus Semua" mixed-outcome UX | Medium | POS-024 asserts implemented summary, flag deviations |

## Decisions an automated 1:1 importer would have missed

- Did **not** invent a "Pilih Semua" testcase from a `[TBD]` line.
- Split single TSD scenarios into POS/NEG/EDGE instead of one flat testcase per scenario.
- Lifted repeated setup into preconditions instead of duplicating it across 27 files.
- Tagged 3 Critical concerns as explicit coverage gaps rather than silently asserting unspecified behavior.

## Status

All 27 testcases are `draft` / `automationStatus: planned`. Validation passes. Ready for QA review before promotion to `active`.
