{
  "schema_version": 1,
  "captured_at": "2026-08-16T10:42:13.436Z",
  "last_validated_at": "2026-08-16T10:47:50Z",
  "repository": "LagradOst/QuickNovel",
  "commit": "7c047bcdc438849ed30ae417b953696ac853995a",
  "scope": "Seven related backup issues; no closure or bulk disposition authority.",
  "issues": [
    {
      "number": 183,
      "type": "feature",
      "areas": [
        "backup-scheduling",
        "backup-retention"
      ],
      "evidence_state": "product-decision",
      "confidence": "high",
      "evidence": [
        "The request proposes automatic backup on app open or close and a bounded number of retained backups.",
        "No scheduling, retention, destination, or failure-notification mechanism exists in the current backup path.",
        "Issue 400 shows that automatic execution must follow, not precede, export reliability work."
      ],
      "related_issues": [
        392,
        400
      ],
      "related_prs": [],
      "collision": "none-known",
      "recommendation": "maintainer-product-decision",
      "missing_information": [
        "Cadence",
        "Trigger model",
        "Retention count",
        "Destination and permission model",
        "Failure notification policy"
      ],
      "last_validated_at": "2026-08-16T10:47:50Z",
      "maintainer_decision": null
    },
    {
      "number": 281,
      "type": "question",
      "areas": [
        "backup-destination"
      ],
      "evidence_state": "confirmed-current",
      "confidence": "high",
      "evidence": [
        "The report describes a pause followed by success without any destination disclosure.",
        "The only reply says the backup should be in Download/QN_something, demonstrating that the actual location was not established in the thread.",
        "Current success UI exposes neither the output URI nor an Open or Share action."
      ],
      "related_issues": [
        302,
        463
      ],
      "related_prs": [],
      "collision": "none-known",
      "recommendation": "ready-for-technical-plan",
      "missing_information": [
        "Android and app versions",
        "Observed MediaStore record or filesystem location"
      ],
      "last_validated_at": "2026-08-16T10:47:50Z",
      "maintainer_decision": null
    },
    {
      "number": 302,
      "type": "feature",
      "areas": [
        "backup-destination"
      ],
      "evidence_state": "product-decision",
      "confidence": "high",
      "evidence": [
        "The request asks for control over the backup destination.",
        "Current backup creation always obtains SettingsFragment.getDefaultDir at BackupUtils.kt:127 and never reads the configured download base path.",
        "On Android Q and newer the supplied subdirectory is ignored entirely."
      ],
      "related_issues": [
        281,
        463
      ],
      "related_prs": [],
      "collision": "none-known",
      "recommendation": "ready-for-technical-plan",
      "missing_information": [
        "One-off file picker versus persisted directory preference",
        "Fallback behavior after permission revocation"
      ],
      "last_validated_at": "2026-08-16T10:47:50Z",
      "maintainer_decision": null
    },
    {
      "number": 319,
      "type": "bug",
      "areas": [
        "backup-restore",
        "download-storage",
        "epub-identity"
      ],
      "evidence_state": "needs-reproduction",
      "confidence": "medium",
      "evidence": [
        "The reporter attributes post-restore Error loading novel failures to restore after testing.",
        "The maintainer suspects duplicate EPUB names; a second user reports that changing the download directory resolved the symptom.",
        "Current restore applies stored preferences without a schema version, preflight validation, path reconciliation, or transaction boundary."
      ],
      "related_issues": [
        374,
        407,
        488,
        495
      ],
      "related_prs": [],
      "collision": "none-known",
      "recommendation": "reproduce",
      "missing_information": [
        "Sanitized backup fixture",
        "Pre- and post-restore directory listing",
        "Android and app versions",
        "Error log"
      ],
      "last_validated_at": "2026-08-16T10:47:50Z",
      "maintainer_decision": null
    },
    {
      "number": 392,
      "type": "feature",
      "areas": [
        "backup-scheduling",
        "backup-retention"
      ],
      "evidence_state": "duplicate-candidate",
      "confidence": "high",
      "evidence": [
        "The one-line automatic-backup request is fully contained by the earlier and more specific issue 183.",
        "No distinct acceptance criteria or implementation constraints appear in the thread."
      ],
      "related_issues": [
        183
      ],
      "related_prs": [],
      "collision": "none-known",
      "recommendation": "consolidate-duplicate",
      "missing_information": [],
      "last_validated_at": "2026-08-16T10:47:50Z",
      "maintainer_decision": null
    },
    {
      "number": 400,
      "type": "bug",
      "areas": [
        "backup-export"
      ],
      "evidence_state": "confirmed-current",
      "confidence": "high",
      "evidence": [
        "The issue crash trace identifies ObjectMapper.writeValueAsString in BackupUtils and a roughly 35.7 MB allocation before OOM.",
        "Current BackupUtils.kt:131-159 copies all preferences into typed maps and materializes the complete JSON string before writing it.",
        "The reporter states that the maintainer's background-process workaround did not help."
      ],
      "related_issues": [],
      "related_prs": [],
      "collision": "none-known",
      "recommendation": "ready-for-technical-plan",
      "missing_information": [
        "Representative large backup fixture",
        "Dataset composition and size",
        "Current-build device reproduction"
      ],
      "last_validated_at": "2026-08-16T10:47:50Z",
      "maintainer_decision": null
    },
    {
      "number": 463,
      "type": "bug",
      "areas": [
        "backup-export",
        "backup-destination"
      ],
      "evidence_state": "confirmed-current",
      "confidence": "high",
      "evidence": [
        "Two users report a success message followed by an unfindable backup; changing the download path did not help the original reporter.",
        "On Android Q and newer, BackupUtils.kt:61-79 inserts into primary Downloads without RELATIVE_PATH and ignores the supplied subdirectory.",
        "The success UI at SettingScreen.kt:304-309 does not disclose or return the created URI, filename, or destination."
      ],
      "related_issues": [
        281,
        302
      ],
      "related_prs": [],
      "collision": "none-known",
      "recommendation": "ready-for-technical-plan",
      "missing_information": [
        "Device verification across supported Android versions",
        "Whether the file exists but is undiscoverable on affected devices"
      ],
      "last_validated_at": "2026-08-16T10:47:50Z",
      "maintainer_decision": null
    }
  ]
}
