{
  "schema": 1,
  "decisionDate": "2026-09-10",
  "decision": "https://github.com/dekerd/Barbelic/issues/1478#issuecomment-5611945034",
  "release": "v0.17.9",
  "sourceAudit": {
    "path": "/test-evidence/1478-v0179.json",
    "sha256": "ceb5d541231d61a13ea64f6fcc52e41258c37ecf20a62feaafe44ec5e9a81f56",
    "note": "Original 79-case audit remains unchanged; no new execution is claimed."
  },
  "summary": {
    "requiredCases": 75,
    "criteriaPerCase": 15,
    "P": 1125,
    "F": 0,
    "U": 0
  },
  "excludedCases": [
    {
      "id": "CASE-007",
      "status": "excluded-by-owner",
      "reason": "Owner excluded Wodup and administrator tests across CASE, unit, component and DB layers.",
      "previousApproval": "P"
    },
    {
      "id": "CASE-018",
      "status": "excluded-by-owner",
      "reason": "Owner excluded Wodup and administrator tests across CASE, unit, component and DB layers.",
      "previousApproval": "P"
    },
    {
      "id": "CASE-055",
      "status": "excluded-by-owner",
      "reason": "Owner excluded Wodup and administrator tests across CASE, unit, component and DB layers.",
      "previousApproval": "P"
    },
    {
      "id": "CASE-056",
      "status": "excluded-by-owner",
      "reason": "Owner excluded Wodup and administrator tests across CASE, unit, component and DB layers.",
      "previousApproval": "U"
    }
  ],
  "cases": [
    {
      "id": "CASE-001",
      "title": "Mobile custom exercise reps render crash",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-001-mobile-custom-exercise-reps-render-crash/regression.spec.mjs#L13"
    },
    {
      "id": "CASE-002",
      "title": "Desktop session rename save deadlock",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-002-desktop-session-rename-save-deadlock/regression.spec.mjs#L16"
    },
    {
      "id": "CASE-004",
      "title": "Mobile post-save owner feed and day summary",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-004-mobile-post-save-home-day-summary-stale/regression.spec.mjs#L14"
    },
    {
      "id": "CASE-005",
      "title": "Set outcomes and PR detail round trip",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-005-set-outcomes-pr-detail-round-trip/regression.spec.mjs#L18"
    },
    {
      "id": "CASE-006",
      "title": "Desktop PR growth pagination",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-006-desktop-pr-growth-pagination/regression.spec.mjs#L21"
    },
    {
      "id": "CASE-008",
      "title": "Mobile report workout days and grass round trip",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-008-mobile-report-workout-days-grass-round-trip/regression.spec.mjs#L19"
    },
    {
      "id": "CASE-009",
      "title": "Onboarding profile data round trip",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-009-onboarding-profile-data-round-trip/regression.spec.mjs#L15"
    },
    {
      "id": "CASE-010",
      "title": "Stale lazy chunk auto recovery",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-010-stale-lazy-chunk-auto-recovery/regression.spec.mjs#L15"
    },
    {
      "id": "CASE-011",
      "title": "Mobile empty drafts discard and an authored workout resumes through completed storage",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-011-mobile-empty-start-resume-ghost/regression.spec.mjs#L19"
    },
    {
      "id": "CASE-012",
      "title": "Boot auth outage preserves minimized snapshot access",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-012-boot-auth-outage-non-demotion/regression.spec.mjs#L24"
    },
    {
      "id": "CASE-013",
      "title": "TOKEN_REFRESHED JWT storm preserves session and minimized snapshot",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-013-token-refreshed-jwt-storm-session-preservation/regression.spec.mjs#L25"
    },
    {
      "id": "CASE-014",
      "title": "Cold start reads the minimized owner snapshot",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-014-cold-start-snapshot-reading/regression.spec.mjs#L24"
    },
    {
      "id": "CASE-015",
      "title": "Degraded create survives a failed recovery flush without duplicates",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-015-degraded-create-recovery-flush/regression.spec.mjs#L17"
    },
    {
      "id": "CASE-016",
      "title": "Desktop first plan create save crash and Home lockout",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-016-desktop-plan-create-save-crash-home-lockout/regression.spec.mjs#L111"
    },
    {
      "id": "CASE-017",
      "title": "Account deletion round trip",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-017-account-deletion-round-trip/regression.spec.mjs#L27"
    },
    {
      "id": "CASE-019",
      "title": "Group board percent round trip",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-019-group-board-percent-round-trip/regression.spec.mjs#L34"
    },
    {
      "id": "CASE-020",
      "title": "Group board composite round trip",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-020-group-board-composite-round-trip/regression.spec.mjs#L32"
    },
    {
      "id": "CASE-021",
      "title": "Live composite load gate round trip",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-021-live-composite-load-gate-round-trip/regression.spec.mjs#L13"
    },
    {
      "id": "CASE-022",
      "title": "Live mixed composite round trip",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-022-live-mixed-composite-round-trip/regression.spec.mjs#L12"
    },
    {
      "id": "CASE-023",
      "title": "Completed session follow-up edit write source",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-023-completed-session-follow-up-edit-write-source/regression.spec.mjs#L27"
    },
    {
      "id": "CASE-024",
      "title": "Completed record two-way edit round trip",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-024-completed-record-two-way-edit-round-trip/regression.spec.mjs#L31"
    },
    {
      "id": "CASE-025",
      "title": "Plan to live session completion round trip",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-025-plan-to-live-session-completion-round-trip/regression.spec.mjs#L80"
    },
    {
      "id": "CASE-026",
      "title": "Group board workout follow-up edit round trip",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-026-group-board-workout-follow-up-edit-round-trip/regression.spec.mjs#L46"
    },
    {
      "id": "CASE-027",
      "title": "Group board edit resave round trip",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-027-group-board-edit-resave-round-trip/regression.spec.mjs#L45"
    },
    {
      "id": "CASE-028",
      "title": "Finish back one more set resave round trip",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-028-finish-back-one-more-set-resave-round-trip/regression.spec.mjs#L26"
    },
    {
      "id": "CASE-029",
      "title": "Offline edit and delete queue flush round trip",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-029-offline-edit-delete-queue-flush-round-trip/regression.spec.mjs#L49"
    },
    {
      "id": "CASE-030",
      "title": "Assisted exercise effective load round trip",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-030-assisted-exercise-effective-load-round-trip/regression.spec.mjs#L28"
    },
    {
      "id": "CASE-031",
      "title": "Custom dumbbell exercise load multiplier round trip",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-031-custom-dumbbell-load-multiplier-round-trip/regression.spec.mjs#L27"
    },
    {
      "id": "CASE-032",
      "title": "Finish-screen record delete closes immediately and the queued delete reaches the server once",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-032-finish-screen-delete-immediate-close-round-trip/regression.spec.mjs#L35"
    },
    {
      "id": "CASE-033",
      "title": "Composite edit, set delete and day set count round trip",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-033-composite-edit-set-delete-day-set-count-round-trip/regression.spec.mjs#L48"
    },
    {
      "id": "CASE-034",
      "title": "Plan partial completion same-row transition round trip",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-034-plan-partial-completion-same-row-transition-round-trip/regression.spec.mjs#L65"
    },
    {
      "id": "CASE-035",
      "title": "Group board member start and origin round trip",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-035-group-board-member-start-origin-round-trip/regression.spec.mjs#L51"
    },
    {
      "id": "CASE-036",
      "title": "Retired write contract update notice round trip",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-036-retired-write-contract-update-notice-round-trip/regression.spec.mjs#L39"
    },
    {
      "id": "CASE-037",
      "title": "Home favorite board shows exercise names on first paint while the exercise catalog response is still held",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-037-boot-exercise-names-without-catalog/regression.spec.mjs#L32"
    },
    {
      "id": "CASE-038",
      "title": "Creating a custom exercise pulls one catalog change page instead of the full catalog, and another user's custom exercise never invalidates my device copy",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-038-custom-exercise-catalog-incremental-sync/regression.spec.mjs#L40"
    },
    {
      "id": "CASE-039",
      "title": "Legacy tab and new tab share one pending-row store",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-039-legacy-tab-pending-row-coexistence/regression.spec.mjs#L54"
    },
    {
      "id": "CASE-040",
      "title": "Legacy tab in flight and new tab successor edit",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-040-legacy-tab-in-flight-new-tab-successor/regression.spec.mjs#L56"
    },
    {
      "id": "CASE-041",
      "title": "committed create edit and delete retry the identical mutation without applying twice",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-041-committed-write-lost-ack/regression.spec.mjs#L12"
    },
    {
      "id": "CASE-042",
      "title": "a real sending row survives page death and its expired send is replayed by the next boot",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-042-pending-write-browser-restart/regression.spec.mjs#L10"
    },
    {
      "id": "CASE-043",
      "title": "the real server rejects an expired signed JWT and the same owner reauthenticates to resume the held mutation",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-043-expired-jwt-held-recovery/regression.spec.mjs#L11"
    },
    {
      "id": "CASE-044",
      "title": "A pending data stays private while B saves and only A reentry uploads A request",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-044-pending-owner-switch-isolation/regression.spec.mjs#L11"
    },
    {
      "id": "CASE-045",
      "title": "a later tab edit resolves a real revision conflict and an older late ACK cannot restore old values",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-045-concurrent-tab-latest-intent/regression.spec.mjs#L29"
    },
    {
      "id": "CASE-046",
      "title": "a permanent rejection is quarantined until the user uploads the preserved workout as a new record",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-046-blocked-write-user-recovery/regression.spec.mjs#L10"
    },
    {
      "id": "CASE-047",
      "title": "an old detail response cannot replace the newer selected workout and a failed read can be retried",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-047-read-model-late-response/regression.spec.mjs#L10"
    },
    {
      "id": "CASE-048",
      "title": "cached HTTPS reentry and a real service worker update preserve one pending workout",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-048-https-sw-offline-pending-update/regression.spec.mjs#L17"
    },
    {
      "id": "CASE-049",
      "title": "CASE-049 a cancelled provider callback leaves login available and a retried callback restores the same real account",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-049-provider-callback-cancel-retry/regression.spec.mjs#L4"
    },
    {
      "id": "CASE-050",
      "title": "CASE-050 profile edit failures preserve the draft and retry persists the name handle and photo",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-050-profile-edit-failure-retry/regression.spec.mjs#L5"
    },
    {
      "id": "CASE-051",
      "title": "CASE-051 an unsuccessful account link return preserves the original identity and permits profile reentry",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-051-account-link-return-identity-preservation/regression.spec.mjs#L4"
    },
    {
      "id": "CASE-052",
      "title": "CASE-052 failed likes roll back and failed comments retain their draft before successful UI retry",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-052-feed-reaction-failure-recovery/regression.spec.mjs#L5"
    },
    {
      "id": "CASE-053",
      "title": "CASE-053 UI group creation and invitation acceptance survive reload and revoked membership leaves the open group",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-053-group-invite-ui-membership-revocation/regression.spec.mjs#L8"
    },
    {
      "id": "CASE-054",
      "title": "CASE-054 composed catalog search and failed archive retry preserve historical facts and restore the exercise",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-054-catalog-search-archive-recovery/regression.spec.mjs#L5"
    },
    {
      "id": "CASE-057",
      "title": "CASE-057 export failure creates no download and UI retry downloads exact owner facts and identities",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-057-export-download-facts-retry/regression.spec.mjs#L5"
    },
    {
      "id": "CASE-058",
      "title": "aborted IndexedDB enqueue preserves the input and a user retry saves once after recovery",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/error-cases/CASE-058-indexeddb-enqueue-failure/regression.spec.mjs#L10"
    },
    {
      "id": "V0 compact 320x568",
      "title": "V0 compact 320x568",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/e2e/viewport-matrix.spec.mjs#L170"
    },
    {
      "id": "V1 phone 360x780",
      "title": "V1 phone 360x780",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/e2e/viewport-matrix.spec.mjs#L170"
    },
    {
      "id": "V2 phone 375x667",
      "title": "V2 phone 375x667",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/e2e/viewport-matrix.spec.mjs#L170"
    },
    {
      "id": "V3 phone 390x844",
      "title": "V3 phone 390x844",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/e2e/viewport-matrix.spec.mjs#L170"
    },
    {
      "id": "V5 phone 440x956",
      "title": "V5 phone 440x956",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/e2e/viewport-matrix.spec.mjs#L170"
    },
    {
      "id": "V6 wide-touch 820x1180",
      "title": "V6 wide-touch 820x1180",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/e2e/viewport-matrix.spec.mjs#L170"
    },
    {
      "id": "V7 wide-touch 984x1092",
      "title": "V7 wide-touch 984x1092",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/e2e/viewport-matrix.spec.mjs#L170"
    },
    {
      "id": "V8 wide-touch 932x440",
      "title": "V8 wide-touch 932x440",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/e2e/viewport-matrix.spec.mjs#L170"
    },
    {
      "id": "P1 pointer-mockup 800x900",
      "title": "P1 pointer-mockup 800x900",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/e2e/viewport-matrix.spec.mjs#L170"
    },
    {
      "id": "D1 desktop 1440x900",
      "title": "D1 desktop 1440x900",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/e2e/viewport-matrix.spec.mjs#L241"
    },
    {
      "id": "D3 desktop 1280x720",
      "title": "D3 desktop 1280x720",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/e2e/viewport-matrix.spec.mjs#L241"
    },
    {
      "id": "comment sheet: input row never overlaps the tabbar band",
      "title": "comment sheet: input row never overlaps the tabbar band",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/e2e/viewport-matrix.spec.mjs#L208"
    },
    {
      "id": "workout dock states + tabbar + brand row geometry",
      "title": "workout dock states + tabbar + brand row geometry",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/e2e/dock-geometry.spec.mjs#L198"
    },
    {
      "id": "16 surfaces: content never ends under the bottom chrome (safe 0/34)",
      "title": "16 surfaces: content never ends under the bottom chrome (safe 0/34)",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/e2e/bottom-clearance.spec.mjs#L239"
    },
    {
      "id": "그룹장 이름 저장·공지 두 개 작성은 새로고침 뒤 라운지와 지난 공지에 유지된다",
      "title": "그룹장 이름 저장·공지 두 개 작성은 새로고침 뒤 라운지와 지난 공지에 유지된다",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/e2e/group-design-notifications.spec.mjs#L89"
    },
    {
      "id": "워드마크에서 초대를 수락하고 실제 팔로우 알림 읽음은 새로고침 뒤 유지된다",
      "title": "워드마크에서 초대를 수락하고 실제 팔로우 알림 읽음은 새로고침 뒤 유지된다",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/e2e/group-design-notifications.spec.mjs#L131"
    },
    {
      "id": "댓글 알림은 첫 피드 페이지 밖 내 운동 한 개를 실제 조회하고 올바른 댓글 시트를 연다",
      "title": "댓글 알림은 첫 피드 페이지 밖 내 운동 한 개를 실제 조회하고 올바른 댓글 시트를 연다",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/e2e/group-design-notifications.spec.mjs#L167"
    },
    {
      "id": "아이언맨·기능성 트레이너 선택을 저장하고 새로고침 뒤 현재 카드·홈 직업명이 유지된다",
      "title": "아이언맨·기능성 트레이너 선택을 저장하고 새로고침 뒤 현재 카드·홈 직업명이 유지된다",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/e2e/profile-design-settings.spec.mjs#L99"
    },
    {
      "id": "성별 해제·키·체중을 한 요청으로 저장하며 pending 중에는 서버 값과 입력을 보존한다",
      "title": "성별 해제·키·체중을 한 요청으로 저장하며 pending 중에는 서버 값과 입력을 보존한다",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/e2e/profile-design-settings.spec.mjs#L143"
    },
    {
      "id": "연간·월간 이동은 선택한 기간만 읽고 실제 10칸 분포 네 종류를 표시한다",
      "title": "연간·월간 이동은 선택한 기간만 읽고 실제 10칸 분포 네 종류를 표시한다",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/e2e/report-design-detail.spec.mjs#L180"
    },
    {
      "id": "먼저 요청한 8월 응답이 늦게 도착해도 새로 선택한 연간 리포트를 덮어쓰지 않는다",
      "title": "먼저 요청한 8월 응답이 늦게 도착해도 새로 선택한 연간 리포트를 덮어쓰지 않는다",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/e2e/report-design-detail.spec.mjs#L227"
    },
    {
      "id": "상세 RPC 일시 실패는 로그인 상태를 유지하며 재시도로 실서버 데이터를 복구한다",
      "title": "상세 RPC 일시 실패는 로그인 상태를 유지하며 재시도로 실서버 데이터를 복구한다",
      "approval": "P",
      "checks": {
        "1": "P",
        "2": "P",
        "3": "P",
        "4": "P",
        "5": "P",
        "6": "P",
        "7": "P",
        "8": "P",
        "9": "P",
        "10": "P",
        "11": "P",
        "12": "P",
        "13": "P",
        "14": "P",
        "15": "P"
      },
      "source": "https://github.com/dekerd/Barbelic/blob/93d4cad61d09d2c0c546145dd6dc73d8eab82721/e2e/report-design-detail.spec.mjs#L295"
    }
  ]
}
