embeddings: backfill type and created_at (Improvement #2 part A)
Backfills 9,815 type-NULL rows to 'document' (extension classifier, 100% hit)
and 12,109 created_at-NULL rows via five batches:
C1 filepath_stat: 9,649 filesystem mtime via metadata.filepath
C2 watcher_state_unique: 676 unique source-name lookup in watcher_state
C3 watcher_state_collision_pick_latest_of_N:
234 collision; most-recent watcher mtime
C4 chatgpt_export: 1,548 convo create_time from export JSONs
(168/168 distinct convo_ids resolved)
C5 sentinel: 2 2026-04-26T00:00:00Z (pgvector migration date)
Provenance written to metadata.type_source and metadata.created_at_source
on every row changed by this run. type_source is empty on rows where the
type field was already populated pre-run; in those cases the snapshot
table is the source of truth for what changed.
Snapshot: embeddings_backup_2026_05_03 (CREATE TABLE AS SELECT id, type,
created_at, metadata FROM embeddings; 14,069 rows; revertable via id-join).
Verification:
V1 live counts: type_null=0 ca_null=0
V2 spot-check 11 rows across cohorts: provenance correct
V3 snapshot intact: 14,069 rows, pre-backfill NULL counts preserved
V4 cross-check vs snapshot: reconciles per-provenance to dry-run
Read-side use (B + C: writer enforcement + minimal retrieval read) deferred
to a separate session. The backfill is complete and verified, but the type
and created_at fields are not yet load-bearing — every current reader still
ignores them. Without B+C this lands as data prep, not behavior change.
This commit is contained in:
@@ -0,0 +1,857 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user