{
  "_meta": {
    "schema_version": "0.2.0",
    "batch_id": "B9-load",
    "batch_folder": "load",
    "batch_category": "status",
    "generated_at": "2026-05-27",
    "expected_todo_count": 3,
    "actual_promoted_count": 3,
    "skipped": {
      "cleanup_pending": [],
      "manual_disambiguation_pending": [],
      "registry_name_collision": []
    },
    "category_distribution": {
      "action": 2,
      "status": 1
    },
    "svg_decision_distribution": {
      "semantic-convert": 3
    },
    "new_categories_created": [],
    "fresh_session_attestation": "I am a fresh Codex session for batch B9-load. I did not author any other batch in this session. I have read all 8 prerequisite docs in §0.",
    "plan_owner_overrides_2026_05_28_review": []
  },
  "candidates": [
    {
      "path": "load/loading-2.svg",
      "visual_signature": "twelve-spoke radial spinner made from short bars around a center point",
      "affordance_category": "informational",
      "synonyms_en": [
        "loading",
        "spinner",
        "progress",
        "busy",
        "processing",
        "in progress"
      ],
      "synonyms_zh": [
        "加载中",
        "等待",
        "处理中",
        "进行中"
      ],
      "when_to_use": "indicate an in-flight async operation when a denser radial spinner is preferred; e.g. loading button, panel refresh, or async table state",
      "notes": "cross-category-override: action. SVG is visually identical to existing done registry action/loading (icon/load/loading 1 raw IconLoading), so propose action/loading-2 to keep load spinner family beside existing action/loading rather than splitting into status/loading-2.",
      "figma_component_key": "50a9f3342c9cc38646e7101402920d4740ed1816",
      "figma_name": "icon/load/loading 2",
      "figma_node_id": "1202:4149",
      "proposed_registry_name": "action/loading-2",
      "registry_name_status": "ok",
      "registry_name_reasoning": "cross-category-override: action; applied §3.2 N-suffix while preserving existing done action/loading family; no collision with action/loading",
      "svg_decision": "semantic-convert",
      "svg_action": "no-op",
      "manifest_patches": {
        "raw_ts_export": "export const ICON_ACTION_LOADING_2 = `<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M8.00002 1C7.66865 1 7.40002 1.26863 7.40002 1.6V3.9C7.40002 4.23137 7.66865 4.5 8.00002 4.5C8.3314 4.5 8.60002 4.23137 8.60002 3.9V1.6C8.60002 1.26863 8.3314 1 8.00002 1ZM8.00002 11.5C7.66865 11.5 7.40002 11.7686 7.40002 12.1V14.4C7.40002 14.7314 7.66865 15 8.00002 15C8.3314 15 8.60002 14.7314 8.60002 14.4V12.1C8.60002 11.7686 8.3314 11.5 8.00002 11.5ZM10.6804 2.15633C10.8461 1.86936 11.213 1.77103 11.5 1.93672C11.787 2.1024 11.8853 2.46936 11.7196 2.75633L10.5696 4.74819C10.404 5.03517 10.037 5.13349 9.75002 4.96781C9.46305 4.80212 9.36472 4.43517 9.53041 4.14819L10.6804 2.15633ZM6.25002 11.0305C5.96305 10.8648 5.59609 10.9631 5.43041 11.2501L4.28041 13.2419C4.11472 13.5289 4.21305 13.8959 4.50002 14.0616C4.787 14.2272 5.15395 14.1289 5.31964 13.8419L6.46964 11.8501C6.63532 11.5631 6.537 11.1962 6.25002 11.0305ZM13.2427 4.28047C13.5297 4.11478 13.8966 4.21311 14.0623 4.50008C14.228 4.78706 14.1297 5.15401 13.8427 5.3197L11.8509 6.4697C11.5639 6.63538 11.1969 6.53706 11.0312 6.25008C10.8656 5.96311 10.9639 5.59615 11.2509 5.43047L13.2427 4.28047ZM4.96882 9.75008C4.80314 9.46311 4.43618 9.36478 4.14921 9.53047L2.15735 10.6805C1.87037 10.8462 1.77205 11.2131 1.93773 11.5001C2.10342 11.7871 2.47037 11.8854 2.75735 11.7197L4.74921 10.5697C5.03618 10.404 5.13451 10.0371 4.96882 9.75008ZM1 7.99844C1 7.66707 1.26863 7.39844 1.6 7.39844H3.9C4.23137 7.39844 4.5 7.66707 4.5 7.99844C4.5 8.32981 4.23137 8.59844 3.9 8.59844H1.6C1.26863 8.59844 1 8.32981 1 7.99844ZM12.1 7.39844C11.7686 7.39844 11.5 7.66707 11.5 7.99844C11.5 8.32981 11.7686 8.59844 12.1 8.59844H14.4C14.7314 8.59844 15 8.32981 15 7.99844C15 7.66707 14.7314 7.39844 14.4 7.39844H12.1ZM1.93779 4.50008C2.10348 4.21311 2.47043 4.11478 2.75741 4.28047L4.74927 5.43047C5.03624 5.59615 5.13457 5.96311 4.96888 6.25008C4.8032 6.53706 4.43624 6.63538 4.14927 6.4697L2.15741 5.3197C1.87043 5.15401 1.77211 4.78706 1.93779 4.50008ZM11.8507 9.53047C11.5638 9.36478 11.1968 9.46311 11.0311 9.75008C10.8654 10.0371 10.9638 10.404 11.2507 10.5697L13.2426 11.7197C13.5296 11.8854 13.8965 11.7871 14.0622 11.5001C14.2279 11.2131 14.1296 10.8462 13.8426 10.6805L11.8507 9.53047ZM4.49998 1.93672C4.78695 1.77103 5.15391 1.86936 5.31959 2.15633L6.46959 4.14819C6.63528 4.43517 6.53695 4.80212 6.24998 4.96781C5.963 5.13349 5.59605 5.03517 5.43036 4.74819L4.28036 2.75633C4.11468 2.46936 4.213 2.1024 4.49998 1.93672ZM10.5697 11.2501C10.404 10.9631 10.037 10.8648 9.75004 11.0305C9.46306 11.1962 9.36474 11.5631 9.53042 11.8501L10.6804 13.8419C10.8461 14.1289 11.2131 14.2272 11.5 14.0616C11.787 13.8959 11.8853 13.5289 11.7197 13.2419L10.5697 11.2501Z\" fill=\"currentColor\"/></svg>`",
        "generated_ts_entry": {
          "file": "src/icons/generated/action.ts",
          "key": "loading-2",
          "value": {
            "svg": "ICON_ACTION_LOADING_2",
            "tags": [
              "loading",
              "spinner",
              "progress",
              "busy",
              "processing",
              "in-progress",
              "loading",
              "2"
            ]
          }
        },
        "index_ts_reexport": "null (action.ts already exists and index.ts already re-exports action; add IconActionRefresh/IconActionLoading2 to existing action export block only when applying)",
        "manifest_ts_entry": {
          "name": "action/loading-2",
          "category": "action",
          "svg_ref": "ICON_ACTION_LOADING_2"
        },
        "sot_json_patch": {
          "match_figma_component_key": "50a9f3342c9cc38646e7101402920d4740ed1816",
          "set_registry_name": "action/loading-2"
        }
      }
    },
    {
      "path": "load/refresh.svg",
      "visual_signature": "clockwise circular arrow wrapping around an implied loop, with arrowhead at upper right",
      "affordance_category": "action",
      "synonyms_en": [
        "refresh",
        "reload",
        "retry",
        "sync",
        "update",
        "re-fetch"
      ],
      "synonyms_zh": [
        "刷新",
        "重新加载",
        "重试",
        "同步",
        "更新"
      ],
      "when_to_use": "trigger reloading, retrying, or synchronizing data; e.g. refresh list, retry failed fetch, or resync status",
      "notes": "cross-category-override: action. Although source folder is load and batch default is status, the glyph is a command affordance (refresh/retry) rather than a passive state indicator.",
      "figma_component_key": "6a3fadaf85377a5417eb53ea0eb3acb4baa9b67e",
      "figma_name": "icon/load/refresh",
      "figma_node_id": "1202:4182",
      "proposed_registry_name": "action/refresh",
      "registry_name_status": "ok",
      "registry_name_reasoning": "cross-category-override: action; leaf is semantic command refresh, so override load->status default per §1 individual-entry rule; leaf already kebab-case; no collision",
      "svg_decision": "semantic-convert",
      "svg_action": "no-op",
      "manifest_patches": {
        "raw_ts_export": "export const ICON_ACTION_REFRESH = `<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10.8367 1.60055C9.46757 0.993637 7.93986 0.84184 6.47805 1.16746C5.01623 1.49308 3.69739 2.27896 2.71528 3.40962C1.73317 4.54028 1.13958 5.95612 1.02172 7.44912C0.903855 8.94211 1.26794 10.4336 2.06047 11.7043C2.853 12.9751 4.0322 13.9581 5.42481 14.5091C6.81743 15.0601 8.35004 15.1499 9.79746 14.7653C11.2449 14.3807 12.5308 13.5421 13.4663 12.3726C13.6733 12.1138 13.6313 11.7362 13.3726 11.5292C13.1138 11.3222 12.7362 11.3642 12.5292 11.623C11.7541 12.592 10.6886 13.2869 9.48933 13.6055C8.29003 13.9242 7.02016 13.8498 5.86628 13.3933C4.71239 12.9367 3.73534 12.1222 3.07867 11.0693C2.422 10.0164 2.12034 8.78061 2.21799 7.54355C2.31565 6.3065 2.80748 5.13338 3.62123 4.19654C4.43498 3.25971 5.52773 2.60856 6.73895 2.33876C7.95017 2.06895 9.21599 2.19473 10.3504 2.6976C11.3659 3.14773 12.2282 3.87877 12.8379 4.80078H11.6C11.2686 4.80078 11 5.06941 11 5.40078C11 5.73215 11.2686 6.00078 11.6 6.00078H14.4C14.7314 6.00078 15 5.73215 15 5.40078L15 5.39692V2.6C15 2.26863 14.7314 2 14.4 2C14.0686 2 13.8 2.26863 13.8 2.6V4.08078C13.0666 2.99539 12.0409 2.13433 10.8367 1.60055Z\" fill=\"currentColor\"/></svg>`",
        "generated_ts_entry": {
          "file": "src/icons/generated/action.ts",
          "key": "refresh",
          "value": {
            "svg": "ICON_ACTION_REFRESH",
            "tags": [
              "refresh",
              "reload",
              "retry",
              "sync",
              "update"
            ]
          }
        },
        "index_ts_reexport": "null (action.ts already exists and index.ts already re-exports action; add IconActionRefresh/IconActionLoading2 to existing action export block only when applying)",
        "manifest_ts_entry": {
          "name": "action/refresh",
          "category": "action",
          "svg_ref": "ICON_ACTION_REFRESH"
        },
        "sot_json_patch": {
          "match_figma_component_key": "6a3fadaf85377a5417eb53ea0eb3acb4baa9b67e",
          "set_registry_name": "action/refresh"
        }
      }
    },
    {
      "path": "load/wait.svg",
      "visual_signature": "wait indicator shaped like a small cup or timer-like container with a handle and baseline",
      "affordance_category": "informational",
      "synonyms_en": [
        "wait",
        "waiting",
        "pending",
        "standby",
        "queued",
        "hold"
      ],
      "synonyms_zh": [
        "等待",
        "待处理",
        "排队中",
        "待命",
        "暂停等待"
      ],
      "when_to_use": "communicate a waiting, pending, or queued state without implying user-triggered refresh; e.g. delayed job, standby state, or queued operation",
      "notes": "Uses batch default status because the glyph communicates a passive wait/pending state. Low confidence: visual resembles a cup/timer hybrid, so user should confirm the intended affordance before Phase C merge.",
      "figma_component_key": "a93c330788866aa910ba757aac86baec8c14349c",
      "figma_name": "icon/load/wait",
      "figma_node_id": "1202:4239",
      "proposed_registry_name": "status/wait",
      "registry_name_status": "ok",
      "registry_name_reasoning": "applied batch_category default status + §3.1 leaf rule; no collision with existing status/*; low-confidence semantic reading because glyph is not a standard hourglass",
      "svg_decision": "semantic-convert",
      "svg_action": "no-op",
      "manifest_patches": {
        "raw_ts_export": "export const ICON_STATUS_WAIT = `<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M15 6.00206C15 2.81526 12 3.00206 12 3.00206H11.5V3.00001H3.6C3.26863 3.00001 3 3.26864 3 3.60001V8.50001C3 9.60458 3.89543 10.5 5 10.5H9.5C10.4312 10.5 11.2137 9.86363 11.4365 9.00206H12C12 9.00206 15 9.18885 15 6.00206ZM11.5 7.80206V4.20206H12C12 4.20206 13.8 4.13235 13.8 6.00206C13.8 7.87177 12 7.80206 12 7.80206H11.5ZM10.3 4.19923V8.30001C10.3 8.85229 9.8523 9.30001 9.30001 9.30001H5.20001C4.64773 9.30001 4.20001 8.85229 4.20001 8.30001V4.19923H10.3ZM1 12.6C1 12.2686 1.26863 12 1.6 12H12.9C13.2314 12 13.5 12.2686 13.5 12.6C13.5 12.9314 13.2314 13.2 12.9 13.2H1.6C1.26863 13.2 1 12.9314 1 12.6Z\" fill=\"currentColor\"/></svg>`",
        "generated_ts_entry": {
          "file": "src/icons/generated/status.ts",
          "key": "wait",
          "value": {
            "svg": "ICON_STATUS_WAIT",
            "tags": [
              "wait",
              "waiting",
              "pending",
              "standby",
              "queued",
              "hold"
            ]
          }
        },
        "index_ts_reexport": "null (status.ts already exists and index.ts already re-exports status; add IconStatusWait to existing status export block only when applying)",
        "manifest_ts_entry": {
          "name": "status/wait",
          "category": "status",
          "svg_ref": "ICON_STATUS_WAIT"
        },
        "sot_json_patch": {
          "match_figma_component_key": "a93c330788866aa910ba757aac86baec8c14349c",
          "set_registry_name": "status/wait"
        }
      }
    }
  ],
  "outline_pending_review": []
}
