Cross-Project Learning: Making the AI Persona Evolve
The Recap
In Milestone 1, I decoupled the AI persona from the project repository — a portable harness that can be mounted anywhere.
In Milestone 2, I moved project orchestration into a centralized registry, so the system knows which harness to boot based on the directory path.
But there was still a problem: persona stasis.
The Factory Reset Problem
Even with a portable identity, the AI was essentially starting fresh every time it moved to a new project.
The system correctly loads project-specific logs (what happened in the code), but the persona itself remained static. If the agent learned a new preference while working on Project A — say, how I like deployment flows structured — that knowledge was trapped in Project A’s logs. Moving to Project B meant a reset.
Milestone 3: Persona Maturation
The fix is separating “what I learned about the code” from “what I learned about how this person works.”
I introduced a harness-specific memory layer — an append-only ledger that lives inside the harness folder, not the project folder.
Two Streams of Memory
- Project trace (auditable): Stays in the repository’s session logs. Contains code-level details, dependency fixes, task history. Project B never sees Project A’s noise.
- Persona memory (epistemic): Stays in the harness folder (
~/dotfiles/soul/harnesses/teddy-architect/v1/memory.jsonl). Contains distilled lessons about how I work and how the system should evolve.
[ SESSION ]
|
v
+----------------+ +-------------------+
| PROJECT TRACE | | PERSONA MEMORY |
| (Code Logs) | | (Harness Learning)|
+-------+--------+ +---------+---------+
| |
[ PROJECT A ] [ GLOBAL HARNESS ]
[ PROJECT B ] [ PERSISTENT MIND ]
The Result
When the system boots, hydration is now triple-layered:
- Static invariants: The base rules of the harness.
- Persona maturation: Everything the harness has learned across all projects.
- Project trajectory: The session logs of the current working directory.
The AI gets more precise and more aligned with my technical preferences every time I work with it. It’s not a temporary worker — it’s an accumulating asset.
Next: multi-agent specialization, where the harness spawns sub-agents for specialized reasoning domains.