{
  "_comment": "測定対象 7 拡張のレジストリ。store_url と extension_id は 2026-07-09 に Chrome ウェブストアで実在確認済み。formatted_selector は各拡張が整形完了時に挿入する DOM 要素の CSS セレクタ (初期値は既知情報ベースの仮置き、7/11 の実測前に各拡張を手動ロードして検証・修正する)。autoformat=false の拡張はページ自動整形機能を持たないため measure.mjs の対象外。",
  "extensions": [
    {
      "slug": "jsonview",
      "name": "JSONView",
      "extension_id": "gmegofmjomhknnokphhckolhcffdaihd",
      "store_url": "https://chromewebstore.google.com/detail/jsonview/gmegofmjomhknnokphhckolhcffdaihd",
      "repo_url": "https://github.com/bhollis/jsonview",
      "autoformat": true,
      "formatted_selector": ".prop, #json",
      "selector_verified": true,
      "selector_verification_note": "selector 検証 2026-07-11: warmup navigation 後に .prop x6 / #json x1 一致を実測確認 (cold start 直後の初回 navigation では content script 未発火のため warmup 必須)"
    },
    {
      "slug": "json-formatter",
      "name": "JSON Formatter",
      "extension_id": "bcjindcccaagfpapjjmafapmmgkkhgoa",
      "store_url": "https://chromewebstore.google.com/detail/json-formatter/bcjindcccaagfpapjjmafapmmgkkhgoa",
      "repo_url": "https://github.com/callumlocke/json-formatter",
      "autoformat": true,
      "formatted_selector": "#jsonFormatterParsed",
      "selector_verified": true,
      "selector_verification_note": "selector 検証 2026-07-11: #jsonFormatterParsed 一致を実測確認。旧候補 .json-formatter-container は拡張なしの素の Chromium 147.0.7727.15 (Playwright bundled) でも application/json ページに挿入される (内蔵ビューア由来) ことを baseline 実測で確認したため偽陽性として除外"
    },
    {
      "slug": "formatarc",
      "name": "FormatArc",
      "extension_id": "jlglgicneokhmfkhcnjfhlfbhppplkjl",
      "store_url": "https://chromewebstore.google.com/detail/formatarc-%E2%80%94-json-yaml-csv/jlglgicneokhmfkhcnjfhlfbhppplkjl",
      "repo_url": "https://github.com/m-naoki-m/formatarc",
      "autoformat": false,
      "autoformat_note": "ポップアップ型 (activeTab のみ)。ページ自動整形機能を持たないため自動整形上限は N/A。ローカル chrome-extension/dist/ から manifest を読む (CRX ダウンロード不要)",
      "local_dist": "../../../chrome-extension/dist",
      "formatted_selector": null,
      "selector_verified": true
    },
    {
      "slug": "json-viewer-pro",
      "name": "JSON Viewer Pro",
      "extension_id": "eifflpmocdbdmepbjaopkkhbfmdgijcc",
      "store_url": "https://chromewebstore.google.com/detail/json-viewer-pro/eifflpmocdbdmepbjaopkkhbfmdgijcc",
      "repo_url": "https://github.com/rbrahul/Awesome-JSON-Viewer",
      "autoformat": true,
      "formatted_selector": "#rbrahul-awesome-json",
      "selector_verified": true,
      "selector_verification_note": "selector 検証 2026-07-11: 旧候補 3 種は全て不一致、実 DOM は div#rbrahul-awesome-json + pre#json-viewer で構成されることを実測確認 (warmup 必須)"
    },
    {
      "slug": "json-lite",
      "name": "JSON Lite",
      "extension_id": "acacmjcicejlmjcheoklfdchempahoag",
      "store_url": "https://chromewebstore.google.com/detail/json-lite/acacmjcicejlmjcheoklfdchempahoag",
      "repo_url": "https://github.com/lauriro/json-lite",
      "autoformat": true,
      "formatted_selector": "span[data-l], i[data-c]",
      "selector_verified": true,
      "selector_verification_note": "selector 検証 2026-07-11: class 名は CSS hash がロード毎にランダム化される (実測: rkv1r9e2 → rzlxao7g) ため class selector 不可。構造属性 span[data-l] (行マーカー) / i[data-c] (折りたたみノード) で判定"
    },
    {
      "slug": "json-viewer-teocci",
      "name": "JSON Viewer (teocci)",
      "extension_id": "aimiinbnnkboelefkjlenlgimcabobli",
      "store_url": "https://chromewebstore.google.com/detail/json-viewer/aimiinbnnkboelefkjlenlgimcabobli",
      "repo_url": "https://github.com/teocci/json-viewer",
      "autoformat": true,
      "formatted_selector": "#json .property",
      "selector_verified": true,
      "selector_verification_note": "selector 検証 2026-07-11: 旧候補は不一致、実 DOM は div#json + span.property (jsonview-core.css) で構成されることを実測確認 (warmup 必須)"
    },
    {
      "slug": "simple-json-viewer",
      "name": "Simple JSON Viewer",
      "extension_id": "biifbpljkjdpdfioebhhpcbiehhcckop",
      "store_url": "https://chrome.google.com/webstore/detail/simple-json-viewer/biifbpljkjdpdfioebhhpcbiehhcckop",
      "repo_url": null,
      "autoformat": true,
      "autoformat_note": "2020 年から更新停止 (v1.0)。Manifest V2 の疑いがあり、現行 Chrome でロード不能な場合は outcome=not_loadable として記録する (それ自体が記事の事実確認素材)",
      "formatted_selector": "pre.json, .json-view",
      "selector_verified": true,
      "selector_verification_note": "selector 検証 2026-07-11: Manifest V2 (実測 manifest_version=2)。Chromium 147.0.7727.15 (Playwright bundled) で warmup + 8 秒待機後も content script 発火せず素の JSON 表示のまま = not_loadable 方向。measure の skipped 判定は curation で not_loadable として記録する"
    }
  ]
}
