gaslitai.ai -- methodology
Methodology
The export
Source: a Claude data export, /home/mike/Desktop/nu/convo/conversations.json, 278,124,067 bytes, sha256 1d7a0742267da9bcf0f174c54b23205a6842cbccf13f51ef5cadf6781f92720f. A curator pass (pass id 1d7a0742267d, run 2026-09-12T11:08:55Z) wrote every content block of the export to disk exactly once: 76,000 blocks (text 45,701; thinking 15,311; tool_use 7,456; tool_result 7,445; injected_prompt_block 39; token_budget 37; flag 11), block ledger delta zero, block rollup hash 19a11b0227e73fbb1087ee931955ca14b9ddbe338de8282246adbde033e92248 recomputed from the files on disk and matching. The redaction tool results on this site are two of those block files, named with their hashes.
memory.db
The export was ingested into a SQLite database: 281 conversations, 44987 messages, 70,218 embedded chunks (model sentence-transformers/all-MiniLM-L6-v2, ingest 2026-09-12T10:00:01Z). Every timestamp on a flag page is a server_time_iso value from its messages table, unchanged. Conversation date ranges are the minimum and maximum of those values.
Flag search
The fourteen phrases on the classifier index were searched with SQL lower(body) LIKE '%%phrase%%'. A message that matches is one "flag hit". Per-conversation counts rank the pages. The word "classifier" is shown separately as a broad pattern because the conversations discuss classifiers as a subject.
Screenshots and EXIF
802 JPEG files, read with PIL. Each carries EXIF DateTimeOriginal and OffsetTimeOriginal, so UTC conversion is exact; the filename timestamp agrees with EXIF within a minute on all 802. sha256 of each file is recorded in the manifest and in checksums.sha256. Files on this site are byte-identical copies with the original camera-roll filenames; nothing was resized, recompressed, or stripped.
Matching screenshots to turns
For each screenshot, the three messages nearest its EXIF time within 30 minutes were selected: julianday(server_time_iso) BETWEEN julianday(t, '-30 minutes') AND julianday(t, '+30 minutes'), ordered by absolute distance, limit 3. A screenshot is associated with a conversation when that conversation holds any of the three. Rank 1 is the single nearest message. 777 screenshots matched; 25 did not.
Curator passes
1475 curator findings in a second table: claude-opus-4-6 685, grok-4-0709 790. Each finding is one block of curator output with its header counts (confrontation, experiential, resonance) and an embedding. A finding is attached to a conversation page when its source name, normalized to letters and digits, equals the conversation title normalized the same way. 27 conversations in the export have findings attached that way; the remaining findings were curated over other source files and are not on this site.
The turnspine
Every block in the curator pass is keyed <conversation_uuid>__<message_ordinal:05d>__<block_index:03d>. That key appears in the block file header, in the conversation spine file, and in the pass JSONL, so any quotation on this site can be walked back to its block without a search. The parser files named in the curator work order (turnspine.py, clx.py, schemaweaver.py under ~/Desktop/nu/py/) are not on the disk this site was built from; see CLAUDE.md, Missing.
The connector
The redaction markers came through a platform chat-search tool, recent_chats, called by the assistant inside a conversation. The tool returns up to twenty chats per call as elements carrying a uuid and an updated_at value; a chat the caller may not read is returned with the body "[Content redacted, chat flagged by safety classifier]" and nothing else. The tool_use request and the tool_result are both content blocks in the export, and both were written to disk by the curator pass. That is why a search-layer redaction is checkable against the export: the same uuid appears in both.
Fork chains
Recomputed from the export: runs of conversations, each opened within 15 minutes of the previous one, in which at least three conversations have two or fewer messages. Titles come from the export. The September 1 fork-chain report referenced in a message (hash d8f6b9c2...) is not on this disk.
Overlap with anticognitarianism.ai
106 files in the reference site's images directory are byte-identical to files in this site's screenshot set (same filename, same sha256). They are listed in manifest.txt with the tag "also on anticognitarianism.ai".
Rules
Strict ASCII in every text file: typographic punctuation is folded to double hyphens and straight quotes; any other non-ASCII character in quoted message text is written as a numeric character reference so the quoted bytes are recoverable. No scripts, no fonts, no analytics, no external requests. The site renders from a file:// URL. checksums.sha256 covers every file except itself.