{
  "version": 1,
  "updatedAt": "2026-06-29",
  "figma": {
    "fileKey": "EAOjCpKlwi1HMZi1miEeWP",
    "fileName": "ZERRO",
    "sourceBoard": {
      "nodeId": "867:1558",
      "name": "APP_아이콘",
      "url": "https://www.figma.com/design/EAOjCpKlwi1HMZi1miEeWP/ZERRO?node-id=867-1558&m=dev"
    }
  },
  "scope": {
    "description": "Currently implemented mobile APP surfaces. Each decision links a Figma screen usage node to the APP_아이콘 source node that should become the bundled app icon asset.",
    "queriedNodes": [
      {
        "nodeId": "213:2021",
        "name": "기본",
        "role": "emitter",
        "frames": [
          {
            "nodeId": "213:2277",
            "name": "배출자 앱"
          },
          {
            "nodeId": "213:2022",
            "name": "더보기, 햄버거 바 클릭"
          },
          {
            "nodeId": "213:2199",
            "name": "알림"
          }
        ]
      },
      {
        "nodeId": "213:2793",
        "name": "배차담당자",
        "role": "dispatcher"
      },
      {
        "nodeId": "314:2804",
        "name": "운전자",
        "role": "driver"
      },
      {
        "nodeId": "478:3584",
        "name": "처리자",
        "role": "processor"
      },
      {
        "nodeId": "384:147",
        "name": "채팅창 클릭시 목록",
        "role": "chat"
      },
      {
        "nodeId": "387:1963",
        "name": "채팅창_검색_02",
        "role": "chat"
      },
      {
        "nodeId": "1006:1095",
        "name": "프로필 클릭시 연락처 나옴",
        "role": "chat"
      },
      {
        "nodeId": "519:2685",
        "name": "긴급 연락처 클릭시",
        "role": "chat"
      }
    ],
    "pendingScreenAnchors": [
      {
        "nodeId": "13:199",
        "name": "배출자 앱",
        "source": "docs/FIGMA_INVENTORY.md UI Role Frames"
      },
      {
        "nodeId": "14:1444",
        "name": "배차담당자",
        "source": "docs/FIGMA_INVENTORY.md UI Role Frames"
      },
      {
        "nodeId": "15:2123",
        "name": "운전자",
        "source": "docs/FIGMA_INVENTORY.md UI Role Frames"
      },
      {
        "nodeId": "16:2541",
        "name": "처리자",
        "source": "docs/FIGMA_INVENTORY.md UI Role Frames"
      },
      {
        "nodeId": "19:62",
        "name": "채팅창_01",
        "source": "docs/FIGMA_INVENTORY.md UI Role Frames"
      },
      {
        "nodeId": "20:88",
        "name": "채팅창_02",
        "source": "docs/FIGMA_INVENTORY.md UI Role Frames"
      },
      {
        "nodeId": "20:197",
        "name": "채팅창_03",
        "source": "docs/FIGMA_INVENTORY.md UI Role Frames"
      },
      {
        "nodeId": "20:505",
        "name": "채팅창_04",
        "source": "docs/FIGMA_INVENTORY.md UI Role Frames"
      },
      {
        "nodeId": "32:445",
        "name": "채팅장_05",
        "source": "docs/FIGMA_INVENTORY.md UI Role Frames"
      },
      {
        "nodeId": "526:2964",
        "name": "신청 내역",
        "source": "docs/MOBILE_APP_EXECUTION_PLAN.md"
      },
      {
        "nodeId": "951:590",
        "name": "검색 상태",
        "source": "docs/MOBILE_APP_EXECUTION_PLAN.md"
      },
      {
        "nodeId": "184:10223",
        "name": "완료 내역",
        "source": "docs/MOBILE_APP_EXECUTION_PLAN.md"
      },
      {
        "nodeId": "184:9630",
        "name": "배출 상세_배차 이전",
        "source": "docs/requirements/_extraction/figma-emitter-app-2026-06-22-mcp.md"
      },
      {
        "nodeId": "184:9823",
        "name": "배출 상세_배차 완료",
        "source": "docs/requirements/_extraction/figma-emitter-app-2026-06-22-mcp.md"
      },
      {
        "nodeId": "184:9913",
        "name": "배출 상세_상차 완료",
        "source": "docs/requirements/_extraction/figma-emitter-app-2026-06-22-mcp.md"
      },
      {
        "nodeId": "184:10000",
        "name": "배출 상세_하차 완료",
        "source": "docs/requirements/_extraction/figma-emitter-app-2026-06-22-mcp.md"
      },
      {
        "nodeId": "478:4683",
        "name": "반입 확인서 미등록",
        "source": "docs/requirements/_extraction/figma-emitter-app-2026-06-22-mcp.md"
      },
      {
        "nodeId": "191:1342",
        "name": "반입 확인서 상세",
        "source": "docs/requirements/_extraction/figma-emitter-app-2026-06-22-mcp.md"
      },
      {
        "nodeId": "319:6900",
        "name": "운전자 오늘 일정 anchor",
        "source": "docs/FIGMA_INVENTORY.md Implementation Notes"
      },
      {
        "nodeId": "319:4356",
        "name": "운전자 상차 확인 bottom sheet anchor",
        "source": "docs/FIGMA_INVENTORY.md Implementation Notes"
      },
      {
        "nodeId": "319:4728",
        "name": "운전자 상차 확인 bottom sheet anchor",
        "source": "docs/FIGMA_INVENTORY.md Implementation Notes"
      },
      {
        "nodeId": "319:4921",
        "name": "운전자 상차 확인 bottom sheet anchor",
        "source": "docs/FIGMA_INVENTORY.md Implementation Notes"
      },
      {
        "nodeId": "893:2753",
        "name": "운전자 하차 사진 note",
        "source": "docs/FIGMA_INVENTORY.md Implementation Notes"
      },
      {
        "nodeId": "1011:2112",
        "name": "운전자 계근 OCR note",
        "source": "docs/FIGMA_INVENTORY.md Implementation Notes"
      },
      {
        "nodeId": "966:2529",
        "name": "처리자 입고/계근/승인 현황 확장 목록",
        "source": "docs/FIGMA_INVENTORY.md Implementation Notes"
      }
    ]
  },
  "decisions": [
    {
      "id": "app.logo.zerro",
      "status": "confirmed",
      "semanticName": "zerro-logo",
      "sourceIconNodeId": "867:1890",
      "sourceLayerName": "02 1",
      "targetAsset": "apps/mobile/assets/icons/app/common/zerro-logo.png",
      "currentAsset": "apps/mobile/assets/figma/213-2021/ui/zerro-logo.png",
      "usageNodes": [
        {
          "screenNodeId": "213:2277",
          "screenName": "배출자 앱",
          "usageNodeId": "213:2312",
          "usageLayerName": "02 1"
        },
        {
          "screenNodeId": "213:2793",
          "screenName": "배차담당자",
          "usageNodeId": "213:2828",
          "usageLayerName": "02 1"
        },
        {
          "screenNodeId": "478:3584",
          "screenName": "처리자",
          "usageNodeId": "478:3619",
          "usageLayerName": "02 1"
        }
      ],
      "notes": "Source and usage names/sizes match the APP_아이콘 logo source.",
      "targetAssets": [
        "apps/mobile/assets/icons/app/common/zerro-logo.png"
      ],
      "trackedAssets": [
        "apps/mobile/assets/icons/app/common/zerro-logo.png"
      ]
    },
    {
      "id": "app.top.notification-bell",
      "status": "confirmed-by-user-review",
      "semanticName": "top-bell",
      "sourceIconNodeId": "867:1896",
      "sourceLayerName": "Group 9350",
      "targetAsset": "apps/mobile/assets/icons/app/common/top-bell.png",
      "currentAsset": "apps/mobile/assets/figma/213-2021/ui/top-bell.png",
      "usageNodes": [
        {
          "screenNodeId": "213:2277",
          "screenName": "배출자 앱",
          "usageNodeId": "866:27741",
          "usageLayerName": "Group 9350",
          "match": "confirmed-by-user-review"
        },
        {
          "screenNodeId": "314:2804",
          "screenName": "운전자",
          "usageNodeId": "314:3078",
          "usageLayerName": "Group 9350",
          "match": "confirmed-by-user-review"
        },
        {
          "screenNodeId": "213:2793",
          "screenName": "배차담당자",
          "usageNodeId": "213:2824",
          "usageLayerName": "그룹 10106",
          "match": "confirmed-by-user-review"
        },
        {
          "screenNodeId": "478:3584",
          "screenName": "처리자",
          "usageNodeId": "478:3615",
          "usageLayerName": "그룹 10106",
          "match": "confirmed-by-user-review"
        }
      ],
      "notes": "Emitter/driver use the same source layer name. Dispatcher/processor appear semantically identical but are renamed groups and need rendered-asset comparison before final rename. User confirmed the screenshot review link/mapping as acceptable on 2026-06-29.",
      "reviewedBy": "user",
      "reviewedAt": "2026-06-29",
      "targetAssets": [
        "apps/mobile/assets/icons/app/common/top-bell.png"
      ],
      "trackedAssets": [
        "apps/mobile/assets/icons/app/common/top-bell.png",
        "apps/mobile/assets/icons/app/common/top-bell.svg"
      ]
    },
    {
      "id": "app.top.menu-sort",
      "status": "confirmed-by-user-review",
      "semanticName": "top-sort",
      "sourceIconNodeId": "867:1921",
      "sourceLayerName": "Icon",
      "targetAsset": "apps/mobile/assets/icons/app/common/top-sort.png",
      "currentAsset": null,
      "usageNodes": [
        {
          "screenNodeId": "213:2277",
          "screenName": "배출자 앱",
          "usageNodeId": "971:8655",
          "usageLayerName": "Sort"
        },
        {
          "screenNodeId": "213:2793",
          "screenName": "배차담당자",
          "usageNodeId": "213:2829",
          "usageLayerName": "Sort"
        },
        {
          "screenNodeId": "478:3584",
          "screenName": "처리자",
          "usageNodeId": "478:3620",
          "usageLayerName": "Sort"
        }
      ],
      "notes": "Figma usage is 34x34 while APP_아이콘 candidate 867:1921 is a 30x30 generic Icon. Confirm by image diff before bundling. User confirmed the screenshot review link/mapping as acceptable on 2026-06-29.",
      "reviewedBy": "user",
      "reviewedAt": "2026-06-29",
      "targetAssets": [
        "apps/mobile/assets/icons/app/common/top-sort.png"
      ],
      "trackedAssets": [
        "apps/mobile/assets/icons/app/common/top-sort.png",
        "apps/mobile/assets/icons/app/common/top-sort.svg"
      ]
    },
    {
      "id": "app.status.indicators",
      "status": "out-of-scope-system-ui",
      "semanticName": "status-cellular-wifi-battery",
      "sourceIconNodeId": null,
      "sourceLayerName": null,
      "targetAsset": "apps/mobile/assets/icons/app/system/",
      "currentAsset": "apps/mobile/assets/figma/213-2021/ui/status-*.png",
      "usageNodes": [
        {
          "screenNodeId": "213:2277",
          "screenName": "배출자 앱",
          "usageNodeIds": [
            "213:2290",
            "213:2289",
            "213:2283"
          ],
          "usageLayerNames": [
            "Cellular Connection",
            "Wifi",
            "Battery"
          ]
        },
        {
          "screenNodeId": "213:2793",
          "screenName": "배차담당자",
          "usageNodeIds": [
            "213:2806",
            "213:2805",
            "213:2799"
          ],
          "usageLayerNames": [
            "Cellular Connection",
            "Wifi",
            "Battery"
          ]
        },
        {
          "screenNodeId": "314:2804",
          "screenName": "운전자",
          "usageNodeIds": [
            "314:2817",
            "314:2816",
            "314:2810"
          ],
          "usageLayerNames": [
            "Cellular Connection",
            "Wifi",
            "Battery"
          ]
        },
        {
          "screenNodeId": "478:3584",
          "screenName": "처리자",
          "usageNodeIds": [
            "478:3597",
            "478:3596",
            "478:3590"
          ],
          "usageLayerNames": [
            "Cellular Connection",
            "Wifi",
            "Battery"
          ]
        },
        {
          "screenNodeId": "384:147",
          "screenName": "채팅창 클릭시 목록",
          "usageNodeIds": [
            "384:177",
            "384:176",
            "384:170"
          ],
          "usageLayerNames": [
            "Cellular Connection",
            "Wifi",
            "Battery"
          ]
        },
        {
          "screenNodeId": "387:1963",
          "screenName": "채팅창_검색_02",
          "usageNodeIds": [
            "387:1993",
            "387:1992",
            "387:1986"
          ],
          "usageLayerNames": [
            "Cellular Connection",
            "Wifi",
            "Battery"
          ]
        }
      ],
      "notes": "iOS status-bar cellular/wifi/battery layers are not APP_아이콘 runtime icon sources. Keep them out of the app icon bundle unless custom status-bar imagery becomes an explicit product requirement.",
      "reviewedAt": "2026-06-29"
    },
    {
      "id": "emitter.home.primary-cta.truck",
      "status": "confirmed",
      "semanticName": "cta-truck",
      "sourceIconNodeId": "867:1911",
      "sourceContainerNodeId": "867:1937",
      "sourceLayerName": "vuesax/bulk/group",
      "targetAsset": "apps/mobile/assets/icons/app/common/cta-truck.png",
      "currentAsset": "apps/mobile/assets/figma/213-2021/ui/cta-truck.png",
      "usageNodes": [
        {
          "screenNodeId": "213:2277",
          "screenName": "배출자 앱",
          "usageNodeId": "213:2339",
          "usageLayerName": "vuesax/bulk/group"
        },
        {
          "screenNodeId": "213:2793",
          "screenName": "배차담당자",
          "usageNodeId": "213:2855",
          "usageLayerName": "vuesax/bulk/group"
        }
      ],
      "notes": "The glyph node name and 33.9604x30 size match the APP_아이콘 source.",
      "targetAssets": [
        "apps/mobile/assets/icons/app/common/cta-truck.png"
      ],
      "trackedAssets": [
        "apps/mobile/assets/icons/app/common/cta-truck.png",
        "apps/mobile/assets/icons/app/common/cta-truck.svg"
      ]
    },
    {
      "id": "emitter.home.chat-cta",
      "status": "confirmed-by-user-review",
      "semanticName": "chat-outline",
      "sourceIconNodeId": "867:2143",
      "sourceLayerName": "Icon",
      "targetAsset": "apps/mobile/assets/icons/app/common/chat-outline.png",
      "currentAsset": "apps/mobile/assets/figma/213-2021/ui/chat-outline.png",
      "usageNodes": [
        {
          "screenNodeId": "213:2277",
          "screenName": "배출자 앱",
          "usageNodeId": "213:2365",
          "usageLayerName": "Icon"
        },
        {
          "screenNodeId": "213:2793",
          "screenName": "배차담당자",
          "usageNodeId": "213:2884",
          "usageLayerName": "Icon"
        },
        {
          "screenNodeId": "478:3584",
          "screenName": "처리자",
          "usageNodeId": "966:2318",
          "usageLayerName": "Icon"
        }
      ],
      "notes": "Usage nodes and source candidate are generic 30x30 Icon layers. Confirm by exported PNG comparison. User confirmed the screenshot review link/mapping as acceptable on 2026-06-29.",
      "reviewedBy": "user",
      "reviewedAt": "2026-06-29",
      "targetAssets": [
        "apps/mobile/assets/icons/app/common/chat-outline.png"
      ],
      "trackedAssets": [
        "apps/mobile/assets/icons/app/common/chat-outline.png",
        "apps/mobile/assets/icons/app/common/chat-outline.svg"
      ]
    },
    {
      "id": "app.bottom-tabs",
      "status": "confirmed-by-user-review",
      "semanticName": "tab-home-tab-chat-tab-bell-tab-more",
      "sourceIconNodeIds": [
        "867:1924",
        "867:1928",
        "867:1932"
      ],
      "sourceLayerName": "Icon",
      "targetAsset": "apps/mobile/assets/icons/app/common/tab-*.png",
      "currentAsset": "apps/mobile/assets/figma/213-2021/ui/tab-*.png",
      "usageNodes": [
        {
          "screenNodeId": "213:2277",
          "screenName": "배출자 앱",
          "usageNodeIds": [
            "213:2404",
            "213:2417",
            "213:2424",
            "213:2410"
          ],
          "labels": [
            "현황",
            "채팅방",
            "알림",
            "더보기"
          ]
        },
        {
          "screenNodeId": "213:2793",
          "screenName": "배차담당자",
          "usageNodeIds": [
            "213:2939",
            "213:2955",
            "213:2962",
            "213:2948"
          ],
          "labels": [
            "배차",
            "채팅방",
            "알림",
            "더보기"
          ]
        },
        {
          "screenNodeId": "314:2804",
          "screenName": "운전자",
          "usageNodeIds": [
            "314:2912",
            "314:2918",
            "314:2926"
          ],
          "labels": [
            "홈",
            "오늘 일정",
            "배차표"
          ]
        },
        {
          "screenNodeId": "478:3584",
          "screenName": "처리자",
          "usageNodeIds": [
            "478:3752",
            "478:3769",
            "478:3776",
            "478:3762"
          ],
          "labels": [
            "처리목록",
            "채팅방",
            "알림",
            "더보기"
          ]
        },
        {
          "screenNodeId": "384:147",
          "screenName": "채팅창 클릭시 목록",
          "usageNodeIds": [
            "387:1599",
            "387:1612",
            "387:1619",
            "387:1605"
          ],
          "labels": [
            "현황",
            "채팅방",
            "알림",
            "더보기"
          ]
        }
      ],
      "notes": "The tab usage layers are generic 24x24 Icon nodes. APP_아이콘 has three 24x24 generic candidates, but the fourth tab source still needs an exported-asset comparison. User confirmed the screenshot review link/mapping as acceptable on 2026-06-29.",
      "reviewedBy": "user",
      "reviewedAt": "2026-06-29",
      "targetAssets": [
        "apps/mobile/assets/icons/app/common/tab-home.png",
        "apps/mobile/assets/icons/app/common/tab-chat.png",
        "apps/mobile/assets/icons/app/common/tab-bell.png",
        "apps/mobile/assets/icons/app/common/tab-more.png"
      ],
      "trackedAssets": [
        "apps/mobile/assets/icons/app/common/tab-home.png",
        "apps/mobile/assets/icons/app/common/tab-home.svg",
        "apps/mobile/assets/icons/app/common/tab-chat.png",
        "apps/mobile/assets/icons/app/common/tab-chat.svg",
        "apps/mobile/assets/icons/app/common/tab-bell.png",
        "apps/mobile/assets/icons/app/common/tab-bell.svg",
        "apps/mobile/assets/icons/app/common/tab-more.png",
        "apps/mobile/assets/icons/app/common/tab-more.svg"
      ]
    },
    {
      "id": "emitter.more.olbaro-reported",
      "status": "confirmed",
      "semanticName": "menu-file-check",
      "sourceIconNodeId": "867:1951",
      "sourceIconFrameNodeId": "867:1952",
      "sourceLayerName": "Files / File Check",
      "targetAsset": "apps/mobile/assets/icons/app/emitter/menu-file-check.png",
      "currentAsset": "apps/mobile/assets/figma/213-2021/ui/menu-file-check.png",
      "usageNodes": [
        {
          "screenNodeId": "213:2022",
          "screenName": "더보기, 햄버거 바 클릭",
          "usageNodeId": "866:27742",
          "usageLayerName": "Files / File Check"
        }
      ],
      "notes": "Source and usage layer names match exactly.",
      "targetAssets": [
        "apps/mobile/assets/icons/app/emitter/menu-file-check.png"
      ],
      "trackedAssets": [
        "apps/mobile/assets/icons/app/emitter/menu-file-check.png",
        "apps/mobile/assets/icons/app/emitter/menu-file-check.svg"
      ]
    },
    {
      "id": "emitter.more.olbaro-unreported",
      "status": "confirmed",
      "semanticName": "menu-file-close",
      "sourceIconNodeId": "867:1974",
      "sourceIconFrameNodeId": "867:1975",
      "sourceLayerName": "Files / File Close",
      "targetAsset": "apps/mobile/assets/icons/app/emitter/menu-file-close.png",
      "currentAsset": "apps/mobile/assets/figma/213-2021/ui/menu-file-close.png",
      "usageNodes": [
        {
          "screenNodeId": "213:2022",
          "screenName": "더보기, 햄버거 바 클릭",
          "usageNodeId": "866:27751",
          "usageLayerName": "Files / File Close"
        }
      ],
      "notes": "Source and usage layer names match exactly.",
      "targetAssets": [
        "apps/mobile/assets/icons/app/emitter/menu-file-close.png"
      ],
      "trackedAssets": [
        "apps/mobile/assets/icons/app/emitter/menu-file-close.png",
        "apps/mobile/assets/icons/app/emitter/menu-file-close.svg"
      ]
    },
    {
      "id": "emitter.more.delivery-history",
      "status": "confirmed",
      "semanticName": "menu-delivery",
      "sourceIconNodeId": "867:1985",
      "sourceIconFrameNodeId": "867:1986",
      "sourceLayerName": "eCommerce / Delivery",
      "targetAsset": "apps/mobile/assets/icons/app/emitter/menu-delivery.png",
      "currentAsset": "apps/mobile/assets/figma/213-2021/ui/menu-delivery.png",
      "usageNodes": [
        {
          "screenNodeId": "213:2022",
          "screenName": "더보기, 햄버거 바 클릭",
          "usageNodeId": "866:27760",
          "usageLayerName": "eCommerce / Delivery"
        }
      ],
      "notes": "Source and usage layer names match exactly.",
      "targetAssets": [
        "apps/mobile/assets/icons/app/emitter/menu-delivery.png"
      ],
      "trackedAssets": [
        "apps/mobile/assets/icons/app/emitter/menu-delivery.png",
        "apps/mobile/assets/icons/app/emitter/menu-delivery.svg"
      ]
    },
    {
      "id": "emitter.more.chat",
      "status": "confirmed",
      "semanticName": "menu-messages",
      "sourceIconNodeId": "867:2111",
      "sourceLayerName": "vuesax/bold/messages",
      "targetAsset": "apps/mobile/assets/icons/app/emitter/menu-messages.png",
      "currentAsset": "apps/mobile/assets/figma/213-2021/ui/menu-messages.png",
      "usageNodes": [
        {
          "screenNodeId": "213:2022",
          "screenName": "더보기, 햄버거 바 클릭",
          "usageNodeId": "923:591",
          "usageLayerName": "vuesax/bold/messages"
        }
      ],
      "notes": "Source and usage layer names match exactly.",
      "targetAssets": [
        "apps/mobile/assets/icons/app/emitter/menu-messages.png"
      ],
      "trackedAssets": [
        "apps/mobile/assets/icons/app/emitter/menu-messages.png",
        "apps/mobile/assets/icons/app/emitter/menu-messages.svg"
      ]
    },
    {
      "id": "emitter.notification.emission-request-completed",
      "status": "confirmed-rename-required",
      "semanticName": "notice-arrow-down-circle",
      "sourceIconNodeId": "867:2055",
      "sourceIconFrameNodeId": "867:2056",
      "sourceLayerName": "Arrow / Arrow Down 6 Circle",
      "targetAsset": "apps/mobile/assets/icons/app/emitter/notice-arrow-down-circle.png",
      "currentAsset": "apps/mobile/assets/figma/213-2021/ui/notice-check.png",
      "usageNodes": [
        {
          "screenNodeId": "213:2199",
          "screenName": "알림",
          "usageNodeId": "213:2239",
          "usageLayerName": "Arrow / Arrow Down 6 Circle"
        }
      ],
      "notes": "Current import name noticeCheck is semantically misleading. The Figma usage and source are Arrow Down 6 Circle, not clipboard-tick/check.",
      "targetAssets": [
        "apps/mobile/assets/icons/app/emitter/notice-arrow-down-circle.png"
      ],
      "trackedAssets": [
        "apps/mobile/assets/icons/app/emitter/notice-arrow-down-circle.png",
        "apps/mobile/assets/icons/app/emitter/notice-arrow-down-circle.svg"
      ]
    },
    {
      "id": "emitter.notification.schedule",
      "status": "confirmed",
      "semanticName": "notice-calendar",
      "sourceIconNodeId": "867:2092",
      "sourceLayerName": "vuesax/bold/calendar",
      "targetAsset": "apps/mobile/assets/icons/app/emitter/notice-calendar.png",
      "currentAsset": "apps/mobile/assets/figma/213-2021/ui/notice-calendar.png",
      "usageNodes": [
        {
          "screenNodeId": "213:2199",
          "screenName": "알림",
          "usageNodeId": "519:2934",
          "usageLayerName": "vuesax/bold/calendar"
        }
      ],
      "notes": "Source and usage layer names match exactly.",
      "targetAssets": [
        "apps/mobile/assets/icons/app/emitter/notice-calendar.png"
      ],
      "trackedAssets": [
        "apps/mobile/assets/icons/app/emitter/notice-calendar.png",
        "apps/mobile/assets/icons/app/emitter/notice-calendar.svg"
      ]
    },
    {
      "id": "emitter.notification.cancelled",
      "status": "confirmed",
      "semanticName": "notice-close",
      "sourceIconNodeId": "867:2081",
      "sourceIconFrameNodeId": "867:2082",
      "sourceLayerName": "Math / Sign -  Times Circle",
      "targetAsset": "apps/mobile/assets/icons/app/emitter/notice-close.png",
      "currentAsset": "apps/mobile/assets/figma/213-2021/ui/notice-close.png",
      "usageNodes": [
        {
          "screenNodeId": "213:2199",
          "screenName": "알림",
          "usageNodeId": "213:2252",
          "usageLayerName": "Math / Sign - Times Circle"
        }
      ],
      "notes": "Source and usage layer names match with only whitespace variance in the Figma layer name.",
      "targetAssets": [
        "apps/mobile/assets/icons/app/emitter/notice-close.png"
      ],
      "trackedAssets": [
        "apps/mobile/assets/icons/app/emitter/notice-close.png",
        "apps/mobile/assets/icons/app/emitter/notice-close.svg"
      ]
    },
    {
      "id": "emitter.notification.dispatch-or-transport",
      "status": "confirmed",
      "semanticName": "notice-truck",
      "sourceIconNodeId": "867:2078",
      "sourceLayerName": "truck-fill",
      "targetAsset": "apps/mobile/assets/icons/app/emitter/notice-truck.png",
      "currentAsset": "apps/mobile/assets/figma/213-2021/ui/notice-truck.png",
      "usageNodes": [
        {
          "screenNodeId": "213:2199",
          "screenName": "알림",
          "usageNodeId": "213:2267",
          "usageLayerName": "truck-fill"
        },
        {
          "screenNodeId": "213:2199",
          "screenName": "알림",
          "usageNodeId": "213:2275",
          "usageLayerName": "truck-fill"
        },
        {
          "screenNodeId": "213:2199",
          "screenName": "알림",
          "usageNodeId": "519:2962",
          "usageLayerName": "truck-fill"
        }
      ],
      "notes": "Source and usage layer names match exactly.",
      "targetAssets": [
        "apps/mobile/assets/icons/app/emitter/notice-truck.png"
      ],
      "trackedAssets": [
        "apps/mobile/assets/icons/app/emitter/notice-truck.png",
        "apps/mobile/assets/icons/app/emitter/notice-truck.svg"
      ]
    },
    {
      "id": "dispatcher.home.list-small-icons",
      "status": "confirmed-by-user-review",
      "semanticName": "list-date-or-time-icons",
      "sourceIconNodeIds": [
        "867:2179",
        "867:2183"
      ],
      "sourceLayerName": "Icon",
      "targetAsset": "apps/mobile/assets/icons/app/dispatcher/list-*.png",
      "currentAsset": null,
      "usageNodes": [
        {
          "screenNodeId": "213:2793",
          "screenName": "배차담당자",
          "usageNodeIds": [
            "262:750",
            "262:770"
          ],
          "usageLayerName": "Icon"
        }
      ],
      "notes": "Figma usage and APP_아이콘 candidates are generic 16x16 Icon layers. Confirm by exported-asset comparison. User confirmed the screenshot review link/mapping as acceptable on 2026-06-29.",
      "reviewedBy": "user",
      "reviewedAt": "2026-06-29",
      "targetAssets": [
        "apps/mobile/assets/icons/app/dispatcher/list-date.png",
        "apps/mobile/assets/icons/app/dispatcher/list-time.png"
      ],
      "trackedAssets": [
        "apps/mobile/assets/icons/app/dispatcher/list-date.png",
        "apps/mobile/assets/icons/app/dispatcher/list-date.svg",
        "apps/mobile/assets/icons/app/dispatcher/list-time.png",
        "apps/mobile/assets/icons/app/dispatcher/list-time.svg"
      ]
    },
    {
      "id": "processor.home.camera-cta",
      "status": "confirmed",
      "semanticName": "camera",
      "sourceIconNodeId": "867:2188",
      "sourceIconFrameNodeId": "867:2189",
      "sourceLayerName": "Iconex/Light/Camera",
      "targetAsset": "apps/mobile/assets/icons/app/processor/camera.png",
      "currentAsset": null,
      "usageNodes": [
        {
          "screenNodeId": "478:3584",
          "screenName": "처리자",
          "usageNodeId": "478:3651",
          "usageLayerName": "Iconex/Light/Camera"
        }
      ],
      "notes": "Source and usage layer names match exactly.",
      "targetAssets": [
        "apps/mobile/assets/icons/app/processor/camera.png"
      ],
      "trackedAssets": [
        "apps/mobile/assets/icons/app/processor/camera.png",
        "apps/mobile/assets/icons/app/processor/camera.svg"
      ]
    },
    {
      "id": "processor.home.list-small-icons",
      "status": "confirmed-by-user-review",
      "semanticName": "list-date-or-time-icons",
      "sourceIconNodeIds": [
        "867:2179",
        "867:2183"
      ],
      "sourceLayerName": "Icon",
      "targetAsset": "apps/mobile/assets/icons/app/processor/list-*.png",
      "currentAsset": null,
      "usageNodes": [
        {
          "screenNodeId": "478:3584",
          "screenName": "처리자",
          "usageNodeIds": [
            "478:3688",
            "478:3707"
          ],
          "usageLayerName": "Icon"
        }
      ],
      "notes": "Figma usage and APP_아이콘 candidates are generic 16x16 Icon layers. Confirm by exported-asset comparison. User confirmed the screenshot review link/mapping as acceptable on 2026-06-29.",
      "reviewedBy": "user",
      "reviewedAt": "2026-06-29",
      "targetAssets": [
        "apps/mobile/assets/icons/app/processor/list-date.png",
        "apps/mobile/assets/icons/app/processor/list-time.png"
      ],
      "trackedAssets": [
        "apps/mobile/assets/icons/app/processor/list-date.png",
        "apps/mobile/assets/icons/app/processor/list-date.svg",
        "apps/mobile/assets/icons/app/processor/list-time.png",
        "apps/mobile/assets/icons/app/processor/list-time.svg"
      ]
    },
    {
      "id": "chat.list.users-avatar",
      "status": "confirmed-by-user-review",
      "semanticName": "chat-users",
      "sourceIconNodeId": "867:2171",
      "sourceLayerName": "그룹 167833",
      "targetAsset": "apps/mobile/assets/icons/app/chat/users.png",
      "currentAsset": "apps/mobile/assets/figma/384-147/ui/users.png",
      "usageNodes": [
        {
          "screenNodeId": "384:147",
          "screenName": "채팅창 클릭시 목록",
          "usageNodeIds": [
            "387:1637",
            "387:1647",
            "387:1657",
            "387:1667",
            "387:1677"
          ],
          "usageLayerName": "Iconex/Filled/Users"
        }
      ],
      "notes": "The usage layer is Iconex/Filled/Users, while the APP_아이콘 source candidate is a renamed group. Confirm by exported-asset comparison. User confirmed the screenshot review link/mapping as acceptable on 2026-06-29.",
      "reviewedBy": "user",
      "reviewedAt": "2026-06-29",
      "targetAssets": [
        "apps/mobile/assets/icons/app/chat/users.png"
      ],
      "trackedAssets": [
        "apps/mobile/assets/icons/app/chat/users.png",
        "apps/mobile/assets/icons/app/chat/users.svg"
      ]
    },
    {
      "id": "chat.header.search",
      "status": "confirmed-by-user-review",
      "semanticName": "chat-search",
      "sourceIconNodeId": "867:2143",
      "sourceLayerName": "Icon",
      "targetAsset": "apps/mobile/assets/icons/app/chat/search.png",
      "currentAsset": "apps/mobile/assets/figma/384-147/ui/search.png",
      "usageNodes": [
        {
          "screenNodeId": "384:147",
          "screenName": "채팅창 클릭시 목록",
          "usageNodeId": "506:1393",
          "usageLayerName": "Icon"
        },
        {
          "screenNodeId": "1006:1095",
          "screenName": "프로필 클릭시 연락처 나옴",
          "usageNodeId": "1006:1134",
          "usageLayerName": "Icon"
        }
      ],
      "notes": "Usage nodes are 20x20 generic Icon layers. Existing runtime asset is a search SVG. Source board candidate is 30x30 generic Icon and needs render comparison. User confirmed the screenshot review link/mapping as acceptable on 2026-06-29.",
      "reviewedBy": "user",
      "reviewedAt": "2026-06-29",
      "targetAssets": [
        "apps/mobile/assets/icons/app/chat/search.png"
      ],
      "trackedAssets": [
        "apps/mobile/assets/icons/app/chat/search.png",
        "apps/mobile/assets/icons/app/chat/search.svg"
      ]
    },
    {
      "id": "chat.search.input-clear",
      "status": "fallback-custom-svg",
      "semanticName": "close-circle",
      "sourceIconNodeId": null,
      "sourceLayerName": null,
      "targetAsset": "apps/mobile/assets/icons/app/chat/close-circle.png",
      "currentAsset": null,
      "usageNodes": [
        {
          "screenNodeId": "387:1963",
          "screenName": "채팅창_검색_02",
          "usageNodeId": "387:2197",
          "usageLayerName": "vuesax/bold/close-circle"
        }
      ],
      "notes": "User confirmed no separate APP_아이콘 source exists for close-circle. Use a local SVG fallback that visually matches the Figma usage; the attached Expo docs note @expo/vector-icons is deprecated, so prefer extracted/static SVG over a new runtime icon dependency.",
      "reviewedBy": "user",
      "reviewedAt": "2026-06-29",
      "fallbackStrategy": {
        "kind": "custom-svg-or-vector-icon-extraction",
        "reason": "No APP_아이콘 source node exists for the Figma close-circle usage.",
        "guidance": "Create a matching local SVG from the Figma usage geometry or extract an equivalent icon as SVG. Do not add @expo/vector-icons as a new runtime dependency only for this icon."
      },
      "targetAssets": [
        "apps/mobile/assets/icons/app/chat/close-circle.png"
      ],
      "trackedAssets": [
        "apps/mobile/assets/icons/app/chat/close-circle.png",
        "apps/mobile/assets/icons/app/chat/close-circle.svg"
      ]
    },
    {
      "id": "chat.search.result-navigation",
      "status": "platform-or-custom-svg-fallback",
      "semanticName": "arrow-circle-up-down",
      "sourceIconNodeId": null,
      "sourceLayerName": null,
      "targetAsset": "apps/mobile/assets/icons/app/chat/arrow-circle-*.png",
      "currentAsset": null,
      "usageNodes": [
        {
          "screenNodeId": "387:1963",
          "screenName": "채팅창_검색_02",
          "usageNodeId": "387:2205",
          "usageLayerName": "vuesax/bold/arrow-circle-up"
        },
        {
          "screenNodeId": "387:1963",
          "screenName": "채팅창_검색_02",
          "usageNodeId": "387:2210",
          "usageLayerName": "vuesax/bold/arrow-circle-down"
        }
      ],
      "notes": "User confirmed arrow-button-like navigation should prefer the default Expo Router/header affordance where applicable. For non-header in-screen search result arrows, use a local SVG fallback matching the Figma usage.",
      "reviewedBy": "user",
      "reviewedAt": "2026-06-29",
      "fallbackStrategy": {
        "kind": "expo-router-header-or-custom-svg",
        "reason": "No APP_아이콘 source node exists for these arrow controls.",
        "guidance": "Use Expo Router/native header affordance for route back/header navigation. If the search result previous/next controls remain custom in-screen controls, create matching local SVGs instead of adding a new runtime icon package."
      },
      "targetAssets": [
        "apps/mobile/assets/icons/app/chat/arrow-circle-up.png",
        "apps/mobile/assets/icons/app/chat/arrow-circle-down.png"
      ],
      "trackedAssets": [
        "apps/mobile/assets/icons/app/chat/arrow-circle-up.png",
        "apps/mobile/assets/icons/app/chat/arrow-circle-up.svg",
        "apps/mobile/assets/icons/app/chat/arrow-circle-down.png",
        "apps/mobile/assets/icons/app/chat/arrow-circle-down.svg"
      ]
    },
    {
      "id": "chat.lifecycle.notification",
      "status": "fallback-custom-svg",
      "semanticName": "chat-lifecycle-notification",
      "sourceIconNodeId": null,
      "sourceLayerName": null,
      "targetAsset": "apps/mobile/assets/icons/app/chat/notification.png",
      "currentAsset": null,
      "usageNodes": [
        {
          "screenNodeId": "387:1963",
          "screenName": "채팅창_검색_02",
          "usageNodeId": "1006:1025",
          "usageLayerName": "vuesax/bold/notification"
        },
        {
          "screenNodeId": "1006:1095",
          "screenName": "프로필 클릭시 연락처 나옴",
          "usageNodeId": "1006:1235",
          "usageLayerName": "vuesax/bold/notification"
        }
      ],
      "notes": "The screen usage is exact, but an APP_아이콘 source layer with the same component name was not found in the queried source board metadata. User confirmed the other review links are acceptable; because no exact source node is linked here, keep this as a local SVG fallback decision.",
      "reviewedBy": "user",
      "reviewedAt": "2026-06-29",
      "fallbackStrategy": {
        "kind": "custom-svg-or-vector-icon-extraction",
        "reason": "No exact APP_아이콘 source node was linked during review.",
        "guidance": "Create a matching local SVG from the Figma usage geometry or extract an equivalent icon as SVG; do not introduce a new runtime icon dependency for this alone."
      },
      "targetAssets": [
        "apps/mobile/assets/icons/app/chat/notification.png"
      ],
      "trackedAssets": [
        "apps/mobile/assets/icons/app/chat/notification.png",
        "apps/mobile/assets/icons/app/chat/notification.svg"
      ]
    },
    {
      "id": "chat.composer.send-disabled",
      "status": "confirmed-by-user-review",
      "semanticName": "chat-send-off",
      "sourceIconNodeId": "867:2128",
      "sourceIconFrameNodeId": "867:2129",
      "sourceLayerName": "Iconex/Filled/Send",
      "targetAsset": "apps/mobile/assets/icons/app/chat/send-off.png",
      "currentAsset": null,
      "usageNodes": [
        {
          "screenNodeId": "1006:1095",
          "screenName": "프로필 클릭시 연락처 나옴",
          "usageNodeId": "1006:1154",
          "usageLayerName": "icon_chat_send_off"
        },
        {
          "screenNodeId": "384:147",
          "screenName": "채팅창 클릭시 목록",
          "usageNodeId": "356:1080",
          "usageLayerName": "icon_chat_send_off"
        }
      ],
      "notes": "APP_아이콘 has a filled send source, while the screen usage is a disabled send-off frame. Confirm fill/disabled state before bundling. User confirmed the screenshot review link/mapping as acceptable on 2026-06-29.",
      "reviewedBy": "user",
      "reviewedAt": "2026-06-29",
      "targetAssets": [
        "apps/mobile/assets/icons/app/chat/send-off.png"
      ],
      "trackedAssets": [
        "apps/mobile/assets/icons/app/chat/send-off.png",
        "apps/mobile/assets/icons/app/chat/send-off.svg"
      ]
    },
    {
      "id": "chat.composer.attach-plus",
      "status": "fallback-custom-svg",
      "semanticName": "chat-attach-plus",
      "sourceIconNodeId": null,
      "sourceLayerName": null,
      "targetAsset": "apps/mobile/assets/icons/app/chat/attach-plus.png",
      "currentAsset": null,
      "usageNodes": [
        {
          "screenNodeId": "1006:1095",
          "screenName": "프로필 클릭시 연락처 나옴",
          "usageNodeId": "1006:1157",
          "usageLayerName": "그룹 10161"
        },
        {
          "screenNodeId": "384:147",
          "screenName": "채팅창 클릭시 목록",
          "usageNodeId": "356:1083",
          "usageLayerName": "그룹 10161"
        }
      ],
      "notes": "No exact APP_아이콘 source node was found in the queried source board metadata. User confirmed the other review links are acceptable; because no exact source node is linked here, keep this as a local SVG fallback decision.",
      "reviewedBy": "user",
      "reviewedAt": "2026-06-29",
      "fallbackStrategy": {
        "kind": "custom-svg-or-vector-icon-extraction",
        "reason": "No exact APP_아이콘 source node was linked during review.",
        "guidance": "Create a matching local SVG from the Figma usage geometry or extract an equivalent icon as SVG; do not introduce a new runtime icon dependency for this alone."
      },
      "targetAssets": [
        "apps/mobile/assets/icons/app/chat/attach-plus.png"
      ],
      "trackedAssets": [
        "apps/mobile/assets/icons/app/chat/attach-plus.png",
        "apps/mobile/assets/icons/app/chat/attach-plus.svg"
      ]
    },
    {
      "id": "chat.profile.small-avatar",
      "status": "confirmed-by-user-review",
      "semanticName": "chat-profile-small",
      "sourceIconNodeId": "867:2171",
      "sourceLayerName": "그룹 167833",
      "targetAsset": "apps/mobile/assets/icons/app/chat/profile-small.png",
      "currentAsset": "apps/mobile/assets/figma/384-147/ui/users.png",
      "usageNodes": [
        {
          "screenNodeId": "1006:1095",
          "screenName": "프로필 클릭시 연락처 나옴",
          "usageNodeIds": [
            "1006:1168",
            "1006:1185"
          ],
          "usageLayerName": "icon_chat_pf_s"
        }
      ],
      "notes": "Screen usage is a named small profile frame, but APP_아이콘 source candidate is a renamed group. Confirm by exported-asset comparison. User confirmed the screenshot review link/mapping as acceptable on 2026-06-29.",
      "reviewedBy": "user",
      "reviewedAt": "2026-06-29",
      "targetAssets": [
        "apps/mobile/assets/icons/app/chat/profile-small.png"
      ],
      "trackedAssets": [
        "apps/mobile/assets/icons/app/chat/profile-small.png",
        "apps/mobile/assets/icons/app/chat/profile-small.svg"
      ]
    },
    {
      "id": "chat.contact.info",
      "status": "confirmed",
      "semanticName": "info-circle",
      "sourceIconNodeId": "867:2049",
      "sourceLayerName": "vuesax/bold/info-circle",
      "targetAsset": "apps/mobile/assets/icons/app/chat/info-circle.png",
      "currentAsset": null,
      "usageNodes": [
        {
          "screenNodeId": "1006:1095",
          "screenName": "프로필 클릭시 연락처 나옴",
          "usageNodeId": "1006:1581",
          "usageLayerName": "vuesax/bold/info-circle"
        }
      ],
      "notes": "Source and usage layer names/sizes match exactly.",
      "targetAssets": [
        "apps/mobile/assets/icons/app/chat/info-circle.png"
      ],
      "trackedAssets": [
        "apps/mobile/assets/icons/app/chat/info-circle.png",
        "apps/mobile/assets/icons/app/chat/info-circle.svg"
      ]
    },
    {
      "id": "chat.contact.phone",
      "status": "confirmed",
      "semanticName": "phone",
      "sourceIconNodeId": "867:2118",
      "sourceLayerName": "Vector",
      "targetAsset": "apps/mobile/assets/icons/app/chat/phone.png",
      "currentAsset": null,
      "usageNodes": [
        {
          "screenNodeId": "1006:1095",
          "screenName": "프로필 클릭시 연락처 나옴",
          "usageNodeId": "1011:1606",
          "usageLayerName": "Vector"
        }
      ],
      "notes": "Source and usage vector size match at 17.5x17.5347.",
      "targetAssets": [
        "apps/mobile/assets/icons/app/chat/phone.png"
      ],
      "trackedAssets": [
        "apps/mobile/assets/icons/app/chat/phone.png",
        "apps/mobile/assets/icons/app/chat/phone.svg"
      ]
    },
    {
      "id": "chat.contact.close",
      "status": "confirmed-by-user-review",
      "semanticName": "close",
      "sourceIconNodeId": "867:2143",
      "sourceLayerName": "Icon",
      "targetAsset": "apps/mobile/assets/icons/app/chat/close.png",
      "currentAsset": null,
      "usageNodes": [
        {
          "screenNodeId": "1006:1095",
          "screenName": "프로필 클릭시 연락처 나옴",
          "usageNodeId": "1011:1588",
          "usageLayerName": "Icon"
        }
      ],
      "notes": "The usage node is a generic 24x24 Icon. Source board candidate is generic 30x30 Icon, so exported comparison is required. User confirmed the screenshot review link/mapping as acceptable on 2026-06-29.",
      "reviewedBy": "user",
      "reviewedAt": "2026-06-29",
      "targetAssets": [
        "apps/mobile/assets/icons/app/chat/close.png"
      ],
      "trackedAssets": [
        "apps/mobile/assets/icons/app/chat/close.png",
        "apps/mobile/assets/icons/app/chat/close.svg"
      ]
    }
  ],
  "sourceOnlyCandidates": [
    {
      "sourceIconNodeId": "867:1992",
      "sourceLayerName": "Container > vuesax/bold/clipboard-tick",
      "status": "not-linked-in-queried-screens",
      "notes": "Do not use this for the emission-request-completed notification unless Figma screen usage changes; that screen uses Arrow / Arrow Down 6 Circle."
    },
    {
      "sourceIconNodeId": "867:2192",
      "sourceLayerName": "vuesax/bold/forward-15-seconds",
      "status": "not-linked-in-queried-screens"
    }
  ],
  "assetRoot": "apps/mobile/assets/icons/app",
  "assetContract": {
    "runtimeFormat": "png",
    "sourceFormat": "svg",
    "verifier": "pnpm --filter @zerro/mobile assets:verify",
    "pairExceptionFile": "apps/mobile/assets/icons/app/asset-exceptions.json"
  }
}
