Explorer
/tmp/full-q-second.json
← Zurück ↓ Download
{
  "generated_at": "2026-07-23T09:54:48.637966+00:00",
  "history_policy": "preserve-done",
  "groups": [
    {
      "youtube_id": "2ZoMUgqb7HQ",
      "video_id": 878,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-878-wie-aktualisiert-man-n8n-auf-einem-vps.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1046-wie-aktualisiert-man-n8n-auf-einem-vps.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1046-wie-aktualisiert-man-n8n-auf-einem-vps.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-878-wie-aktualisiert-man-n8n-auf-einem-vps.md",
          "sha256_before": "a86be5a774c498e24c78a84bc9e4dd7029f889e5ff16bdc3e2ea3fd561cd2906",
          "size": 2337,
          "mtime": 1782734703.3819857,
          "registry_refs": [
            {
              "id": 121,
              "source_system": "youtube-research",
              "source_id": "1046",
              "source_external_id": "2ZoMUgqb7HQ",
              "source_title": "Wie aktualisiert man n8n auf einem VPS?",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1046-wie-aktualisiert-man-n8n-auf-einem-vps.md",
              "artifact_hash": "a86be5a774c498e24c78a84bc9e4dd7029f889e5ff16bdc3e2ea3fd561cd2906",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1046",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.069136",
              "updated_at": "2026-06-29T12:22:33.195018",
              "notes": null
            },
            {
              "id": 756,
              "source_system": "youtube-research",
              "source_id": "878",
              "source_external_id": "2ZoMUgqb7HQ",
              "source_title": "Wie aktualisiert man n8n auf einem VPS?",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-878-wie-aktualisiert-man-n8n-auf-einem-vps.md",
              "artifact_hash": "d714196e48d6c07d52c866c546358b02788a471290ac792746e4a453fb7b49da",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:878",
              "graphiti_actor": "youtube-research-batch-100-02-runner",
              "graphiti_group_id": "youtube-research-batch-100-02",
              "processed_at": "2026-06-30T15:26:41",
              "updated_at": "2026-06-30T15:26:41",
              "notes": "Batch-100-02 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 255,
              "source_type": "youtube",
              "video_id": "2ZoMUgqb7HQ",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-878-wie-aktualisiert-man-n8n-auf-einem-vps.md",
              "content_hash": "d714196e48d6c07d52c866c546358b02788a471290ac792746e4a453fb7b49da",
              "file_modified_at": "2026-06-30T15:26:14.081536+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.774972+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.774972+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 752,
              "source_type": "youtube",
              "video_id": "2ZoMUgqb7HQ",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1046-wie-aktualisiert-man-n8n-auf-einem-vps.md",
              "content_hash": "a86be5a774c498e24c78a84bc9e4dd7029f889e5ff16bdc3e2ea3fd561cd2906",
              "file_modified_at": "2026-06-29T12:05:03.381986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.284399+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.284399+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "error",
          "error": "source_changed"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "38t5UBCa4OI",
      "video_id": 409,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-409-every-claude-code-workflow-explained-when-to.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1026-every-claude-code-workflow-explained-when-to-use-e.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1026-every-claude-code-workflow-explained-when-to-use-e.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-409-every-claude-code-workflow-explained-when-to.md",
          "sha256_before": "922d9e967cbf49426ef61914e254dcec01f70d400ba067c6f28135ccc6d6fdd0",
          "size": 3012,
          "mtime": 1782734703.3439856,
          "registry_refs": [
            {
              "id": 101,
              "source_system": "youtube-research",
              "source_id": "1026",
              "source_external_id": "38t5UBCa4OI",
              "source_title": "Every Claude Code Workflow Explained (& When to Use Each)",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1026-every-claude-code-workflow-explained-when-to-use-e.md",
              "artifact_hash": "922d9e967cbf49426ef61914e254dcec01f70d400ba067c6f28135ccc6d6fdd0",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1026",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068902",
              "updated_at": "2026-06-29T12:14:31.877821",
              "notes": null
            },
            {
              "id": 776,
              "source_system": "youtube-research",
              "source_id": "409",
              "source_external_id": "38t5UBCa4OI",
              "source_title": "Every Claude Code Workflow Explained (& When to Use Each)",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-409-every-claude-code-workflow-explained-when-to.md",
              "artifact_hash": "38f7d9639ebf4b8be57a6fded7190512686dcd8acde35b627af0c22e2e9fabe3",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:409",
              "graphiti_actor": "youtube-research-batch-100-03-runner",
              "graphiti_group_id": "youtube-research-batch-100-03",
              "processed_at": "2026-06-30T15:59:01",
              "updated_at": "2026-06-30T15:59:01",
              "notes": "Batch-100-03 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 425,
              "source_type": "youtube",
              "video_id": "38t5UBCa4OI",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-409-every-claude-code-workflow-explained-when-to.md",
              "content_hash": "38f7d9639ebf4b8be57a6fded7190512686dcd8acde35b627af0c22e2e9fabe3",
              "file_modified_at": "2026-06-30T15:58:47.332165+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.937896+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.937896+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 747,
              "source_type": "youtube",
              "video_id": "38t5UBCa4OI",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1026-every-claude-code-workflow-explained-when-to-use-e.md",
              "content_hash": "922d9e967cbf49426ef61914e254dcec01f70d400ba067c6f28135ccc6d6fdd0",
              "file_modified_at": "2026-06-29T12:05:03.343986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.279205+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.279205+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "3JRlAcMz9oA",
      "video_id": 537,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-537-claude-design-killt-figma-hands-on-mit-3-beis.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1037-claude-design-killt-figma-hands-on-mit-3-beispiele.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1037-claude-design-killt-figma-hands-on-mit-3-beispiele.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-537-claude-design-killt-figma-hands-on-mit-3-beis.md",
          "sha256_before": "5a5c8622f15887815c36964c6dfe488384fbf19eb0358f37c57e5f95cd66d3a0",
          "size": 2886,
          "mtime": 1782734703.3649857,
          "registry_refs": [
            {
              "id": 112,
              "source_system": "youtube-research",
              "source_id": "1037",
              "source_external_id": "3JRlAcMz9oA",
              "source_title": "Claude Design killt Figma: Hands-On mit 3 Beispielen!",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1037-claude-design-killt-figma-hands-on-mit-3-beispiele.md",
              "artifact_hash": "5a5c8622f15887815c36964c6dfe488384fbf19eb0358f37c57e5f95cd66d3a0",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1037",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.069027",
              "updated_at": "2026-06-29T12:19:01.516680",
              "notes": null
            },
            {
              "id": 736,
              "source_system": "youtube-research",
              "source_id": "537",
              "source_external_id": "3JRlAcMz9oA",
              "source_title": "Claude Design killt Figma: Hands-On mit 3 Beispielen!",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-537-claude-design-killt-figma-hands-on-mit-3-beis.md",
              "artifact_hash": "3b14bc7a9fbece3d5eaa252223ac2e31e4e31f587999290f1c983057254e20eb",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:537",
              "graphiti_actor": "youtube-research-batch-100-02-runner",
              "graphiti_group_id": "youtube-research-batch-100-02",
              "processed_at": "2026-06-30T15:22:10",
              "updated_at": "2026-06-30T15:22:10",
              "notes": "Batch-100-02 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 290,
              "source_type": "youtube",
              "video_id": "3JRlAcMz9oA",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-537-claude-design-killt-figma-hands-on-mit-3-beis.md",
              "content_hash": "3b14bc7a9fbece3d5eaa252223ac2e31e4e31f587999290f1c983057254e20eb",
              "file_modified_at": "2026-06-30T15:21:35.607863+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.808941+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.808941+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 726,
              "source_type": "youtube",
              "video_id": "3JRlAcMz9oA",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1037-claude-design-killt-figma-hands-on-mit-3-beispiele.md",
              "content_hash": "5a5c8622f15887815c36964c6dfe488384fbf19eb0358f37c57e5f95cd66d3a0",
              "file_modified_at": "2026-06-29T12:05:03.364986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.258019+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.258019+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "49V-5Ock8LU",
      "video_id": 398,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-398-18-claude-code-token-hacks-in-18-minutes.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1021-18-claude-code-token-hacks-in-18-minutes.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1021-18-claude-code-token-hacks-in-18-minutes.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-398-18-claude-code-token-hacks-in-18-minutes.md",
          "sha256_before": "aaa2bd1ec9c8f4d29f74fb57281f14eb4eb58e9d7e54df4d795047cf68aaaee4",
          "size": 3023,
          "mtime": 1782734703.3349857,
          "registry_refs": [
            {
              "id": 96,
              "source_system": "youtube-research",
              "source_id": "1021",
              "source_external_id": "49V-5Ock8LU",
              "source_title": "18 Claude Code Token Hacks in 18 Minutes",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1021-18-claude-code-token-hacks-in-18-minutes.md",
              "artifact_hash": "aaa2bd1ec9c8f4d29f74fb57281f14eb4eb58e9d7e54df4d795047cf68aaaee4",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1021",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068844",
              "updated_at": "2026-06-29T12:12:16.771836",
              "notes": null
            },
            {
              "id": 796,
              "source_system": "youtube-research",
              "source_id": "398",
              "source_external_id": "49V-5Ock8LU",
              "source_title": "18 Claude Code Token Hacks in 18 Minutes",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-398-18-claude-code-token-hacks-in-18-minutes.md",
              "artifact_hash": "33e929a076e597154243efa6197ba684db91667cdbe9a4b542f4e341f7786a59",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:398",
              "graphiti_actor": "youtube-research-batch-100-03-runner",
              "graphiti_group_id": "youtube-research-batch-100-03",
              "processed_at": "2026-06-30T16:03:57",
              "updated_at": "2026-06-30T16:03:57",
              "notes": "Batch-100-03 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 360,
              "source_type": "youtube",
              "video_id": "49V-5Ock8LU",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-398-18-claude-code-token-hacks-in-18-minutes.md",
              "content_hash": "33e929a076e597154243efa6197ba684db91667cdbe9a4b542f4e341f7786a59",
              "file_modified_at": "2026-06-30T16:03:39.403863+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.876224+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.876224+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 723,
              "source_type": "youtube",
              "video_id": "49V-5Ock8LU",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1021-18-claude-code-token-hacks-in-18-minutes.md",
              "content_hash": "aaa2bd1ec9c8f4d29f74fb57281f14eb4eb58e9d7e54df4d795047cf68aaaee4",
              "file_modified_at": "2026-06-29T12:05:03.334986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.255177+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.255177+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "5jfWQ3Y9qRg",
      "video_id": 880,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-880-baue-dein-ki-supermodell-mit-claude-code.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1047-baue-dein-ki-supermodell-mit-claude-code.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1047-baue-dein-ki-supermodell-mit-claude-code.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-880-baue-dein-ki-supermodell-mit-claude-code.md",
          "sha256_before": "aa1ce469016a9719207258ca783aaee321e54c9d1435beca2812a388059f9cc9",
          "size": 3043,
          "mtime": 1782734703.3829858,
          "registry_refs": [
            {
              "id": 122,
              "source_system": "youtube-research",
              "source_id": "1047",
              "source_external_id": "5jfWQ3Y9qRg",
              "source_title": "Baue dein KI-Supermodell mit Claude Code",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1047-baue-dein-ki-supermodell-mit-claude-code.md",
              "artifact_hash": "aa1ce469016a9719207258ca783aaee321e54c9d1435beca2812a388059f9cc9",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1047",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.069148",
              "updated_at": "2026-06-29T12:23:03.490913",
              "notes": null
            },
            {
              "id": 668,
              "source_system": "youtube-research",
              "source_id": "880",
              "source_external_id": "5jfWQ3Y9qRg",
              "source_title": "Baue dein KI-Supermodell mit Claude Code",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-880-baue-dein-ki-supermodell-mit-claude-code.md",
              "artifact_hash": "a949bac565e0ed53ea72088394d29679d3b5105e1d97bd4bb1b30bbebad51aff",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:880",
              "graphiti_actor": "youtube-research-batch-100-02-runner",
              "graphiti_group_id": "youtube-research-batch-100-02",
              "processed_at": "2026-06-30T15:07:52",
              "updated_at": "2026-06-30T15:07:52",
              "notes": "Batch-100-02 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 296,
              "source_type": "youtube",
              "video_id": "5jfWQ3Y9qRg",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-880-baue-dein-ki-supermodell-mit-claude-code.md",
              "content_hash": "a949bac565e0ed53ea72088394d29679d3b5105e1d97bd4bb1b30bbebad51aff",
              "file_modified_at": "2026-06-30T15:07:23.637925+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.815091+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.815091+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 729,
              "source_type": "youtube",
              "video_id": "5jfWQ3Y9qRg",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1047-baue-dein-ki-supermodell-mit-claude-code.md",
              "content_hash": "aa1ce469016a9719207258ca783aaee321e54c9d1435beca2812a388059f9cc9",
              "file_modified_at": "2026-06-29T12:05:03.382986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.260950+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.260950+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "6cidwPbf0_0",
      "video_id": 156,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-156-claude-cowork-auf-autopilot-so-arbeitet-es-oh.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1003-claude-cowork-auf-autopilot-so-arbeitet-es-ohne-di.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1003-claude-cowork-auf-autopilot-so-arbeitet-es-ohne-di.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-156-claude-cowork-auf-autopilot-so-arbeitet-es-oh.md",
          "sha256_before": "dbe683f2f8e6139c12249ad61e60d4e458b74a6d49c8233ed8a646ab567371bb",
          "size": 2768,
          "mtime": 1782734703.2769854,
          "registry_refs": [
            {
              "id": 78,
              "source_system": "youtube-research",
              "source_id": "1003",
              "source_external_id": "6cidwPbf0_0",
              "source_title": "Claude Cowork auf Autopilot – so arbeitet es ohne dich (zu einfach!)",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1003-claude-cowork-auf-autopilot-so-arbeitet-es-ohne-di.md",
              "artifact_hash": "dbe683f2f8e6139c12249ad61e60d4e458b74a6d49c8233ed8a646ab567371bb",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1003",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068604",
              "updated_at": "2026-06-29T12:05:59.617845",
              "notes": "HTTP 422"
            },
            {
              "id": 492,
              "source_system": "youtube-research",
              "source_id": "156",
              "source_external_id": "6cidwPbf0_0",
              "source_title": "Claude Cowork auf Autopilot – so arbeitet es ohne dich (zu einfach!)",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-156-claude-cowork-auf-autopilot-so-arbeitet-es-oh.md",
              "artifact_hash": "58fbfb3a7ae2858c45d4ac2e60f85200943bf8a62677ce48f70ec5bc1fd27e18",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:156",
              "graphiti_actor": "youtube-research-batch-100-01-runner",
              "graphiti_group_id": "youtube-research-batch-100-01",
              "processed_at": "2026-06-30T13:40:08",
              "updated_at": "2026-06-30T13:40:08",
              "notes": "Batch-100-01 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 603,
              "source_type": "youtube",
              "video_id": "6cidwPbf0_0",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-156-claude-cowork-auf-autopilot-so-arbeitet-es-oh.md",
              "content_hash": "58fbfb3a7ae2858c45d4ac2e60f85200943bf8a62677ce48f70ec5bc1fd27e18",
              "file_modified_at": "2026-06-30T13:39:44.191385+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.130293+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.130293+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 745,
              "source_type": "youtube",
              "video_id": "6cidwPbf0_0",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1003-claude-cowork-auf-autopilot-so-arbeitet-es-ohne-di.md",
              "content_hash": "dbe683f2f8e6139c12249ad61e60d4e458b74a6d49c8233ed8a646ab567371bb",
              "file_modified_at": "2026-06-29T12:05:03.276985+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.276620+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.276620+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "9RiTjWRT8kA",
      "video_id": 168,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-168-wie-du-mcp-server-f-r-claude-code-einrichtest.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1005-wie-du-mcp-server-für-claude-code-einrichtest-zu-e.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1005-wie-du-mcp-server-für-claude-code-einrichtest-zu-e.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-168-wie-du-mcp-server-f-r-claude-code-einrichtest.md",
          "sha256_before": "47a74a9511203ea79e7fe69da2d03f2fb0092f164586615afff293b2722b9881",
          "size": 2749,
          "mtime": 1782734703.2779856,
          "registry_refs": [
            {
              "id": 80,
              "source_system": "youtube-research",
              "source_id": "1005",
              "source_external_id": "9RiTjWRT8kA",
              "source_title": "Wie Du MCP-Server für Claude Code einrichtest (zu einfach)",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1005-wie-du-mcp-server-für-claude-code-einrichtest-zu-e.md",
              "artifact_hash": "47a74a9511203ea79e7fe69da2d03f2fb0092f164586615afff293b2722b9881",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1005",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068626",
              "updated_at": "2026-06-29T12:06:34.826181",
              "notes": null
            },
            {
              "id": 544,
              "source_system": "youtube-research",
              "source_id": "168",
              "source_external_id": "9RiTjWRT8kA",
              "source_title": "Wie Du MCP-Server für Claude Code einrichtest (zu einfach)",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-168-wie-du-mcp-server-f-r-claude-code-einrichtest.md",
              "artifact_hash": "8d06f37a7976cd77f169be79d43a2914a2046146c4bf4d0f3bdd46840efb3014",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:168",
              "graphiti_actor": "youtube-research-batch-100-01-runner",
              "graphiti_group_id": "youtube-research-batch-100-01",
              "processed_at": "2026-06-30T13:46:29",
              "updated_at": "2026-06-30T13:46:29",
              "notes": "Batch-100-01 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 617,
              "source_type": "youtube",
              "video_id": "9RiTjWRT8kA",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-168-wie-du-mcp-server-f-r-claude-code-einrichtest.md",
              "content_hash": "8d06f37a7976cd77f169be79d43a2914a2046146c4bf4d0f3bdd46840efb3014",
              "file_modified_at": "2026-06-30T13:46:17.722414+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.143861+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.143861+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 740,
              "source_type": "youtube",
              "video_id": "9RiTjWRT8kA",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1005-wie-du-mcp-server-für-claude-code-einrichtest-zu-e.md",
              "content_hash": "47a74a9511203ea79e7fe69da2d03f2fb0092f164586615afff293b2722b9881",
              "file_modified_at": "2026-06-29T12:05:03.277986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.271715+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.271715+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "9snO3ttsG5c",
      "video_id": 132,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-132-claude-code-installieren-starten-2025-schritt.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1000-claude-code-installieren-starten-2025-schritt-für-.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1000-claude-code-installieren-starten-2025-schritt-für-.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-132-claude-code-installieren-starten-2025-schritt.md",
          "sha256_before": "30db8d3f57fe400a83b2bdef8d9937f598d1bd4366e8d8fc91f397a3b980a0c7",
          "size": 2784,
          "mtime": 1782734703.2749856,
          "registry_refs": [
            {
              "id": 75,
              "source_system": "youtube-research",
              "source_id": "1000",
              "source_external_id": "9snO3ttsG5c",
              "source_title": "Claude Code installieren & starten (2025) 🚀 | Schritt-für-Schritt auf Mac & Windows erklärt!",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1000-claude-code-installieren-starten-2025-schritt-für-.md",
              "artifact_hash": "30db8d3f57fe400a83b2bdef8d9937f598d1bd4366e8d8fc91f397a3b980a0c7",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1000",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068482",
              "updated_at": "2026-06-29T12:05:23.878043",
              "notes": "HTTP 422"
            },
            {
              "id": 548,
              "source_system": "youtube-research",
              "source_id": "132",
              "source_external_id": "9snO3ttsG5c",
              "source_title": "Claude Code installieren & starten (2025) 🚀 | Schritt-für-Schritt auf Mac & Windows erklärt!",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-132-claude-code-installieren-starten-2025-schritt.md",
              "artifact_hash": "1f257c0ab59baa9c31887ff082e8f04c53ec2723eb63dc7c8c89567364c2bb51",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:132",
              "graphiti_actor": "youtube-research-batch-100-01-runner",
              "graphiti_group_id": "youtube-research-batch-100-01",
              "processed_at": "2026-06-30T13:47:27",
              "updated_at": "2026-06-30T13:47:27",
              "notes": "Batch-100-01 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 646,
              "source_type": "youtube",
              "video_id": "9snO3ttsG5c",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-132-claude-code-installieren-starten-2025-schritt.md",
              "content_hash": "1f257c0ab59baa9c31887ff082e8f04c53ec2723eb63dc7c8c89567364c2bb51",
              "file_modified_at": "2026-06-30T13:46:59.799522+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.173986+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.173986+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 730,
              "source_type": "youtube",
              "video_id": "9snO3ttsG5c",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1000-claude-code-installieren-starten-2025-schritt-für-.md",
              "content_hash": "30db8d3f57fe400a83b2bdef8d9937f598d1bd4366e8d8fc91f397a3b980a0c7",
              "file_modified_at": "2026-06-29T12:05:03.274986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.261957+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.261957+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "C3-4llQYT8o",
      "video_id": 400,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-400-paperclip-hire-ai-agents-like-employees-live.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1008-paperclip-hire-ai-agents-like-employees-live-demo.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1008-paperclip-hire-ai-agents-like-employees-live-demo.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-400-paperclip-hire-ai-agents-like-employees-live.md",
          "sha256_before": "a0c84da02e22efe71732233d410390325f0e7d793c9393cef997907ce305a145",
          "size": 2870,
          "mtime": 1782734703.2989855,
          "registry_refs": [
            {
              "id": 83,
              "source_system": "youtube-research",
              "source_id": "1008",
              "source_external_id": "C3-4llQYT8o",
              "source_title": "Paperclip: Hire AI Agents Like Employees (Live Demo)",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1008-paperclip-hire-ai-agents-like-employees-live-demo.md",
              "artifact_hash": "a0c84da02e22efe71732233d410390325f0e7d793c9393cef997907ce305a145",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1008",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068658",
              "updated_at": "2026-06-29T12:07:27.841650",
              "notes": null
            },
            {
              "id": 482,
              "source_system": "youtube-research",
              "source_id": "400",
              "source_external_id": "C3-4llQYT8o",
              "source_title": "Paperclip: Hire AI Agents Like Employees (Live Demo)",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-400-paperclip-hire-ai-agents-like-employees-live.md",
              "artifact_hash": "8db0cca47d9949fe30a4c1b40a480e5891cf9d6f7095340de2cbfa09723dad9b",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:400",
              "graphiti_actor": "youtube-research-batch-100-01-runner",
              "graphiti_group_id": "youtube-research-batch-100-01",
              "processed_at": "2026-06-30T13:38:24",
              "updated_at": "2026-06-30T13:38:24",
              "notes": "Batch-100-01 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 597,
              "source_type": "youtube",
              "video_id": "C3-4llQYT8o",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-400-paperclip-hire-ai-agents-like-employees-live.md",
              "content_hash": "8db0cca47d9949fe30a4c1b40a480e5891cf9d6f7095340de2cbfa09723dad9b",
              "file_modified_at": "2026-06-30T13:38:10.338134+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.123788+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.123788+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 713,
              "source_type": "youtube",
              "video_id": "C3-4llQYT8o",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1008-paperclip-hire-ai-agents-like-employees-live-demo.md",
              "content_hash": "a0c84da02e22efe71732233d410390325f0e7d793c9393cef997907ce305a145",
              "file_modified_at": "2026-06-29T12:05:03.298985+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.245306+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.245306+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "CR0yE9CoeRY",
      "video_id": 560,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-560-vibe-coding-ki-schreibt-software-in-tagen.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1040-vibe-coding-ki-schreibt-software-in-tagen.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1040-vibe-coding-ki-schreibt-software-in-tagen.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-560-vibe-coding-ki-schreibt-software-in-tagen.md",
          "sha256_before": "a652d833967d0979dca40b90e2aebc7f2258292f44ffd706716d6b54736b9ac0",
          "size": 3019,
          "mtime": 1782734703.3719857,
          "registry_refs": [
            {
              "id": 115,
              "source_system": "youtube-research",
              "source_id": "1040",
              "source_external_id": "CR0yE9CoeRY",
              "source_title": "Vibe Coding: KI schreibt Software in Tagen!",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1040-vibe-coding-ki-schreibt-software-in-tagen.md",
              "artifact_hash": "a652d833967d0979dca40b90e2aebc7f2258292f44ffd706716d6b54736b9ac0",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1040",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.069062",
              "updated_at": "2026-06-29T12:20:10.047689",
              "notes": null
            },
            {
              "id": 732,
              "source_system": "youtube-research",
              "source_id": "560",
              "source_external_id": "CR0yE9CoeRY",
              "source_title": "Vibe Coding: KI schreibt Software in Tagen!",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-560-vibe-coding-ki-schreibt-software-in-tagen.md",
              "artifact_hash": "a21910bb5488ba4a931c52bab66a1c0fc4288d17ea4a3bc993f7500e882a836d",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:560",
              "graphiti_actor": "youtube-research-batch-100-02-runner",
              "graphiti_group_id": "youtube-research-batch-100-02",
              "processed_at": "2026-06-30T15:21:19",
              "updated_at": "2026-06-30T15:21:19",
              "notes": "Batch-100-02 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 300,
              "source_type": "youtube",
              "video_id": "CR0yE9CoeRY",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-560-vibe-coding-ki-schreibt-software-in-tagen.md",
              "content_hash": "a21910bb5488ba4a931c52bab66a1c0fc4288d17ea4a3bc993f7500e882a836d",
              "file_modified_at": "2026-06-30T15:20:37.888724+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.819016+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.819016+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 749,
              "source_type": "youtube",
              "video_id": "CR0yE9CoeRY",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1040-vibe-coding-ki-schreibt-software-in-tagen.md",
              "content_hash": "a652d833967d0979dca40b90e2aebc7f2258292f44ffd706716d6b54736b9ac0",
              "file_modified_at": "2026-06-29T12:05:03.371986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.281296+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.281296+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "EJyuu6zlQCg",
      "video_id": 383,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-383-5-claude-code-skills-i-use-every-single-day.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1013-5-claude-code-skills-i-use-every-single-day.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1013-5-claude-code-skills-i-use-every-single-day.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-383-5-claude-code-skills-i-use-every-single-day.md",
          "sha256_before": "ad32a71436b4c0d06c7826e56bc28dcd9138dc4b885867cc1e01c8c50934d9cc",
          "size": 2702,
          "mtime": 1782734703.3189857,
          "registry_refs": [
            {
              "id": 88,
              "source_system": "youtube-research",
              "source_id": "1013",
              "source_external_id": "EJyuu6zlQCg",
              "source_title": "5 Claude Code skills I use every single day",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1013-5-claude-code-skills-i-use-every-single-day.md",
              "artifact_hash": "ad32a71436b4c0d06c7826e56bc28dcd9138dc4b885867cc1e01c8c50934d9cc",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1013",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068760",
              "updated_at": "2026-06-29T12:09:11.254297",
              "notes": null
            },
            {
              "id": 884,
              "source_system": "youtube-research",
              "source_id": "383",
              "source_external_id": "EJyuu6zlQCg",
              "source_title": "5 Claude Code skills I use every single day",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-383-5-claude-code-skills-i-use-every-single-day.md",
              "artifact_hash": "4fb453f42b000739c02342660ba48361823d302d85fea87e1c5ea025ccf82cbb",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:383",
              "graphiti_actor": "youtube-research-batch-100-03-runner",
              "graphiti_group_id": "youtube-research-batch-100-03",
              "processed_at": "2026-06-30T16:20:57",
              "updated_at": "2026-06-30T16:20:57",
              "notes": "Batch-100-03 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 356,
              "source_type": "youtube",
              "video_id": "EJyuu6zlQCg",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-383-5-claude-code-skills-i-use-every-single-day.md",
              "content_hash": "4fb453f42b000739c02342660ba48361823d302d85fea87e1c5ea025ccf82cbb",
              "file_modified_at": "2026-06-30T16:20:34.748461+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.872716+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.872716+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 744,
              "source_type": "youtube",
              "video_id": "EJyuu6zlQCg",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1013-5-claude-code-skills-i-use-every-single-day.md",
              "content_hash": "ad32a71436b4c0d06c7826e56bc28dcd9138dc4b885867cc1e01c8c50934d9cc",
              "file_modified_at": "2026-06-29T12:05:03.318986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.275649+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.275649+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "FCniWObMubg",
      "video_id": 385,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-385-skills-sh-is-a-free-claude-skills-library-fro.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1014-skillssh-is-a-free-claude-skills-library-from-verc.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1014-skillssh-is-a-free-claude-skills-library-from-verc.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-385-skills-sh-is-a-free-claude-skills-library-fro.md",
          "sha256_before": "ef88875a6cbe84a9c822b1434c713c1f0792198d22caa3764692ed40db1a094c",
          "size": 3166,
          "mtime": 1782734703.3189857,
          "registry_refs": [
            {
              "id": 89,
              "source_system": "youtube-research",
              "source_id": "1014",
              "source_external_id": "FCniWObMubg",
              "source_title": "Skills.Sh is a Free Claude Skills library from Vercel with over 90,000+ Free AI Skills to try from",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1014-skillssh-is-a-free-claude-skills-library-from-verc.md",
              "artifact_hash": "ef88875a6cbe84a9c822b1434c713c1f0792198d22caa3764692ed40db1a094c",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1014",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068771",
              "updated_at": "2026-06-29T12:09:31.716084",
              "notes": null
            },
            {
              "id": 778,
              "source_system": "youtube-research",
              "source_id": "385",
              "source_external_id": "FCniWObMubg",
              "source_title": "Skills.Sh is a Free Claude Skills library from Vercel with over 90,000+ Free AI Skills to try from",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-385-skills-sh-is-a-free-claude-skills-library-fro.md",
              "artifact_hash": "f0e9856370c6e60d5f25b2b0e9983ea3f91ab8e3a929adc9991d945ee46bbad5",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:385",
              "graphiti_actor": "youtube-research-batch-100-03-runner",
              "graphiti_group_id": "youtube-research-batch-100-03",
              "processed_at": "2026-06-30T15:59:22",
              "updated_at": "2026-06-30T15:59:22",
              "notes": "Batch-100-03 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 377,
              "source_type": "youtube",
              "video_id": "FCniWObMubg",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-385-skills-sh-is-a-free-claude-skills-library-fro.md",
              "content_hash": "f0e9856370c6e60d5f25b2b0e9983ea3f91ab8e3a929adc9991d945ee46bbad5",
              "file_modified_at": "2026-06-30T15:59:02.192200+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.891660+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.891660+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 715,
              "source_type": "youtube",
              "video_id": "FCniWObMubg",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1014-skillssh-is-a-free-claude-skills-library-from-verc.md",
              "content_hash": "ef88875a6cbe84a9c822b1434c713c1f0792198d22caa3764692ed40db1a094c",
              "file_modified_at": "2026-06-29T12:05:03.318986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.247222+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.247222+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "HJ-dwefABss",
      "video_id": 401,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-401-claude-code-paperclip-just-destroyed-openclaw.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1022-claude-code-paperclip-just-destroyed-openclaw.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1022-claude-code-paperclip-just-destroyed-openclaw.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-401-claude-code-paperclip-just-destroyed-openclaw.md",
          "sha256_before": "8edea6a13e1921f237592170e3314225832573126aa4e8d9916a0325bf21a8ab",
          "size": 3116,
          "mtime": 1782734703.3369856,
          "registry_refs": [
            {
              "id": 97,
              "source_system": "youtube-research",
              "source_id": "1022",
              "source_external_id": "HJ-dwefABss",
              "source_title": "Claude Code + Paperclip Just Destroyed OpenClaw",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1022-claude-code-paperclip-just-destroyed-openclaw.md",
              "artifact_hash": "8edea6a13e1921f237592170e3314225832573126aa4e8d9916a0325bf21a8ab",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1022",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068855",
              "updated_at": "2026-06-29T12:12:57.136426",
              "notes": null
            },
            {
              "id": 822,
              "source_system": "youtube-research",
              "source_id": "401",
              "source_external_id": "HJ-dwefABss",
              "source_title": "Claude Code + Paperclip Just Destroyed OpenClaw",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-401-claude-code-paperclip-just-destroyed-openclaw.md",
              "artifact_hash": "7add4915d243350986aa46e341daaee892a66ae41361a8c4c4bb383ce786a922",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:401",
              "graphiti_actor": "youtube-research-batch-100-03-runner",
              "graphiti_group_id": "youtube-research-batch-100-03",
              "processed_at": "2026-06-30T16:08:08",
              "updated_at": "2026-06-30T16:08:08",
              "notes": "Batch-100-03 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 378,
              "source_type": "youtube",
              "video_id": "HJ-dwefABss",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-401-claude-code-paperclip-just-destroyed-openclaw.md",
              "content_hash": "7add4915d243350986aa46e341daaee892a66ae41361a8c4c4bb383ce786a922",
              "file_modified_at": "2026-06-30T16:07:47.262460+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.892618+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.892618+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 716,
              "source_type": "youtube",
              "video_id": "HJ-dwefABss",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1022-claude-code-paperclip-just-destroyed-openclaw.md",
              "content_hash": "8edea6a13e1921f237592170e3314225832573126aa4e8d9916a0325bf21a8ab",
              "file_modified_at": "2026-06-29T12:05:03.336986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.248171+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.248171+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "Jms09FIwTvc",
      "video_id": 561,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-561-dieses-geniale-ki-betriebssystem-steuert-jetz.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1041-dieses-geniale-ki-betriebssystem-steuert-jetzt-mei.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1041-dieses-geniale-ki-betriebssystem-steuert-jetzt-mei.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-561-dieses-geniale-ki-betriebssystem-steuert-jetz.md",
          "sha256_before": "2d7e21c90d41fdf1a34542241ca395f747f61e395a37f945b4db0bd4e57114ae",
          "size": 3064,
          "mtime": 1782734703.3739858,
          "registry_refs": [
            {
              "id": 116,
              "source_system": "youtube-research",
              "source_id": "1041",
              "source_external_id": "Jms09FIwTvc",
              "source_title": "Dieses GENIALE KI-Betriebssystem steuert jetzt mein Unternehmen",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1041-dieses-geniale-ki-betriebssystem-steuert-jetzt-mei.md",
              "artifact_hash": "2d7e21c90d41fdf1a34542241ca395f747f61e395a37f945b4db0bd4e57114ae",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1041",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.069074",
              "updated_at": "2026-06-29T12:20:31.827795",
              "notes": null
            },
            {
              "id": 698,
              "source_system": "youtube-research",
              "source_id": "561",
              "source_external_id": "Jms09FIwTvc",
              "source_title": "Dieses GENIALE KI-Betriebssystem steuert jetzt mein Unternehmen",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-561-dieses-geniale-ki-betriebssystem-steuert-jetz.md",
              "artifact_hash": "862640ef8a1ed969c8937d7676fdc42ce059edeb88a92fb6e721cfef8aa6a467",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:561",
              "graphiti_actor": "youtube-research-batch-100-02-runner",
              "graphiti_group_id": "youtube-research-batch-100-02",
              "processed_at": "2026-06-30T15:13:09",
              "updated_at": "2026-06-30T15:13:09",
              "notes": "Batch-100-02 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 266,
              "source_type": "youtube",
              "video_id": "Jms09FIwTvc",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-561-dieses-geniale-ki-betriebssystem-steuert-jetz.md",
              "content_hash": "862640ef8a1ed969c8937d7676fdc42ce059edeb88a92fb6e721cfef8aa6a467",
              "file_modified_at": "2026-06-30T15:12:47.383627+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.785898+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.785898+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 748,
              "source_type": "youtube",
              "video_id": "Jms09FIwTvc",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1041-dieses-geniale-ki-betriebssystem-steuert-jetzt-mei.md",
              "content_hash": "2d7e21c90d41fdf1a34542241ca395f747f61e395a37f945b4db0bd4e57114ae",
              "file_modified_at": "2026-06-29T12:05:03.373986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.280203+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.280203+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "LGlCA76uZXM",
      "video_id": 536,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-536-diese-5-claude-cowork-tricks-nutzt-fast-niema.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1036-diese-5-claude-cowork-tricks-nutzt-fast-niemand.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1036-diese-5-claude-cowork-tricks-nutzt-fast-niemand.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-536-diese-5-claude-cowork-tricks-nutzt-fast-niema.md",
          "sha256_before": "e17a7900cf3efcd6bf2c0f94f5b0f1c6cc5f283dc0f55e062e72532775418e2a",
          "size": 2949,
          "mtime": 1782734703.3629856,
          "registry_refs": [
            {
              "id": 111,
              "source_system": "youtube-research",
              "source_id": "1036",
              "source_external_id": "LGlCA76uZXM",
              "source_title": "Diese 5 Claude Cowork Tricks nutzt fast niemand!",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1036-diese-5-claude-cowork-tricks-nutzt-fast-niemand.md",
              "artifact_hash": "e17a7900cf3efcd6bf2c0f94f5b0f1c6cc5f283dc0f55e062e72532775418e2a",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1036",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.069016",
              "updated_at": "2026-06-29T12:18:41.796648",
              "notes": null
            },
            {
              "id": 738,
              "source_system": "youtube-research",
              "source_id": "536",
              "source_external_id": "LGlCA76uZXM",
              "source_title": "Diese 5 Claude Cowork Tricks nutzt fast niemand!",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-536-diese-5-claude-cowork-tricks-nutzt-fast-niema.md",
              "artifact_hash": "533f24b08f8918eda6b7cb96e17bc62ae5904f92433ff64c3c2bef4600a3c114",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:536",
              "graphiti_actor": "youtube-research-batch-100-02-runner",
              "graphiti_group_id": "youtube-research-batch-100-02",
              "processed_at": "2026-06-30T15:22:38",
              "updated_at": "2026-06-30T15:22:38",
              "notes": "Batch-100-02 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 291,
              "source_type": "youtube",
              "video_id": "LGlCA76uZXM",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-536-diese-5-claude-cowork-tricks-nutzt-fast-niema.md",
              "content_hash": "533f24b08f8918eda6b7cb96e17bc62ae5904f92433ff64c3c2bef4600a3c114",
              "file_modified_at": "2026-06-30T15:22:10.900947+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.810042+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.810042+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 753,
              "source_type": "youtube",
              "video_id": "LGlCA76uZXM",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1036-diese-5-claude-cowork-tricks-nutzt-fast-niemand.md",
              "content_hash": "e17a7900cf3efcd6bf2c0f94f5b0f1c6cc5f283dc0f55e062e72532775418e2a",
              "file_modified_at": "2026-06-29T12:05:03.362986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.285608+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.285608+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "O2k_qwZA8HU",
      "video_id": 397,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-397-ollama-claude-code-99-cheaper.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1020-ollama-claude-code-99-cheaper.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1020-ollama-claude-code-99-cheaper.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-397-ollama-claude-code-99-cheaper.md",
          "sha256_before": "5ba151cce217ecbd9d0f5ed52e74ad6484aca9537c62bcc50ac0060a05853c43",
          "size": 3136,
          "mtime": 1782734703.3329856,
          "registry_refs": [
            {
              "id": 95,
              "source_system": "youtube-research",
              "source_id": "1020",
              "source_external_id": "O2k_qwZA8HU",
              "source_title": "Ollama + Claude Code = 99% CHEAPER",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1020-ollama-claude-code-99-cheaper.md",
              "artifact_hash": "5ba151cce217ecbd9d0f5ed52e74ad6484aca9537c62bcc50ac0060a05853c43",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1020",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068834",
              "updated_at": "2026-06-29T12:11:49.738034",
              "notes": null
            },
            {
              "id": 784,
              "source_system": "youtube-research",
              "source_id": "397",
              "source_external_id": "O2k_qwZA8HU",
              "source_title": "Ollama + Claude Code = 99% CHEAPER",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-397-ollama-claude-code-99-cheaper.md",
              "artifact_hash": "88f79a48c148246f35df4737b19466b16df48e8319613250b7afbd2e925889b4",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:397",
              "graphiti_actor": "youtube-research-batch-100-03-runner",
              "graphiti_group_id": "youtube-research-batch-100-03",
              "processed_at": "2026-06-30T16:01:19",
              "updated_at": "2026-06-30T18:26:19",
              "notes": "Batch-100-03 upsert | single retry import after http_status 0 in Batch-100-03"
            }
          ],
          "queue_refs": [
            {
              "id": 441,
              "source_type": "youtube",
              "video_id": "O2k_qwZA8HU",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-397-ollama-claude-code-99-cheaper.md",
              "content_hash": "88f79a48c148246f35df4737b19466b16df48e8319613250b7afbd2e925889b4",
              "file_modified_at": "2026-06-30T15:59:49.532313+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.953099+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.953099+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 743,
              "source_type": "youtube",
              "video_id": "O2k_qwZA8HU",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1020-ollama-claude-code-99-cheaper.md",
              "content_hash": "5ba151cce217ecbd9d0f5ed52e74ad6484aca9537c62bcc50ac0060a05853c43",
              "file_modified_at": "2026-06-29T12:05:03.332986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.274449+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.274449+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "OEbgj_Lk4vI",
      "video_id": 559,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-559-vibe-coding-die-ki-revolution-f-r-dein-untern.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1039-vibe-coding-die-ki-revolution-für-dein-unternehmen.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1039-vibe-coding-die-ki-revolution-für-dein-unternehmen.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-559-vibe-coding-die-ki-revolution-f-r-dein-untern.md",
          "sha256_before": "0c0d496fec6f8ca63795c2179ee386cc49d41d2581f32bc97abba0a5cf94b038",
          "size": 3010,
          "mtime": 1782734703.3719857,
          "registry_refs": [
            {
              "id": 114,
              "source_system": "youtube-research",
              "source_id": "1039",
              "source_external_id": "OEbgj_Lk4vI",
              "source_title": "Vibe Coding: Die KI-Revolution für dein Unternehmen",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1039-vibe-coding-die-ki-revolution-für-dein-unternehmen.md",
              "artifact_hash": "0c0d496fec6f8ca63795c2179ee386cc49d41d2581f32bc97abba0a5cf94b038",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1039",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.069051",
              "updated_at": "2026-06-29T12:19:39.067159",
              "notes": null
            },
            {
              "id": 734,
              "source_system": "youtube-research",
              "source_id": "559",
              "source_external_id": "OEbgj_Lk4vI",
              "source_title": "Vibe Coding: Die KI-Revolution für dein Unternehmen",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-559-vibe-coding-die-ki-revolution-f-r-dein-untern.md",
              "artifact_hash": "f683862ad486dd599bf0825c7051eafd7d6d968760c4dc4b8e8394488ec40585",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:559",
              "graphiti_actor": "youtube-research-batch-100-02-runner",
              "graphiti_group_id": "youtube-research-batch-100-02",
              "processed_at": "2026-06-30T15:21:35",
              "updated_at": "2026-06-30T15:21:35",
              "notes": "Batch-100-02 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 332,
              "source_type": "youtube",
              "video_id": "OEbgj_Lk4vI",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-559-vibe-coding-die-ki-revolution-f-r-dein-untern.md",
              "content_hash": "f683862ad486dd599bf0825c7051eafd7d6d968760c4dc4b8e8394488ec40585",
              "file_modified_at": "2026-06-30T15:21:19.602824+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.850533+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.850533+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 728,
              "source_type": "youtube",
              "video_id": "OEbgj_Lk4vI",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1039-vibe-coding-die-ki-revolution-für-dein-unternehmen.md",
              "content_hash": "0c0d496fec6f8ca63795c2179ee386cc49d41d2581f32bc97abba0a5cf94b038",
              "file_modified_at": "2026-06-29T12:05:03.371986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.259972+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.259972+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "OKCigODD-Yg",
      "video_id": 220,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-220-obsidian.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1011-obsidian.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1011-obsidian.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-220-obsidian.md",
          "sha256_before": "4a5e429040c62ba51d6dd5dcf2bb32c65060913c4b8a558b716871ae980402d0",
          "size": 1607,
          "mtime": 1782734703.3169856,
          "registry_refs": [
            {
              "id": 86,
              "source_system": "youtube-research",
              "source_id": "1011",
              "source_external_id": "OKCigODD-Yg",
              "source_title": "Obsidian",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1011-obsidian.md",
              "artifact_hash": "4a5e429040c62ba51d6dd5dcf2bb32c65060913c4b8a558b716871ae980402d0",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1011",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068724",
              "updated_at": "2026-06-29T12:08:25.109960",
              "notes": null
            },
            {
              "id": 968,
              "source_system": "youtube-research",
              "source_id": "220",
              "source_external_id": "OKCigODD-Yg",
              "source_title": "Obsidian",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-220-obsidian.md",
              "artifact_hash": "8b305d977833fe616d0d28ff3ab4b39e9e5dd20834f185ea7fddf2810bb89174",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:220",
              "graphiti_actor": "youtube-research-batch-100-03-runner",
              "graphiti_group_id": "youtube-research-batch-100-03",
              "processed_at": "2026-06-30T16:36:28",
              "updated_at": "2026-06-30T16:36:28",
              "notes": "Batch-100-03 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 437,
              "source_type": "youtube",
              "video_id": "OKCigODD-Yg",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-220-obsidian.md",
              "content_hash": "8b305d977833fe616d0d28ff3ab4b39e9e5dd20834f185ea7fddf2810bb89174",
              "file_modified_at": "2026-06-30T16:36:19.405941+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.949525+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.949525+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 738,
              "source_type": "youtube",
              "video_id": "OKCigODD-Yg",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1011-obsidian.md",
              "content_hash": "4a5e429040c62ba51d6dd5dcf2bb32c65060913c4b8a558b716871ae980402d0",
              "file_modified_at": "2026-06-29T12:05:03.316986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.269930+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.269930+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "error",
          "error": "source_changed"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "OMSru4IXPEc",
      "video_id": 526,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-526-so-holst-du-5x-mehr-aus-dem-claude-nutzungsli.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1029-so-holst-du-5x-mehr-aus-dem-claude-nutzungslimit.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1029-so-holst-du-5x-mehr-aus-dem-claude-nutzungslimit.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-526-so-holst-du-5x-mehr-aus-dem-claude-nutzungsli.md",
          "sha256_before": "be3a9a45b0883c0b2bb6f016c0ff8a01517e29c0946df1dd5f233d38ff1687c7",
          "size": 2654,
          "mtime": 1782734703.3489857,
          "registry_refs": [
            {
              "id": 104,
              "source_system": "youtube-research",
              "source_id": "1029",
              "source_external_id": "OMSru4IXPEc",
              "source_title": "So holst du 5x mehr aus dem Claude Nutzungslimit",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1029-so-holst-du-5x-mehr-aus-dem-claude-nutzungslimit.md",
              "artifact_hash": "be3a9a45b0883c0b2bb6f016c0ff8a01517e29c0946df1dd5f233d38ff1687c7",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1029",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068935",
              "updated_at": "2026-06-29T12:15:39.262657",
              "notes": null
            },
            {
              "id": 748,
              "source_system": "youtube-research",
              "source_id": "526",
              "source_external_id": "OMSru4IXPEc",
              "source_title": "So holst du 5x mehr aus dem Claude Nutzungslimit",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-526-so-holst-du-5x-mehr-aus-dem-claude-nutzungsli.md",
              "artifact_hash": "94a2168b7c833cdf903bda72720f6f36d9e1ac15f08d8df893460c431f25cba3",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:526",
              "graphiti_actor": "youtube-research-batch-100-02-runner",
              "graphiti_group_id": "youtube-research-batch-100-02",
              "processed_at": "2026-06-30T15:24:39",
              "updated_at": "2026-06-30T15:24:39",
              "notes": "Batch-100-02 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 295,
              "source_type": "youtube",
              "video_id": "OMSru4IXPEc",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-526-so-holst-du-5x-mehr-aus-dem-claude-nutzungsli.md",
              "content_hash": "94a2168b7c833cdf903bda72720f6f36d9e1ac15f08d8df893460c431f25cba3",
              "file_modified_at": "2026-06-30T15:24:23.111267+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.813989+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.813989+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 754,
              "source_type": "youtube",
              "video_id": "OMSru4IXPEc",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1029-so-holst-du-5x-mehr-aus-dem-claude-nutzungslimit.md",
              "content_hash": "be3a9a45b0883c0b2bb6f016c0ff8a01517e29c0946df1dd5f233d38ff1687c7",
              "file_modified_at": "2026-06-29T12:05:03.348986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.286702+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.286702+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "Ob5Vu-gD3mo",
      "video_id": 415,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-415-claude-managed-agents-just-dropped-and-it-kil.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1027-claude-managed-agents-just-dropped-and-it-kills-n8.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1027-claude-managed-agents-just-dropped-and-it-kills-n8.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-415-claude-managed-agents-just-dropped-and-it-kil.md",
          "sha256_before": "d9a4e4872309bc3c9fc6ac056d6e95dda9f6154fe37ff81f575b91d8dafad06f",
          "size": 3082,
          "mtime": 1782734703.3459857,
          "registry_refs": [
            {
              "id": 102,
              "source_system": "youtube-research",
              "source_id": "1027",
              "source_external_id": "Ob5Vu-gD3mo",
              "source_title": "Claude Managed Agents Just Dropped, And It Kills n8n",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1027-claude-managed-agents-just-dropped-and-it-kills-n8.md",
              "artifact_hash": "d9a4e4872309bc3c9fc6ac056d6e95dda9f6154fe37ff81f575b91d8dafad06f",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1027",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068913",
              "updated_at": "2026-06-29T12:14:59.535570",
              "notes": null
            },
            {
              "id": 770,
              "source_system": "youtube-research",
              "source_id": "415",
              "source_external_id": "Ob5Vu-gD3mo",
              "source_title": "Claude Managed Agents Just Dropped, And It Kills n8n",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-415-claude-managed-agents-just-dropped-and-it-kil.md",
              "artifact_hash": "3a51991b49cd3963a368d9294cd03ff4f50cc9af93ac17682d893f0d5e06aef4",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:415",
              "graphiti_actor": "youtube-research-batch-100-02-runner",
              "graphiti_group_id": "youtube-research-batch-100-02",
              "processed_at": "2026-06-30T15:30:11",
              "updated_at": "2026-06-30T15:30:11",
              "notes": "Batch-100-02 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 304,
              "source_type": "youtube",
              "video_id": "Ob5Vu-gD3mo",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-415-claude-managed-agents-just-dropped-and-it-kil.md",
              "content_hash": "3a51991b49cd3963a368d9294cd03ff4f50cc9af93ac17682d893f0d5e06aef4",
              "file_modified_at": "2026-06-30T15:29:48.519060+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.822933+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.822933+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 717,
              "source_type": "youtube",
              "video_id": "Ob5Vu-gD3mo",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1027-claude-managed-agents-just-dropped-and-it-kills-n8.md",
              "content_hash": "d9a4e4872309bc3c9fc6ac056d6e95dda9f6154fe37ff81f575b91d8dafad06f",
              "file_modified_at": "2026-06-29T12:05:03.345986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.249052+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.249052+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "QoQBzR1NIqI",
      "video_id": 408,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-408-claude-code-full-course-4-hours-build-sell-20.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1009-claude-code-full-course-4-hours-build-sell-2026.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1009-claude-code-full-course-4-hours-build-sell-2026.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-408-claude-code-full-course-4-hours-build-sell-20.md",
          "sha256_before": "b25e4a723a0a6e0e0bf9044ba166b14a31b5ebf8c3586d5ae23fe3c7c183d531",
          "size": 3071,
          "mtime": 1782734703.3159857,
          "registry_refs": [
            {
              "id": 84,
              "source_system": "youtube-research",
              "source_id": "1009",
              "source_external_id": "QoQBzR1NIqI",
              "source_title": "CLAUDE CODE FULL COURSE 4 HOURS: Build & Sell (2026)",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1009-claude-code-full-course-4-hours-build-sell-2026.md",
              "artifact_hash": "b25e4a723a0a6e0e0bf9044ba166b14a31b5ebf8c3586d5ae23fe3c7c183d531",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1009",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068668",
              "updated_at": "2026-06-29T12:07:55.675153",
              "notes": null
            },
            {
              "id": 500,
              "source_system": "youtube-research",
              "source_id": "408",
              "source_external_id": "QoQBzR1NIqI",
              "source_title": "CLAUDE CODE FULL COURSE 4 HOURS: Build & Sell (2026)",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-408-claude-code-full-course-4-hours-build-sell-20.md",
              "artifact_hash": "b6f862dc0b6b37c70f56d5e1b72238e516f60f2c844f26cfd32168cc27ca87b9",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:408",
              "graphiti_actor": "youtube-research-batch-100-01-runner",
              "graphiti_group_id": "youtube-research-batch-100-01",
              "processed_at": "2026-06-30T13:40:52",
              "updated_at": "2026-06-30T13:40:52",
              "notes": "Batch-100-01 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 590,
              "source_type": "youtube",
              "video_id": "QoQBzR1NIqI",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-408-claude-code-full-course-4-hours-build-sell-20.md",
              "content_hash": "b6f862dc0b6b37c70f56d5e1b72238e516f60f2c844f26cfd32168cc27ca87b9",
              "file_modified_at": "2026-06-30T13:40:43.543542+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.113989+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.113989+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 722,
              "source_type": "youtube",
              "video_id": "QoQBzR1NIqI",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1009-claude-code-full-course-4-hours-build-sell-2026.md",
              "content_hash": "b25e4a723a0a6e0e0bf9044ba166b14a31b5ebf8c3586d5ae23fe3c7c183d531",
              "file_modified_at": "2026-06-29T12:05:03.315986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.254233+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.254233+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "QufcrM79snw",
      "video_id": 406,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-406-paperclip-sucks-actually.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1025-paperclip-sucks-actually.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1025-paperclip-sucks-actually.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-406-paperclip-sucks-actually.md",
          "sha256_before": "822aca8ee8a9c332c3dfbf5a41d2b92f9c541ae3874c51a9555a9afa698ffaed",
          "size": 2792,
          "mtime": 1782734703.3429856,
          "registry_refs": [
            {
              "id": 100,
              "source_system": "youtube-research",
              "source_id": "1025",
              "source_external_id": "QufcrM79snw",
              "source_title": "Paperclip Sucks, Actually",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1025-paperclip-sucks-actually.md",
              "artifact_hash": "822aca8ee8a9c332c3dfbf5a41d2b92f9c541ae3874c51a9555a9afa698ffaed",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1025",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068890",
              "updated_at": "2026-06-29T12:14:01.787094",
              "notes": null
            },
            {
              "id": 820,
              "source_system": "youtube-research",
              "source_id": "406",
              "source_external_id": "QufcrM79snw",
              "source_title": "Paperclip Sucks, Actually",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-406-paperclip-sucks-actually.md",
              "artifact_hash": "b7b863569d1aa8a0eedd15d2c126615512c3c050baaf40e78f6cc53422a70b41",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:406",
              "graphiti_actor": "youtube-research-batch-100-03-runner",
              "graphiti_group_id": "youtube-research-batch-100-03",
              "processed_at": "2026-06-30T16:07:46",
              "updated_at": "2026-06-30T16:07:46",
              "notes": "Batch-100-03 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 423,
              "source_type": "youtube",
              "video_id": "QufcrM79snw",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-406-paperclip-sucks-actually.md",
              "content_hash": "b7b863569d1aa8a0eedd15d2c126615512c3c050baaf40e78f6cc53422a70b41",
              "file_modified_at": "2026-06-30T16:07:30.757420+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.935969+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.935969+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 721,
              "source_type": "youtube",
              "video_id": "QufcrM79snw",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1025-paperclip-sucks-actually.md",
              "content_hash": "822aca8ee8a9c332c3dfbf5a41d2b92f9c541ae3874c51a9555a9afa698ffaed",
              "file_modified_at": "2026-06-29T12:05:03.342986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.253198+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.253198+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "RAZVk5NPNtE",
      "video_id": 387,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-387-claude-code-skills-just-got-even-better.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1015-claude-code-skills-just-got-even-better.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1015-claude-code-skills-just-got-even-better.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-387-claude-code-skills-just-got-even-better.md",
          "sha256_before": "0e972b22d0228e32a8ce122685d0e2238a2a7db14f9e0cc1fd341da9aa104986",
          "size": 3019,
          "mtime": 1782734703.3209856,
          "registry_refs": [
            {
              "id": 90,
              "source_system": "youtube-research",
              "source_id": "1015",
              "source_external_id": "RAZVk5NPNtE",
              "source_title": "Claude Code Skills Just Got Even Better",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1015-claude-code-skills-just-got-even-better.md",
              "artifact_hash": "0e972b22d0228e32a8ce122685d0e2238a2a7db14f9e0cc1fd341da9aa104986",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1015",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068782",
              "updated_at": "2026-06-29T12:09:59.846887",
              "notes": null
            },
            {
              "id": 932,
              "source_system": "youtube-research",
              "source_id": "387",
              "source_external_id": "RAZVk5NPNtE",
              "source_title": "Claude Code Skills Just Got Even Better",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-387-claude-code-skills-just-got-even-better.md",
              "artifact_hash": "c7814eae7fda240266fb16b47fd7050e51031f5f6102e633f6ed8377689091d6",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:387",
              "graphiti_actor": "youtube-research-batch-100-03-runner",
              "graphiti_group_id": "youtube-research-batch-100-03",
              "processed_at": "2026-06-30T16:30:11",
              "updated_at": "2026-06-30T16:30:11",
              "notes": "Batch-100-03 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 359,
              "source_type": "youtube",
              "video_id": "RAZVk5NPNtE",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-387-claude-code-skills-just-got-even-better.md",
              "content_hash": "c7814eae7fda240266fb16b47fd7050e51031f5f6102e633f6ed8377689091d6",
              "file_modified_at": "2026-06-30T16:29:32.360898+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.875370+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.875370+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 736,
              "source_type": "youtube",
              "video_id": "RAZVk5NPNtE",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1015-claude-code-skills-just-got-even-better.md",
              "content_hash": "0e972b22d0228e32a8ce122685d0e2238a2a7db14f9e0cc1fd341da9aa104986",
              "file_modified_at": "2026-06-29T12:05:03.320986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.268169+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.268169+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "RHZLJhp-JMM",
      "video_id": 403,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-403-paperclip-is-insane-full-tutorial.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1024-paperclip-is-insane-full-tutorial.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1024-paperclip-is-insane-full-tutorial.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-403-paperclip-is-insane-full-tutorial.md",
          "sha256_before": "fb5848d2f4b15dd736283325e181371444c139dad1cfe31d421eda8ee505745d",
          "size": 2692,
          "mtime": 1782734703.3419857,
          "registry_refs": [
            {
              "id": 99,
              "source_system": "youtube-research",
              "source_id": "1024",
              "source_external_id": "RHZLJhp-JMM",
              "source_title": "Paperclip Is Insane - Full Tutorial",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1024-paperclip-is-insane-full-tutorial.md",
              "artifact_hash": "fb5848d2f4b15dd736283325e181371444c139dad1cfe31d421eda8ee505745d",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1024",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068879",
              "updated_at": "2026-06-29T12:13:52.332273",
              "notes": null
            },
            {
              "id": 782,
              "source_system": "youtube-research",
              "source_id": "403",
              "source_external_id": "RHZLJhp-JMM",
              "source_title": "Paperclip Is Insane - Full Tutorial",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-403-paperclip-is-insane-full-tutorial.md",
              "artifact_hash": "84c82e13f59612d5ca9311a0f334f161b86e83a581055b28dcc8705e1ec12424",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:403",
              "graphiti_actor": "youtube-research-batch-100-03-runner",
              "graphiti_group_id": "youtube-research-batch-100-03",
              "processed_at": "2026-06-30T15:59:49",
              "updated_at": "2026-06-30T15:59:49",
              "notes": "Batch-100-03 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 446,
              "source_type": "youtube",
              "video_id": "RHZLJhp-JMM",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-403-paperclip-is-insane-full-tutorial.md",
              "content_hash": "84c82e13f59612d5ca9311a0f334f161b86e83a581055b28dcc8705e1ec12424",
              "file_modified_at": "2026-06-30T15:59:37.188283+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.957468+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.957468+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 709,
              "source_type": "youtube",
              "video_id": "RHZLJhp-JMM",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1024-paperclip-is-insane-full-tutorial.md",
              "content_hash": "fb5848d2f4b15dd736283325e181371444c139dad1cfe31d421eda8ee505745d",
              "file_modified_at": "2026-06-29T12:05:03.341986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.240598+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.240598+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "RnBa0HBZUuQ",
      "video_id": 141,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-141-ich-habe-claude-cowork-getestet-das-ergebnis.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1001-ich-habe-claude-cowork-getestet-das-ergebnis-schoc.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1001-ich-habe-claude-cowork-getestet-das-ergebnis-schoc.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-141-ich-habe-claude-cowork-getestet-das-ergebnis.md",
          "sha256_before": "e0b68167f144100e29699e3b6adfbf6ec955d46b862178031e756b5a85537e8f",
          "size": 2635,
          "mtime": 1782734703.2759855,
          "registry_refs": [
            {
              "id": 76,
              "source_system": "youtube-research",
              "source_id": "1001",
              "source_external_id": "RnBa0HBZUuQ",
              "source_title": "Ich habe Claude Cowork getestet – das Ergebnis schockiert",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1001-ich-habe-claude-cowork-getestet-das-ergebnis-schoc.md",
              "artifact_hash": "e0b68167f144100e29699e3b6adfbf6ec955d46b862178031e756b5a85537e8f",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1001",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068570",
              "updated_at": "2026-06-29T12:05:36.211260",
              "notes": "HTTP 422"
            },
            {
              "id": 512,
              "source_system": "youtube-research",
              "source_id": "141",
              "source_external_id": "RnBa0HBZUuQ",
              "source_title": "Ich habe Claude Cowork getestet – das Ergebnis schockiert",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-141-ich-habe-claude-cowork-getestet-das-ergebnis.md",
              "artifact_hash": "7650afb62cefb9c69e28307ab47585d94395743b5c6a656c267f1de89597b861",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:141",
              "graphiti_actor": "youtube-research-batch-100-01-runner",
              "graphiti_group_id": "youtube-research-batch-100-01",
              "processed_at": "2026-06-30T13:42:02",
              "updated_at": "2026-06-30T13:42:02",
              "notes": "Batch-100-01 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 642,
              "source_type": "youtube",
              "video_id": "RnBa0HBZUuQ",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-141-ich-habe-claude-cowork-getestet-das-ergebnis.md",
              "content_hash": "7650afb62cefb9c69e28307ab47585d94395743b5c6a656c267f1de89597b861",
              "file_modified_at": "2026-06-30T13:41:52.415723+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.170208+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.170208+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 732,
              "source_type": "youtube",
              "video_id": "RnBa0HBZUuQ",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1001-ich-habe-claude-cowork-getestet-das-ergebnis-schoc.md",
              "content_hash": "e0b68167f144100e29699e3b6adfbf6ec955d46b862178031e756b5a85537e8f",
              "file_modified_at": "2026-06-29T12:05:03.275985+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.264005+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.264005+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "SMNhtBT-NGQ",
      "video_id": 534,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-534-krass-das-k-nnen-claude-managed-agents-alle-f.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1035-krass-das-können-claude-managed-agents-alle-funkti.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1035-krass-das-können-claude-managed-agents-alle-funkti.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-534-krass-das-k-nnen-claude-managed-agents-alle-f.md",
          "sha256_before": "faf5ac72ac777ed897de7f636f06f92c64c4c0775e2d2f03d3f0889382351353",
          "size": 3444,
          "mtime": 1782734703.3609858,
          "registry_refs": [
            {
              "id": 110,
              "source_system": "youtube-research",
              "source_id": "1035",
              "source_external_id": "SMNhtBT-NGQ",
              "source_title": "Krass: Das können Claude „Managed AGENTS”! (Alle Funktionen + Beispiele)",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1035-krass-das-können-claude-managed-agents-alle-funkti.md",
              "artifact_hash": "faf5ac72ac777ed897de7f636f06f92c64c4c0775e2d2f03d3f0889382351353",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1035",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.069004",
              "updated_at": "2026-06-29T12:18:22.758885",
              "notes": null
            },
            {
              "id": 758,
              "source_system": "youtube-research",
              "source_id": "534",
              "source_external_id": "SMNhtBT-NGQ",
              "source_title": "Krass: Das können Claude „Managed AGENTS”! (Alle Funktionen + Beispiele)",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-534-krass-das-k-nnen-claude-managed-agents-alle-f.md",
              "artifact_hash": "fdac64fd3a817eca54877847a8aa18c491ba2aab62177c998ec7d0253e6b4801",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:534",
              "graphiti_actor": "youtube-research-batch-100-02-runner",
              "graphiti_group_id": "youtube-research-batch-100-02",
              "processed_at": "2026-06-30T15:27:15",
              "updated_at": "2026-06-30T15:27:15",
              "notes": "Batch-100-02 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 267,
              "source_type": "youtube",
              "video_id": "SMNhtBT-NGQ",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-534-krass-das-k-nnen-claude-managed-agents-alle-f.md",
              "content_hash": "fdac64fd3a817eca54877847a8aa18c491ba2aab62177c998ec7d0253e6b4801",
              "file_modified_at": "2026-06-30T15:26:42.109604+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.786789+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.786789+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 751,
              "source_type": "youtube",
              "video_id": "SMNhtBT-NGQ",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1035-krass-das-können-claude-managed-agents-alle-funkti.md",
              "content_hash": "faf5ac72ac777ed897de7f636f06f92c64c4c0775e2d2f03d3f0889382351353",
              "file_modified_at": "2026-06-29T12:05:03.360986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.283236+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.283236+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "TUKYbUIXLOE",
      "video_id": 390,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-390-the-6-levels-of-claude-code-explained.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1016-the-6-levels-of-claude-code-explained.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1016-the-6-levels-of-claude-code-explained.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-390-the-6-levels-of-claude-code-explained.md",
          "sha256_before": "b71866313348c3e1f0779d508d850cd903417a0f7f048d00833f12a554b1f439",
          "size": 2962,
          "mtime": 1782734703.3239856,
          "registry_refs": [
            {
              "id": 91,
              "source_system": "youtube-research",
              "source_id": "1016",
              "source_external_id": "TUKYbUIXLOE",
              "source_title": "The 6 Levels of Claude Code Explained",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1016-the-6-levels-of-claude-code-explained.md",
              "artifact_hash": "b71866313348c3e1f0779d508d850cd903417a0f7f048d00833f12a554b1f439",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1016",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068792",
              "updated_at": "2026-06-29T12:10:25.029866",
              "notes": null
            },
            {
              "id": 928,
              "source_system": "youtube-research",
              "source_id": "390",
              "source_external_id": "TUKYbUIXLOE",
              "source_title": "The 6 Levels of Claude Code Explained",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-390-the-6-levels-of-claude-code-explained.md",
              "artifact_hash": "e5e48bee1921aede3cc66d19659e8b5759525ff1952059dd6c3679a7c0c0a7db",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:390",
              "graphiti_actor": "youtube-research-batch-100-03-runner",
              "graphiti_group_id": "youtube-research-batch-100-03",
              "processed_at": "2026-06-30T16:29:13",
              "updated_at": "2026-06-30T16:29:13",
              "notes": "Batch-100-03 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 416,
              "source_type": "youtube",
              "video_id": "TUKYbUIXLOE",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-390-the-6-levels-of-claude-code-explained.md",
              "content_hash": "e5e48bee1921aede3cc66d19659e8b5759525ff1952059dd6c3679a7c0c0a7db",
              "file_modified_at": "2026-06-30T16:28:55.393802+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.929175+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.929175+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 742,
              "source_type": "youtube",
              "video_id": "TUKYbUIXLOE",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1016-the-6-levels-of-claude-code-explained.md",
              "content_hash": "b71866313348c3e1f0779d508d850cd903417a0f7f048d00833f12a554b1f439",
              "file_modified_at": "2026-06-29T12:05:03.323986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.273490+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.273490+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "UPtmKh1vMN8",
      "video_id": 384,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-384-claude-code-advanced-course-3-hours.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1006-claude-code-advanced-course-3-hours.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1006-claude-code-advanced-course-3-hours.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-384-claude-code-advanced-course-3-hours.md",
          "sha256_before": "818500229b6e3a0de1cd1f4d219146f4b1391d3a479432f44f58bd127b9bf908",
          "size": 2788,
          "mtime": 1782734703.2929854,
          "registry_refs": [
            {
              "id": 81,
              "source_system": "youtube-research",
              "source_id": "1006",
              "source_external_id": "UPtmKh1vMN8",
              "source_title": "CLAUDE CODE ADVANCED COURSE — 3 HOURS",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1006-claude-code-advanced-course-3-hours.md",
              "artifact_hash": "818500229b6e3a0de1cd1f4d219146f4b1391d3a479432f44f58bd127b9bf908",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1006",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068637",
              "updated_at": "2026-06-29T12:06:46.332869",
              "notes": null
            },
            {
              "id": 480,
              "source_system": "youtube-research",
              "source_id": "384",
              "source_external_id": "UPtmKh1vMN8",
              "source_title": "CLAUDE CODE ADVANCED COURSE — 3 HOURS",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-384-claude-code-advanced-course-3-hours.md",
              "artifact_hash": "9062f7cd12edee3845430ae91e85ad596f859fbb055d2502a29495523c38a53a",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:384",
              "graphiti_actor": "youtube-research-batch-100-01-runner",
              "graphiti_group_id": "youtube-research-batch-100-01",
              "processed_at": "2026-06-30T13:38:09",
              "updated_at": "2026-06-30T13:38:09",
              "notes": "Batch-100-01 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 575,
              "source_type": "youtube",
              "video_id": "UPtmKh1vMN8",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-384-claude-code-advanced-course-3-hours.md",
              "content_hash": "9062f7cd12edee3845430ae91e85ad596f859fbb055d2502a29495523c38a53a",
              "file_modified_at": "2026-06-30T13:37:48.247075+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.097968+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.097968+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 710,
              "source_type": "youtube",
              "video_id": "UPtmKh1vMN8",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1006-claude-code-advanced-course-3-hours.md",
              "content_hash": "818500229b6e3a0de1cd1f4d219146f4b1391d3a479432f44f58bd127b9bf908",
              "file_modified_at": "2026-06-29T12:05:03.292985+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.242025+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.242025+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "UxfeF4bSBYI",
      "video_id": 393,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-393-claude-code-skills-just-got-a-massive-upgrade.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1018-claude-code-skills-just-got-a-massive-upgrade.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1018-claude-code-skills-just-got-a-massive-upgrade.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-393-claude-code-skills-just-got-a-massive-upgrade.md",
          "sha256_before": "f3719ee0f4029998abc44b2e1d57b552c782f55ea1ef2bad36e53917b2c117a0",
          "size": 3028,
          "mtime": 1782734703.3279855,
          "registry_refs": [
            {
              "id": 93,
              "source_system": "youtube-research",
              "source_id": "1018",
              "source_external_id": "UxfeF4bSBYI",
              "source_title": "Claude Code Skills Just Got a MASSIVE Upgrade",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1018-claude-code-skills-just-got-a-massive-upgrade.md",
              "artifact_hash": "f3719ee0f4029998abc44b2e1d57b552c782f55ea1ef2bad36e53917b2c117a0",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1018",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068813",
              "updated_at": "2026-06-29T12:11:04.535180",
              "notes": null
            },
            {
              "id": 934,
              "source_system": "youtube-research",
              "source_id": "393",
              "source_external_id": "UxfeF4bSBYI",
              "source_title": "Claude Code Skills Just Got a MASSIVE Upgrade",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-393-claude-code-skills-just-got-a-massive-upgrade.md",
              "artifact_hash": "a34fe29f2e1ba89c00b75d0c932a91a575d9b01dc65e049e4e4f1345e5dc3ac9",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:393",
              "graphiti_actor": "youtube-research-batch-100-03-runner",
              "graphiti_group_id": "youtube-research-batch-100-03",
              "processed_at": "2026-06-30T16:30:23",
              "updated_at": "2026-06-30T16:30:23",
              "notes": "Batch-100-03 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 454,
              "source_type": "youtube",
              "video_id": "UxfeF4bSBYI",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-393-claude-code-skills-just-got-a-massive-upgrade.md",
              "content_hash": "a34fe29f2e1ba89c00b75d0c932a91a575d9b01dc65e049e4e4f1345e5dc3ac9",
              "file_modified_at": "2026-06-30T16:30:11.886000+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.964535+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.964535+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 725,
              "source_type": "youtube",
              "video_id": "UxfeF4bSBYI",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1018-claude-code-skills-just-got-a-massive-upgrade.md",
              "content_hash": "f3719ee0f4029998abc44b2e1d57b552c782f55ea1ef2bad36e53917b2c117a0",
              "file_modified_at": "2026-06-29T12:05:03.327986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.257049+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.257049+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "Vzaccv7-qNw",
      "video_id": 531,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-531-paperclip-ist-next-level.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1032-paperclip-ist-next-level.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1032-paperclip-ist-next-level.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-531-paperclip-ist-next-level.md",
          "sha256_before": "cdcdcf34b55e96e84c6b5fab0c9d5bb2d52c88d17d6b7c400be2fcc65e5cfc8c",
          "size": 2775,
          "mtime": 1782734703.3569856,
          "registry_refs": [
            {
              "id": 107,
              "source_system": "youtube-research",
              "source_id": "1032",
              "source_external_id": "Vzaccv7-qNw",
              "source_title": "Paperclip ist NEXT LEVEL!!",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1032-paperclip-ist-next-level.md",
              "artifact_hash": "cdcdcf34b55e96e84c6b5fab0c9d5bb2d52c88d17d6b7c400be2fcc65e5cfc8c",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1032",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068969",
              "updated_at": "2026-06-29T12:17:00.463600",
              "notes": null
            },
            {
              "id": 750,
              "source_system": "youtube-research",
              "source_id": "531",
              "source_external_id": "Vzaccv7-qNw",
              "source_title": "Paperclip ist NEXT LEVEL!!",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-531-paperclip-ist-next-level.md",
              "artifact_hash": "adce5f31cf71886da2ddfc409b28fca722a3583d75b8b61eb68e1d770d5d0eb3",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:531",
              "graphiti_actor": "youtube-research-batch-100-02-runner",
              "graphiti_group_id": "youtube-research-batch-100-02",
              "processed_at": "2026-06-30T15:25:24",
              "updated_at": "2026-06-30T15:25:24",
              "notes": "Batch-100-02 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 246,
              "source_type": "youtube",
              "video_id": "Vzaccv7-qNw",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-531-paperclip-ist-next-level.md",
              "content_hash": "adce5f31cf71886da2ddfc409b28fca722a3583d75b8b61eb68e1d770d5d0eb3",
              "file_modified_at": "2026-06-30T15:24:40.214308+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.765146+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.765146+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 750,
              "source_type": "youtube",
              "video_id": "Vzaccv7-qNw",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1032-paperclip-ist-next-level.md",
              "content_hash": "cdcdcf34b55e96e84c6b5fab0c9d5bb2d52c88d17d6b7c400be2fcc65e5cfc8c",
              "file_modified_at": "2026-06-29T12:05:03.356986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.282224+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.282224+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "WC0NOMb3Yn0",
      "video_id": 855,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-855-ollama-full-tutorial-for-beginners-2026-how-t.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1045-ollama-full-tutorial-for-beginners-2026-how-to-use.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1045-ollama-full-tutorial-for-beginners-2026-how-to-use.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-855-ollama-full-tutorial-for-beginners-2026-how-t.md",
          "sha256_before": "167c059c7322ea6c2ff8e9d4402c5ab0e39b90b5746f867e632cc95d1dda1070",
          "size": 3131,
          "mtime": 1782734703.3809857,
          "registry_refs": [
            {
              "id": 120,
              "source_system": "youtube-research",
              "source_id": "1045",
              "source_external_id": "WC0NOMb3Yn0",
              "source_title": "Ollama Full Tutorial for Beginners 2026: How to Use Ollama",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1045-ollama-full-tutorial-for-beginners-2026-how-to-use.md",
              "artifact_hash": "167c059c7322ea6c2ff8e9d4402c5ab0e39b90b5746f867e632cc95d1dda1070",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1045",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.069124",
              "updated_at": "2026-06-29T12:22:18.778284",
              "notes": null
            },
            {
              "id": 670,
              "source_system": "youtube-research",
              "source_id": "855",
              "source_external_id": "WC0NOMb3Yn0",
              "source_title": "Ollama Full Tutorial for Beginners 2026: How to Use Ollama",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-855-ollama-full-tutorial-for-beginners-2026-how-t.md",
              "artifact_hash": "d5e21687f7df64ed5c242ef0758c397ab5d1d510d838a891cabcda475a80c70e",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:855",
              "graphiti_actor": "youtube-research-batch-100-02-runner",
              "graphiti_group_id": "youtube-research-batch-100-02",
              "processed_at": "2026-06-30T15:08:08",
              "updated_at": "2026-06-30T15:08:08",
              "notes": "Batch-100-02 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 328,
              "source_type": "youtube",
              "video_id": "WC0NOMb3Yn0",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-855-ollama-full-tutorial-for-beginners-2026-how-t.md",
              "content_hash": "d5e21687f7df64ed5c242ef0758c397ab5d1d510d838a891cabcda475a80c70e",
              "file_modified_at": "2026-06-30T15:07:52.874985+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.846583+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.846583+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 741,
              "source_type": "youtube",
              "video_id": "WC0NOMb3Yn0",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1045-ollama-full-tutorial-for-beginners-2026-how-to-use.md",
              "content_hash": "167c059c7322ea6c2ff8e9d4402c5ab0e39b90b5746f867e632cc95d1dda1070",
              "file_modified_at": "2026-06-29T12:05:03.380986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.272638+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.272638+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "Y09u_S3w2c8",
      "video_id": 394,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-394-every-level-of-claude-code-explained-in-39-mi.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1019-every-level-of-claude-code-explained-in-39-minutes.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1019-every-level-of-claude-code-explained-in-39-minutes.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-394-every-level-of-claude-code-explained-in-39-mi.md",
          "sha256_before": "4d68b7ea0d020dbe6d8f094907bccb8b09d1c8d2d64aaa03987ccf6fe952f04d",
          "size": 3153,
          "mtime": 1782734703.3309855,
          "registry_refs": [
            {
              "id": 94,
              "source_system": "youtube-research",
              "source_id": "1019",
              "source_external_id": "Y09u_S3w2c8",
              "source_title": "Every Level of Claude Code Explained in 39 Minutes",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1019-every-level-of-claude-code-explained-in-39-minutes.md",
              "artifact_hash": "4d68b7ea0d020dbe6d8f094907bccb8b09d1c8d2d64aaa03987ccf6fe952f04d",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1019",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068823",
              "updated_at": "2026-06-29T12:11:32.240860",
              "notes": null
            },
            {
              "id": 944,
              "source_system": "youtube-research",
              "source_id": "394",
              "source_external_id": "Y09u_S3w2c8",
              "source_title": "Every Level of Claude Code Explained in 39 Minutes",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-394-every-level-of-claude-code-explained-in-39-mi.md",
              "artifact_hash": "14f7c72b73dcc320a2c061fbfaafbc2a716bc8e17c35b9bb64aa71287ee47680",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:394",
              "graphiti_actor": "youtube-research-batch-100-03-runner",
              "graphiti_group_id": "youtube-research-batch-100-03",
              "processed_at": "2026-06-30T16:32:29",
              "updated_at": "2026-06-30T16:32:29",
              "notes": "Batch-100-03 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 398,
              "source_type": "youtube",
              "video_id": "Y09u_S3w2c8",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-394-every-level-of-claude-code-explained-in-39-mi.md",
              "content_hash": "14f7c72b73dcc320a2c061fbfaafbc2a716bc8e17c35b9bb64aa71287ee47680",
              "file_modified_at": "2026-06-30T16:32:03.796289+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.911508+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.911508+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 737,
              "source_type": "youtube",
              "video_id": "Y09u_S3w2c8",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1019-every-level-of-claude-code-explained-in-39-minutes.md",
              "content_hash": "4d68b7ea0d020dbe6d8f094907bccb8b09d1c8d2d64aaa03987ccf6fe952f04d",
              "file_modified_at": "2026-06-29T12:05:03.330986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.269057+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.269057+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "c2AjzR3c8YU",
      "video_id": 378,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-378-das-ist-paperclipai-ai-ki-automation-n8n-clau.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1012-das-ist-paperclipai-ai-ki-automation-n8n-claude-cl.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1012-das-ist-paperclipai-ai-ki-automation-n8n-claude-cl.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-378-das-ist-paperclipai-ai-ki-automation-n8n-clau.md",
          "sha256_before": "89d4ea2faf4831ddf7d61d7eb06469d2fd6b7019e6bad244b488988ca0da07eb",
          "size": 2995,
          "mtime": 1782734703.3169856,
          "registry_refs": [
            {
              "id": 87,
              "source_system": "youtube-research",
              "source_id": "1012",
              "source_external_id": "c2AjzR3c8YU",
              "source_title": "Das ist PaperclipAI 👆  #ai #ki #automation #n8n #claude #claudecode #paperclip #aiagents #kiagenten",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1012-das-ist-paperclipai-ai-ki-automation-n8n-claude-cl.md",
              "artifact_hash": "89d4ea2faf4831ddf7d61d7eb06469d2fd6b7019e6bad244b488988ca0da07eb",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1012",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068745",
              "updated_at": "2026-06-29T12:08:43.336173",
              "notes": null
            },
            {
              "id": 812,
              "source_system": "youtube-research",
              "source_id": "378",
              "source_external_id": "c2AjzR3c8YU",
              "source_title": "Das ist PaperclipAI 👆  #ai #ki #automation #n8n #claude #claudecode #paperclip #aiagents #kiagenten",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-378-das-ist-paperclipai-ai-ki-automation-n8n-clau.md",
              "artifact_hash": "8981e4b24d054918b4502f033687ced4b8f45d77fc22f1b8461ad4adbd4180e0",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:378",
              "graphiti_actor": "youtube-research-batch-100-03-runner",
              "graphiti_group_id": "youtube-research-batch-100-03",
              "processed_at": "2026-06-30T16:06:14",
              "updated_at": "2026-06-30T16:06:14",
              "notes": "Batch-100-03 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 420,
              "source_type": "youtube",
              "video_id": "c2AjzR3c8YU",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-378-das-ist-paperclipai-ai-ki-automation-n8n-clau.md",
              "content_hash": "8981e4b24d054918b4502f033687ced4b8f45d77fc22f1b8461ad4adbd4180e0",
              "file_modified_at": "2026-06-30T16:06:02.427207+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.933085+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.933085+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 731,
              "source_type": "youtube",
              "video_id": "c2AjzR3c8YU",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1012-das-ist-paperclipai-ai-ki-automation-n8n-claude-cl.md",
              "content_hash": "89d4ea2faf4831ddf7d61d7eb06469d2fd6b7019e6bad244b488988ca0da07eb",
              "file_modified_at": "2026-06-29T12:05:03.316986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.262976+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.262976+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "gX_u9e9uNQM",
      "video_id": 887,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-887-ich-habe-mit-ki-ein-business-kopiert-das-153.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1049-ich-habe-mit-ki-ein-business-kopiert-das-153000-pr.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1049-ich-habe-mit-ki-ein-business-kopiert-das-153000-pr.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-887-ich-habe-mit-ki-ein-business-kopiert-das-153.md",
          "sha256_before": "22bceabc40f7e19e6fc46a94c49cc74c1d29be17e44b26f7af81ae532c50f90a",
          "size": 2963,
          "mtime": 1782734703.3879857,
          "registry_refs": [
            {
              "id": 124,
              "source_system": "youtube-research",
              "source_id": "1049",
              "source_external_id": "gX_u9e9uNQM",
              "source_title": "Ich habe mit KI ein Business kopiert, das 153.000$ pro Monat verdient… Schritt für Schritt",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1049-ich-habe-mit-ki-ein-business-kopiert-das-153000-pr.md",
              "artifact_hash": "22bceabc40f7e19e6fc46a94c49cc74c1d29be17e44b26f7af81ae532c50f90a",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1049",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.069173",
              "updated_at": "2026-06-29T12:23:48.430672",
              "notes": null
            },
            {
              "id": 762,
              "source_system": "youtube-research",
              "source_id": "887",
              "source_external_id": "gX_u9e9uNQM",
              "source_title": "Ich habe mit KI ein Business kopiert, das 153.000$ pro Monat verdient… Schritt für Schritt",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-887-ich-habe-mit-ki-ein-business-kopiert-das-153.md",
              "artifact_hash": "d08be8ecece0443625ec35030442b032b8501cb94fae228f6073793d7a9f0a69",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:887",
              "graphiti_actor": "youtube-research-batch-100-02-runner",
              "graphiti_group_id": "youtube-research-batch-100-02",
              "processed_at": "2026-06-30T15:28:08",
              "updated_at": "2026-06-30T15:28:08",
              "notes": "Batch-100-02 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 270,
              "source_type": "youtube",
              "video_id": "gX_u9e9uNQM",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-887-ich-habe-mit-ki-ein-business-kopiert-das-153.md",
              "content_hash": "d08be8ecece0443625ec35030442b032b8501cb94fae228f6073793d7a9f0a69",
              "file_modified_at": "2026-06-30T15:27:56.399786+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.789663+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.789663+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 706,
              "source_type": "youtube",
              "video_id": "gX_u9e9uNQM",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1049-ich-habe-mit-ki-ein-business-kopiert-das-153000-pr.md",
              "content_hash": "22bceabc40f7e19e6fc46a94c49cc74c1d29be17e44b26f7af81ae532c50f90a",
              "file_modified_at": "2026-06-29T12:05:03.387986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.237487+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.237487+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "gqYyZuO34x0",
      "video_id": 854,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-854-how-to-use-claude-code-free-forever-ollama-se.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1044-how-to-use-claude-code-free-forever-ollama-setup.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1044-how-to-use-claude-code-free-forever-ollama-setup.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-854-how-to-use-claude-code-free-forever-ollama-se.md",
          "sha256_before": "4efd5a97cf4bf3bc7606301ed2076083fd2a3e65ba955b544a313d7ce026061e",
          "size": 3284,
          "mtime": 1782734703.3789856,
          "registry_refs": [
            {
              "id": 119,
              "source_system": "youtube-research",
              "source_id": "1044",
              "source_external_id": "gqYyZuO34x0",
              "source_title": "How To Use Claude Code FREE Forever (Ollama Setup)",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1044-how-to-use-claude-code-free-forever-ollama-setup.md",
              "artifact_hash": "4efd5a97cf4bf3bc7606301ed2076083fd2a3e65ba955b544a313d7ce026061e",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1044",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.069112",
              "updated_at": "2026-06-29T12:21:51.492200",
              "notes": null
            },
            {
              "id": 946,
              "source_system": "youtube-research",
              "source_id": "854",
              "source_external_id": "gqYyZuO34x0",
              "source_title": "How To Use Claude Code FREE Forever (Ollama Setup)",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-854-how-to-use-claude-code-free-forever-ollama-se.md",
              "artifact_hash": "38996175143d991dee8545f4f5ca6e3d7d80dfe79a9a7db296e30f22765b4c6e",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:854",
              "graphiti_actor": "youtube-research-batch-100-03-runner",
              "graphiti_group_id": "youtube-research-batch-100-03",
              "processed_at": "2026-06-30T16:32:53",
              "updated_at": "2026-06-30T16:32:53",
              "notes": "Batch-100-03 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 412,
              "source_type": "youtube",
              "video_id": "gqYyZuO34x0",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-854-how-to-use-claude-code-free-forever-ollama-se.md",
              "content_hash": "38996175143d991dee8545f4f5ca6e3d7d80dfe79a9a7db296e30f22765b4c6e",
              "file_modified_at": "2026-06-30T16:32:30.415357+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.925223+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.925223+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 720,
              "source_type": "youtube",
              "video_id": "gqYyZuO34x0",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1044-how-to-use-claude-code-free-forever-ollama-setup.md",
              "content_hash": "4efd5a97cf4bf3bc7606301ed2076083fd2a3e65ba955b544a313d7ce026061e",
              "file_modified_at": "2026-06-29T12:05:03.378986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.252207+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.252207+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "hpQhesBroc0",
      "video_id": 527,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-527-mein-chatbot-ersetzt-drei-kontaktformulare-cl.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1030-mein-chatbot-ersetzt-drei-kontaktformulare-claude-.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1030-mein-chatbot-ersetzt-drei-kontaktformulare-claude-.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-527-mein-chatbot-ersetzt-drei-kontaktformulare-cl.md",
          "sha256_before": "be193fb0ac1e1fab119c3fac24c65b74987d02326349ee3c3b31eb17a090eef2",
          "size": 2887,
          "mtime": 1782734703.3509858,
          "registry_refs": [
            {
              "id": 105,
              "source_system": "youtube-research",
              "source_id": "1030",
              "source_external_id": "hpQhesBroc0",
              "source_title": "Mein Chatbot ersetzt drei Kontaktformulare (Claude Code)",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1030-mein-chatbot-ersetzt-drei-kontaktformulare-claude-.md",
              "artifact_hash": "be193fb0ac1e1fab119c3fac24c65b74987d02326349ee3c3b31eb17a090eef2",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1030",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068946",
              "updated_at": "2026-06-29T12:16:11.521851",
              "notes": null
            },
            {
              "id": 752,
              "source_system": "youtube-research",
              "source_id": "527",
              "source_external_id": "hpQhesBroc0",
              "source_title": "Mein Chatbot ersetzt drei Kontaktformulare (Claude Code)",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-527-mein-chatbot-ersetzt-drei-kontaktformulare-cl.md",
              "artifact_hash": "4659409fe3f6402abc043dee15c0c65e6dfd8d7882f1e6cc1c7a24f8c37bb832",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:527",
              "graphiti_actor": "youtube-research-batch-100-02-runner",
              "graphiti_group_id": "youtube-research-batch-100-02",
              "processed_at": "2026-06-30T15:25:52",
              "updated_at": "2026-06-30T15:25:52",
              "notes": "Batch-100-02 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 310,
              "source_type": "youtube",
              "video_id": "hpQhesBroc0",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-527-mein-chatbot-ersetzt-drei-kontaktformulare-cl.md",
              "content_hash": "4659409fe3f6402abc043dee15c0c65e6dfd8d7882f1e6cc1c7a24f8c37bb832",
              "file_modified_at": "2026-06-30T15:25:24.722416+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.829100+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.829100+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 714,
              "source_type": "youtube",
              "video_id": "hpQhesBroc0",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1030-mein-chatbot-ersetzt-drei-kontaktformulare-claude-.md",
              "content_hash": "be193fb0ac1e1fab119c3fac24c65b74987d02326349ee3c3b31eb17a090eef2",
              "file_modified_at": "2026-06-29T12:05:03.350986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.246264+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.246264+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "i4u_sLwTlYw",
      "video_id": 525,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-525-ich-hab-eine-ki-gebaut-die-fast-alles-kann.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1028-ich-hab-eine-ki-gebaut-die-fast-alles-kann.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1028-ich-hab-eine-ki-gebaut-die-fast-alles-kann.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-525-ich-hab-eine-ki-gebaut-die-fast-alles-kann.md",
          "sha256_before": "273595e13766be68dd2b0f16d8492895d029ab90c543512dc8a386db02bbf9e5",
          "size": 2443,
          "mtime": 1782734703.3479857,
          "registry_refs": [
            {
              "id": 103,
              "source_system": "youtube-research",
              "source_id": "1028",
              "source_external_id": "i4u_sLwTlYw",
              "source_title": "Ich hab eine KI gebaut, die fast alles kann",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1028-ich-hab-eine-ki-gebaut-die-fast-alles-kann.md",
              "artifact_hash": "273595e13766be68dd2b0f16d8492895d029ab90c543512dc8a386db02bbf9e5",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1028",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068924",
              "updated_at": "2026-06-29T12:15:22.681189",
              "notes": null
            },
            {
              "id": 760,
              "source_system": "youtube-research",
              "source_id": "525",
              "source_external_id": "i4u_sLwTlYw",
              "source_title": "Ich hab eine KI gebaut, die fast alles kann",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-525-ich-hab-eine-ki-gebaut-die-fast-alles-kann.md",
              "artifact_hash": "177fbdc12f5f45d89749305f5f04b4cefee342ac944449170a011ab692852f88",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:525",
              "graphiti_actor": "youtube-research-batch-100-02-runner",
              "graphiti_group_id": "youtube-research-batch-100-02",
              "processed_at": "2026-06-30T15:27:55",
              "updated_at": "2026-06-30T15:27:55",
              "notes": "Batch-100-02 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 316,
              "source_type": "youtube",
              "video_id": "i4u_sLwTlYw",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-525-ich-hab-eine-ki-gebaut-die-fast-alles-kann.md",
              "content_hash": "177fbdc12f5f45d89749305f5f04b4cefee342ac944449170a011ab692852f88",
              "file_modified_at": "2026-06-30T15:27:16.318688+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.834884+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.834884+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 719,
              "source_type": "youtube",
              "video_id": "i4u_sLwTlYw",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1028-ich-hab-eine-ki-gebaut-die-fast-alles-kann.md",
              "content_hash": "273595e13766be68dd2b0f16d8492895d029ab90c543512dc8a386db02bbf9e5",
              "file_modified_at": "2026-06-29T12:05:03.347986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.251184+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.251184+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "lSFz9P8_fVY",
      "video_id": 165,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-165-wie-du-videos-mit-claude-code-generierst-remo.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1004-wie-du-videos-mit-claude-code-generierst-remotion-.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1004-wie-du-videos-mit-claude-code-generierst-remotion-.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-165-wie-du-videos-mit-claude-code-generierst-remo.md",
          "sha256_before": "89e6cfad4359524392080539fa757b2fafdfb709a7f47f6159130979f57992f0",
          "size": 2630,
          "mtime": 1782734703.2779856,
          "registry_refs": [
            {
              "id": 79,
              "source_system": "youtube-research",
              "source_id": "1004",
              "source_external_id": "lSFz9P8_fVY",
              "source_title": "Wie du Videos mit Claude Code generierst (Remotion Skill)",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1004-wie-du-videos-mit-claude-code-generierst-remotion-.md",
              "artifact_hash": "89e6cfad4359524392080539fa757b2fafdfb709a7f47f6159130979f57992f0",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1004",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068616",
              "updated_at": "2026-06-29T12:06:14.584610",
              "notes": "HTTP 422"
            },
            {
              "id": 508,
              "source_system": "youtube-research",
              "source_id": "165",
              "source_external_id": "lSFz9P8_fVY",
              "source_title": "Wie du Videos mit Claude Code generierst (Remotion Skill)",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-165-wie-du-videos-mit-claude-code-generierst-remo.md",
              "artifact_hash": "94576c1889f98c2d87b7276c6a53834d2e560bd6e5435942d66210be328c409f",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:165",
              "graphiti_actor": "youtube-research-batch-100-01-runner",
              "graphiti_group_id": "youtube-research-batch-100-01",
              "processed_at": "2026-06-30T13:41:38",
              "updated_at": "2026-06-30T13:41:38",
              "notes": "Batch-100-01 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 604,
              "source_type": "youtube",
              "video_id": "lSFz9P8_fVY",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-165-wie-du-videos-mit-claude-code-generierst-remo.md",
              "content_hash": "94576c1889f98c2d87b7276c6a53834d2e560bd6e5435942d66210be328c409f",
              "file_modified_at": "2026-06-30T13:41:25.329652+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.131236+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.131236+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 735,
              "source_type": "youtube",
              "video_id": "lSFz9P8_fVY",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1004-wie-du-videos-mit-claude-code-generierst-remotion-.md",
              "content_hash": "89e6cfad4359524392080539fa757b2fafdfb709a7f47f6159130979f57992f0",
              "file_modified_at": "2026-06-29T12:05:03.277986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.267212+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.267212+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "lcy7YfVyLwc",
      "video_id": 92,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-92-dieses-team-aus-ki-agenten-automatisiert-dein.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1010-dieses-team-aus-ki-agenten-automatisiert-deine-auf.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1010-dieses-team-aus-ki-agenten-automatisiert-deine-auf.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-92-dieses-team-aus-ki-agenten-automatisiert-dein.md",
          "sha256_before": "5020acd606457a65642e78c1f6293e9ecab8f32c4a19971a00fe9409618fadb2",
          "size": 2125,
          "mtime": 1782734703.3169856,
          "registry_refs": [
            {
              "id": 85,
              "source_system": "youtube-research",
              "source_id": "1010",
              "source_external_id": "lcy7YfVyLwc",
              "source_title": "Dieses Team aus KI-Agenten automatisiert deine Aufgaben! #n8n #automatisierung #kiagent",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1010-dieses-team-aus-ki-agenten-automatisiert-deine-auf.md",
              "artifact_hash": "5020acd606457a65642e78c1f6293e9ecab8f32c4a19971a00fe9409618fadb2",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1010",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068688",
              "updated_at": "2026-06-29T12:08:07.630579",
              "notes": null
            },
            {
              "id": 964,
              "source_system": "youtube-research",
              "source_id": "92",
              "source_external_id": "lcy7YfVyLwc",
              "source_title": "Dieses Team aus KI-Agenten automatisiert deine Aufgaben! #n8n #automatisierung #kiagent",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-92-dieses-team-aus-ki-agenten-automatisiert-dein.md",
              "artifact_hash": "ac8fde45c307e5d851a4e227a88ed6133b48ae33a360179ed8de023dac1df2b7",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:92",
              "graphiti_actor": "youtube-research-batch-100-03-runner",
              "graphiti_group_id": "youtube-research-batch-100-03",
              "processed_at": "2026-06-30T16:36:01",
              "updated_at": "2026-06-30T16:36:01",
              "notes": "Batch-100-03 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 414,
              "source_type": "youtube",
              "video_id": "lcy7YfVyLwc",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-92-dieses-team-aus-ki-agenten-automatisiert-dein.md",
              "content_hash": "ac8fde45c307e5d851a4e227a88ed6133b48ae33a360179ed8de023dac1df2b7",
              "file_modified_at": "2026-06-30T16:35:42.701848+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.927174+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.927174+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 739,
              "source_type": "youtube",
              "video_id": "lcy7YfVyLwc",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1010-dieses-team-aus-ki-agenten-automatisiert-deine-auf.md",
              "content_hash": "5020acd606457a65642e78c1f6293e9ecab8f32c4a19971a00fe9409618fadb2",
              "file_modified_at": "2026-06-29T12:05:03.316986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.270796+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.270796+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "mZzhfPle9QU",
      "video_id": 386,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-386-how-i-use-claude-code-meta-staff-engineer-tip.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1007-how-i-use-claude-code-meta-staff-engineer-tips.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1007-how-i-use-claude-code-meta-staff-engineer-tips.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-386-how-i-use-claude-code-meta-staff-engineer-tip.md",
          "sha256_before": "aee9332ec80b83eaaf0083d04097e094d16269abdd0f74adf38e30107839d439",
          "size": 3258,
          "mtime": 1782734703.2959855,
          "registry_refs": [
            {
              "id": 82,
              "source_system": "youtube-research",
              "source_id": "1007",
              "source_external_id": "mZzhfPle9QU",
              "source_title": "How I use Claude Code (Meta Staff Engineer Tips)",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1007-how-i-use-claude-code-meta-staff-engineer-tips.md",
              "artifact_hash": "aee9332ec80b83eaaf0083d04097e094d16269abdd0f74adf38e30107839d439",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1007",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068648",
              "updated_at": "2026-06-29T12:07:09.584634",
              "notes": null
            },
            {
              "id": 504,
              "source_system": "youtube-research",
              "source_id": "386",
              "source_external_id": "mZzhfPle9QU",
              "source_title": "How I use Claude Code (Meta Staff Engineer Tips)",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-386-how-i-use-claude-code-meta-staff-engineer-tip.md",
              "artifact_hash": "b085b4d88955d6438f38d4ec9e00cd9a25653a6a5a9a8003ca4c5088e39dc343",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:386",
              "graphiti_actor": "youtube-research-batch-100-01-runner",
              "graphiti_group_id": "youtube-research-batch-100-01",
              "processed_at": "2026-06-30T13:41:08",
              "updated_at": "2026-06-30T13:41:08",
              "notes": "Batch-100-01 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 600,
              "source_type": "youtube",
              "video_id": "mZzhfPle9QU",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-386-how-i-use-claude-code-meta-staff-engineer-tip.md",
              "content_hash": "b085b4d88955d6438f38d4ec9e00cd9a25653a6a5a9a8003ca4c5088e39dc343",
              "file_modified_at": "2026-06-30T13:40:56.668577+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.127235+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.127235+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 734,
              "source_type": "youtube",
              "video_id": "mZzhfPle9QU",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1007-how-i-use-claude-code-meta-staff-engineer-tips.md",
              "content_hash": "aee9332ec80b83eaaf0083d04097e094d16269abdd0f74adf38e30107839d439",
              "file_modified_at": "2026-06-29T12:05:03.295985+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.266316+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.266316+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "pfPi04pIfaw",
      "video_id": 789,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-789-claude-code-agentic-os-unstoppable.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1043-claude-code-agentic-os-unstoppable.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1043-claude-code-agentic-os-unstoppable.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-789-claude-code-agentic-os-unstoppable.md",
          "sha256_before": "121164091fbc9059e9ff39dd27ade7f5240c5876ffbe64e4e051527284e387ef",
          "size": 2717,
          "mtime": 1782734703.3769858,
          "registry_refs": [
            {
              "id": 118,
              "source_system": "youtube-research",
              "source_id": "1043",
              "source_external_id": "pfPi04pIfaw",
              "source_title": "Claude Code Agentic OS = UNSTOPPABLE",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1043-claude-code-agentic-os-unstoppable.md",
              "artifact_hash": "121164091fbc9059e9ff39dd27ade7f5240c5876ffbe64e4e051527284e387ef",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1043",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.069099",
              "updated_at": "2026-06-29T12:21:20.157367",
              "notes": null
            },
            {
              "id": 724,
              "source_system": "youtube-research",
              "source_id": "789",
              "source_external_id": "pfPi04pIfaw",
              "source_title": "Claude Code Agentic OS = UNSTOPPABLE",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-789-claude-code-agentic-os-unstoppable.md",
              "artifact_hash": "337fab6564e0e4ca31b2d09f2c36d0164b49011e91b6564aa7dca642a8b4cff1",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:789",
              "graphiti_actor": "youtube-research-batch-100-02-runner",
              "graphiti_group_id": "youtube-research-batch-100-02",
              "processed_at": "2026-06-30T15:18:48",
              "updated_at": "2026-06-30T15:18:48",
              "notes": "Batch-100-02 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 245,
              "source_type": "youtube",
              "video_id": "pfPi04pIfaw",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-789-claude-code-agentic-os-unstoppable.md",
              "content_hash": "337fab6564e0e4ca31b2d09f2c36d0164b49011e91b6564aa7dca642a8b4cff1",
              "file_modified_at": "2026-07-14T19:58:56.180661+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.764131+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.764131+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 705,
              "source_type": "youtube",
              "video_id": "pfPi04pIfaw",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1043-claude-code-agentic-os-unstoppable.md",
              "content_hash": "121164091fbc9059e9ff39dd27ade7f5240c5876ffbe64e4e051527284e387ef",
              "file_modified_at": "2026-06-29T12:05:03.376986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.236443+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.236443+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "error",
          "error": "source_changed"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "uhMCy25NBfw",
      "video_id": 402,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-402-stop-using-claude-code-in-terminal-it-s-holdi.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1023-stop-using-claude-code-in-terminal-its-holding-you.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1023-stop-using-claude-code-in-terminal-its-holding-you.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-402-stop-using-claude-code-in-terminal-it-s-holdi.md",
          "sha256_before": "980e6c450459b833de4c6073d5753673f2c2fb10d9a4a526392b7cc7a06b87e5",
          "size": 3016,
          "mtime": 1782734703.3379858,
          "registry_refs": [
            {
              "id": 98,
              "source_system": "youtube-research",
              "source_id": "1023",
              "source_external_id": "uhMCy25NBfw",
              "source_title": "Stop Using Claude Code in Terminal (It’s Holding You Back)",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1023-stop-using-claude-code-in-terminal-its-holding-you.md",
              "artifact_hash": "980e6c450459b833de4c6073d5753673f2c2fb10d9a4a526392b7cc7a06b87e5",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1023",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068868",
              "updated_at": "2026-06-29T12:13:25.873447",
              "notes": null
            },
            {
              "id": 792,
              "source_system": "youtube-research",
              "source_id": "402",
              "source_external_id": "uhMCy25NBfw",
              "source_title": "Stop Using Claude Code in Terminal (It’s Holding You Back)",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-402-stop-using-claude-code-in-terminal-it-s-holdi.md",
              "artifact_hash": "e9db63ac880c3d475e8764461eaab719e3c77cfdf7f4d0af9f0ac76709d1a467",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:402",
              "graphiti_actor": "youtube-research-batch-100-03-runner",
              "graphiti_group_id": "youtube-research-batch-100-03",
              "processed_at": "2026-06-30T16:03:11",
              "updated_at": "2026-06-30T16:03:11",
              "notes": "Batch-100-03 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 400,
              "source_type": "youtube",
              "video_id": "uhMCy25NBfw",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-402-stop-using-claude-code-in-terminal-it-s-holdi.md",
              "content_hash": "e9db63ac880c3d475e8764461eaab719e3c77cfdf7f4d0af9f0ac76709d1a467",
              "file_modified_at": "2026-06-30T16:02:58.368765+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.913317+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.913317+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 733,
              "source_type": "youtube",
              "video_id": "uhMCy25NBfw",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1023-stop-using-claude-code-in-terminal-its-holding-you.md",
              "content_hash": "980e6c450459b833de4c6073d5753673f2c2fb10d9a4a526392b7cc7a06b87e5",
              "file_modified_at": "2026-06-29T12:05:03.337986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.265324+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.265324+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "v7Lg7E9-7f0",
      "video_id": 532,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-532-das-habe-ich-mit-claude-code-erstellt-als-anf.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1033-das-habe-ich-mit-claude-code-erstellt-als-anfänger.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1033-das-habe-ich-mit-claude-code-erstellt-als-anfänger.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-532-das-habe-ich-mit-claude-code-erstellt-als-anf.md",
          "sha256_before": "06106fc1fd3ae75fb76880e2b9ea11e0f484e13303623da66fc92ff045366f9e",
          "size": 2755,
          "mtime": 1782734703.3579857,
          "registry_refs": [
            {
              "id": 108,
              "source_system": "youtube-research",
              "source_id": "1033",
              "source_external_id": "v7Lg7E9-7f0",
              "source_title": "Das habe ich mit Claude Code erstellt (als Anfänger)",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1033-das-habe-ich-mit-claude-code-erstellt-als-anfänger.md",
              "artifact_hash": "06106fc1fd3ae75fb76880e2b9ea11e0f484e13303623da66fc92ff045366f9e",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1033",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068981",
              "updated_at": "2026-06-29T12:17:27.063699",
              "notes": null
            },
            {
              "id": 746,
              "source_system": "youtube-research",
              "source_id": "532",
              "source_external_id": "v7Lg7E9-7f0",
              "source_title": "Das habe ich mit Claude Code erstellt (als Anfänger)",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-532-das-habe-ich-mit-claude-code-erstellt-als-anf.md",
              "artifact_hash": "57c20bab46cd31e5d312797128e46414122bea9480dfa59c89cfcc87f2ad30b1",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:532",
              "graphiti_actor": "youtube-research-batch-100-02-runner",
              "graphiti_group_id": "youtube-research-batch-100-02",
              "processed_at": "2026-06-30T15:24:22",
              "updated_at": "2026-06-30T15:24:22",
              "notes": "Batch-100-02 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 324,
              "source_type": "youtube",
              "video_id": "v7Lg7E9-7f0",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-532-das-habe-ich-mit-claude-code-erstellt-als-anf.md",
              "content_hash": "57c20bab46cd31e5d312797128e46414122bea9480dfa59c89cfcc87f2ad30b1",
              "file_modified_at": "2026-06-30T15:23:50.931189+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.842626+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.842626+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 746,
              "source_type": "youtube",
              "video_id": "v7Lg7E9-7f0",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1033-das-habe-ich-mit-claude-code-erstellt-als-anfänger.md",
              "content_hash": "06106fc1fd3ae75fb76880e2b9ea11e0f484e13303623da66fc92ff045366f9e",
              "file_modified_at": "2026-06-29T12:05:03.357986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.277861+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.277861+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "vVTl1dqPL0k",
      "video_id": 533,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-533-nie-wieder-tippen-meine-eigene-speech-to-text.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1034-nie-wieder-tippen-meine-eigene-speech-to-text-app-.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1034-nie-wieder-tippen-meine-eigene-speech-to-text-app-.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-533-nie-wieder-tippen-meine-eigene-speech-to-text.md",
          "sha256_before": "363aa794162ab45a09562bb60c7e543b65938538026c3cfb4ac8c4c04a926451",
          "size": 3051,
          "mtime": 1782734703.3599856,
          "registry_refs": [
            {
              "id": 109,
              "source_system": "youtube-research",
              "source_id": "1034",
              "source_external_id": "vVTl1dqPL0k",
              "source_title": "Nie wieder tippen! Meine eigene Speech-to-Text App (Claude Code)",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1034-nie-wieder-tippen-meine-eigene-speech-to-text-app-.md",
              "artifact_hash": "363aa794162ab45a09562bb60c7e543b65938538026c3cfb4ac8c4c04a926451",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1034",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068993",
              "updated_at": "2026-06-29T12:17:46.944804",
              "notes": null
            },
            {
              "id": 764,
              "source_system": "youtube-research",
              "source_id": "533",
              "source_external_id": "vVTl1dqPL0k",
              "source_title": "Nie wieder tippen! Meine eigene Speech-to-Text App (Claude Code)",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-533-nie-wieder-tippen-meine-eigene-speech-to-text.md",
              "artifact_hash": "34feaf5cf55230044bb30100656824a8a849fb1c92b197e46d517fbbc43fdd54",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:533",
              "graphiti_actor": "youtube-research-batch-100-02-runner",
              "graphiti_group_id": "youtube-research-batch-100-02",
              "processed_at": "2026-06-30T15:28:37",
              "updated_at": "2026-06-30T15:28:37",
              "notes": "Batch-100-02 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 251,
              "source_type": "youtube",
              "video_id": "vVTl1dqPL0k",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-02/ID-533-nie-wieder-tippen-meine-eigene-speech-to-text.md",
              "content_hash": "34feaf5cf55230044bb30100656824a8a849fb1c92b197e46d517fbbc43fdd54",
              "file_modified_at": "2026-06-30T15:28:08.889816+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.771143+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.771143+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 724,
              "source_type": "youtube",
              "video_id": "vVTl1dqPL0k",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1034-nie-wieder-tippen-meine-eigene-speech-to-text-app-.md",
              "content_hash": "363aa794162ab45a09562bb60c7e543b65938538026c3cfb4ac8c4c04a926451",
              "file_modified_at": "2026-06-29T12:05:03.359986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.256159+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.256159+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "w1gNDRYgfis",
      "video_id": 148,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-148-claude-cowork-hat-gerade-ki-mitarbeiter-ver-f.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1002-claude-cowork-hat-gerade-ki-mitarbeiter-veröffentl.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1002-claude-cowork-hat-gerade-ki-mitarbeiter-veröffentl.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-148-claude-cowork-hat-gerade-ki-mitarbeiter-ver-f.md",
          "sha256_before": "81b0c32a545d35cb12153474fd945dfd6762251da342071d1889cfa1eba7436f",
          "size": 3048,
          "mtime": 1782734703.2759855,
          "registry_refs": [
            {
              "id": 77,
              "source_system": "youtube-research",
              "source_id": "1002",
              "source_external_id": "w1gNDRYgfis",
              "source_title": "Claude Cowork hat gerade KI-Mitarbeiter veröffentlicht – und niemand redet darüber",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1002-claude-cowork-hat-gerade-ki-mitarbeiter-veröffentl.md",
              "artifact_hash": "81b0c32a545d35cb12153474fd945dfd6762251da342071d1889cfa1eba7436f",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1002",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068586",
              "updated_at": "2026-06-29T12:05:48.322934",
              "notes": "HTTP 422"
            },
            {
              "id": 494,
              "source_system": "youtube-research",
              "source_id": "148",
              "source_external_id": "w1gNDRYgfis",
              "source_title": "Claude Cowork hat gerade KI-Mitarbeiter veröffentlicht – und niemand redet darüber",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-148-claude-cowork-hat-gerade-ki-mitarbeiter-ver-f.md",
              "artifact_hash": "c2db530b4bfbd6722b2e28b8649283ec00c8864401d990d332bae78af1328a41",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:148",
              "graphiti_actor": "youtube-research-batch-100-01-runner",
              "graphiti_group_id": "youtube-research-batch-100-01",
              "processed_at": "2026-06-30T13:40:22",
              "updated_at": "2026-06-30T13:40:22",
              "notes": "Batch-100-01 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 558,
              "source_type": "youtube",
              "video_id": "w1gNDRYgfis",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-01/ID-148-claude-cowork-hat-gerade-ki-mitarbeiter-ver-f.md",
              "content_hash": "c2db530b4bfbd6722b2e28b8649283ec00c8864401d990d332bae78af1328a41",
              "file_modified_at": "2026-06-30T13:40:08.638450+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.077606+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.077606+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 707,
              "source_type": "youtube",
              "video_id": "w1gNDRYgfis",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1002-claude-cowork-hat-gerade-ki-mitarbeiter-veröffentl.md",
              "content_hash": "81b0c32a545d35cb12153474fd945dfd6762251da342071d1889cfa1eba7436f",
              "file_modified_at": "2026-06-29T12:05:03.275985+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.238462+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.238462+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "yfFUv0kXvaA",
      "video_id": 568,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-568-claudes-neue-superkraft-wie-du-sie-freischalt.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1042-claudes-neue-superkraft-wie-du-sie-freischaltest.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1042-claudes-neue-superkraft-wie-du-sie-freischaltest.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-568-claudes-neue-superkraft-wie-du-sie-freischalt.md",
          "sha256_before": "74274fb94797eeffed87e80b6feed7d7ff7520a54990cef5e9f560b77e77d835",
          "size": 2882,
          "mtime": 1782734703.3749857,
          "registry_refs": [
            {
              "id": 117,
              "source_system": "youtube-research",
              "source_id": "1042",
              "source_external_id": "yfFUv0kXvaA",
              "source_title": "Claudes neue Superkraft & wie du sie freischaltest",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1042-claudes-neue-superkraft-wie-du-sie-freischaltest.md",
              "artifact_hash": "74274fb94797eeffed87e80b6feed7d7ff7520a54990cef5e9f560b77e77d835",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1042",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.069086",
              "updated_at": "2026-06-29T12:20:56.089492",
              "notes": null
            },
            {
              "id": 780,
              "source_system": "youtube-research",
              "source_id": "568",
              "source_external_id": "yfFUv0kXvaA",
              "source_title": "Claudes neue Superkraft & wie du sie freischaltest",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-568-claudes-neue-superkraft-wie-du-sie-freischalt.md",
              "artifact_hash": "c25b12675b075fe340ab0efeabf64c090ec353ab53a81bd037ae9add9311c1bb",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:568",
              "graphiti_actor": "youtube-research-batch-100-03-runner",
              "graphiti_group_id": "youtube-research-batch-100-03",
              "processed_at": "2026-06-30T15:59:36",
              "updated_at": "2026-06-30T15:59:36",
              "notes": "Batch-100-03 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 381,
              "source_type": "youtube",
              "video_id": "yfFUv0kXvaA",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-568-claudes-neue-superkraft-wie-du-sie-freischalt.md",
              "content_hash": "c25b12675b075fe340ab0efeabf64c090ec353ab53a81bd037ae9add9311c1bb",
              "file_modified_at": "2026-06-30T15:59:22.938249+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.895535+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.895535+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 727,
              "source_type": "youtube",
              "video_id": "yfFUv0kXvaA",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1042-claudes-neue-superkraft-wie-du-sie-freischaltest.md",
              "content_hash": "74274fb94797eeffed87e80b6feed7d7ff7520a54990cef5e9f560b77e77d835",
              "file_modified_at": "2026-06-29T12:05:03.374986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.258997+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.258997+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    },
    {
      "youtube_id": "zKBPwDpBfhs",
      "video_id": 392,
      "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-392-master-95-of-claude-code-skills-in-28-minutes.md",
      "subordinates": [
        {
          "original_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1017-master-95-of-claude-code-skills-in-28-minutes.md",
          "quarantine_path": "/opt/struktur/quarantine/youtube-obsidian-duplicates/20260723T095448Z/Batch-50-01/ID-1017-master-95-of-claude-code-skills-in-28-minutes.md",
          "canonical_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-392-master-95-of-claude-code-skills-in-28-minutes.md",
          "sha256_before": "62534b294ad3c38c7daa3924bdfca8f8bf015687e14fb0fcc6cadadbb26c0a43",
          "size": 3146,
          "mtime": 1782734703.3259857,
          "registry_refs": [
            {
              "id": 92,
              "source_system": "youtube-research",
              "source_id": "1017",
              "source_external_id": "zKBPwDpBfhs",
              "source_title": "Master 95% of Claude Code Skills in 28 Minutes",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1017-master-95-of-claude-code-skills-in-28-minutes.md",
              "artifact_hash": "62534b294ad3c38c7daa3924bdfca8f8bf015687e14fb0fcc6cadadbb26c0a43",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:1017",
              "graphiti_actor": "batch-50-01-agent",
              "graphiti_group_id": "youtube-research-batch-50-01",
              "processed_at": "2026-06-29T11:52:35.068803",
              "updated_at": "2026-06-29T12:10:39.905591",
              "notes": null
            },
            {
              "id": 938,
              "source_system": "youtube-research",
              "source_id": "392",
              "source_external_id": "zKBPwDpBfhs",
              "source_title": "Master 95% of Claude Code Skills in 28 Minutes",
              "source_hash": null,
              "artifact_status": "created",
              "artifact_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-392-master-95-of-claude-code-skills-in-28-minutes.md",
              "artifact_hash": "9e45933439fbc6628a187149314df6ff5d78866698497ce0b47b0741db7ffda5",
              "quality_status": "passed",
              "graphiti_status": "imported",
              "graphiti_import_key": "youtube-research:video:392",
              "graphiti_actor": "youtube-research-batch-100-03-runner",
              "graphiti_group_id": "youtube-research-batch-100-03",
              "processed_at": "2026-06-30T16:30:51",
              "updated_at": "2026-06-30T16:30:51",
              "notes": "Batch-100-03 upsert"
            }
          ],
          "queue_refs": [
            {
              "id": 436,
              "source_type": "youtube",
              "video_id": "zKBPwDpBfhs",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-100-03/ID-392-master-95-of-claude-code-skills-in-28-minutes.md",
              "content_hash": "9e45933439fbc6628a187149314df6ff5d78866698497ce0b47b0741db7ffda5",
              "file_modified_at": "2026-06-30T16:30:32.819055+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:54.948663+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:54.948663+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            },
            {
              "id": 712,
              "source_type": "youtube",
              "video_id": "zKBPwDpBfhs",
              "obsidian_path": "/opt/obsidian-vault/YouTube-Research/Batch-50-01/ID-1017-master-95-of-claude-code-skills-in-28-minutes.md",
              "content_hash": "62534b294ad3c38c7daa3924bdfca8f8bf015687e14fb0fcc6cadadbb26c0a43",
              "file_modified_at": "2026-06-29T12:05:03.325986+00:00",
              "graphiti_status": "done",
              "graphiti_attempts": 0,
              "graphiti_last_attempt_at": null,
              "graphiti_processed_at": "2026-07-18T08:12:55.244275+00:00",
              "graphiti_episode_id": "existing-registry",
              "graphiti_error": null,
              "next_attempt_at": null,
              "locked_at": null,
              "created_at": "2026-07-18T08:12:55.244275+00:00",
              "updated_at": "2026-07-18 08:15:24",
              "attempt_count": 0,
              "last_attempt_at": null,
              "last_error_class": null,
              "last_error_message": null,
              "last_http_status": null,
              "completed_at": null
            }
          ],
          "episode_ids": [
            "existing-registry",
            "existing-registry"
          ],
          "reason": "older subordinate artifact; historical references preserved",
          "status": "already_quarantined"
        }
      ],
      "decision": "validated",
      "blocked": []
    }
  ]
}