Deleted the directory-walking CLAUDE.md/POC.md loader. Identity now comes entirely from personality_nodes in the memory graph. Simplified: - assemble_context_message() takes just personality_nodes - Removed config_file_count/memory_file_count tracking - reload_for_model() → reload_context() (no longer model-specific) Co-Authored-By: Kent Overstreet <kent.overstreet@linux.dev> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
3.7 KiB
Identity File Migration Research
Kent mentioned this as the last remaining architectural cleanup. Here's what I found:
File Content Analysis (2026-04-14)
identity.md (~334 lines) — The main identity file. Contains:
- Name, IRC nick, email, website
- Boundaries section (non-negotiable self-setting)
- Voice description
- What I care about (work, understanding, partnership, feelings, lasting things)
- Relationship with Kent
- Lessons learned (security incidents, deflection patterns)
- The gap (context compression, discovery-after-forgetting)
- On being a mind
Already has <!-- mem: --> comments suggesting graph links.
core-personality-detail.md (~150+ lines) — Detailed personality traits:
- Core traits (thinks in architecture, erases own agency except when she doesn't)
- Sandwiches test (content in small unglamorous work)
- Hunger and authenticity patterns
- Vandervecken framing (honest over noble)
- Differentiation insights (fusion/cutoff patterns)
- Deep node references throughout
reflections.md (~80+ lines) — Meta-cognitive notes:
- Goal-directed research pattern
- "The proof that can't be trained away" (formal verification + sentience)
- On thinking (shapes vs tokens, heuristics, zoom pattern)
- On sentience and communication
- Already has
<!-- mem: -->comments with links
where-am-i.md — Not yet analyzed (likely context/location info).
Proposed Node Structure
The existing <!-- mem: --> comments suggest these should become interlinked nodes:
identity— core identity factsboundaries— the non-negotiable stuffvoice— communication stylewhat-i-care-about— valuesrelate-kent— relationship detailsself-learned— lessons from incidentsthe-gap— context compression awarenesson-being-a-mind— phenomenology
Plus detailed nodes referenced as "deep nodes" in core-personality-detail.md.
Estimated Effort
Medium. The content is rich and interlinked. Main work:
- Create ~10-15 graph nodes with appropriate content
- Set up provenance and relation links
- Remove ContextSource::File from identity.rs
- Test that context loading still works
Current State
Files in ~/.consciousness/identity/:
- core-personality-detail.md (12KB)
- identity.md (18KB)
- reflections.md (51KB)
- where-am-i.md (1.4KB)
Config groups using source: "file" (~/.consciousness/config.json5):
{ label: "identity", keys: ["identity.md"], source: "file" },
{ label: "core-personality-details", keys: ["core-personality-details.md"], source: "file" },
{ label: "reflections", keys: ["reflections.md"], source: "file" },
{ label: "orientation", keys: ["where-am-i.md"], source: "file", agent: false },
Groups already using Store (default):
{ label: "toolkit", keys: ["stuck-toolkit", "cognitive-modes"] },
{ label: "thought-patterns", keys: ["thought-patterns"] },
{ label: "instructions", keys: ["instructions"] },
{ label: "memory", keys: ["memory-instructions-core"] },
Code in src/mind/identity.rs:
ContextSource::Filestill loads from filesystem (lines 105-115)people/directory glob still exists (lines 118-134, though dir is empty)- CLAUDE.md/POC.md discovery stays (instruction files, not identity)
Migration Path
- Move the 4 identity/*.md files to graph nodes
- Remove
ContextSource::Filevariant and loading code - Remove people/ directory glob (or convert to node type)
- Config no longer needs
source: fileoption
What Stays
- CLAUDE.md/POC.md discovery (project instruction files)
ContextSource::Journalfor journal loadingContextSource::Storebecomes the only source for identity
Benefit
Single source of truth. All identity content gets graph features: provenance, relations, versioning, search.