{
  "generated_at": "2026-05-03T23:47:54.802182+00:00",
  "section_1": {
    "overall": {
      "total": 14069,
      "type_null": 9815,
      "ca_null": 12109,
      "both_null": 9815,
      "both_set": 1960
    },
    "cohorts": [
      {
        "type": "aaronai_conversation",
        "ca_null": false,
        "n": 71
      },
      {
        "type": "chatgpt_conversation",
        "ca_null": true,
        "n": 1548
      },
      {
        "type": "claude_conversation",
        "ca_null": false,
        "n": 1074
      },
      {
        "type": "claude_memory",
        "ca_null": true,
        "n": 1
      },
      {
        "type": "document",
        "ca_null": false,
        "n": 815
      },
      {
        "type": "document",
        "ca_null": true,
        "n": 745
      },
      {
        "type": null,
        "ca_null": true,
        "n": 9815
      }
    ]
  },
  "section_2": {
    "by_ext": [
      {
        "ext": ".pdf",
        "rows": 6886
      },
      {
        "ext": ".txt",
        "rows": 1501
      },
      {
        "ext": ".docx",
        "rows": 1048
      },
      {
        "ext": ".pptx",
        "rows": 353
      },
      {
        "ext": ".md",
        "rows": 27
      }
    ],
    "classified": 9815,
    "unclassifiable": 0
  },
  "section_3": {
    "watcher_state_paths": 1462,
    "watcher_state_basenames": 1183,
    "watcher_state_collisions": 109,
    "rows_with_filepath": {
      "total": 9816,
      "exists": 9649,
      "missing": 167,
      "outside_root": 0,
      "sample": [
        {
          "id": "f317f238_0",
          "source": "NO thesis proposal.docx",
          "filepath": "/home/aaron/nextcloud/data/data/aaron/files/Academic/DDF790 Thesis/Nic OConnor/NO thesis proposal.docx",
          "mtime": "2024-01-26T15:06:09Z"
        },
        {
          "id": "81047646_0",
          "source": "Metals II Syllabus.pdf",
          "filepath": "/home/aaron/nextcloud/data/data/aaron/files/Professional/Job Applications/Job Apps Fall 2015/App State/Metals II Syllabus.pdf",
          "mtime": "2012-02-26T22:45:15Z"
        },
        {
          "id": "81047646_1",
          "source": "Metals II Syllabus.pdf",
          "filepath": "/home/aaron/nextcloud/data/data/aaron/files/Professional/Job Applications/Job Apps Fall 2015/App State/Metals II Syllabus.pdf",
          "mtime": "2012-02-26T22:45:15Z"
        },
        {
          "id": "4e49d3b4_4",
          "source": "Circuit Intro.pdf",
          "filepath": "/home/aaron/nextcloud/data/data/aaron/files/Academic/DDF310 Mechatronics/Week 1/Circuit Intro.pdf",
          "mtime": "2022-01-31T23:28:56Z"
        },
        {
          "id": "81047646_2",
          "source": "Metals II Syllabus.pdf",
          "filepath": "/home/aaron/nextcloud/data/data/aaron/files/Professional/Job Applications/Job Apps Fall 2015/App State/Metals II Syllabus.pdf",
          "mtime": "2012-02-26T22:45:15Z"
        }
      ]
    },
    "rows_without_filepath": {
      "total": 744,
      "distinct_basenames": 228,
      "unique_hit": 211,
      "collision_hit": 16,
      "unfound": 1
    },
    "collision_shapes": {
      "total": 109,
      "shape_counts": {
        "multi-live": 95,
        "live+archive": 14
      },
      "rows_affected_by_shape": {
        "multi-live": 85,
        "live+archive": 0
      },
      "samples": {
        "multi-live": [
          {
            "name": "README.md",
            "rows_no_fp_using_this_name": 0,
            "candidates": [
              {
                "path": "/home/aaron/nextcloud/data/data/aaron/files/README.md",
                "mtime": "2026-04-25T17:08:01Z"
              },
              {
                "path": "/home/aaron/nextcloud/data/data/aaron/files/Code/Processing/Nature of Code/The-Nature-of-Code-Examples/The-Nature-of-Code-Examples-master/README.md",
                "mtime": "2017-03-09T23:32:59Z"
              },
              {
                "path": "/home/aaron/nextcloud/data/data/aaron/files/Code/Python/open CV/opencv/sources/samples/hal/README.md",
                "mtime": "2016-12-21T10:37:05Z"
              },
              {
                "path": "/home/aaron/nextcloud/data/data/aaron/files/Code/Python/open CV/opencv/sources/platforms/maven/README.md",
                "mtime": "2016-12-21T10:37:05Z"
              },
              {
                "path": "/home/aaron/nextcloud/data/data/aaron/files/Code/Python/open CV/opencv/sources/README.md",
                "mtime": "2016-12-21T10:37:03Z"
              },
              {
                "path": "/home/aaron/nextcloud/data/data/aaron/files/Code/Python/open CV/opencv/sources/3rdparty/openvx/README.md",
                "mtime": "2016-12-21T10:37:03Z"
              },
              {
                "path": "/home/aaron/nextcloud/data/data/aaron/files/Code/Python/open CV/opencv/sources/3rdparty/openvx/hal/README.md",
                "mtime": "2016-12-21T10:37:03Z"
              },
              {
                "path": "/home/aaron/nextcloud/data/data/aaron/files/Code/Python/open CV/opencv/sources/3rdparty/carotene/README.md",
                "mtime": "2016-12-21T10:37:02Z"
              }
            ]
          },
          {
            "name": "3DPrinting_v2.pptx",
            "rows_no_fp_using_this_name": 4,
            "candidates": [
              {
                "path": "/home/aaron/nextcloud/data/data/aaron/files/Presentations/Invited/Innovation Center/3DPrinting_v2.pptx",
                "mtime": "2026-04-24T19:34:49Z"
              },
              {
                "path": "/home/aaron/nextcloud/data/data/aaron/files/Presentations/Invited/Cuba/Assets/3DPrinting_v2.pptx",
                "mtime": "2026-04-24T19:34:18Z"
              },
              {
                "path": "/home/aaron/nextcloud/data/data/aaron/files/Presentations/Conference/3D Printing/3DPrinting_v2.pptx",
                "mtime": "2026-04-24T19:34:15Z"
              },
              {
                "path": "/home/aaron/nextcloud/data/data/aaron/files/Workshops/3DPrinting_v2.pptx",
                "mtime": "2026-04-24T19:30:14Z"
              }
            ]
          },
          {
            "name": "Print in Place.docx",
            "rows_no_fp_using_this_name": 0,
            "candidates": [
              {
                "path": "/home/aaron/nextcloud/data/data/aaron/files/Academic/DDF205 CAD1/Print in Place.docx",
                "mtime": "2017-08-24T03:50:36Z"
              },
              {
                "path": "/home/aaron/nextcloud/data/data/aaron/files/Academic/ARS393 CVS1/Print in Place.docx",
                "mtime": "2015-10-28T20:36:52Z"
              }
            ]
          }
        ],
        "live+archive": [
          {
            "name": "dreamer-design-spec.md",
            "rows_no_fp_using_this_name": 0,
            "candidates": [
              {
                "path": "/home/aaron/nextcloud/data/data/aaron/files/Journal/dreamer-design-spec.md",
                "mtime": "2026-04-25T22:55:11Z"
              },
              {
                "path": "/home/aaron/nextcloud/data/data/aaron/files/Archive/dreamer-design-spec.md",
                "mtime": "2026-04-25T22:55:11Z"
              }
            ]
          },
          {
            "name": "BirdAI-Ingest-Architecture.md",
            "rows_no_fp_using_this_name": 0,
            "candidates": [
              {
                "path": "/home/aaron/nextcloud/data/data/aaron/files/Journal/BirdAI-Ingest-Architecture.md",
                "mtime": "2026-04-28T00:08:38Z"
              },
              {
                "path": "/home/aaron/nextcloud/data/data/aaron/files/Archive/BirdAI-Ingest-Architecture.md",
                "mtime": "2026-04-28T00:08:38Z"
              }
            ]
          },
          {
            "name": "graphiti-migration-plan.md",
            "rows_no_fp_using_this_name": 0,
            "candidates": [
              {
                "path": "/home/aaron/nextcloud/data/data/aaron/files/Journal/graphiti-migration-plan.md",
                "mtime": "2026-04-27T17:54:40Z"
              },
              {
                "path": "/home/aaron/nextcloud/data/data/aaron/files/Archive/Migration Plans/graphiti-migration-plan.md",
                "mtime": "2026-04-27T17:54:40Z"
              }
            ]
          }
        ]
      }
    }
  },
  "section_4": {
    "export_dir_exists": true,
    "files": [
      {
        "name": "conversations-000.json",
        "size": 19050556,
        "mtime": "2026-04-24T19:55:44Z"
      },
      {
        "name": "conversations-001.json",
        "size": 29057594,
        "mtime": "2026-04-24T19:55:44Z"
      }
    ],
    "convo_index_size": 169,
    "sample_results": [
      {
        "id": "chatgpt_87cc0c47-aaf9-42da-8169-3b8922f3afba_0",
        "source": "ChatGPT: Dog named Bird",
        "convo_id": "87cc0c47-aaf9-42da-8169-3b8922f3afba",
        "create_time": 1708835138.51948,
        "create_time_iso": "2024-02-25T04:25:38.519480Z",
        "resolved": true
      },
      {
        "id": "chatgpt_689fab3e-d79c-8333-aeb5-7da4e9ca160d_0",
        "source": "ChatGPT: Video understanding limitations",
        "convo_id": "689fab3e-d79c-8333-aeb5-7da4e9ca160d",
        "create_time": 1755294541.894811,
        "create_time_iso": "2025-08-15T21:49:01.894811Z",
        "resolved": true
      },
      {
        "id": "chatgpt_611ff391-7fc0-42ea-bfd9-18dbe1739f19_7",
        "source": "ChatGPT: Calculating Truncated Cone Angle",
        "convo_id": "611ff391-7fc0-42ea-bfd9-18dbe1739f19",
        "create_time": 1724020869.471264,
        "create_time_iso": "2024-08-18T22:41:09.471264Z",
        "resolved": true
      },
      {
        "id": "chatgpt_68ce1921-084c-8330-877c-78df1e03e54c_50",
        "source": "ChatGPT: Soul music playlist ideas",
        "convo_id": "68ce1921-084c-8330-877c-78df1e03e54c",
        "create_time": 1758337313.438344,
        "create_time_iso": "2025-09-20T03:01:53.438344Z",
        "resolved": true
      },
      {
        "id": "chatgpt_c02e94f0-17db-4fd9-be04-13aaa1b728cb_1",
        "source": "ChatGPT: Create Rhino plugin in Python",
        "convo_id": "c02e94f0-17db-4fd9-be04-13aaa1b728cb",
        "create_time": 1682716259.557353,
        "create_time_iso": "2023-04-28T21:10:59.557353Z",
        "resolved": true
      }
    ],
    "sample_resolved": 5,
    "full_cohort": {
      "distinct_convo_ids": 168,
      "resolvable_from_export": 168,
      "unresolvable": 0
    }
  },
  "section_5": {
    "earliest_per_type": [
      {
        "type": "aaronai_conversation",
        "earliest": "2026-04-26T17:43:28.056503",
        "latest": "2026-05-03T01:45:21.469613",
        "rows": 71
      },
      {
        "type": "claude_conversation",
        "earliest": "2026-02-28T20:33:36.146998Z",
        "latest": "2026-04-23T04:26:00.015419Z",
        "rows": 1074
      },
      {
        "type": "document",
        "earliest": "2026-04-30 16:42:55.360736+00",
        "latest": "2026-05-03 20:14:33.13663+00",
        "rows": 815
      }
    ],
    "git_findings": [
      "037d7475738352dd13620486b5154d58fa6c037b 2026-04-28 00:15:46 +0000 chore: archive deprecated chromadb and migration scripts",
      "67766371789276ec4bcb8bac271b6eb9ddafa888 2026-04-27 05:16:37 +0000 Remove hardcoded PG password fallbacks \u2014 require PG_DSN env var in all scripts",
      "f78b83042bf2bb3d95c3604ee5d4431e76b103df 2026-04-26 21:16:04 +0000 Migrate to pgvector \u2014 remove ChromaDB from api.py, ingest scripts, dream.py",
      "8c8fba11b8d1b359b9b7722fc19b6ef562b812d8 2026-04-26 21:28:40 +0000 Add nightly conversation indexing \u2014 Aaron AI conversations into pgvector at 2:30AM",
      "f78b83042bf2bb3d95c3604ee5d4431e76b103df 2026-04-26 21:16:04 +0000 Migrate to pgvector \u2014 remove ChromaDB from api.py, ingest scripts, dream.py",
      "d2eed9890665a78a37fb5d336e8af75e7f2acb42 2026-04-26 20:19:49 +0000 Pre-pgvector migration checkpoint \u2014 upsert, allow_replace_deleted, maintenance timer"
    ],
    "chromadb_candidates": [],
    "proposed_sentinel": "2026-04-26T00:00:00Z",
    "reasoning": "git f78b830 'Migrate to pgvector \u2014 remove ChromaDB from api.py, ingest scripts, dream.py' is dated 2026-04-26. The earliest type='document' row with a non-NULL created_at lands 2026-04-30 (the F11 canonical-encoding cutover). Rows with NULL created_at all predate F11 and most predate the pgvector cutover itself. 2026-04-26 is the date the ChromaDB->pgvector migration script was committed, so any row currently in the embeddings table with NULL created_at must have been ingested on or after that date (when the table came into existence in current form). It is the tightest defensible upper bound on 'the row entered pgvector before timestamps were tracked', so it is the right sentinel."
  },
  "section_6": [
    {
      "cohort": "A (type NULL, ca NULL)",
      "id": "f66c7390_6",
      "source": "Design Guide - FDM for Composite Tooling 2.0.pdf",
      "existing_type": null,
      "existing_ca": null,
      "inferred_type": "document",
      "inferred_ca": "2023-08-24T18:17:01Z",
      "inferred_ca_source": "filepath_stat"
    },
    {
      "cohort": "A (type NULL, ca NULL)",
      "id": "9cf798f8_151",
      "source": "Shop Class as Soulcraft An inquiry into the value of the -- Crawford, Matthew.pdf",
      "existing_type": null,
      "existing_ca": null,
      "inferred_type": "document",
      "inferred_ca": "2026-04-30T21:17:40.708026Z",
      "inferred_ca_source": "filepath_stat"
    },
    {
      "cohort": "A (type NULL, ca NULL)",
      "id": "fc378df0_329",
      "source": "ulysses.txt",
      "existing_type": null,
      "existing_ca": null,
      "inferred_type": "document",
      "inferred_ca": "2017-10-12T14:20:59Z",
      "inferred_ca_source": "filepath_stat"
    },
    {
      "cohort": "A (type NULL, ca NULL)",
      "id": "812bd5c6_0",
      "source": "Bennington College Cover Letter.pdf",
      "existing_type": null,
      "existing_ca": null,
      "inferred_type": "document",
      "inferred_ca": "2013-03-29T20:32:23Z",
      "inferred_ca_source": "filepath_stat"
    },
    {
      "cohort": "A (type NULL, ca NULL)",
      "id": "91ccefdd_185",
      "source": "Cognition in the Wild (A Bradford Book) -- Hutchins, Edwin.pdf",
      "existing_type": null,
      "existing_ca": null,
      "inferred_type": "document",
      "inferred_ca": "2026-04-25T17:21:35Z",
      "inferred_ca_source": "filepath_stat"
    },
    {
      "cohort": "A (type NULL, ca NULL)",
      "id": "48fa3d53_2",
      "source": "CMakeLists.txt",
      "existing_type": null,
      "existing_ca": null,
      "inferred_type": "document",
      "inferred_ca": "2016-12-21T10:37:05Z",
      "inferred_ca_source": "filepath_stat"
    },
    {
      "cohort": "A (type NULL, ca NULL)",
      "id": "49e3545d_9",
      "source": "RH50-TM-L1-EN-20140902.pdf",
      "existing_type": null,
      "existing_ca": null,
      "inferred_type": "document",
      "inferred_ca": "2014-09-02T18:44:08Z",
      "inferred_ca_source": "filepath_stat"
    },
    {
      "cohort": "A (type NULL, ca NULL)",
      "id": "a8366d89_144",
      "source": "Hackers and Painters_ Big Ideas from the Computer Age -- Graham, Paul.pdf",
      "existing_type": null,
      "existing_ca": null,
      "inferred_type": "document",
      "inferred_ca": "2026-04-24T22:25:03Z",
      "inferred_ca_source": "filepath_stat"
    },
    {
      "cohort": "A (type NULL, ca NULL)",
      "id": "3e3097f8_46",
      "source": "The Nature and Art of Workmanship -- David Pye.pdf",
      "existing_type": null,
      "existing_ca": null,
      "inferred_type": "document",
      "inferred_ca": "2026-04-24T22:24:03Z",
      "inferred_ca_source": "filepath_stat"
    },
    {
      "cohort": "A (type NULL, ca NULL)",
      "id": "87f9a5cf_269",
      "source": "Supersizing the Mind_ Embodiment, Action, and Cognitive -- Andy Clark.pdf",
      "existing_type": null,
      "existing_ca": null,
      "inferred_type": "document",
      "inferred_ca": "2026-04-25T17:14:25Z",
      "inferred_ca_source": "filepath_stat"
    },
    {
      "cohort": "B-doc-old (type='document', ca NULL)",
      "id": "cd3d1914_61",
      "source": "The world beyond your head _ on becoming an individual in an -- Crawford, Matthew B.pdf",
      "existing_type": "document",
      "existing_ca": null,
      "inferred_type": "document",
      "inferred_ca": "2026-04-27T16:04:25Z",
      "inferred_ca_source": "filepath_stat"
    },
    {
      "cohort": "B-doc-old (type='document', ca NULL)",
      "id": "592a1366_0",
      "source": "2026-04-29-synthesis.md",
      "existing_type": "document",
      "existing_ca": null,
      "inferred_type": "document",
      "inferred_ca": "2026-04-29T08:00:57.634567Z",
      "inferred_ca_source": "filepath_stat"
    },
    {
      "cohort": "B-doc-old (type='document', ca NULL)",
      "id": "cfb0a691_3",
      "source": "Consolidator-0.1-Specification.md",
      "existing_type": "document",
      "existing_ca": null,
      "inferred_type": "document",
      "inferred_ca": "2026-04-29T03:34:31Z",
      "inferred_ca_source": "watcher_state_unique"
    },
    {
      "cohort": "B-doc-old (type='document', ca NULL)",
      "id": "cd3d1914_57",
      "source": "The world beyond your head _ on becoming an individual in an -- Crawford, Matthew B.pdf",
      "existing_type": "document",
      "existing_ca": null,
      "inferred_type": "document",
      "inferred_ca": "2026-04-27T16:04:25Z",
      "inferred_ca_source": "filepath_stat"
    },
    {
      "cohort": "B-doc-old (type='document', ca NULL)",
      "id": "e65ef61c_8",
      "source": "BirdAI-Research-Context.md",
      "existing_type": "document",
      "existing_ca": null,
      "inferred_type": "document",
      "inferred_ca": "2026-04-29T15:57:07Z",
      "inferred_ca_source": "filepath_stat"
    },
    {
      "cohort": "B-doc-old (type='document', ca NULL)",
      "id": "4dce2922_3",
      "source": "cascade-optimization-protocol.md",
      "existing_type": "document",
      "existing_ca": null,
      "inferred_type": "document",
      "inferred_ca": "2026-04-28T05:46:24Z",
      "inferred_ca_source": "filepath_stat"
    },
    {
      "cohort": "B-doc-old (type='document', ca NULL)",
      "id": "077cc52d_1",
      "source": "graphiti-migration-plan.md",
      "existing_type": "document",
      "existing_ca": null,
      "inferred_type": "document",
      "inferred_ca": "2026-04-27T17:54:40Z",
      "inferred_ca_source": "watcher_state_collision_pick_latest_of_2"
    },
    {
      "cohort": "B-doc-old (type='document', ca NULL)",
      "id": "db356b14_70",
      "source": "Finite and infinite games -- James Carse.pdf",
      "existing_type": "document",
      "existing_ca": null,
      "inferred_type": "document",
      "inferred_ca": "2026-04-27T06:11:55Z",
      "inferred_ca_source": "watcher_state_collision_pick_latest_of_2"
    },
    {
      "cohort": "B-doc-old (type='document', ca NULL)",
      "id": "1f15bccf_38",
      "source": "BirdAI-Experiments-Log.md",
      "existing_type": "document",
      "existing_ca": null,
      "inferred_type": "document",
      "inferred_ca": "2026-05-01T16:40:02Z",
      "inferred_ca_source": "filepath_stat"
    },
    {
      "cohort": "B-doc-old (type='document', ca NULL)",
      "id": "db356b14_13",
      "source": "Finite and infinite games -- James Carse.pdf",
      "existing_type": "document",
      "existing_ca": null,
      "inferred_type": "document",
      "inferred_ca": "2026-04-27T06:11:55Z",
      "inferred_ca_source": "watcher_state_collision_pick_latest_of_2"
    },
    {
      "cohort": "B-chatgpt (type='chatgpt_conversation', ca NULL)",
      "id": "chatgpt_68fd20c6-d838-832d-90f4-154f63281f49_30",
      "source": "ChatGPT: External review for tenure",
      "existing_type": "chatgpt_conversation",
      "existing_ca": null,
      "inferred_type": "chatgpt_conversation",
      "inferred_ca": "2026-04-26T00:00:00Z",
      "inferred_ca_source": "sentinel"
    },
    {
      "cohort": "B-chatgpt (type='chatgpt_conversation', ca NULL)",
      "id": "chatgpt_691d6420-f544-8329-ae4b-f2b78da44c0e_7",
      "source": "ChatGPT: Website styling changes",
      "existing_type": "chatgpt_conversation",
      "existing_ca": null,
      "inferred_type": "chatgpt_conversation",
      "inferred_ca": "2026-04-26T00:00:00Z",
      "inferred_ca_source": "sentinel"
    },
    {
      "cohort": "B-chatgpt (type='chatgpt_conversation', ca NULL)",
      "id": "chatgpt_67fc4254-ef50-8009-9e0f-81864cca7cec_1",
      "source": "ChatGPT: Job Application Review",
      "existing_type": "chatgpt_conversation",
      "existing_ca": null,
      "inferred_type": "chatgpt_conversation",
      "inferred_ca": "2026-04-26T00:00:00Z",
      "inferred_ca_source": "sentinel"
    },
    {
      "cohort": "B-chatgpt (type='chatgpt_conversation', ca NULL)",
      "id": "chatgpt_68f3d936-d74c-8329-91df-fe838e292170_5",
      "source": "ChatGPT: SEC coaches with OSU ties",
      "existing_type": "chatgpt_conversation",
      "existing_ca": null,
      "inferred_type": "chatgpt_conversation",
      "inferred_ca": "2026-04-26T00:00:00Z",
      "inferred_ca_source": "sentinel"
    },
    {
      "cohort": "B-chatgpt (type='chatgpt_conversation', ca NULL)",
      "id": "chatgpt_691d1b5b-bb4c-832b-8d2e-11a86a569fcc_4",
      "source": "ChatGPT: Hosting app platforms",
      "existing_type": "chatgpt_conversation",
      "existing_ca": null,
      "inferred_type": "chatgpt_conversation",
      "inferred_ca": "2026-04-26T00:00:00Z",
      "inferred_ca_source": "sentinel"
    },
    {
      "cohort": "B-chatgpt (type='chatgpt_conversation', ca NULL)",
      "id": "chatgpt_bfa1cd2f-b8ab-4b11-b844-c47b2fa70612_1",
      "source": "ChatGPT: New chat",
      "existing_type": "chatgpt_conversation",
      "existing_ca": null,
      "inferred_type": "chatgpt_conversation",
      "inferred_ca": "2026-04-26T00:00:00Z",
      "inferred_ca_source": "sentinel"
    },
    {
      "cohort": "B-chatgpt (type='chatgpt_conversation', ca NULL)",
      "id": "chatgpt_68ce1921-084c-8330-877c-78df1e03e54c_37",
      "source": "ChatGPT: Soul music playlist ideas",
      "existing_type": "chatgpt_conversation",
      "existing_ca": null,
      "inferred_type": "chatgpt_conversation",
      "inferred_ca": "2026-04-26T00:00:00Z",
      "inferred_ca_source": "sentinel"
    },
    {
      "cohort": "B-chatgpt (type='chatgpt_conversation', ca NULL)",
      "id": "chatgpt_68fd20c6-d838-832d-90f4-154f63281f49_10",
      "source": "ChatGPT: External review for tenure",
      "existing_type": "chatgpt_conversation",
      "existing_ca": null,
      "inferred_type": "chatgpt_conversation",
      "inferred_ca": "2026-04-26T00:00:00Z",
      "inferred_ca_source": "sentinel"
    },
    {
      "cohort": "B-chatgpt (type='chatgpt_conversation', ca NULL)",
      "id": "chatgpt_691d6420-f544-8329-ae4b-f2b78da44c0e_10",
      "source": "ChatGPT: Website styling changes",
      "existing_type": "chatgpt_conversation",
      "existing_ca": null,
      "inferred_type": "chatgpt_conversation",
      "inferred_ca": "2026-04-26T00:00:00Z",
      "inferred_ca_source": "sentinel"
    },
    {
      "cohort": "B-chatgpt (type='chatgpt_conversation', ca NULL)",
      "id": "chatgpt_690286bd-0758-8332-8491-5d00c77f4696_1",
      "source": "ChatGPT: Airbrushing and finishing setup",
      "existing_type": "chatgpt_conversation",
      "existing_ca": null,
      "inferred_type": "chatgpt_conversation",
      "inferred_ca": "2026-04-26T00:00:00Z",
      "inferred_ca_source": "sentinel"
    },
    {
      "cohort": "C-doc-new (type='document', ca set)",
      "id": "6ef0e329_0",
      "source": "schematic-substrate-analysis.md",
      "existing_type": "document",
      "existing_ca": "2026-05-01 16:42:13.360795+00",
      "inferred_type": "document",
      "inferred_ca": "2026-05-01 16:42:13.360795+00",
      "inferred_ca_source": "preserved"
    },
    {
      "cohort": "C-doc-new (type='document', ca set)",
      "id": "02db1224_208",
      "source": "How Buildings Learn What Happens After They are Built -- Stewart Brand.pdf",
      "existing_type": "document",
      "existing_ca": "2026-04-30 22:21:56.211381+00",
      "inferred_type": "document",
      "inferred_ca": "2026-04-30 22:21:56.211381+00",
      "inferred_ca_source": "preserved"
    },
    {
      "cohort": "C-doc-new (type='document', ca set)",
      "id": "ead32317_93",
      "source": "Richard Sennett - The Craftsman.pdf",
      "existing_type": "document",
      "existing_ca": "2026-04-30 22:23:34.012202+00",
      "inferred_type": "document",
      "inferred_ca": "2026-04-30 22:23:34.012202+00",
      "inferred_ca_source": "preserved"
    },
    {
      "cohort": "C-doc-new (type='document', ca set)",
      "id": "6ef0e329_4",
      "source": "schematic-substrate-analysis.md",
      "existing_type": "document",
      "existing_ca": "2026-05-01 16:42:13.360795+00",
      "inferred_type": "document",
      "inferred_ca": "2026-05-01 16:42:13.360795+00",
      "inferred_ca_source": "preserved"
    },
    {
      "cohort": "C-doc-new (type='document', ca set)",
      "id": "02db1224_175",
      "source": "How Buildings Learn What Happens After They are Built -- Stewart Brand.pdf",
      "existing_type": "document",
      "existing_ca": "2026-04-30 22:21:56.211381+00",
      "inferred_type": "document",
      "inferred_ca": "2026-04-30 22:21:56.211381+00",
      "inferred_ca_source": "preserved"
    },
    {
      "cohort": "C-doc-new (type='document', ca set)",
      "id": "02db1224_101",
      "source": "How Buildings Learn What Happens After They are Built -- Stewart Brand.pdf",
      "existing_type": "document",
      "existing_ca": "2026-04-30 22:21:56.211381+00",
      "inferred_type": "document",
      "inferred_ca": "2026-04-30 22:21:56.211381+00",
      "inferred_ca_source": "preserved"
    },
    {
      "cohort": "C-doc-new (type='document', ca set)",
      "id": "02db1224_268",
      "source": "How Buildings Learn What Happens After They are Built -- Stewart Brand.pdf",
      "existing_type": "document",
      "existing_ca": "2026-04-30 22:21:56.211381+00",
      "inferred_type": "document",
      "inferred_ca": "2026-04-30 22:21:56.211381+00",
      "inferred_ca_source": "preserved"
    },
    {
      "cohort": "C-doc-new (type='document', ca set)",
      "id": "6ef0e329_5",
      "source": "schematic-substrate-analysis.md",
      "existing_type": "document",
      "existing_ca": "2026-05-01 16:42:13.360795+00",
      "inferred_type": "document",
      "inferred_ca": "2026-05-01 16:42:13.360795+00",
      "inferred_ca_source": "preserved"
    },
    {
      "cohort": "C-doc-new (type='document', ca set)",
      "id": "ead32317_132",
      "source": "Richard Sennett - The Craftsman.pdf",
      "existing_type": "document",
      "existing_ca": "2026-04-30 22:23:34.012202+00",
      "inferred_type": "document",
      "inferred_ca": "2026-04-30 22:23:34.012202+00",
      "inferred_ca_source": "preserved"
    },
    {
      "cohort": "C-doc-new (type='document', ca set)",
      "id": "02db1224_86",
      "source": "How Buildings Learn What Happens After They are Built -- Stewart Brand.pdf",
      "existing_type": "document",
      "existing_ca": "2026-04-30 22:21:56.211381+00",
      "inferred_type": "document",
      "inferred_ca": "2026-04-30 22:21:56.211381+00",
      "inferred_ca_source": "preserved"
    },
    {
      "cohort": "C-claude (type='claude_conversation', ca set)",
      "id": "claude_dacf89e3-1ee7-400d-8461-ef5920c82fe3_96",
      "source": "Claude: University of Utah interview teaching example",
      "existing_type": "claude_conversation",
      "existing_ca": "2026-03-11T18:05:57.594832Z",
      "inferred_type": "claude_conversation",
      "inferred_ca": "2026-03-11T18:05:57.594832Z",
      "inferred_ca_source": "preserved"
    },
    {
      "cohort": "C-claude (type='claude_conversation', ca set)",
      "id": "claude_c0baf4b0-a7bb-4664-ac7b-98d7b02f56a6_26",
      "source": "Claude: Weighing Utah versus Oklahoma",
      "existing_type": "claude_conversation",
      "existing_ca": "2026-04-01T19:08:26.722197Z",
      "inferred_type": "claude_conversation",
      "inferred_ca": "2026-04-01T19:08:26.722197Z",
      "inferred_ca_source": "preserved"
    },
    {
      "cohort": "C-claude (type='claude_conversation', ca set)",
      "id": "claude_bbe0172d-3087-4238-a51c-7dca6c0b6f28_92",
      "source": "Claude: Setting up a custom OpenClaw instance",
      "existing_type": "claude_conversation",
      "existing_ca": "2026-04-23T04:26:00.015419Z",
      "inferred_type": "claude_conversation",
      "inferred_ca": "2026-04-23T04:26:00.015419Z",
      "inferred_ca_source": "preserved"
    },
    {
      "cohort": "C-claude (type='claude_conversation', ca set)",
      "id": "claude_42dbddc5-12ba-4de7-a685-043473189da9_6",
      "source": "Claude: I filling out my annual report...",
      "existing_type": "claude_conversation",
      "existing_ca": "2026-03-24T14:34:47.870625Z",
      "inferred_type": "claude_conversation",
      "inferred_ca": "2026-03-24T14:34:47.870625Z",
      "inferred_ca_source": "preserved"
    },
    {
      "cohort": "C-claude (type='claude_conversation', ca set)",
      "id": "claude_bbe0172d-3087-4238-a51c-7dca6c0b6f28_1344",
      "source": "Claude: Setting up a custom OpenClaw instance",
      "existing_type": "claude_conversation",
      "existing_ca": "2026-04-23T04:26:00.015419Z",
      "inferred_type": "claude_conversation",
      "inferred_ca": "2026-04-23T04:26:00.015419Z",
      "inferred_ca_source": "preserved"
    },
    {
      "cohort": "C-aaronai (type='aaronai_conversation', ca set)",
      "id": "aaronai_conv_28ee8a447d3fc922_6",
      "source": "Aaron AI: I'm working on you",
      "existing_type": "aaronai_conversation",
      "existing_ca": "2026-04-26T17:43:28.056503",
      "inferred_type": "aaronai_conversation",
      "inferred_ca": "2026-04-26T17:43:28.056503",
      "inferred_ca_source": "preserved"
    },
    {
      "cohort": "C-aaronai (type='aaronai_conversation', ca set)",
      "id": "aaronai_conv_7deef2e8001f0e45_20",
      "source": "Aaron AI: Who's covering for me on sabbatical?",
      "existing_type": "aaronai_conversation",
      "existing_ca": "2026-04-29T22:19:45.312349",
      "inferred_type": "aaronai_conversation",
      "inferred_ca": "2026-04-29T22:19:45.312349",
      "inferred_ca_source": "preserved"
    },
    {
      "cohort": "C-aaronai (type='aaronai_conversation', ca set)",
      "id": "aaronai_conv_21cabf771708df70_42",
      "source": "Aaron AI: What should I be the most excited about right now?",
      "existing_type": "aaronai_conversation",
      "existing_ca": "2026-04-27T07:06:03.996026",
      "inferred_type": "aaronai_conversation",
      "inferred_ca": "2026-04-27T07:06:03.996026",
      "inferred_ca_source": "preserved"
    },
    {
      "cohort": "C-aaronai (type='aaronai_conversation', ca set)",
      "id": "aaronai_conv_7deef2e8001f0e45_12",
      "source": "Aaron AI: Who's covering for me on sabbatical?",
      "existing_type": "aaronai_conversation",
      "existing_ca": "2026-04-29T22:19:45.312349",
      "inferred_type": "aaronai_conversation",
      "inferred_ca": "2026-04-29T22:19:45.312349",
      "inferred_ca_source": "preserved"
    },
    {
      "cohort": "C-aaronai (type='aaronai_conversation', ca set)",
      "id": "aaronai_conv_ed40b4278a9c8110_4",
      "source": "Aaron AI: Let's say you're building an analog of the human brain, and ...",
      "existing_type": "aaronai_conversation",
      "existing_ca": "2026-05-03T01:45:21.469613",
      "inferred_type": "aaronai_conversation",
      "inferred_ca": "2026-05-03T01:45:21.469613",
      "inferred_ca_source": "preserved"
    }
  ]
}