{
  "schemaVersion": "2.0.0",
  "canonical": "https://pichu.dev/data/knowledge-graph.json",
  "generatedFrom": {
    "contentRevision": "2026-07-16",
    "contentReviewedAt": "2026-07-15",
    "dateModified": "2026-07-16",
    "deploymentRevision": "c9751772295db39228f53370b4febd510bda2ab4",
    "deploymentMode": "production",
    "siteOrigin": "https://pichu.dev",
    "indexable": true,
    "cacooSequence": 7087
  },
  "language": "ja-en",
  "data": {
    "nodes": [
      {
        "id": "node-domain-ai",
        "entityId": "domain-ai-discord-tools",
        "variant": "domain",
        "assertionStatus": "verified-public",
        "position": {
          "x": -190,
          "y": 440
        }
      },
      {
        "id": "node-domain-backend",
        "entityId": "domain-web-backend-go",
        "variant": "domain",
        "assertionStatus": "verified-public",
        "position": {
          "x": 40,
          "y": 220
        }
      },
      {
        "id": "node-domain-learning",
        "entityId": "domain-learning-method",
        "variant": "domain",
        "assertionStatus": "map-self-report",
        "position": {
          "x": 40,
          "y": 660
        }
      },
      {
        "id": "node-domain-platform",
        "entityId": "domain-platform-infrastructure",
        "variant": "domain",
        "assertionStatus": "public-corroborated",
        "position": {
          "x": -190,
          "y": 220
        }
      },
      {
        "id": "node-domain-teaching",
        "entityId": "domain-teaching-community",
        "variant": "domain",
        "assertionStatus": "verified-public",
        "position": {
          "x": 270,
          "y": 660
        }
      },
      {
        "id": "node-domain-vrchat",
        "entityId": "domain-vrchat-unity-games",
        "variant": "domain",
        "assertionStatus": "verified-public",
        "position": {
          "x": 270,
          "y": 0
        }
      },
      {
        "id": "node-handle-origin",
        "entityId": "timeline-handle-origin",
        "variant": "timeline",
        "assertionStatus": "map-self-report",
        "position": {
          "x": -190,
          "y": -220
        }
      },
      {
        "id": "node-learning-method",
        "entityId": "timeline-learning-method",
        "variant": "timeline",
        "assertionStatus": "map-self-report",
        "position": {
          "x": -190,
          "y": 660
        }
      },
      {
        "id": "node-person",
        "entityId": "person-pikachu0310",
        "variant": "identity",
        "assertionStatus": "verified-public",
        "position": {
          "x": 40,
          "y": -220
        }
      },
      {
        "id": "node-pokemon-sky",
        "entityId": "link-pokemon-mystery-dungeon-sky",
        "variant": "link",
        "assertionStatus": "public-corroborated",
        "position": {
          "x": -420,
          "y": -220
        }
      },
      {
        "id": "node-sherbi",
        "entityId": "link-sherbi",
        "variant": "link",
        "assertionStatus": "map-self-report",
        "position": {
          "x": -190,
          "y": 0
        }
      },
      {
        "id": "node-tdm",
        "entityId": "link-tdm-reference",
        "variant": "link",
        "assertionStatus": "map-self-report",
        "position": {
          "x": -420,
          "y": 0
        }
      },
      {
        "id": "node-university-trap",
        "entityId": "timeline-university-trap",
        "variant": "timeline",
        "assertionStatus": "map-self-report",
        "position": {
          "x": -420,
          "y": 220
        }
      },
      {
        "id": "node-vrchat-entry",
        "entityId": "timeline-vrchat-entry",
        "variant": "timeline",
        "assertionStatus": "map-self-report",
        "position": {
          "x": 40,
          "y": 0
        }
      },
      {
        "id": "node-work-claude-bot",
        "entityId": "work-discord-claude-code-fork",
        "variant": "work",
        "assertionStatus": "verified-public",
        "position": {
          "x": 40,
          "y": 440
        }
      },
      {
        "id": "node-work-codex-bot",
        "entityId": "work-discord-codex-bot",
        "variant": "work",
        "assertionStatus": "verified-public",
        "position": {
          "x": 270,
          "y": 440
        }
      },
      {
        "id": "node-work-ikan",
        "entityId": "work-ikan-demind-control",
        "variant": "work",
        "assertionStatus": "verified-public",
        "position": {
          "x": 500,
          "y": -40
        }
      },
      {
        "id": "node-work-isucon",
        "entityId": "work-isucon-route",
        "variant": "work",
        "assertionStatus": "verified-public",
        "position": {
          "x": 730,
          "y": 280
        }
      },
      {
        "id": "node-work-neoshowcase",
        "entityId": "work-neoshowcase",
        "variant": "work",
        "assertionStatus": "verified-public",
        "position": {
          "x": 500,
          "y": 220
        }
      },
      {
        "id": "node-work-school-tag",
        "entityId": "work-school-breakin-tag",
        "variant": "work",
        "assertionStatus": "verified-public",
        "position": {
          "x": 730,
          "y": -40
        }
      },
      {
        "id": "node-work-traq-bot",
        "entityId": "work-traq-bot-pika-test",
        "variant": "work",
        "assertionStatus": "public-corroborated",
        "position": {
          "x": -420,
          "y": 440
        }
      },
      {
        "id": "node-work-traq-qall",
        "entityId": "work-traq-qall",
        "variant": "work",
        "assertionStatus": "verified-public",
        "position": {
          "x": 270,
          "y": 160
        }
      }
    ],
    "edges": [
      {
        "id": "edge-ai-claude-bot",
        "from": "node-domain-ai",
        "to": "node-work-claude-bot",
        "relationKind": "demonstrates",
        "assertionStatus": "derived-copy",
        "label": null
      },
      {
        "id": "edge-backend-qall",
        "from": "node-domain-backend",
        "to": "node-work-traq-qall",
        "relationKind": "demonstrates",
        "assertionStatus": "derived-copy",
        "label": null
      },
      {
        "id": "edge-claude-codex-bot",
        "from": "node-work-claude-bot",
        "to": "node-work-codex-bot",
        "relationKind": "leads-to",
        "assertionStatus": "derived-copy",
        "label": null
      },
      {
        "id": "edge-handle-person",
        "from": "node-handle-origin",
        "to": "node-person",
        "relationKind": "leads-to",
        "assertionStatus": "derived-copy",
        "label": null
      },
      {
        "id": "edge-ikan-school-tag",
        "from": "node-work-ikan",
        "to": "node-work-school-tag",
        "relationKind": "belongs-to",
        "assertionStatus": "derived-copy",
        "label": null
      },
      {
        "id": "edge-learning-domain",
        "from": "node-learning-method",
        "to": "node-domain-learning",
        "relationKind": "leads-to",
        "assertionStatus": "derived-copy",
        "label": null
      },
      {
        "id": "edge-learning-teaching",
        "from": "node-domain-learning",
        "to": "node-domain-teaching",
        "relationKind": "demonstrates",
        "assertionStatus": "derived-copy",
        "label": null
      },
      {
        "id": "edge-neoshowcase-isucon",
        "from": "node-work-neoshowcase",
        "to": "node-work-isucon",
        "relationKind": "belongs-to",
        "assertionStatus": "derived-copy",
        "label": null
      },
      {
        "id": "edge-platform-backend",
        "from": "node-domain-platform",
        "to": "node-domain-backend",
        "relationKind": "learned-through",
        "assertionStatus": "derived-copy",
        "label": null
      },
      {
        "id": "edge-pokemon-handle",
        "from": "node-pokemon-sky",
        "to": "node-handle-origin",
        "relationKind": "origin",
        "assertionStatus": "map-self-report",
        "label": {
          "ja": "名前のきっかけ",
          "en": "handle origin"
        }
      },
      {
        "id": "edge-qall-neoshowcase",
        "from": "node-work-traq-qall",
        "to": "node-work-neoshowcase",
        "relationKind": "belongs-to",
        "assertionStatus": "derived-copy",
        "label": null
      },
      {
        "id": "edge-sherbi-vrchat-context",
        "from": "node-sherbi",
        "to": "node-vrchat-entry",
        "relationKind": "belongs-to",
        "assertionStatus": "derived-copy",
        "label": null
      },
      {
        "id": "edge-tdm-vrchat",
        "from": "node-tdm",
        "to": "node-vrchat-entry",
        "relationKind": "leads-to",
        "assertionStatus": "map-self-report",
        "label": null
      },
      {
        "id": "edge-traq-bot-ai",
        "from": "node-work-traq-bot",
        "to": "node-domain-ai",
        "relationKind": "leads-to",
        "assertionStatus": "derived-copy",
        "label": null
      },
      {
        "id": "edge-unity-ikan",
        "from": "node-domain-vrchat",
        "to": "node-work-ikan",
        "relationKind": "demonstrates",
        "assertionStatus": "derived-copy",
        "label": null
      },
      {
        "id": "edge-university-learning",
        "from": "node-university-trap",
        "to": "node-learning-method",
        "relationKind": "learned-through",
        "assertionStatus": "derived-copy",
        "label": null
      },
      {
        "id": "edge-university-platform",
        "from": "node-university-trap",
        "to": "node-domain-platform",
        "relationKind": "leads-to",
        "assertionStatus": "derived-copy",
        "label": null
      },
      {
        "id": "edge-university-unity",
        "from": "node-university-trap",
        "to": "node-domain-vrchat",
        "relationKind": "learned-through",
        "assertionStatus": "derived-copy",
        "label": null
      },
      {
        "id": "edge-vrchat-domain",
        "from": "node-vrchat-entry",
        "to": "node-domain-vrchat",
        "relationKind": "leads-to",
        "assertionStatus": "derived-copy",
        "label": null
      }
    ],
    "routes": [
      {
        "id": "route-trap-to-backend",
        "slug": "trap-to-backend",
        "recordType": "route",
        "visibility": "featured",
        "title": {
          "ja": "traPからバックエンドへ",
          "en": "From traP to backend systems"
        },
        "summary": {
          "ja": "東京工業大学とtraPを起点に、SysAd、バックエンド、Go、traQ、NeoShowcase、ISUCONへ広がるルート。",
          "en": "A route from Tokyo Tech and traP into SysAd, backend, Go, traQ, NeoShowcase, and ISUCON."
        },
        "agentSummary": {
          "ja": "東京工業大学とtraPを起点に、SysAd、バックエンド、Go、traQ、NeoShowcase、ISUCONへ広がるルート。",
          "en": "The route from Tokyo Tech and traP into SysAd, backend, Go, traQ, NeoShowcase, and ISUCON."
        },
        "sourceStatus": "public-corroborated",
        "evidence": [
          {
            "id": "evidence-route-trap-backend-map",
            "status": "map-self-report",
            "claim": {
              "ja": "経路の因果はCacoo自己申告。",
              "en": "The route's causal structure is a Cacoo self-report."
            },
            "sourceKind": "cacoo",
            "urls": [
              "https://cacoo.com/diagrams/YRsED6KwGUDoJ2rq/A49EB"
            ],
            "checkedAt": "2026-07-10",
            "note": null
          },
          {
            "id": "evidence-route-trap-backend-works",
            "status": "public-corroborated",
            "claim": {
              "ja": "経路上のWorksは公開資料で裏付ける。",
              "en": "Public sources corroborate the works along this route."
            },
            "sourceKind": "editorial",
            "urls": [
              "https://trap.jp/post/2598/",
              "https://github.com/traPtitech/NeoShowcase",
              "https://trap.jp/post/2075/"
            ],
            "checkedAt": "2026-07-10",
            "note": null
          }
        ],
        "sourceRefs": [
          {
            "kind": "cacoo",
            "diagram": "YRsED6KwGUDoJ2rq",
            "sheet": "A49EB",
            "sequence": 7087,
            "shapeUid": "gXz2MZxYmk2-iY7svd7dwk4",
            "lineUid": null,
            "publicSourceUrl": "https://pichu.dev/map/?node=gXz2MZxYmk2-iY7svd7dwk4"
          },
          {
            "kind": "cacoo",
            "diagram": "YRsED6KwGUDoJ2rq",
            "sheet": "A49EB",
            "sequence": 7087,
            "shapeUid": "cORKCJfyJqM-3Jgx9mbWfKY",
            "lineUid": null,
            "publicSourceUrl": "https://pichu.dev/map/?node=cORKCJfyJqM-3Jgx9mbWfKY"
          },
          {
            "kind": "cacoo",
            "diagram": "YRsED6KwGUDoJ2rq",
            "sheet": "A49EB",
            "sequence": 7087,
            "shapeUid": "fSrW6hjkuOk-61Jzy0rks04",
            "lineUid": null,
            "publicSourceUrl": "https://pichu.dev/map/?node=fSrW6hjkuOk-61Jzy0rks04"
          },
          {
            "kind": "cacoo",
            "diagram": "YRsED6KwGUDoJ2rq",
            "sheet": "A49EB",
            "sequence": 7087,
            "shapeUid": "eB4fPCdWiAc-fdlsHCRn4k4",
            "lineUid": null,
            "publicSourceUrl": "https://pichu.dev/map/?node=eB4fPCdWiAc-fdlsHCRn4k4"
          }
        ],
        "relations": [
          {
            "type": "primaryDomain",
            "targetId": "domain-web-backend-go"
          },
          {
            "type": "relatedWork",
            "targetId": "work-traq-qall"
          },
          {
            "type": "relatedWork",
            "targetId": "work-neoshowcase"
          },
          {
            "type": "relatedWork",
            "targetId": "work-isucon-route"
          }
        ],
        "tags": [
          "traP",
          "backend",
          "Go"
        ],
        "publicationNote": null,
        "nodeIds": [
          "node-university-trap",
          "node-domain-platform",
          "node-domain-backend",
          "node-work-traq-qall",
          "node-work-neoshowcase",
          "node-work-isucon"
        ],
        "edgeIds": [
          "edge-university-platform",
          "edge-platform-backend",
          "edge-backend-qall",
          "edge-qall-neoshowcase",
          "edge-neoshowcase-isucon"
        ],
        "colorKey": "trap"
      },
      {
        "id": "route-kemono-to-vrchat",
        "slug": "kemono-to-vrchat",
        "recordType": "route",
        "visibility": "featured",
        "title": {
          "ja": "ケモノからVRChatへ",
          "en": "From kemono interests to VRChat"
        },
        "summary": {
          "ja": "ケモノへの憧れ、TDMの創作者、2022年6月ごろのVRChat開始をつなぐルート。",
          "en": "A route from kemono interests through TDM creators to starting VRChat around June 2022."
        },
        "agentSummary": {
          "ja": "ケモノへの憧れ、TDMの創作者、2022年6月ごろのVRChat開始をつなぐルート。",
          "en": "The map route from kemono interests through TDM creators to VRChat around June 2022."
        },
        "sourceStatus": "map-self-report",
        "evidence": [
          {
            "id": "evidence-route-kemono-vrchat",
            "status": "map-self-report",
            "claim": {
              "ja": "ケモノからVRChatへの経路はCacoo自己申告。",
              "en": "The kemono-to-VRChat route is a Cacoo self-report."
            },
            "sourceKind": "cacoo",
            "urls": [
              "https://cacoo.com/diagrams/YRsED6KwGUDoJ2rq/A49EB"
            ],
            "checkedAt": "2026-07-10",
            "note": null
          }
        ],
        "sourceRefs": [
          {
            "kind": "cacoo",
            "diagram": "YRsED6KwGUDoJ2rq",
            "sheet": "A49EB",
            "sequence": 7087,
            "shapeUid": "isrtjQJ8uAW-d1C6GbVBjaA",
            "lineUid": null,
            "publicSourceUrl": "https://pichu.dev/map/?node=isrtjQJ8uAW-d1C6GbVBjaA"
          },
          {
            "kind": "cacoo",
            "diagram": "YRsED6KwGUDoJ2rq",
            "sheet": "A49EB",
            "sequence": 7087,
            "shapeUid": "hKBrFiQf4ce-dY5YJBYDPqQ",
            "lineUid": null,
            "publicSourceUrl": "https://pichu.dev/map/?node=hKBrFiQf4ce-dY5YJBYDPqQ"
          },
          {
            "kind": "cacoo",
            "diagram": "YRsED6KwGUDoJ2rq",
            "sheet": "A49EB",
            "sequence": 7087,
            "shapeUid": "gPGpb4uT5YO-2rkXwwvZosi",
            "lineUid": null,
            "publicSourceUrl": "https://pichu.dev/map/?node=gPGpb4uT5YO-2rkXwwvZosi"
          },
          {
            "kind": "cacoo",
            "diagram": "YRsED6KwGUDoJ2rq",
            "sheet": "A49EB",
            "sequence": 7087,
            "shapeUid": null,
            "lineUid": "6tsti3CmcgA-1fjjpxQc8GQ",
            "publicSourceUrl": "https://pichu.dev/map/source/"
          }
        ],
        "relations": [
          {
            "type": "primaryDomain",
            "targetId": "domain-vrchat-unity-games"
          },
          {
            "type": "relatedTimelineEvent",
            "targetId": "timeline-vrchat-entry"
          }
        ],
        "tags": [
          "kemono",
          "VRChat"
        ],
        "publicationNote": null,
        "nodeIds": [
          "node-tdm",
          "node-vrchat-entry",
          "node-domain-vrchat"
        ],
        "edgeIds": [
          "edge-tdm-vrchat",
          "edge-vrchat-domain"
        ],
        "colorKey": "kemono"
      },
      {
        "id": "route-unity-and-games",
        "slug": "unity-and-games",
        "recordType": "route",
        "visibility": "featured",
        "title": {
          "ja": "Unityとゲーム制作",
          "en": "Unity and game making"
        },
        "summary": {
          "ja": "traPのGame班とUnityから、ハッカソン、VRChatゲーム、展示へ広がる制作ルート。",
          "en": "A making route from traP's Game group and Unity into hackathons, VRChat games, and exhibitions."
        },
        "agentSummary": {
          "ja": "traPのGame班とUnityから、ハッカソン、VRChatゲーム、展示へ広がる制作ルート。",
          "en": "The route from traP's Game group and Unity into hackathons, VRChat games, and exhibitions."
        },
        "sourceStatus": "public-corroborated",
        "evidence": [
          {
            "id": "evidence-route-unity-map",
            "status": "map-self-report",
            "claim": {
              "ja": "制作経路はCacoo自己申告。",
              "en": "The making route is a Cacoo self-report."
            },
            "sourceKind": "cacoo",
            "urls": [
              "https://cacoo.com/diagrams/YRsED6KwGUDoJ2rq/A49EB"
            ],
            "checkedAt": "2026-07-10",
            "note": null
          },
          {
            "id": "evidence-route-unity-works",
            "status": "verified-public",
            "claim": {
              "ja": "IkanとSchool Breakin' Tagの担当は公開チーム記事で確認できる。",
              "en": "Public team articles verify the Ikan and School Breakin' Tag contributions."
            },
            "sourceKind": "first-party-article",
            "urls": [
              "https://trap.jp/post/1903/",
              "https://trap.jp/post/2026/"
            ],
            "checkedAt": "2026-07-10",
            "note": null
          }
        ],
        "sourceRefs": [
          {
            "kind": "cacoo",
            "diagram": "YRsED6KwGUDoJ2rq",
            "sheet": "A49EB",
            "sequence": 7087,
            "shapeUid": "gaI4of83VQo-a8CFvZcknuI",
            "lineUid": null,
            "publicSourceUrl": "https://pichu.dev/map/?node=gaI4of83VQo-a8CFvZcknuI"
          },
          {
            "kind": "cacoo",
            "diagram": "YRsED6KwGUDoJ2rq",
            "sheet": "A49EB",
            "sequence": 7087,
            "shapeUid": "8IBx0I3bjOQ-cg0vtffgFqY",
            "lineUid": null,
            "publicSourceUrl": "https://pichu.dev/map/?node=8IBx0I3bjOQ-cg0vtffgFqY"
          }
        ],
        "relations": [
          {
            "type": "primaryDomain",
            "targetId": "domain-vrchat-unity-games"
          },
          {
            "type": "relatedWork",
            "targetId": "work-school-breakin-tag"
          },
          {
            "type": "relatedWork",
            "targetId": "work-ikan-demind-control"
          }
        ],
        "tags": [
          "Unity",
          "games",
          "VRChat"
        ],
        "publicationNote": null,
        "nodeIds": [
          "node-university-trap",
          "node-domain-vrchat",
          "node-work-ikan",
          "node-work-school-tag"
        ],
        "edgeIds": [
          "edge-university-unity",
          "edge-unity-ikan",
          "edge-ikan-school-tag"
        ],
        "colorKey": "vr"
      },
      {
        "id": "route-name-origin",
        "slug": "name-origin",
        "recordType": "route",
        "visibility": "featured",
        "title": {
          "ja": "pikachu0310という名前",
          "en": "The name pikachu0310"
        },
        "summary": {
          "ja": "『ポケモン不思議のダンジョン 空』のピカチュウから、現在のハンドルへつながる自己申告の由来。",
          "en": "A map-sourced route from the Pikachu protagonist in Pokémon Mystery Dungeon: Explorers of Sky to the current handle."
        },
        "agentSummary": {
          "ja": "ポケモン不思議のダンジョン 空の主人公がピカチュウだったことから、pikachu0310というハンドルにつながった自己申告の由来。",
          "en": "Cacoo records that the Pikachu protagonist in Pokémon Mystery Dungeon: Explorers of Sky led to the handle pikachu0310."
        },
        "sourceStatus": "map-self-report",
        "evidence": [
          {
            "id": "evidence-route-name-origin",
            "status": "map-self-report",
            "claim": {
              "ja": "ハンドル由来はCacoo自己申告。",
              "en": "The handle origin is a Cacoo self-report."
            },
            "sourceKind": "cacoo",
            "urls": [
              "https://cacoo.com/diagrams/YRsED6KwGUDoJ2rq/A49EB"
            ],
            "checkedAt": "2026-07-10",
            "note": null
          }
        ],
        "sourceRefs": [
          {
            "kind": "cacoo",
            "diagram": "YRsED6KwGUDoJ2rq",
            "sheet": "A49EB",
            "sequence": 7087,
            "shapeUid": "2gYusuOMxKW-90YuGMX5deG",
            "lineUid": null,
            "publicSourceUrl": "https://pichu.dev/map/?node=2gYusuOMxKW-90YuGMX5deG"
          },
          {
            "kind": "cacoo",
            "diagram": "YRsED6KwGUDoJ2rq",
            "sheet": "A49EB",
            "sequence": 7087,
            "shapeUid": null,
            "lineUid": "ayW1chi3LyI-k1h7YzsaNaw",
            "publicSourceUrl": "https://pichu.dev/map/source/"
          },
          {
            "kind": "document",
            "path": "docs/pikachu0310-knowledge-map.md",
            "section": "Name And Identity Origin",
            "publicSourceUrl": "https://pichu.dev/source/#name-origin"
          }
        ],
        "relations": [
          {
            "type": "sourceContextFor",
            "targetId": "person-pikachu0310"
          },
          {
            "type": "relatedTimelineEvent",
            "targetId": "timeline-handle-origin"
          }
        ],
        "tags": [
          "identity",
          "origin"
        ],
        "publicationNote": null,
        "nodeIds": [
          "node-pokemon-sky",
          "node-handle-origin",
          "node-person"
        ],
        "edgeIds": [
          "edge-pokemon-handle",
          "edge-handle-person"
        ],
        "colorKey": "identity"
      },
      {
        "id": "route-learning-with-people",
        "slug": "learning-with-people",
        "recordType": "route",
        "visibility": "featured",
        "title": {
          "ja": "誰かと進める学び方",
          "en": "Learning by building with people"
        },
        "summary": {
          "ja": "先輩とのペア作業や共有学習から、一次ソース、トップダウン、仕組みから理解する姿勢へつながるルート。",
          "en": "A route from pair work and shared learning to primary sources, top-down thinking, and understanding mechanisms."
        },
        "agentSummary": {
          "ja": "技術力の高い先輩とのペア作業や共有学習から、一次ソース、トップダウン、仕組みから理解する姿勢へつながるルート。",
          "en": "The map connects strong peers and pair work to primary-source reading, top-down thinking, and understanding mechanisms."
        },
        "sourceStatus": "map-self-report",
        "evidence": [
          {
            "id": "evidence-route-learning",
            "status": "map-self-report",
            "claim": {
              "ja": "学び方と因果関係はCacoo自己申告。",
              "en": "The learning principles and causal route are Cacoo self-reports."
            },
            "sourceKind": "cacoo",
            "urls": [
              "https://cacoo.com/diagrams/YRsED6KwGUDoJ2rq/A49EB"
            ],
            "checkedAt": "2026-07-10",
            "note": null
          }
        ],
        "sourceRefs": [
          {
            "kind": "cacoo",
            "diagram": "YRsED6KwGUDoJ2rq",
            "sheet": "A49EB",
            "sequence": 7087,
            "shapeUid": "5l8emqI9KoQ-6YrfnVHPH2I",
            "lineUid": null,
            "publicSourceUrl": "https://pichu.dev/map/?node=5l8emqI9KoQ-6YrfnVHPH2I"
          },
          {
            "kind": "cacoo",
            "diagram": "YRsED6KwGUDoJ2rq",
            "sheet": "A49EB",
            "sequence": 7087,
            "shapeUid": "lvTtKf1ZK0u-gQOixuJZE48",
            "lineUid": null,
            "publicSourceUrl": "https://pichu.dev/map/?node=lvTtKf1ZK0u-gQOixuJZE48"
          },
          {
            "kind": "cacoo",
            "diagram": "YRsED6KwGUDoJ2rq",
            "sheet": "A49EB",
            "sequence": 7087,
            "shapeUid": "9jBb1F6uJiK-gvZBpWsa0SS",
            "lineUid": null,
            "publicSourceUrl": "https://pichu.dev/map/?node=9jBb1F6uJiK-gvZBpWsa0SS"
          },
          {
            "kind": "cacoo",
            "diagram": "YRsED6KwGUDoJ2rq",
            "sheet": "A49EB",
            "sequence": 7087,
            "shapeUid": "aR7VJJekhig-24fffPJGqci",
            "lineUid": null,
            "publicSourceUrl": "https://pichu.dev/map/?node=aR7VJJekhig-24fffPJGqci"
          },
          {
            "kind": "cacoo",
            "diagram": "YRsED6KwGUDoJ2rq",
            "sheet": "A49EB",
            "sequence": 7087,
            "shapeUid": "6TEtOojRwQq-5T3r9yblVSO",
            "lineUid": null,
            "publicSourceUrl": "https://pichu.dev/map/?node=6TEtOojRwQq-5T3r9yblVSO"
          }
        ],
        "relations": [
          {
            "type": "supportingDomain",
            "targetId": "domain-learning-method"
          },
          {
            "type": "relatedTimelineEvent",
            "targetId": "timeline-learning-method"
          }
        ],
        "tags": [
          "learning",
          "primary sources",
          "pair work"
        ],
        "publicationNote": null,
        "nodeIds": [
          "node-university-trap",
          "node-learning-method",
          "node-domain-learning",
          "node-domain-teaching"
        ],
        "edgeIds": [
          "edge-university-learning",
          "edge-learning-domain",
          "edge-learning-teaching"
        ],
        "colorKey": "learning"
      },
      {
        "id": "route-ai-tools",
        "slug": "ai-tools",
        "recordType": "route",
        "visibility": "archive",
        "title": {
          "ja": "BotからAIツールへ",
          "en": "From bots to AI tools"
        },
        "summary": {
          "ja": "traQ/DiscordのBot開発から、Claude CodeとCodexをDiscordで扱うツールへ続くルート。",
          "en": "A route from traQ/Discord bot development to Discord tools for Claude Code and Codex."
        },
        "agentSummary": {
          "ja": "traQ/DiscordのBot開発とLLM機能から、Claude CodeとCodexのDiscordツールへ続くルート。",
          "en": "The route from traQ/Discord bots and LLM features to Claude Code and Codex Discord tooling."
        },
        "sourceStatus": "public-corroborated",
        "evidence": [
          {
            "id": "evidence-route-ai-map",
            "status": "map-self-report",
            "claim": {
              "ja": "BotからAIツールへの経路はCacoo自己申告。",
              "en": "The bot-to-AI-tools route is a Cacoo self-report."
            },
            "sourceKind": "cacoo",
            "urls": [
              "https://cacoo.com/diagrams/YRsED6KwGUDoJ2rq/A49EB"
            ],
            "checkedAt": "2026-07-10",
            "note": null
          },
          {
            "id": "evidence-route-ai-repositories",
            "status": "public-corroborated",
            "claim": {
              "ja": "Claude/Codex Discordツールは公開リポジトリで確認できる。",
              "en": "Public repositories corroborate the Claude/Codex Discord tools."
            },
            "sourceKind": "repository",
            "urls": [
              "https://github.com/pikachu0310/discord-codex-bot",
              "https://github.com/pikachu0310/discord-claude-code"
            ],
            "checkedAt": "2026-07-10",
            "note": null
          }
        ],
        "sourceRefs": [
          {
            "kind": "cacoo",
            "diagram": "YRsED6KwGUDoJ2rq",
            "sheet": "A49EB",
            "sequence": 7087,
            "shapeUid": "76DvX9DkVqm-6XZueQy1JS",
            "lineUid": null,
            "publicSourceUrl": "https://pichu.dev/map/?node=76DvX9DkVqm-6XZueQy1JS"
          },
          {
            "kind": "cacoo",
            "diagram": "YRsED6KwGUDoJ2rq",
            "sheet": "A49EB",
            "sequence": 7087,
            "shapeUid": "amzJgcD1SgC-khcFw8c2zYY",
            "lineUid": null,
            "publicSourceUrl": "https://pichu.dev/map/?node=amzJgcD1SgC-khcFw8c2zYY"
          },
          {
            "kind": "cacoo",
            "diagram": "YRsED6KwGUDoJ2rq",
            "sheet": "A49EB",
            "sequence": 7087,
            "shapeUid": "8ZahKsKw6se-83DLvrv08Ei",
            "lineUid": null,
            "publicSourceUrl": "https://pichu.dev/map/?node=8ZahKsKw6se-83DLvrv08Ei"
          },
          {
            "kind": "cacoo",
            "diagram": "YRsED6KwGUDoJ2rq",
            "sheet": "A49EB",
            "sequence": 7087,
            "shapeUid": "57MvLGShjOY-hhHhltDRYIO",
            "lineUid": null,
            "publicSourceUrl": "https://pichu.dev/map/?node=57MvLGShjOY-hhHhltDRYIO"
          }
        ],
        "relations": [
          {
            "type": "primaryDomain",
            "targetId": "domain-ai-discord-tools"
          },
          {
            "type": "relatedWork",
            "targetId": "work-discord-codex-bot"
          },
          {
            "type": "relatedWork",
            "targetId": "work-discord-claude-code-fork"
          }
        ],
        "tags": [
          "AI",
          "Discord",
          "bots"
        ],
        "publicationNote": null,
        "nodeIds": [
          "node-work-traq-bot",
          "node-domain-ai",
          "node-work-claude-bot",
          "node-work-codex-bot"
        ],
        "edgeIds": [
          "edge-traq-bot-ai",
          "edge-ai-claude-bot",
          "edge-claude-codex-bot"
        ],
        "colorKey": "ai"
      }
    ]
  }
}
