{
  "_meta": {
    "schema_version": "0.2.0",
    "batch_id": "B4-Arrow",
    "batch_folder": "Arrow",
    "batch_category": "navigation",
    "generated_at": "2026-05-27",
    "expected_todo_count": 9,
    "actual_promoted_count": 9,
    "skipped": {
      "cleanup_pending": [],
      "outline_pending_review": [],
      "manual_disambiguation_pending": [],
      "registry_name_collision": []
    },
    "category_distribution": {
      "action": 6,
      "navigation": 3
    },
    "svg_decision_distribution": {
      "semantic-convert": 7
    },
    "new_categories_created": [],
    "collision_report": {
      "known_navigation_registry_names": [
        "navigation/arrow-down",
        "navigation/arrow-dropdown",
        "navigation/arrow-left",
        "navigation/arrow-right",
        "navigation/arrow-up",
        "navigation/more",
        "navigation/next",
        "navigation/previous"
      ],
      "collisions": [
        {
          "figma_name": "icon/Arrow/left",
          "proposed_registry_name": null,
          "occupied_related_names": [
            "navigation/arrow-left",
            "navigation/previous"
          ],
          "strategy": "Skipped per naming-convention.md §4.3 class A case-only collision; user must visually disambiguate against existing icon/Arrow/Left."
        },
        {
          "figma_name": "icon/Arrow/right",
          "proposed_registry_name": null,
          "occupied_related_names": [
            "navigation/arrow-right",
            "navigation/next"
          ],
          "strategy": "Skipped per naming-convention.md §4.3 class A case-only collision; user must visually disambiguate against existing icon/Arrow/Right."
        },
        {
          "figma_name": "icon/Arrow/Sorting",
          "proposed_registry_name": "navigation/sorting",
          "occupied_related_names": [
            "navigation/arrow-up",
            "navigation/arrow-down"
          ],
          "strategy": "No exact registry collision; retain leaf-kebab name. BRIDGE-MOCKUP-002 remains a separate design backlog for asc/desc variants."
        },
        {
          "figma_name": "icon/Arrow/Updown",
          "proposed_registry_name": "navigation/updown",
          "occupied_related_names": [
            "navigation/arrow-dropdown",
            "navigation/arrow-up"
          ],
          "strategy": "No exact registry collision; retain Figma leaf literally, but low-confidence review should decide whether navigation/chevron-up is clearer."
        }
      ],
      "exact_registry_name_collisions": []
    },
    "low_confidence_registry_names": [
      {
        "figma_name": "icon/Arrow/Sorting",
        "proposed_registry_name": "navigation/sorting",
        "reasoning": "Low confidence: Sorting represents a table-sort affordance rather than generic navigation; existing backlog BRIDGE-MOCKUP-002 notes missing ascending/descending variants."
      },
      {
        "figma_name": "icon/Arrow/Switch",
        "proposed_registry_name": "navigation/switch",
        "reasoning": "Low confidence: glyph shows two opposing horizontal arrows and may mean swap/exchange rather than navigation; user should confirm category/name."
      },
      {
        "figma_name": "icon/Arrow/Updown",
        "proposed_registry_name": "navigation/updown",
        "reasoning": "Low confidence: visual is a single up chevron despite Figma leaf saying Updown; review whether navigation/updown is too literal."
      }
    ],
    "fresh_session_attestation": "I am a fresh Codex session for batch B4-Arrow. I did not author any other batch in this session. I have read all 8 prerequisite docs in §0.",
    "plan_owner_overrides_2026_05_27": [
      {
        "figma_name": "icon/Arrow/Sorting",
        "from": "navigation/sorting",
        "to": "action/sorting",
        "reason": "cross-category-override navigation→action: 保留 figma name + action 性质"
      },
      {
        "figma_name": "icon/Arrow/Switch",
        "from": "navigation/switch",
        "to": "action/switch",
        "reason": "cross-category-override navigation→action: 保留 figma name + action 性质"
      },
      {
        "figma_name": "icon/Arrow/Updown",
        "from": "navigation/updown",
        "to": "action/updown",
        "reason": "cross-category-override navigation→action: 保留 figma name + action 性质"
      },
      {
        "figma_name": "icon/Arrow/Updown",
        "from": "action/updown",
        "to": "navigation/arrow-updown",
        "reason": "user v2 clarification: Updown 是 Dropdown collapse pair; mirror navigation/arrow-dropdown 范式 + leaf arrow- prefix"
      },
      {
        "figma_name": "icon/Arrow/Double down",
        "from": "navigation/double-down",
        "to": "action/double-down",
        "reason": "cross-category-override v3: Double down/up 是批量展开/收起触发，action 性质"
      },
      {
        "figma_name": "icon/Arrow/Double up",
        "from": "navigation/double-up",
        "to": "action/double-up",
        "reason": "cross-category-override v3: Double down/up 是批量展开/收起触发，action 性质"
      },
      {
        "figma_name": "icon/Arrow/left",
        "from": "manual_disambig:navigation",
        "to": "action/chevron-left",
        "reason": "user 视觉确认 chevron + cross-category override → action; finalize from disambig pool"
      },
      {
        "figma_name": "icon/Arrow/right",
        "from": "manual_disambig:navigation",
        "to": "action/chevron-right",
        "reason": "user 视觉确认 chevron + cross-category override → action; finalize from disambig pool"
      }
    ],
    "plan_owner_overrides_2026_05_28_review": []
  },
  "candidates": [
    {
      "path": "Arrow/Double down.svg",
      "visual_signature": "two stacked downward chevrons made from filled angled strokes, centered in the 16px viewBox",
      "affordance_category": "directional",
      "synonyms_en": [
        "double down",
        "collapse all",
        "expand down",
        "jump down",
        "more down"
      ],
      "synonyms_zh": [
        "双下箭头",
        "全部折叠",
        "向下展开",
        "下移"
      ],
      "when_to_use": "Use for a stronger downward navigation or collapse-all affordance; e.g. collapse all expanded panels or jump to the next lower section.",
      "notes": "M14.1 semantic use-case: double chevron means expand/collapse-all or jump, not generic dropdown trigger.",
      "figma_component_key": "9b7938b81ceba8cb1a55661a9fbbfaa5980a6493",
      "figma_name": "icon/Arrow/Double down",
      "figma_node_id": "1149:23106",
      "proposed_registry_name": "action/double-down",
      "registry_name_status": "ok",
      "registry_name_reasoning": "Applied naming-convention.md §2 Arrow→navigation and §3.1 multi-word leaf rule: \"Double down\" -> \"navigation/double-down\". [PLAN OWNER OVERRIDE 2026-05-27 v3: cross-category-override navigation→action — user clarification: Double down/up 是展开/收起触发 (expand-all 触发)，与单 entity disclosure (Dropdown/Updown navigation) 区别为 batch 触发 → action]",
      "svg_decision": "semantic-convert",
      "svg_action": "no-op",
      "manifest_patches": {
        "raw_ts_export": "export const ICON_ACTION_DOUBLE_DOWN = `<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.94667 3.11282C2.67758 2.91943 2.30267 2.9808 2.10928 3.24988C1.91589 3.51897 1.97726 3.89388 2.24634 4.08727L7.47471 7.84485C7.78855 8.07041 8.21136 8.07041 8.5252 7.84486L13.7536 4.08727C14.0227 3.89388 14.0841 3.51897 13.8907 3.24988C13.6973 2.9808 13.3224 2.91943 13.0533 3.11282L8.11668 6.66069C8.04694 6.71082 7.95298 6.71082 7.88324 6.66069L2.94667 3.11282ZM2.94667 8.11282C2.67758 7.91943 2.30267 7.9808 2.10928 8.24988C1.91589 8.51897 1.97726 8.89388 2.24634 9.08727L7.47471 12.8448C7.78855 13.0704 8.21135 13.0704 8.52519 12.8449L13.7536 9.08727C14.0227 8.89388 14.0841 8.51897 13.8907 8.24988C13.6973 7.9808 13.3224 7.91943 13.0533 8.11282L8.11667 11.6607C8.04693 11.7108 7.95297 11.7108 7.88323 11.6607L2.94667 8.11282Z\" fill=\"currentColor\"/></svg>`",
        "generated_ts_entry": {
          "file": "src/icons/generated/action.ts",
          "key": "double-down",
          "value": {
            "svg": "ICON_ACTION_DOUBLE_DOWN",
            "tags": [
              "double down",
              "collapse all",
              "expand down",
              "jump down",
              "more down",
              "double",
              "down"
            ]
          }
        },
        "index_ts_reexport": null,
        "manifest_ts_entry": {
          "name": "action/double-down",
          "category": "action",
          "svg_ref": "ICON_ACTION_DOUBLE_DOWN"
        },
        "sot_json_patch": {
          "match_figma_component_key": "9b7938b81ceba8cb1a55661a9fbbfaa5980a6493",
          "set_registry_name": "action/double-down"
        }
      }
    },
    {
      "path": "Arrow/Double up.svg",
      "visual_signature": "two stacked upward chevrons made from filled angled strokes, centered in the 16px viewBox",
      "affordance_category": "directional",
      "synonyms_en": [
        "double up",
        "expand all",
        "collapse up",
        "jump up",
        "more up"
      ],
      "synonyms_zh": [
        "双上箭头",
        "全部展开",
        "向上折叠",
        "上移"
      ],
      "when_to_use": "Use for a stronger upward navigation or expand-all affordance; e.g. expand all panels upward or jump to a previous higher section.",
      "notes": "M14.1 semantic use-case: double chevron is for expand/collapse-all or jump, not a simple previous step.",
      "figma_component_key": "2be13b82bf5bb8e32142e82d06bc20a14cfb79c2",
      "figma_name": "icon/Arrow/Double up",
      "figma_node_id": "1149:23074",
      "proposed_registry_name": "action/double-up",
      "registry_name_status": "ok",
      "registry_name_reasoning": "Applied naming-convention.md §2 Arrow→navigation and §3.1 multi-word leaf rule: \"Double up\" -> \"navigation/double-up\". [PLAN OWNER OVERRIDE 2026-05-27 v3: cross-category-override navigation→action — user clarification: Double down/up 是展开/收起触发 (collapse-all 触发)，与单 entity disclosure (Dropdown/Updown navigation) 区别为 batch 触发 → action]",
      "svg_decision": "semantic-convert",
      "svg_action": "no-op",
      "manifest_patches": {
        "raw_ts_export": "export const ICON_ACTION_DOUBLE_UP = `<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.9543 12.8872C2.68521 13.0806 2.3103 13.0192 2.11691 12.7501C1.92352 12.481 1.98489 12.1061 2.25397 11.9127L7.47469 8.16064C7.78853 7.93509 8.21134 7.93509 8.52518 8.16064L13.746 11.9127C14.015 12.1061 14.0764 12.481 13.883 12.7501C13.6896 13.0192 13.3147 13.0806 13.0456 12.8872L8.11666 9.3448C8.04692 9.29468 7.95296 9.29468 7.88322 9.3448L2.9543 12.8872ZM2.9521 7.88722C2.68301 8.08061 2.3081 8.01925 2.11471 7.75016C1.92132 7.48108 1.98269 7.10617 2.25177 6.91278L7.47469 3.15911C7.78853 2.93356 8.21134 2.93356 8.52518 3.15911L13.7482 6.91278C14.0172 7.10616 14.0786 7.48107 13.8852 7.75016C13.6918 8.01925 13.3169 8.08061 13.0478 7.88722L8.11666 4.34327C8.04691 4.29315 7.95296 4.29315 7.88322 4.34327L2.9521 7.88722Z\" fill=\"currentColor\"/></svg>`",
        "generated_ts_entry": {
          "file": "src/icons/generated/action.ts",
          "key": "double-up",
          "value": {
            "svg": "ICON_ACTION_DOUBLE_UP",
            "tags": [
              "double up",
              "expand all",
              "collapse up",
              "jump up",
              "more up",
              "double",
              "up"
            ]
          }
        },
        "index_ts_reexport": null,
        "manifest_ts_entry": {
          "name": "action/double-up",
          "category": "action",
          "svg_ref": "ICON_ACTION_DOUBLE_UP"
        },
        "sot_json_patch": {
          "match_figma_component_key": "2be13b82bf5bb8e32142e82d06bc20a14cfb79c2",
          "set_registry_name": "action/double-up"
        }
      }
    },
    {
      "path": "Arrow/Sorting.svg",
      "visual_signature": "stacked chevron pair with one upward chevron above and one downward chevron below, indicating sortable direction",
      "affordance_category": "directional",
      "synonyms_en": [
        "sort",
        "sorting",
        "order",
        "ascending descending",
        "table sort"
      ],
      "synonyms_zh": [
        "排序",
        "升降序",
        "表格排序",
        "顺序"
      ],
      "when_to_use": "Use for a table column sort indicator or sortable list control in its neutral/default state.",
      "notes": "BRIDGE-MOCKUP-002 tracks the design-system gap for explicit ascending/descending variants; this entry is the current neutral sorting glyph.",
      "figma_component_key": "36c09416aa4fef6c139b05dd9e4683884acbeea7",
      "figma_name": "icon/Arrow/Sorting",
      "figma_node_id": "1150:23469",
      "proposed_registry_name": "action/sorting",
      "registry_name_status": "ok",
      "registry_name_reasoning": "Applied naming-convention.md §2 Arrow→navigation and §3 leaf rule: \"Sorting\" -> \"navigation/sorting\". Related arrow-up/down names are occupied but no exact collision exists. [PLAN OWNER OVERRIDE 2026-05-27: cross-category-override navigation→action — user \"navigation 不合适，保留 figma name\"; Sorting/Switch/Updown 实为 action 触发性质 (table header click / toggle / spinner step)]",
      "svg_decision": "semantic-convert",
      "svg_action": "no-op",
      "manifest_patches": {
        "raw_ts_export": "export const ICON_ACTION_SORTING = `<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3.89853 6.64944C3.65086 6.86948 3.27161 6.84718 3.05146 6.59964C2.83131 6.3521 2.85362 5.97305 3.10129 5.75301L7.60141 1.75497C7.8287 1.55303 8.17112 1.55303 8.39841 1.75497L12.8985 5.75301C13.1462 5.97305 13.1685 6.3521 12.9484 6.59964C12.7282 6.84718 12.349 6.86948 12.1013 6.64944L8.13274 3.12366C8.05698 3.05635 7.94284 3.05635 7.86707 3.12366L3.89853 6.64944ZM3.89853 9.5468C3.65086 9.33492 3.27161 9.35639 3.05146 9.59476C2.83131 9.83313 2.85362 10.1981 3.10129 10.41L7.60986 14.2672C7.83441 14.4593 8.16541 14.4593 8.38996 14.2672L12.8985 10.41C13.1462 10.1981 13.1685 9.83313 12.9484 9.59476C12.7282 9.35639 12.349 9.33492 12.1013 9.5468L8.12993 12.9444C8.05508 13.0084 7.94474 13.0084 7.86989 12.9444L3.89853 9.5468Z\" fill=\"currentColor\"/></svg>`",
        "generated_ts_entry": {
          "file": "src/icons/generated/action.ts",
          "key": "sorting",
          "value": {
            "svg": "ICON_ACTION_SORTING",
            "tags": [
              "sort",
              "sorting",
              "order",
              "ascending descending",
              "table sort"
            ]
          }
        },
        "index_ts_reexport": null,
        "manifest_ts_entry": {
          "name": "action/sorting",
          "category": "action",
          "svg_ref": "ICON_ACTION_SORTING"
        },
        "sot_json_patch": {
          "match_figma_component_key": "36c09416aa4fef6c139b05dd9e4683884acbeea7",
          "set_registry_name": "action/sorting"
        }
      }
    },
    {
      "path": "Arrow/Switch.svg",
      "visual_signature": "two opposing horizontal arrows: a right-pointing arrow on top and a left-pointing arrow below",
      "affordance_category": "directional",
      "synonyms_en": [
        "switch",
        "swap",
        "exchange",
        "toggle direction",
        "reverse"
      ],
      "synonyms_zh": [
        "切换",
        "交换",
        "互换",
        "反向"
      ],
      "when_to_use": "Use for swapping or reversing two positions, directions, or endpoints; e.g. switch source and destination order.",
      "notes": "Name is low-confidence because switch may be a state toggle in UI copy; SVG visual reads as swap/exchange.",
      "figma_component_key": "1019c4ca496ed46289e2ea2a648029ba2321bbb2",
      "figma_name": "icon/Arrow/Switch",
      "figma_node_id": "1149:23207",
      "proposed_registry_name": "action/switch",
      "registry_name_status": "ok",
      "registry_name_reasoning": "Applied naming-convention.md §2 Arrow→navigation and §3 leaf rule: \"Switch\" -> \"navigation/switch\". No exact collision with existing navigation registry names. [PLAN OWNER OVERRIDE 2026-05-27: cross-category-override navigation→action — user \"navigation 不合适，保留 figma name\"; Sorting/Switch/Updown 实为 action 触发性质 (table header click / toggle / spinner step)]",
      "svg_decision": "semantic-convert",
      "svg_action": "no-op",
      "manifest_patches": {
        "raw_ts_export": "export const ICON_ACTION_SWITCH = `<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11.9241 2.77535C11.6898 2.54103 11.3099 2.54103 11.0756 2.77535C10.8413 3.00966 10.8413 3.38956 11.0756 3.62387L13.0513 5.59961H1.59988C1.26851 5.59961 0.999878 5.86824 0.999878 6.19961C0.999878 6.53098 1.26851 6.79961 1.59988 6.79961H14.2585C14.8821 6.79961 15.1944 6.04561 14.7534 5.60463L11.9241 2.77535ZM4.07576 13.2235C4.31008 13.4578 4.68997 13.4578 4.92429 13.2235C5.1586 12.9892 5.1586 12.6093 4.92429 12.375L2.94855 10.3992H14.4C14.7314 10.3992 15 10.1306 15 9.79922C15 9.46785 14.7314 9.19922 14.4 9.19922H1.74145C1.11781 9.19922 0.805495 9.95322 1.24647 10.3942L4.07576 13.2235Z\" fill=\"currentColor\"/></svg>`",
        "generated_ts_entry": {
          "file": "src/icons/generated/action.ts",
          "key": "switch",
          "value": {
            "svg": "ICON_ACTION_SWITCH",
            "tags": [
              "switch",
              "swap",
              "exchange",
              "toggle direction",
              "reverse"
            ]
          }
        },
        "index_ts_reexport": null,
        "manifest_ts_entry": {
          "name": "action/switch",
          "category": "action",
          "svg_ref": "ICON_ACTION_SWITCH"
        },
        "sot_json_patch": {
          "match_figma_component_key": "1019c4ca496ed46289e2ea2a648029ba2321bbb2",
          "set_registry_name": "action/switch"
        }
      }
    },
    {
      "path": "Arrow/to first page.svg",
      "visual_signature": "left-facing chevron paired with a vertical stop bar on the far left",
      "affordance_category": "directional",
      "synonyms_en": [
        "first page",
        "to first page",
        "jump first",
        "pagination first",
        "skip previous"
      ],
      "synonyms_zh": [
        "第一页",
        "跳到第一页",
        "分页首页",
        "跳到最前"
      ],
      "when_to_use": "Use for pagination controls that jump directly to the first page, not for a one-step previous action.",
      "notes": "Paired with icon/Arrow/to last page; bar indicates boundary jump.",
      "figma_component_key": "d0de6c723aaf1a84b1a904d83d0fdbc49ea4edeb",
      "figma_name": "icon/Arrow/to first page",
      "figma_node_id": "2645:28002",
      "proposed_registry_name": "navigation/to-first-page",
      "registry_name_status": "ok",
      "registry_name_reasoning": "Applied naming-convention.md §2 Arrow→navigation and §3.1 multi-word leaf rule: \"to first page\" -> \"navigation/to-first-page\".",
      "svg_decision": "semantic-convert",
      "svg_action": "no-op",
      "manifest_patches": {
        "raw_ts_export": "export const ICON_NAVIGATION_TO_FIRST_PAGE = `<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12.3485 12.1018C12.5686 12.3494 12.5463 12.7287 12.2987 12.9488C12.0512 13.169 11.6721 13.1467 11.4521 12.899L7.45404 8.3989C7.25211 8.1716 7.25211 7.82919 7.45404 7.60189L11.4521 3.10178C11.6721 2.85411 12.0512 2.8318 12.2987 3.05195C12.5463 3.2721 12.5686 3.65135 12.3485 3.89902L8.82273 7.86756C8.75542 7.94333 8.75542 8.05747 8.82273 8.13323L12.3485 12.1018ZM4.1 2.90079C3.76863 2.90079 3.5 3.16942 3.5 3.50079V12.5008C3.5 12.8322 3.76863 13.1008 4.1 13.1008C4.43137 13.1008 4.7 12.8322 4.7 12.5008V3.50079C4.7 3.16942 4.43137 2.90079 4.1 2.90079Z\" fill=\"currentColor\"/></svg>`",
        "generated_ts_entry": {
          "file": "src/icons/generated/navigation.ts",
          "key": "to-first-page",
          "value": {
            "svg": "ICON_NAVIGATION_TO_FIRST_PAGE",
            "tags": [
              "first page",
              "to first page",
              "jump first",
              "pagination first",
              "skip previous",
              "to",
              "first",
              "page"
            ]
          }
        },
        "index_ts_reexport": null,
        "manifest_ts_entry": {
          "name": "navigation/to-first-page",
          "category": "navigation",
          "svg_ref": "ICON_NAVIGATION_TO_FIRST_PAGE"
        },
        "sot_json_patch": {
          "match_figma_component_key": "d0de6c723aaf1a84b1a904d83d0fdbc49ea4edeb",
          "set_registry_name": "navigation/to-first-page"
        }
      }
    },
    {
      "path": "Arrow/to last page.svg",
      "visual_signature": "right-facing chevron paired with a vertical stop bar on the far right",
      "affordance_category": "directional",
      "synonyms_en": [
        "last page",
        "to last page",
        "jump last",
        "pagination last",
        "skip next"
      ],
      "synonyms_zh": [
        "最后一页",
        "跳到最后一页",
        "分页尾页",
        "跳到最后"
      ],
      "when_to_use": "Use for pagination controls that jump directly to the last page, not for a one-step next action.",
      "notes": "Paired with icon/Arrow/to first page; bar indicates boundary jump.",
      "figma_component_key": "17f261a783bdabf9569afe38842bf2d3a7b9a6ea",
      "figma_name": "icon/Arrow/to last page",
      "figma_node_id": "2645:28003",
      "proposed_registry_name": "navigation/to-last-page",
      "registry_name_status": "ok",
      "registry_name_reasoning": "Applied naming-convention.md §2 Arrow→navigation and §3.1 multi-word leaf rule: \"to last page\" -> \"navigation/to-last-page\".",
      "svg_decision": "semantic-convert",
      "svg_action": "no-op",
      "manifest_patches": {
        "raw_ts_export": "export const ICON_NAVIGATION_TO_LAST_PAGE = `<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3.65148 12.1018C3.43145 12.3494 3.45374 12.7287 3.70128 12.9488C3.94883 13.169 4.32788 13.1467 4.54791 12.899L8.54596 8.3989C8.74789 8.1716 8.74789 7.82919 8.54596 7.60189L4.54791 3.10178C4.32787 2.85411 3.94883 2.8318 3.70128 3.05195C3.45374 3.2721 3.43145 3.65135 3.65148 3.89902L7.17727 7.86756C7.24458 7.94333 7.24458 8.05747 7.17727 8.13323L3.65148 12.1018ZM11.9 2.90079C12.2314 2.90079 12.5 3.16942 12.5 3.50079V12.5008C12.5 12.8322 12.2314 13.1008 11.9 13.1008C11.5686 13.1008 11.3 12.8322 11.3 12.5008V3.50079C11.3 3.16942 11.5686 2.90079 11.9 2.90079Z\" fill=\"currentColor\"/></svg>`",
        "generated_ts_entry": {
          "file": "src/icons/generated/navigation.ts",
          "key": "to-last-page",
          "value": {
            "svg": "ICON_NAVIGATION_TO_LAST_PAGE",
            "tags": [
              "last page",
              "to last page",
              "jump last",
              "pagination last",
              "skip next",
              "to",
              "last",
              "page"
            ]
          }
        },
        "index_ts_reexport": null,
        "manifest_ts_entry": {
          "name": "navigation/to-last-page",
          "category": "navigation",
          "svg_ref": "ICON_NAVIGATION_TO_LAST_PAGE"
        },
        "sot_json_patch": {
          "match_figma_component_key": "17f261a783bdabf9569afe38842bf2d3a7b9a6ea",
          "set_registry_name": "navigation/to-last-page"
        }
      }
    },
    {
      "path": "Arrow/Updown.svg",
      "visual_signature": "single upward chevron made from two angled filled strokes, visually similar to an expanded/collapse-up caret",
      "affordance_category": "directional",
      "synonyms_en": [
        "updown",
        "chevron up",
        "collapse",
        "caret up",
        "expand toggle"
      ],
      "synonyms_zh": [
        "上箭头",
        "上收起",
        "折叠",
        "上方向"
      ],
      "when_to_use": "Use for a collapse-up or expanded-state caret where the control toggles content visibility upward.",
      "notes": "Low-confidence: Figma leaf says Updown, but the SVG visual is a single up chevron rather than a paired up/down glyph.",
      "figma_component_key": "9e5a01ed92fd637e484c4aaf04df589ef51c366f",
      "figma_name": "icon/Arrow/Updown",
      "figma_node_id": "1153:23438",
      "proposed_registry_name": "navigation/arrow-updown",
      "registry_name_status": "ok",
      "registry_name_reasoning": "Applied naming-convention.md §2 Arrow→navigation and §3 leaf rule: \"Updown\" -> \"navigation/updown\". Marked low confidence because SVG visual and figma leaf semantics differ. [PLAN OWNER OVERRIDE 2026-05-27: cross-category-override navigation→action — user \"navigation 不合适，保留 figma name\"; Sorting/Switch/Updown 实为 action 触发性质 (table header click / toggle / spinner step)] [PLAN OWNER OVERRIDE 2026-05-27 v2: revert action→navigation per user clarification — Updown 是 Dropdown collapse pair (向上箭头，对应 dropdown 展开)，用于 select/tree disclosure widget，与 navigation/arrow-dropdown mirror 范式; leaf 加 arrow- prefix 与既有 navigation/arrow-{down,up,left,right,dropdown} 一致]",
      "svg_decision": "semantic-convert",
      "svg_action": "no-op",
      "manifest_patches": {
        "raw_ts_export": "export const ICON_NAVIGATION_ARROW_UPDOWN = `<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3.05146 9.79872C3.27161 10.0463 3.65086 10.0686 3.89853 9.84852L7.86707 6.32273C7.94284 6.25542 8.05698 6.25542 8.13274 6.32273L12.1013 9.84852C12.349 10.0686 12.7282 10.0463 12.9484 9.79872C13.1685 9.55117 13.1462 9.17212 12.8985 8.95209L8.39841 4.95404C8.17112 4.75211 7.8287 4.75211 7.60141 4.95404L3.10129 8.95209C2.85362 9.17212 2.83131 9.55117 3.05146 9.79872Z\" fill=\"currentColor\"/></svg>`",
        "generated_ts_entry": {
          "file": "src/icons/generated/navigation.ts",
          "key": "arrow-updown",
          "value": {
            "svg": "ICON_NAVIGATION_ARROW_UPDOWN",
            "tags": [
              "updown",
              "chevron up",
              "collapse",
              "caret up",
              "expand toggle"
            ]
          }
        },
        "index_ts_reexport": null,
        "manifest_ts_entry": {
          "name": "navigation/arrow-updown",
          "category": "navigation",
          "svg_ref": "ICON_NAVIGATION_ARROW_UPDOWN"
        },
        "sot_json_patch": {
          "match_figma_component_key": "9e5a01ed92fd637e484c4aaf04df589ef51c366f",
          "set_registry_name": "navigation/arrow-updown"
        }
      }
    },
    {
      "path": "Arrow/left.svg",
      "visual_signature": "small chevron-left glyph without a long horizontal shaft; visually closer to Previous than to the existing filled arrow-left action glyph",
      "affordance_category": "navigational",
      "synonyms_en": [],
      "synonyms_zh": [],
      "when_to_use": "",
      "notes": "",
      "figma_component_key": "655bf79c8269db26e4ecdb7ee105548924c77c78",
      "figma_name": "icon/Arrow/left",
      "figma_node_id": "2645:28000",
      "proposed_registry_name": "action/chevron-left",
      "registry_name_status": "ok",
      "registry_name_reasoning": "PLAN OWNER OVERRIDE 2026-05-27 v4: user 视觉确认 chevron + cross-category override navigation→action (chevron 是 disclosure/toggle 触发 button，非 page navigation). figma 字面 left/right + chevron visual prefix 区分既有 navigation/arrow-left/right.",
      "svg_decision": "semantic-convert",
      "svg_action": "no-op",
      "manifest_patches": {
        "raw_ts_export": "export const ICON_ACTION_CHEVRON_LEFT = `<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M9.79874 12.9488C10.0463 12.7287 10.0686 12.3494 9.84854 12.1018L6.32276 8.13323C6.25544 8.05747 6.25544 7.94333 6.32276 7.86756L9.84854 3.89902C10.0686 3.65135 10.0463 3.2721 9.79874 3.05195C9.55119 2.8318 9.17215 2.85411 8.95211 3.10178L4.95406 7.60189C4.75213 7.82919 4.75213 8.1716 4.95406 8.3989L8.95211 12.899C9.17215 13.1467 9.55119 13.169 9.79874 12.9488Z\" fill=\"currentColor\"/>\n</svg>`",
        "generated_ts_entry": {
          "file": "src/icons/generated/action.ts",
          "key": "chevron-left",
          "value": {
            "svg": "ICON_ACTION_CHEVRON_LEFT",
            "tags": [
              "chevron",
              "disclosure",
              "toggle"
            ]
          }
        },
        "index_ts_reexport": null,
        "manifest_ts_entry": {
          "name": "action/chevron-left",
          "category": "action",
          "svg_ref": "ICON_ACTION_CHEVRON_LEFT"
        },
        "sot_json_patch": {
          "match_figma_component_key": "655bf79c8269db26e4ecdb7ee105548924c77c78",
          "set_registry_name": "action/chevron-left"
        }
      }
    },
    {
      "path": "Arrow/right.svg",
      "visual_signature": "small chevron-right glyph without a long horizontal shaft; visually closer to Next than to the existing filled arrow-right action glyph",
      "affordance_category": "navigational",
      "synonyms_en": [],
      "synonyms_zh": [],
      "when_to_use": "",
      "notes": "",
      "figma_component_key": "2d873f5a06d9696a322bb959ea7b734b69f89e90",
      "figma_name": "icon/Arrow/right",
      "figma_node_id": "2645:28001",
      "proposed_registry_name": "action/chevron-right",
      "registry_name_status": "ok",
      "registry_name_reasoning": "PLAN OWNER OVERRIDE 2026-05-27 v4: user 视觉确认 chevron + cross-category override navigation→action (chevron 是 disclosure/toggle 触发 button，非 page navigation). figma 字面 left/right + chevron visual prefix 区分既有 navigation/arrow-left/right.",
      "svg_decision": "semantic-convert",
      "svg_action": "no-op",
      "manifest_patches": {
        "raw_ts_export": "export const ICON_ACTION_CHEVRON_RIGHT = `<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M6.20128 12.9488C5.95374 12.7287 5.93145 12.3494 6.15148 12.1018L9.67727 8.13323C9.74458 8.05747 9.74458 7.94333 9.67727 7.86756L6.15148 3.89902C5.93145 3.65135 5.95374 3.2721 6.20128 3.05195C6.44883 2.8318 6.82788 2.85411 7.04791 3.10178L11.046 7.60189C11.2479 7.82919 11.2479 8.1716 11.046 8.3989L7.04791 12.899C6.82788 13.1467 6.44883 13.169 6.20128 12.9488Z\" fill=\"currentColor\"/>\n</svg>`",
        "generated_ts_entry": {
          "file": "src/icons/generated/action.ts",
          "key": "chevron-right",
          "value": {
            "svg": "ICON_ACTION_CHEVRON_RIGHT",
            "tags": [
              "chevron",
              "disclosure",
              "toggle"
            ]
          }
        },
        "index_ts_reexport": null,
        "manifest_ts_entry": {
          "name": "action/chevron-right",
          "category": "action",
          "svg_ref": "ICON_ACTION_CHEVRON_RIGHT"
        },
        "sot_json_patch": {
          "match_figma_component_key": "2d873f5a06d9696a322bb959ea7b734b69f89e90",
          "set_registry_name": "action/chevron-right"
        }
      }
    }
  ],
  "outline_pending_review": []
}
