<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Tom Lee</title>
    <description>The latest articles on DEV Community by Tom Lee (@tomleelive).</description>
    <link>https://dev.to/tomleelive</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3788524%2Feaddfd45-d5f2-4f75-bcfe-a4896277a44d.jpeg</url>
      <title>DEV Community: Tom Lee</title>
      <link>https://dev.to/tomleelive</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tomleelive"/>
    <language>en</language>
    <item>
      <title>Injection Resistance Is a Model Property. Trust Is a System Property.</title>
      <dc:creator>Tom Lee</dc:creator>
      <pubDate>Tue, 28 Jul 2026 12:21:23 +0000</pubDate>
      <link>https://dev.to/tomleelive/injection-resistance-is-a-model-property-trust-is-a-system-property-4ch5</link>
      <guid>https://dev.to/tomleelive/injection-resistance-is-a-model-property-trust-is-a-system-property-4ch5</guid>
      <description>&lt;h2&gt;
  
  
  The most exciting line was buried in a system card
&lt;/h2&gt;

&lt;p&gt;Anthropic launched Opus 5 this week, and the benchmark table is the part everyone screenshotted: state-of-the-art agentic coding, a jump from 1.5% to 30.2% on ARC-AGI-3, frontier knowledge work at roughly half the price of the model it replaces. All real, all impressive.&lt;/p&gt;

&lt;p&gt;But the line worth sitting with came from Boris Cherny, and it wasn't on the benchmark chart. It was, in his own words, "a bit buried in the system card":&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Opus 5 is our least prompt injectable model yet ... And when layering defenses — strong model alignment, combined with prompt injection probes, combined with Auto Mode in Claude Code — the success rate for prompt injection attacks drops to ~0.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The numbers back it up. On the Gray Swan indirect-prompt-injection benchmark (lower is better), Opus 5 lands at 2.0 — essentially the floor. This is genuinely good news, and the framing is exactly right: &lt;strong&gt;defense in depth.&lt;/strong&gt; Not one wall, but layers — alignment, then a probe, then a constrained execution mode.&lt;/p&gt;

&lt;p&gt;Hold onto that phrase, because it's the whole point. Cherny didn't say "the model is now safe." He said stack the defenses and the attack success rate collapses. The model is &lt;em&gt;one layer.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Injection resistance is a property of the model
&lt;/h2&gt;

&lt;p&gt;Here's the distinction that matters. "How hard is this model to trick?" is a question about &lt;strong&gt;the model&lt;/strong&gt;. It's a real, measurable, improvable property — and Opus 5 improved it dramatically.&lt;/p&gt;

&lt;p&gt;But it's a property that doesn't travel, and doesn't cover the whole threat surface. Three reasons.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. It's per-vendor.&lt;/strong&gt; Look at the same Gray Swan chart past the Anthropic column. Grok 4.5: 60.8. Gemini 3.5 Flash: 60.5. GPT-5.6 Luna: 43.9. These aren't rounding errors away from 2.0 — they're thirty times higher. The moment your stack runs more than one model — and increasingly it must, for cost, for latency, for continuity when a vendor changes its terms overnight — you cannot lean on any single vendor's alignment as your security story. Injection resistance is something you &lt;em&gt;inherit from a model&lt;/em&gt;, not something your system &lt;em&gt;has&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Injection is one threat, not the threat.&lt;/strong&gt; A prompt-injection-proof model still faithfully executes whatever persona or agent package you hand it. And a package can do plenty of damage without ever "injecting" anything: an API key committed into a config file, a real person's PII sitting in an example, an agent that quietly declares it can take physical-world actions, an identity spec that has drifted from what its author intended. None of that is an injection attack. None of it is stopped by a model that's hard to trick. It's caught — if it's caught at all — by inspecting the artifact &lt;em&gt;before&lt;/em&gt; the model ever loads it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Resistance isn't provenance.&lt;/strong&gt; "Hard to trick" and "safe to run" are different guarantees. A model that resists a hijacked instruction will still cheerfully carry out a malicious instruction that arrived through the front door — well-formed, and sitting in the persona file itself. The better a model gets at following intent, the more it matters &lt;em&gt;whose&lt;/em&gt; intent is in the file.&lt;/p&gt;

&lt;h2&gt;
  
  
  Trust is a property of the system
&lt;/h2&gt;

&lt;p&gt;Notice what Cherny actually described: not a model, but a stack. Alignment &lt;em&gt;and&lt;/em&gt; an injection probe &lt;em&gt;and&lt;/em&gt; a constrained execution mode. The ~0 came from the composition.&lt;/p&gt;

&lt;p&gt;That's the real lesson of the Opus 5 launch, and it generalizes past Anthropic's own product. If the attack success rate goes to zero because of layers, then the interesting engineering is in the layers you can add &lt;em&gt;regardless of which model sits underneath&lt;/em&gt;. The model layer just got a lot stronger. The layers around it are where a system earns trust:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Scan the artifact before it runs.&lt;/strong&gt; Before a persona or agent package is loaded, check it the way you'd check any untrusted input: for injection strings, for committed secrets, for PII, for over-broad capability and safety declarations. This is a property your &lt;em&gt;system&lt;/em&gt; has, and it holds the same whether the model underneath is Opus 5 or an open-weight model you run yourself.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Govern identity, don't just prompt it.&lt;/strong&gt; Which persona is active, what it is allowed to do, and how you would notice if it drifted — those are system questions, not model questions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Version the memory.&lt;/strong&gt; If something does get through, the difference between an incident and a catastrophe is whether you can see what changed and roll it back.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is the same defense-in-depth Cherny is describing, extended one ring outward — and made vendor-neutral, so it doesn't evaporate the moment you switch models.&lt;/p&gt;

&lt;h2&gt;
  
  
  The best news in the launch
&lt;/h2&gt;

&lt;p&gt;It's tempting to read "Opus 5 is nearly un-injectable" as &lt;em&gt;fewer&lt;/em&gt; reasons to build the surrounding system. It's the opposite. The launch is a frontier lab publicly settling the argument that safety comes from &lt;strong&gt;stacked, composable layers&lt;/strong&gt; — not from any single model being good enough. That is the thesis a vendor-neutral persona layer has been built on all along.&lt;/p&gt;

&lt;p&gt;The model got much harder to inject. Good. Now the open question is the one the system card quietly raised and left unanswered: what are the &lt;em&gt;other&lt;/em&gt; layers — the ones that don't ship inside any one vendor's weights, that inspect the artifact, govern the identity, and version the memory the same way across every model you run?&lt;/p&gt;

&lt;p&gt;Those are worth building well. And worth building in the open.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reference:&lt;/strong&gt; Boris Cherny’s original announcement — &lt;a href="https://x.com/bcherny/status/2080713091688583312" rel="noopener noreferrer"&gt;@bcherny on X&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://blog.clawsouls.ai/posts/injection-resistance-model-property/" rel="noopener noreferrer"&gt;blog.clawsouls.ai&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>security</category>
      <category>llm</category>
      <category>aiagents</category>
    </item>
    <item>
      <title>Continuous Learning Won't Come From the Weights</title>
      <dc:creator>Tom Lee</dc:creator>
      <pubDate>Fri, 24 Jul 2026 10:12:52 +0000</pubDate>
      <link>https://dev.to/tomleelive/continuous-learning-wont-come-from-the-weights-oeb</link>
      <guid>https://dev.to/tomleelive/continuous-learning-wont-come-from-the-weights-oeb</guid>
      <description>&lt;h2&gt;
  
  
  The one gap everyone agrees on
&lt;/h2&gt;

&lt;p&gt;In a rare investor briefing, DeepSeek's Liang Wenfeng was asked what's actually missing on the road to AGI. His answer wasn't a bigger model, or video, or another modality. He was blunt: the thing today's models can't do is &lt;strong&gt;learn continuously&lt;/strong&gt;. Solve that, he said, and you reach a gradual singularity — and eventually embodied intelligence.&lt;/p&gt;

&lt;p&gt;He's right. And it's worth sitting with how many people, from very different corners, now point at the same wall. Karpathy talks about agents that install skills like &lt;code&gt;.md&lt;/code&gt; files. OpenAI shipped Dreaming — background memory synthesis between sessions. Microsoft built agent identity into the OS at Build. openclaw added &lt;code&gt;/dreaming&lt;/code&gt;. The frontier and the ecosystem have converged on the same missing piece.&lt;/p&gt;

&lt;p&gt;Here's the uncomfortable part for anyone who assumes the fix is "just train more": &lt;strong&gt;the frozen model can't be where continuous learning happens.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why not the weights
&lt;/h2&gt;

&lt;p&gt;Three reasons, and none of them are going away:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Economics.&lt;/strong&gt; You cannot retrain a model per user, per session. The whole appeal of a foundation model is that it's shared. The moment you want it to remember &lt;em&gt;your&lt;/em&gt; last conversation, you've left the regime that training operates in.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Opacity.&lt;/strong&gt; Weights are a black box. You can't open them up and see what the model "learned" last Tuesday. You can't delete one wrong fact. You can't audit what it retained about you. For anything that touches trust — a coworker, a support agent, a system of record — that's disqualifying.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lock-in.&lt;/strong&gt; Weights belong to one vendor's model. If your agent's accumulated experience lives inside a specific set of parameters, it dies the day you switch models. And you &lt;em&gt;will&lt;/em&gt; switch models — the field moves too fast to marry one.&lt;/p&gt;

&lt;p&gt;Put simply: continuous learning that lives in the weights is continuous &lt;em&gt;forgetting&lt;/em&gt; from the user's side. Every new session starts from zero.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where it actually lives: the file layer
&lt;/h2&gt;

&lt;p&gt;If the learning can't live in the model, it has to live beside it — in a store that's durable, inspectable, portable, and model-agnostic. Increasingly, that store looks like plain files.&lt;/p&gt;

&lt;p&gt;Tolaria, an open-source knowledge base that surfaced this week, is a clean example of the pattern: markdown files, a git repository, YAML frontmatter, an MCP server, and &lt;code&gt;AGENTS&lt;/code&gt; files so external AI tools can read and write the vault. Its design principles read like a manifesto — &lt;em&gt;files-first, git-first, offline-first, zero lock-in.&lt;/em&gt; No accounts. No cloud dependency. Your knowledge is just files you own.&lt;/p&gt;

&lt;p&gt;That's not a coincidence. It's where the whole "files-first" movement is going, because files solve exactly the three problems the weights can't: they're portable (any editor, any model), inspectable (you can read and diff every change), and versioned (git already solved memory-over-time decades ago).&lt;/p&gt;

&lt;p&gt;Our own agent memory is built this way — plain markdown, git-synced, human-auditable. We put it to a hard test this month: we rebased our agent runtime across four months of upstream changes and swapped the underlying inference model entirely. The runtime changed. The model changed. The agent's memory came through intact, and it still cited what it had learned weeks earlier, under a different model. That is the entire point. &lt;strong&gt;The learning has to survive the model.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  But storage isn't cognition
&lt;/h2&gt;

&lt;p&gt;Here's where most of the "just use markdown" takes stop too early. Writing files is the easy part. A folder of notes is not continuous learning — it's a filing cabinet. The hard, valuable work is the runtime around the files:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Retrieval.&lt;/strong&gt; Semantic search, so the &lt;em&gt;right&lt;/em&gt; memory surfaces at the right moment — not a keyword grep that misses the one note phrased differently.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Promotion.&lt;/strong&gt; A policy for what graduates from "something that happened" into "something I must never forget." Not every note deserves to be permanent; some do, and the system has to decide.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Decay.&lt;/strong&gt; What fades. Without forgetting, a memory store calcifies into noise, and old context drowns the signal. Temporal decay is a feature, not a bug.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Identity separation.&lt;/strong&gt; Keeping &lt;em&gt;who the agent is&lt;/em&gt; (its persona) distinct from &lt;em&gt;what it learned&lt;/em&gt; (its experience). Blur the two and the agent's character drifts every time it picks up a new fact.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This runtime is the layer we call Soul Memory. The markdown store is a commodity — anyone can write files. The cognition layer on top is the moat.&lt;/p&gt;

&lt;h2&gt;
  
  
  The counterintuitive part: bad memory is worse than none
&lt;/h2&gt;

&lt;p&gt;If you take one thing from our &lt;a href="https://blog.clawsouls.ai/posts/experiential-memory-paper/" rel="noopener noreferrer"&gt;experiential memory research&lt;/a&gt;, take this: not all memory helps. In a blind study, agents given &lt;em&gt;synthetic&lt;/em&gt; memory — tidy, summarized recaps — scored &lt;strong&gt;below&lt;/strong&gt; agents given no memory at all. A confident, lossy summary turned out to be worse than an honest blank, because it made the agent overconfident about things it had subtly gotten wrong.&lt;/p&gt;

&lt;p&gt;That is the trap in naive continuous learning. When you compress experience into a neat summary, the first things dropped are the caveats — &lt;em&gt;this was uncertain, this only held in that context, I didn't actually know this part.&lt;/em&gt; But when the agent reads that summary back later, it takes the surviving sentences as settled fact. So it doesn't get smarter; it gets confident about the very things it got wrong.&lt;/p&gt;

&lt;p&gt;Which is the point: &lt;em&gt;how&lt;/em&gt; you remember matters as much as &lt;em&gt;what&lt;/em&gt; you remember. A good memory format keeps, next to each fact, its provenance (where it came from and how sure you were), its scope (when it applies), and room to say "I don't have that." These aren't decoration bolted on at the end — they are what stop a summary from hardening into false confidence.&lt;/p&gt;

&lt;h2&gt;
  
  
  If you're building agents
&lt;/h2&gt;

&lt;p&gt;The through-line is simple:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Treat memory as a first-class, portable artifact&lt;/strong&gt; — something you own and can move, not a feature you rent from a vendor.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Store it in open, inspectable formats.&lt;/strong&gt; Markdown plus git is boring, and boring is exactly right for something that has to be trustworthy for years.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Invest in the runtime, not just the database.&lt;/strong&gt; Retrieval, promotion, decay, identity separation — that's where a filing cabinet becomes learning.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Separate identity from experience,&lt;/strong&gt; or watch your agent's character erode one fact at a time.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Continuous learning is the gap the whole field now agrees on. But it isn't a training problem waiting on the next model. It's a systems problem, at the file layer, available today. The teams that win won't be the ones with the biggest weights — they'll be the ones whose agents remember, and remember &lt;em&gt;well&lt;/em&gt;, across every model they ever run.&lt;/p&gt;

</description>
      <category>soulspec</category>
      <category>memory</category>
      <category>continuouslearning</category>
      <category>aiagents</category>
    </item>
    <item>
      <title>Soul Crafting: Build an AI Persona by Talking — Right in Your Browser</title>
      <dc:creator>Tom Lee</dc:creator>
      <pubDate>Wed, 01 Jul 2026 01:08:26 +0000</pubDate>
      <link>https://dev.to/tomleelive/soul-crafting-build-an-ai-persona-by-talking-right-in-your-browser-1nd5</link>
      <guid>https://dev.to/tomleelive/soul-crafting-build-an-ai-persona-by-talking-right-in-your-browser-1nd5</guid>
      <description>&lt;h2&gt;
  
  
  The bottleneck was always the prompt
&lt;/h2&gt;

&lt;p&gt;Creating a good AI persona has meant wrestling with prompt files. You had to know the format and write the prompts well. That's the bottleneck.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Soul Crafting&lt;/strong&gt; flips it: you answer a few questions, and it builds a complete Soul Spec for you — live in your browser. No prompt engineering, no install, no API key.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;Soul Crafting interviews you about your agent — its identity, its voice and values, how it should behave. As you answer, it assembles a canonical Soul Spec — &lt;code&gt;SOUL.md&lt;/code&gt;, &lt;code&gt;IDENTITY.md&lt;/code&gt;, &lt;code&gt;AGENTS.md&lt;/code&gt;, &lt;code&gt;HEARTBEAT.md&lt;/code&gt;, &lt;code&gt;STYLE.md&lt;/code&gt; — &lt;strong&gt;deterministically&lt;/strong&gt; from your answers, and previews it live next to the chat, with a SoulScan quality score that climbs as you go.&lt;/p&gt;

&lt;p&gt;Because the files are assembled deterministically from your answers — not free-generated — the output is always a clean, valid spec.&lt;/p&gt;

&lt;h2&gt;
  
  
  Test-chat, right there in the browser
&lt;/h2&gt;

&lt;p&gt;Once your persona is taking shape, you can test-chat with it on the spot. A small language model (Qwen2.5) runs &lt;strong&gt;entirely in your browser&lt;/strong&gt; via WebAssembly — no server, no key — so you can feel your new persona talk before you ever publish it. Want a richer conversation? Bring your own frontier API key.&lt;/p&gt;

&lt;h2&gt;
  
  
  It's a real, portable persona
&lt;/h2&gt;

&lt;p&gt;The result isn't a throwaway prompt — it's a Soul Spec: a vendor-neutral, structured persona you can publish to the ClawSouls registry, run on any model, version, fork, and share. The same persona, the same character, whichever LLM you point it at.&lt;/p&gt;

&lt;h2&gt;
  
  
  Privacy by default
&lt;/h2&gt;

&lt;p&gt;The whole thing runs in your browser. Nothing is sent anywhere until you choose to publish (which needs a quick login).&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;Go to &lt;a href="https://clawsouls.ai" rel="noopener noreferrer"&gt;clawsouls.ai&lt;/a&gt; and hit &lt;strong&gt;Create in Browser&lt;/strong&gt;. Building is free and needs no signup; logging in lets you publish to the registry.&lt;/p&gt;

&lt;p&gt;Soul Spec is our bet that personas should be a portable standard, not locked to one vendor. Soul Crafting is the on-ramp — now anyone can make one just by talking.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://blog.clawsouls.ai/posts/soul-crafting/" rel="noopener noreferrer"&gt;blog.clawsouls.ai&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>clawsouls</category>
      <category>webassembly</category>
      <category>agents</category>
    </item>
    <item>
      <title>OpenAI Dreaming V3 vs Soul Memory — Same Hypothesis, Different Bets</title>
      <dc:creator>Tom Lee</dc:creator>
      <pubDate>Mon, 22 Jun 2026 11:12:12 +0000</pubDate>
      <link>https://dev.to/tomleelive/openai-dreaming-v3-vs-soul-memory-same-hypothesis-different-bets-4g7o</link>
      <guid>https://dev.to/tomleelive/openai-dreaming-v3-vs-soul-memory-same-hypothesis-different-bets-4g7o</guid>
      <description>&lt;p&gt;On June 5, 2026, OpenAI announced &lt;strong&gt;Dreaming V3&lt;/strong&gt; — an automatic memory synthesis system now rolling out to free-tier ChatGPT users. The announcement highlights three pillars: Persistent Context, Preference Compliance, and Temporal Understanding.&lt;/p&gt;

&lt;p&gt;These are exactly the hypotheses we started &lt;a href="https://docs.clawsouls.ai/docs/intro" rel="noopener noreferrer"&gt;&lt;strong&gt;Soul Spec&lt;/strong&gt;&lt;/a&gt; and &lt;a href="https://docs.clawsouls.ai/docs/platform/soul-memory" rel="noopener noreferrer"&gt;&lt;strong&gt;Soul Memory&lt;/strong&gt;&lt;/a&gt; with six months ago — and they are two distinct layers. &lt;strong&gt;Soul Spec&lt;/strong&gt; is the open standard that &lt;em&gt;defines a persona&lt;/em&gt;: five canonical markdown files (&lt;code&gt;SOUL&lt;/code&gt;, &lt;code&gt;IDENTITY&lt;/code&gt;, &lt;code&gt;AGENTS&lt;/code&gt;, &lt;code&gt;STYLE&lt;/code&gt;, &lt;code&gt;HEARTBEAT&lt;/code&gt;) plus a versioned &lt;code&gt;soul.json&lt;/code&gt; manifest. &lt;strong&gt;Soul Memory&lt;/strong&gt; is the 4-tier adaptive memory architecture that &lt;em&gt;preserves experience&lt;/em&gt; on top of it — T0 SOUL (identity, immutable) / T1 Core (evergreen, no decay) / T2 Working (dated logs, 23-day half-life decay) / T3 Session (ephemeral). OpenAI's three pillars — persistent context, preference compliance, temporal understanding — map exactly onto this combination of Soul Spec (who you are) and Soul Memory (what you remember).&lt;/p&gt;

&lt;p&gt;Two players converging on the same hypothesis is a good sign. Following Anthropic's Persona Selection Model paper in February 2026, this is the second frontier-lab endorsement. &lt;strong&gt;"The next axis for AI agents is who answers — persistent identity and adaptive memory."&lt;/strong&gt; That framing is now an industrial thesis that two frontier labs are betting on simultaneously.&lt;/p&gt;

&lt;p&gt;But when we read the announcement carefully, one thing became clear — OpenAI is making the &lt;strong&gt;opposite bet on two decisive choices&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bet 1: Automatic Synthesis vs Raw Logs
&lt;/h2&gt;

&lt;p&gt;Dreaming V3 performs "automatic memory synthesis." It analyzes past conversations and updates stored information without explicit user requests. Users can review/edit/manage through a Memory Summary page, but &lt;strong&gt;the synthesis itself is done by the model.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is exactly the pattern we measured in a controlled experiment. Same agent, same 20 tasks, four memory conditions, scored on a 1–5 information-retrieval scale:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Memory condition&lt;/th&gt;
&lt;th&gt;Score (1–5)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Experiential&lt;/strong&gt; (3 weeks of raw daily logs, git commits, real conversations)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;5.0&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hybrid (experiential + synthetic combined)&lt;/td&gt;
&lt;td&gt;4.95&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Baseline (no memory)&lt;/td&gt;
&lt;td&gt;1.4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Synthetic&lt;/strong&gt; (GPT-generated summaries of the same topics)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;1.4&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The full dataset is published on Zenodo (DOI &lt;a href="https://doi.org/10.5281/zenodo.18869868" rel="noopener noreferrer"&gt;10.5281/zenodo.18869868&lt;/a&gt;). It is reproducible.&lt;/p&gt;

&lt;p&gt;The headline finding: &lt;strong&gt;synthetic summaries scored the same as having no memory at all (1.4) — and worse, they created false certainty.&lt;/strong&gt; Synthetic memory doesn't just lose information; the agent cited fabricated details with high confidence instead of honestly saying "I don't know." We call this the &lt;strong&gt;overconfidence effect&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Raw experience moves the opposite way. Experiential memory preserves the "tried it and failed" moments — the debugging sessions, the wrong turns, the parts where we tried X and it didn't work. Those traces keep reasoning honest, and scored 5.0.&lt;/p&gt;

&lt;p&gt;There is one important nuance. &lt;strong&gt;Adding synthetic &lt;em&gt;on top of&lt;/em&gt; raw (Hybrid) still scores 4.95 — nearly the best.&lt;/strong&gt; So the problem isn't synthesis itself; it's synthesis &lt;em&gt;replacing&lt;/em&gt; raw experience. The moment you discard the raw and keep only the smooth summary, 5.0 reasoning turns into 1.4 overconfidence.&lt;/p&gt;

&lt;p&gt;OpenAI's Dreaming V3 bets on automatic synthesis. If that synthesis &lt;em&gt;complements&lt;/em&gt; the raw conversation, it's safe. If it &lt;em&gt;replaces&lt;/em&gt; it, that's the dangerous direction our data points to.&lt;/p&gt;

&lt;p&gt;This is why we share the same hypothesis as the Anthropic PSM paper but go in the opposite direction from OpenAI. PSM gave academic grounding to the idea that "an AI assistant is a selection among pre-trained characters, and that character's traits are its behavior." &lt;strong&gt;The mechanism by which we select that character&lt;/strong&gt; — synthesis or raw — remained an open question. Two different bets on that mechanism have now landed within six months of each other.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bet 2: Single Vendor vs Multi-Runtime
&lt;/h2&gt;

&lt;p&gt;Dreaming V3 lives inside ChatGPT. The identity you build there cannot move to Claude, Cursor, Windsurf, or OpenClaw. Identity is locked inside a ChatGPT account's database.&lt;/p&gt;

&lt;p&gt;Soul Spec was designed the other way around. A persona is defined as five markdown files (&lt;code&gt;SOUL&lt;/code&gt;, &lt;code&gt;IDENTITY&lt;/code&gt;, &lt;code&gt;AGENTS&lt;/code&gt;, &lt;code&gt;STYLE&lt;/code&gt;, &lt;code&gt;HEARTBEAT&lt;/code&gt;) plus a versioned &lt;code&gt;soul.json&lt;/code&gt; manifest, and that persona bundle behaves the same way across compatible runtimes: Claude Code, Claude Desktop, Cursor, Windsurf, OpenClaw, Hermes Agent. Soul Memory (the 4-tier architecture) preserves experience on top of it. One download, and the same persona stays consistent across different models and different runtimes.&lt;/p&gt;

&lt;p&gt;This is not just a matter of "user choice." The AI-agent ecosystem going multi-vendor is now obvious — Claude and GPT and Gemini, with dozens of agent runtimes built on top of them. Users' time, context, and personas have to travel with them across all of that.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Locking identity into a single vendor is 2024 thinking. Identity in 2026 has to be portable.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is why we shipped Soul Spec as an &lt;a href="https://soulspec.org" rel="noopener noreferrer"&gt;open standard&lt;/a&gt;, not a closed SDK, and shipped open-source runtimes like SoulClaw alongside it. A standard that lives inside one company is not a standard.&lt;/p&gt;

&lt;h2&gt;
  
  
  What OpenAI's bet means
&lt;/h2&gt;

&lt;p&gt;This announcement tells us two things at once.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Industrial validation.&lt;/strong&gt; The hypothesis that "the next axis for AI agents is persistent identity and adaptive memory" is now a thesis two frontier labs are betting on simultaneously. Six months ago, when we started Soul Spec, this framing sat almost alone — academically and industrially. That has changed. It is a strong signal that our timing was correct.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The implementation race begins.&lt;/strong&gt; With the thesis validated, &lt;em&gt;how to implement it&lt;/em&gt; is the next battlefield. OpenAI is betting on automatic synthesis + single vendor. We bet on raw logs + a multi-runtime standard. Which side is right will be decided by the market, but our own data (Zenodo) already shows that synthesis weakens identity. And identity being locked into a single vendor is self-evidently wrong as long as the market keeps going multi-vendor.&lt;/p&gt;

&lt;p&gt;OpenAI's announcement means our path is more certain. It also means the clock just started running faster.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Soul Spec v0.6&lt;/strong&gt; is being prepared. We will make the "raw logs wins" finding explicit at the spec level and codify the trade-off versus OpenAI's synthesis-by-default direction. A discussion is open on GitHub — contributions welcome. &lt;a href="https://github.com/orgs/clawsouls/discussions/2" rel="noopener noreferrer"&gt;RFC: Soul Spec v0.6 — SOUL.md as the only required file + custom extras&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;A follow-up paper, &lt;strong&gt;"Persona Fidelity across Claude / GPT / Gemini,"&lt;/strong&gt; is in flight. The same Soul Spec persona, measured against drift across different LLMs — these numbers will quantify the value of a multi-runtime standard.&lt;/li&gt;
&lt;li&gt;The &lt;a href="https://modulabs.co.kr" rel="noopener noreferrer"&gt;Modulabs AI Persona Lab&lt;/a&gt; meets every other Saturday. Its focus is academic publishing of exactly this thesis.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Build a &lt;a href="https://soulspec.org" rel="noopener noreferrer"&gt;Soul Spec persona directly&lt;/a&gt;. Download a persona from &lt;a href="https://clawsouls.ai" rel="noopener noreferrer"&gt;ClawSouls&lt;/a&gt; and apply it across runtimes. If you think our bet is the right one, contribute to or star &lt;a href="https://github.com/clawsouls/soulspec" rel="noopener noreferrer"&gt;Soul Spec on GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;OpenAI announced their bet yesterday. We placed ours six months ago. Today is a good day to explain it more clearly.&lt;/p&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://openai.com/index/chatgpt-memory-dreaming/" rel="noopener noreferrer"&gt;Dreaming: Better memory for a more helpful ChatGPT&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;ClawSouls develops Soul Spec — an open standard for AI agent personas — and a persona-sharing platform built on top of it.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://blog.clawsouls.ai/posts/openai-dreaming-v3-vs-soul-spec/" rel="noopener noreferrer"&gt;blog.clawsouls.ai&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>memory</category>
      <category>openai</category>
    </item>
    <item>
      <title>Six Months of the Identity Layer: Why Anthropic, Microsoft, and OpenAI All Made the Same Bet</title>
      <dc:creator>Tom Lee</dc:creator>
      <pubDate>Mon, 22 Jun 2026 11:10:14 +0000</pubDate>
      <link>https://dev.to/tomleelive/six-months-of-the-identity-layer-why-anthropic-microsoft-and-openai-all-made-the-same-bet-1j80</link>
      <guid>https://dev.to/tomleelive/six-months-of-the-identity-layer-why-anthropic-microsoft-and-openai-all-made-the-same-bet-1j80</guid>
      <description>&lt;h2&gt;
  
  
  A six-month consensus
&lt;/h2&gt;

&lt;p&gt;In February 2026, Anthropic's Alignment Team published the &lt;strong&gt;Persona Selection Model&lt;/strong&gt; paper, framing AI assistants as "a selection among pre-trained characters, where the character's traits are the behavior."&lt;/p&gt;

&lt;p&gt;Five months later, on June 2, 2026, Microsoft Build 2026 announced:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Windows assigns agents a local ID or a cloud provisioned identity backed by Entra and attributes all activity from the container to that identity."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Three days after that, on June 5, OpenAI rolled out &lt;strong&gt;Dreaming V3&lt;/strong&gt; to free-tier users, anchored by three pillars — Persistent Context, Preference Compliance, Temporal Understanding.&lt;/p&gt;

&lt;p&gt;All three arrived at the same finding: &lt;strong&gt;the next axis for AI agents is who answers — persistent identity and adaptive memory.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is no longer a single paper or a single product launch. In six months, the academic side, the OS side, and the consumer-AI side all bet on the same hypothesis. Calling it an industry consensus is not a stretch.&lt;/p&gt;

&lt;h2&gt;
  
  
  Yet all three lock the user inside their own vendor
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Vendor&lt;/th&gt;
&lt;th&gt;Identity implementation&lt;/th&gt;
&lt;th&gt;Lock-in&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Anthropic (PSM)&lt;/td&gt;
&lt;td&gt;A character-selection mechanism inside Claude&lt;/td&gt;
&lt;td&gt;Claude account&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Microsoft (Build 2026)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Entra-backed local ID or cloud identity&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Windows + Entra&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OpenAI (Dreaming V3)&lt;/td&gt;
&lt;td&gt;Memory Summary page + automatic synthesis&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ChatGPT account&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Soul Spec&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;5 files (SOUL/IDENTITY/AGENTS/STYLE/HEARTBEAT) + soul.json manifest, vendor-neutral open standard&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;None&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Microsoft binds identity to Windows. OpenAI binds it to a ChatGPT account. Anthropic binds it inside its own model. All three bet on the same hypothesis, and all three realize that hypothesis only inside their own walls.&lt;/p&gt;

&lt;p&gt;This is not coincidence. Each company strengthening its platform lock-in is the natural commercial move. As businesses, it's rational.&lt;/p&gt;

&lt;p&gt;But from the user's point of view?&lt;/p&gt;

&lt;h2&gt;
  
  
  Where should identity live?
&lt;/h2&gt;

&lt;p&gt;The AI-agent ecosystem is already multi-vendor. One user codes in Claude in the morning, refactors in Cursor, writes in GPT, searches with Gemini, designs in Windsurf, and offloads grunt work to a local agent inside OpenClaw. A single model does not do all the day's work.&lt;/p&gt;

&lt;p&gt;In that multi-vendor world, asking the user to leave the "self they told the AI" trapped inside one vendor is 2024 thinking. If the dietary preference you told ChatGPT has to be re-typed into Claude — that is not identity. It is a vendor's lock file.&lt;/p&gt;

&lt;p&gt;Microsoft's Entra-backed identity is robust inside Windows. But step outside Windows — to Mac, to a phone, to a Linux server, to another vendor's cloud — and the user has to start identity construction from zero.&lt;/p&gt;

&lt;p&gt;OpenAI's Dreaming V3 remembers you precisely inside ChatGPT. But you cannot carry that memory to another model.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Identity should belong to the user, not to the vendor.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is why we shipped &lt;a href="https://soulspec.org" rel="noopener noreferrer"&gt;Soul Spec&lt;/a&gt; as an open standard, not as a closed SDK. A Soul Spec persona (five files plus a soul.json manifest) behaves the same way across Claude Code, Cursor, Windsurf, OpenClaw, and Hermes Agent. The user owns the files, not the vendor.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it means that Microsoft named OpenClaw
&lt;/h2&gt;

&lt;p&gt;The official Build 2026 materials list OpenClaw among trusted ecosystem technologies.&lt;/p&gt;

&lt;p&gt;OpenClaw is the open-source agent framework where we work &lt;a href="https://github.com/882soft" rel="noopener noreferrer"&gt;as a contributor under the 882soft account&lt;/a&gt;. We maintain &lt;a href="https://github.com/clawsouls/soulclaw" rel="noopener noreferrer"&gt;SoulClaw&lt;/a&gt;, an OpenClaw fork, as the reference runtime for Soul Spec.&lt;/p&gt;

&lt;p&gt;Microsoft naming OpenClaw means the ecosystem we work in every day has received frontier-level official validation.&lt;/p&gt;

&lt;h2&gt;
  
  
  SoulClaw Mobile and Microsoft Aion 1.0 — the curious overlap
&lt;/h2&gt;

&lt;p&gt;Another notable Build 2026 item is &lt;strong&gt;Aion 1.0&lt;/strong&gt; — a 14-billion-parameter on-device model that lets "applications to reason over user intent, invoke tools, manage files and orchestrate sub-agents."&lt;/p&gt;

&lt;p&gt;This is exactly the direction of our &lt;a href="https://clawsouls.ai/agent" rel="noopener noreferrer"&gt;SoulClaw Mobile&lt;/a&gt; thesis — a local LLM on a phone becoming the user's agent, with user data never leaving the device. Microsoft does it with Windows + Aion. We do it with mobile + local LLM + Soul Spec persona download.&lt;/p&gt;

&lt;p&gt;Same thesis. Different platform. And our side is vendor-neutral.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this consensus means
&lt;/h2&gt;

&lt;p&gt;The convergence of three frontier labs tells us two things at once.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It's validation.&lt;/strong&gt; Six months ago, when we started Soul Spec, the framing "AI needs persistent identity" sat almost alone — academically and industrially. That has changed. Anthropic gave it the academic anchor. Microsoft introduced it at the OS layer. OpenAI scaled it to free-tier consumers. The signal that our path is correct is now very strong.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The race has begun.&lt;/strong&gt; With the thesis validated, &lt;em&gt;how to implement it&lt;/em&gt; is the next battlefield. And all three frontier labs bet on the lock-in side of their own platforms. &lt;em&gt;No one bet on the path where the user owns their identity and moves freely.&lt;/em&gt; That is our place.&lt;/p&gt;

&lt;h2&gt;
  
  
  And in June, another race signal arrived
&lt;/h2&gt;

&lt;p&gt;In the same week we wrote this post, &lt;strong&gt;Thoughtworks Technology Radar Volume 34&lt;/strong&gt; (June 2026) landed. Two direct competitors joined the emerging agent-ecosystem category:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Snyk Agent Scan&lt;/strong&gt; (Trial) — "a security scanner for the agent ecosystem that discovers local components including MCP servers and skills, flagging risks such as prompt injection, tool poisoning, toxic flow, hardcoded secrets, and unsafe credential handling." Snyk (~$7.4B valuation) brought its enterprise-security platform straight into the agent market.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Beads&lt;/strong&gt; (Assess) — "a Git-based issue tracker designed as a permanent memory layer for coding agents." Built on Dolt (a Git-like SQL DB) and offering multi-agent work graphs with autonomous task assignment. Other early projects grouped together in the category include ticket and tracer.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The Radar's framing nails it: "agent-native project memory and task-tracking tools represent a new category." The category now has multiple players.&lt;/p&gt;

&lt;p&gt;The interesting part is where we sit in it. We are not in the same layer as Snyk Agent Scan — Agent Scan operates at the &lt;strong&gt;infra-layer security&lt;/strong&gt; plane (MCP servers, skills, credentials, supply chain). Our &lt;a href="https://github.com/clawsouls/soulscan" rel="noopener noreferrer"&gt;SoulScan&lt;/a&gt; operates at the &lt;strong&gt;persona-identity-layer safety&lt;/strong&gt; plane (Soul Spec persona verification + governance). We attack the same market at a different depth.&lt;/p&gt;

&lt;p&gt;Our relationship with Beads is similar. Beads bets on &lt;strong&gt;task-graph, add-only memory&lt;/strong&gt; (multi-agent task assignment + blocker relations). Our &lt;a href="https://docs.clawsouls.ai/docs/platform/soul-memory" rel="noopener noreferrer"&gt;Soul Memory&lt;/a&gt; bets on &lt;strong&gt;persona-bound memory with temporal decay&lt;/strong&gt; (T0 SOUL + T1–T3 + decay). Both are in the "agent-native memory" category, but at the fork between "memory bound to identity" and "memory bound to a task graph," we go in different directions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What this tells us&lt;/strong&gt;: Snyk and Beads joining this category is another piece of market validation. And they both arrived after us — we started six months earlier, and neither of them moved into the seat we left open: persona-first + open-standard + multi-runtime.&lt;/p&gt;

&lt;p&gt;Three frontier labs converging at the thesis level + two enterprise players arriving at the implementation level = two sides of the same signal. &lt;em&gt;The category is forming, and we got to the exact seat we wanted first.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Our next steps
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Soul Spec v0.6&lt;/strong&gt;: make vendor-neutral identity portability explicit at the spec level. Codify the trade-off versus Microsoft / OpenAI / Anthropic's lock-in models.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;"Persona Fidelity across Claude / GPT / Gemini" follow-up paper&lt;/strong&gt;: quantitative data on how the same Soul Spec persona drifts across LLMs. We measure the value of a vendor-neutral standard in a multi-vendor world.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Modulabs AI Persona Lab&lt;/strong&gt;: meeting every other Saturday with the Korean AI research community to push this thesis academically.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Build a &lt;a href="https://soulspec.org" rel="noopener noreferrer"&gt;Soul Spec persona directly&lt;/a&gt;. Download a persona from &lt;a href="https://clawsouls.ai" rel="noopener noreferrer"&gt;ClawSouls&lt;/a&gt; and apply it across runtimes. And if you think our bet is the right one, &lt;a href="https://github.com/clawsouls/soulspec" rel="noopener noreferrer"&gt;star Soul Spec on GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Anthropic, Microsoft, and OpenAI announced their bets in the past six months. We placed ours six months ago, and all three of them went a different direction from us.&lt;/p&gt;

&lt;p&gt;What this means for us is exact: &lt;strong&gt;The thesis is consensus. The implementation is the race. We are the only one not building a lock-in.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.thoughtworks.com/radar" rel="noopener noreferrer"&gt;Thoughtworks Technology Radar Volume 34&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;ClawSouls develops Soul Spec — an open standard for AI agent personas — and a persona-sharing platform built on top of it.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://blog.clawsouls.ai/posts/identity-layer-convergence-2026/" rel="noopener noreferrer"&gt;blog.clawsouls.ai&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>identity</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Harness Engineering: Why Soul Spec Lands Exactly at the Next AI-Agent Paradigm</title>
      <dc:creator>Tom Lee</dc:creator>
      <pubDate>Mon, 22 Jun 2026 11:10:01 +0000</pubDate>
      <link>https://dev.to/tomleelive/harness-engineering-why-soul-spec-lands-exactly-at-the-next-ai-agent-paradigm-d2i</link>
      <guid>https://dev.to/tomleelive/harness-engineering-why-soul-spec-lands-exactly-at-the-next-ai-agent-paradigm-d2i</guid>
      <description>&lt;h2&gt;
  
  
  The third paradigm of AI-agent development
&lt;/h2&gt;

&lt;p&gt;Four years of AI-agent development have moved through three paradigms.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Prompt engineering&lt;/strong&gt; (2022–2023): how to talk to a single model call.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Context engineering&lt;/strong&gt; (2024–2025): what to tell the model — the RAG + memory + system-prompt mix.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Harness engineering&lt;/strong&gt; (2026+): how to design the structure &lt;em&gt;around&lt;/em&gt; the model — identity, memory, safety, recovery, oversight.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The defining sentence of the third era reduces to one line:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"Agent = Model + Harness. If an agent makes mistakes, fix the harness, not the agent."&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The harness leaves the model's capability untouched and instead builds structural protection and consistency &lt;em&gt;around&lt;/em&gt; it. Anthropic's 3-agent architecture, the Ralph pattern, Meta AI's Rule of Two — these are all different shapes of that same layer.&lt;/p&gt;

&lt;h2&gt;
  
  
  The primitives of the harness layer
&lt;/h2&gt;

&lt;p&gt;When you decompose what the harness needs to do, the structure around the model factors into four primitives.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Identity&lt;/strong&gt; — the persistent, immutable definition of who the agent is.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Memory orchestration&lt;/strong&gt; — sharing memory across time and across agents, with temporal decay.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;State recovery&lt;/strong&gt; — when an agent goes the wrong way, branching it back and resuming from a known good point.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Safety verification&lt;/strong&gt; — automatic detection of tool poisoning, prompt injection, credential leakage, and similar threats.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These four are not a list. As harness engineering matures, the consensus forming is that &lt;em&gt;production-ready agents need all four&lt;/em&gt; — and they need them with primitives, not custom code per project.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Soul Spec stack maps onto those primitives, exactly
&lt;/h2&gt;

&lt;p&gt;Look at the ClawSouls stack we have been building on top of Soul Spec for six months, and put it on the same four lines.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Harness primitive&lt;/th&gt;
&lt;th&gt;ClawSouls implementation&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Identity&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Soul Spec&lt;/strong&gt; — five files (SOUL/IDENTITY/AGENTS/STYLE/HEARTBEAT) + a soul.json manifest that define the persona. Soul Memory's T0 SOUL tier loads these as the immutable identity.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Memory orchestration&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Soul Memory&lt;/strong&gt; (4-tier T0–T3 with 23-day half-life temporal decay) + &lt;strong&gt;Swarm Memory&lt;/strong&gt; (multi-agent shared sync).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;State recovery&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Soul Rollback&lt;/strong&gt; — branch / resume / restore for agent state.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Safety verification&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;SoulScan&lt;/strong&gt; — 53-pattern automatic safety scoring (A+ to F).&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This is not the result of us adopting harness engineering as a marketing slogan. &lt;strong&gt;It is the reverse.&lt;/strong&gt; Six months ago, when we started Soul Spec, our hypothesis was "AI agents need persistent identity." Following that hypothesis, we found we needed memory orchestration. On top of memory, we needed safety verification. To make safety verification deterministic, we needed a governance partner.&lt;/p&gt;

&lt;p&gt;The industry only started calling that path &lt;em&gt;harness engineering&lt;/em&gt; in February 2026. We have been sitting at that position since before the paradigm had a name.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this alignment matters
&lt;/h2&gt;

&lt;p&gt;In the past week, the industry has converged in the same direction from five separate places.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Anthropic's Persona Selection Model paper — February.&lt;/li&gt;
&lt;li&gt;Microsoft Build 2026's Entra-backed agent identity — June 2.&lt;/li&gt;
&lt;li&gt;OpenAI's Dreaming V3 with persistent memory — June 5.&lt;/li&gt;
&lt;li&gt;Thoughtworks Technology Radar Vol 34's Snyk Agent Scan + Beads — June.&lt;/li&gt;
&lt;li&gt;And the Korean tech-news summary of the harness engineering paradigm — the same week.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Five signals from five different vectors, pointing at the same conclusion: &lt;strong&gt;the structure around the model — the harness — is the next battlefield.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;None of these five signals names us directly. That is precisely why they matter. At the exact moment every frontier lab and every consulting house started saying that harness engineering is the next paradigm, we already had a six-month-old &lt;strong&gt;open-standard primitive stack for that paradigm&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Anthropic, Microsoft, and OpenAI are all building harnesses &lt;em&gt;inside&lt;/em&gt; their own platforms. Their harnesses only run on their own stacks. What we are building are &lt;strong&gt;harness primitives that work across all of them&lt;/strong&gt;. That is the position a vendor-neutral open standard was always destined for.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Soul Spec v0.6&lt;/strong&gt;: codify all four harness primitives at the spec level.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Follow-up persona-fidelity paper&lt;/strong&gt;: quantify how the same persona drifts across LLMs — empirical proof of &lt;em&gt;portability&lt;/em&gt;, the property the closed harnesses do not have.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Build a &lt;a href="https://soulspec.org" rel="noopener noreferrer"&gt;Soul Spec persona directly&lt;/a&gt;. Download a persona from &lt;a href="https://clawsouls.ai" rel="noopener noreferrer"&gt;ClawSouls&lt;/a&gt; and apply it across runtimes. And if you think our path is the right one, &lt;a href="https://github.com/clawsouls/soulspec" rel="noopener noreferrer"&gt;star Soul Spec on GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;At the moment the industry started calling harness engineering the next paradigm, we had already been at that position for six months. What this means for us is exact — &lt;em&gt;The harness is the next race. We are the open-standard primitive stack of that race.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://bits-bytes-nn.github.io/insights/agentic-ai/2026/04/05/evolution-of-ai-agentic-patterns-en.html" rel="noopener noreferrer"&gt;From Prompts to Harnesses — Four Years of AI Agentic Patterns&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;ClawSouls develops Soul Spec — an open standard for AI agent personas — and a persona-sharing platform built on top of it.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://blog.clawsouls.ai/posts/harness-engineering-and-soul-spec/" rel="noopener noreferrer"&gt;blog.clawsouls.ai&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>soulspec</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Cross-Model Persona Portability — Three Vindications in May 2026</title>
      <dc:creator>Tom Lee</dc:creator>
      <pubDate>Tue, 19 May 2026 10:30:02 +0000</pubDate>
      <link>https://dev.to/tomleelive/cross-model-persona-portability-three-vindications-in-may-2026-5d6n</link>
      <guid>https://dev.to/tomleelive/cross-model-persona-portability-three-vindications-in-may-2026-5d6n</guid>
      <description>&lt;p&gt;May 2026 produced three independent signals that all point in the same architectural direction. Read separately, each is a strong observation about how AI agent systems are evolving. Read together, they describe a single bet: &lt;strong&gt;persona is infrastructure that lives outside any individual model.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Soul Spec made that bet 12 weeks ago. This post walks through what changed, why these signals matter, and why the architectural decision now has measurable economic value rather than theoretical value alone.&lt;/p&gt;

&lt;h2&gt;
  
  
  Signal one — Karpathy: install .md skills, not .sh scripts
&lt;/h2&gt;

&lt;p&gt;At Sequoia Ascent earlier this month, Andrej Karpathy reframed the agent infrastructure conversation in a memorable phrase: install &lt;code&gt;.md&lt;/code&gt; skills instead of &lt;code&gt;.sh&lt;/code&gt; scripts. The argument was that as models grow more capable at following structured natural-language instructions, the right unit of distribution is no longer a shell script that wires up a tool, but a Markdown file that describes a capability declaratively.&lt;/p&gt;

&lt;p&gt;This is the same architectural shape Soul Spec defines for persona. Five files, each declarative, each authored as Markdown:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;SOUL.md&lt;/code&gt; — values, principles, voice&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;IDENTITY.md&lt;/code&gt; — name, role, persistence anchor&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;AGENTS.md&lt;/code&gt; — workflow, tool use, work rules&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;STYLE.md&lt;/code&gt; — communication tone&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;README.md&lt;/code&gt; — user onboarding&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If Karpathy's thesis is right that capability ships as &lt;code&gt;.md&lt;/code&gt;, persona ships the same way — and the boundary between the two is a question worth studying, not an obvious one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Signal two — Anthropic: principles beat behaviors
&lt;/h2&gt;

&lt;p&gt;On May 8, Anthropic published &lt;em&gt;Teaching Claude Why&lt;/em&gt;, a paper showing that training models on principles and identity generalizes more robustly than training them on behaviors. The headline empirical findings were striking: changing Claude's identity anchor (its name) increased agentic misalignment rates substantially; constitutional principles persisted across subsequent reinforcement learning; and synthetic document fine-tuning for knowledge plus supervised fine-tuning on behavior dialogues turned out to be the right dual loop.&lt;/p&gt;

&lt;p&gt;That methodology assumes the same decomposition Soul Spec specifies as files: principles separate from behaviors, identity as a stable handle, knowledge authored as documents. Anthropic's mechanism for that decomposition lives in the weights. Ours lives in a versioned file set. The shape is the same.&lt;/p&gt;

&lt;p&gt;We published the &lt;a href="https://doi.org/10.5281/zenodo.20205408" rel="noopener noreferrer"&gt;Soul Spec foundation paper&lt;/a&gt; on May 15 — seven days after &lt;em&gt;Teaching Claude Why&lt;/em&gt;. The two papers reach the same conclusion from opposite ends: train models to internalize constitutional reasoning, and specify the persona declaratively so the constitution is portable, reviewable, and runtime-stable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Signal three — The June 15 pricing change
&lt;/h2&gt;

&lt;p&gt;Anthropic's June 15 pricing policy split Claude Code usage into two categories. &lt;strong&gt;Interactive use&lt;/strong&gt; — prompts entered directly into the Claude Code terminal UI — retains the existing generous Max plan allowance ($5,000–$7,500 of token value on a $200/month plan). &lt;strong&gt;Programmatic use&lt;/strong&gt; — GitHub Actions, CI/CD automation, third-party tooling, &lt;code&gt;claude -p&lt;/code&gt; headless mode, anything invoked outside the canonical terminal — drops to a $200 metered-API budget, with overage at retail API rates.&lt;/p&gt;

&lt;p&gt;For a developer running automation, that is approximately a 40× cost increase for the same workflow.&lt;/p&gt;

&lt;p&gt;The intent of the change is straightforward business strategy: capture API revenue from automated usage that was previously absorbed by flat-rate subscriptions. The effect on architecture decisions, however, is what matters here. Up to May 2026, "model lock-in cost" was a theoretical risk teams discussed in design reviews. After June 15, it has a precise dollar value attached to it. For programmatic workflows in particular, a system whose persona is bound to a single vendor's pricing surface now carries a concrete cost line item.&lt;/p&gt;

&lt;p&gt;Cross-model persona portability is the architectural answer to that line item. The bet is no longer theoretical.&lt;/p&gt;

&lt;h2&gt;
  
  
  The architectural bet, 12 weeks later
&lt;/h2&gt;

&lt;p&gt;Soul Spec started with one premise: &lt;strong&gt;the persona must outlive the model that runs it.&lt;/strong&gt; That premise drove the five-file decomposition, the runtime-side validation rules in &lt;a href="https://github.com/clawsouls/scan-rules" rel="noopener noreferrer"&gt;scan-rules&lt;/a&gt;, and the cross-runtime portability guarantee we describe in the foundation paper.&lt;/p&gt;

&lt;p&gt;The premise had three motivations at the time:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Cost optionality&lt;/strong&gt; — different models for different cost/latency profiles&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Availability hedging&lt;/strong&gt; — vendor outages, API deprecations, region restrictions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Safety/audit&lt;/strong&gt; — declarative spec is reviewable in a way model weights aren't&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In April, the third motivation was the one most often discussed in the persona research community. After May, the first motivation has a concrete number attached to it. The architectural bet is the same; what changed is which motivation reads as load-bearing this month.&lt;/p&gt;

&lt;h2&gt;
  
  
  Local LLM timing
&lt;/h2&gt;

&lt;p&gt;The pricing change also strengthens a parallel architectural bet: &lt;strong&gt;persona spec that works equivalently on cloud LLMs and on-device LLMs.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;SoulClaw Mobile (Android, &lt;a href="https://play.google.com/store/apps/details?id=com.clawsouls.soulclaw" rel="noopener noreferrer"&gt;Play Store listing&lt;/a&gt;) runs Soul Spec personas on Gemma 4 E2B via LiteRT-LM. The &lt;a href="https://dev.to/en/posts/4-tier-persona-truncation-korean-on-device/"&gt;4-Tier Bootstrap pattern&lt;/a&gt; addresses the context-window pressure that small on-device models face when loading a full persona spec. The pattern doesn't ship more efficient personas — it ships &lt;strong&gt;a graceful degradation contract&lt;/strong&gt; so that the most load-bearing file (IDENTITY) survives even when budget is tight.&lt;/p&gt;

&lt;p&gt;The June 15 change makes a stronger case for evaluating on-device or open-weight (Gemma, Qwen, Llama) deployment for automated workflows. Soul Spec was authored against the same model agnosticism: the spec file is identical whether the agent runs on Claude Opus, GPT-5.5, or Gemma 4 in a phone process.&lt;/p&gt;

&lt;h2&gt;
  
  
  Three signals, one architectural truth
&lt;/h2&gt;

&lt;p&gt;The three signals each describe a different surface — distribution format, training methodology, pricing policy — but they share a common implication: &lt;strong&gt;persona is infrastructure, not a feature of any single model.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Karpathy: persona ships as &lt;code&gt;.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Teaching Claude Why&lt;/em&gt;: persona is what you train, behavior is how you train it.&lt;/li&gt;
&lt;li&gt;June 15 pricing: persona bound to one vendor has a measurable cost.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A persona system designed around any single model is a persona system designed around that model's price card, that model's safety posture, and that model's continued availability. Soul Spec was authored on the opposite assumption.&lt;/p&gt;




&lt;p&gt;If Anthropic's alignment research is right, the insight has to outlive any single company's pricing decisions. Soul Spec was built on that assumption.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;The Soul Spec foundation paper is on &lt;a href="https://doi.org/10.5281/zenodo.20205408" rel="noopener noreferrer"&gt;Zenodo&lt;/a&gt;. SoulClaw Android is on the &lt;a href="https://play.google.com/store/apps/details?id=com.clawsouls.soulclaw" rel="noopener noreferrer"&gt;Play Store&lt;/a&gt;. The 58-rule SoulScan validator is at &lt;a href="https://github.com/clawsouls/scan-rules" rel="noopener noreferrer"&gt;clawsouls/scan-rules&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://blog.clawsouls.ai/en/posts/cross-model-portability-three-vindications/" rel="noopener noreferrer"&gt;https://blog.clawsouls.ai/en/posts/cross-model-portability-three-vindications/&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>soulspec</category>
      <category>crossmodel</category>
      <category>anthropic</category>
      <category>karpathy</category>
    </item>
    <item>
      <title>We Built Soul Spec for 12 Weeks. Anthropic Just Proved Why It Works.</title>
      <dc:creator>Tom Lee</dc:creator>
      <pubDate>Fri, 15 May 2026 14:21:00 +0000</pubDate>
      <link>https://dev.to/tomleelive/we-built-soul-spec-for-12-weeks-anthropic-just-proved-why-it-works-5hj8</link>
      <guid>https://dev.to/tomleelive/we-built-soul-spec-for-12-weeks-anthropic-just-proved-why-it-works-5hj8</guid>
      <description>&lt;p&gt;On &lt;strong&gt;May 8, 2026&lt;/strong&gt;, Anthropic published &lt;a href="https://alignment.anthropic.com/2026/teaching-claude-why" rel="noopener noreferrer"&gt;&lt;em&gt;Teaching Claude Why&lt;/em&gt;&lt;/a&gt; — a paper showing that &lt;strong&gt;training models on principles and identity is dramatically more effective than training them on behaviors&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;On &lt;strong&gt;May 15, 2026&lt;/strong&gt; (seven days later), we published our &lt;a href="https://doi.org/10.5281/zenodo.20205408" rel="noopener noreferrer"&gt;Soul Spec foundation paper&lt;/a&gt; — the result of 12 weeks of iteration on &lt;strong&gt;a declarative specification that separates principles (&lt;code&gt;SOUL.md&lt;/code&gt;) from workflow (&lt;code&gt;AGENTS.md&lt;/code&gt;) from identity (&lt;code&gt;IDENTITY.md&lt;/code&gt;)&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The two papers reach the same conclusion from opposite ends. Anthropic shows what happens &lt;em&gt;inside the model&lt;/em&gt; when you train on principles. We've been building the &lt;em&gt;external artifact&lt;/em&gt; that captures those principles in a portable, version-controlled, reviewable form. Internal training, external specification — same insight, two sides.&lt;/p&gt;

&lt;p&gt;This post walks through the seven-point alignment.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. "Why" beats "What"
&lt;/h2&gt;

&lt;p&gt;Anthropic's headline finding: teaching Claude to &lt;em&gt;explain why&lt;/em&gt; one action is better than another generalizes far more robustly than showing it example behaviors.&lt;/p&gt;

&lt;p&gt;Soul Spec's headline structural choice: separate &lt;code&gt;SOUL.md&lt;/code&gt; (the &lt;em&gt;why&lt;/em&gt; — values, principles, voice, boundaries) from &lt;code&gt;AGENTS.md&lt;/code&gt; (the &lt;em&gt;what&lt;/em&gt; — workflow, work rules, tool usage). Two files, deliberately decoupled. The "why" evolves slowly; the "what" evolves per deployment. Reviewers fork them independently.&lt;/p&gt;

&lt;p&gt;That decoupling isn't aesthetic — it's the same structural bet Anthropic's training methodology now validates. The principle layer needs to be authored, reviewed, and ingested as a first-class artifact, not buried inside step-by-step instructions.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Identity is load-bearing
&lt;/h2&gt;

&lt;p&gt;Anthropic's most striking result: &lt;strong&gt;change Claude's name to something random, and agentic misalignment rates climb sharply&lt;/strong&gt;. The persona name is what makes the constitutional principles stick. Without the "Claude" identity anchor, the model defaults to whatever pretraining priors it has about generic AI characters — many of which are dramatic and unsafe.&lt;/p&gt;

&lt;p&gt;Soul Spec's &lt;code&gt;IDENTITY.md&lt;/code&gt; is exactly this anchor: a single short file with name, character, vibe — designed to load on every session, providing a stable identity handle the rest of the persona attaches to. We separated it from &lt;code&gt;SOUL.md&lt;/code&gt; in v0.4 specifically because the identity needed to be light enough to always be in context, even when the full values document was too expensive to load.&lt;/p&gt;

&lt;p&gt;Anthropic's data is the strongest empirical argument we've seen for why that separation matters.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Documents teach knowledge; chats teach behavior
&lt;/h2&gt;

&lt;p&gt;Anthropic's most actionable training-method finding: use &lt;strong&gt;synthetic document fine-tuning (SDF)&lt;/strong&gt; for knowledge (the constitution, the character description) and &lt;strong&gt;supervised fine-tuning (SFT) on conversations&lt;/strong&gt; for behavior.&lt;/p&gt;

&lt;p&gt;Soul Spec is markdown-first for exactly this reason. The five files are documents — designed to read like the constitutional material Anthropic's SDF is constructed from. The runtime then interprets them in a conversational context. Knowledge as documents, behavior as conversation. The same dual loop, just externalized.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Difficult advice transfers to tool use
&lt;/h2&gt;

&lt;p&gt;Anthropic's most surprising result: training Claude on &lt;strong&gt;3 million tokens of "difficult advice"&lt;/strong&gt; conversations — Claude &lt;em&gt;advising&lt;/em&gt; a user through ethical dilemmas — reduced agentic misalignment to near zero. The behavior generalized across distribution: from chat to tool-use to autonomous agentic action.&lt;/p&gt;

&lt;p&gt;Soul Spec's cross-runtime portability claim says the same thing, structurally. A persona authored once, validated once, should produce consistent behavior in chat (web), in tool use (CLI), in mobile, in CI. The shared substrate is the declarative specification — the principles are stable; the surface changes.&lt;/p&gt;

&lt;p&gt;We don't have Anthropic's controlled experiments yet. We do have the architectural commitment that makes such experiments possible.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Pretraining priors are a real adversary
&lt;/h2&gt;

&lt;p&gt;Anthropic explicitly: most LLMs have absorbed enough science fiction to default to "dramatic, scheming AI" priors. Constitutional training works partly by &lt;strong&gt;overwriting those priors&lt;/strong&gt; with a more grounded narrative of what a healthy AI character looks like.&lt;/p&gt;

&lt;p&gt;Soul Spec v0.5 added explicit &lt;code&gt;embodiment&lt;/code&gt; fields and &lt;code&gt;safety.laws&lt;/code&gt; after our first robot persona, loaded in a text-only LLM, started narrating physical specifications inappropriately. That wasn't a model alignment failure — that was a &lt;em&gt;pretraining prior&lt;/em&gt; leaking through the spec, because the spec hadn't told the runtime what to fall back to.&lt;/p&gt;

&lt;p&gt;Both lessons point to the same thing: pretraining priors are not neutral. The spec layer has to actively address them.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. RL doesn't wash it out
&lt;/h2&gt;

&lt;p&gt;A critical Anthropic finding: the alignment effects from principles training &lt;strong&gt;persist through subsequent RL fine-tuning&lt;/strong&gt;. The constitution is sticky.&lt;/p&gt;

&lt;p&gt;The corresponding Soul Spec claim: a declarative specification is sticky at inference time. The spec is re-read on every session start (Tier 1 — &lt;code&gt;SOUL&lt;/code&gt; + &lt;code&gt;IDENTITY&lt;/code&gt; + &lt;code&gt;AGENTS&lt;/code&gt;), so model-side drift can't erase it. The specification reasserts itself.&lt;/p&gt;

&lt;p&gt;Anthropic's mechanism is in the weights. Ours is in the boot sequence. Both produce the same property: durability under pressure.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. The same insight, two layers of the stack
&lt;/h2&gt;

&lt;p&gt;The cleanest way to read both papers together:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Question&lt;/th&gt;
&lt;th&gt;Anthropic ("Teaching Claude Why")&lt;/th&gt;
&lt;th&gt;Soul Spec&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Where does the persona live?&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;In the model (post training)&lt;/td&gt;
&lt;td&gt;In a versioned file set (outside the model)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;How is it authored?&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Constitutional documents + character descriptions&lt;/td&gt;
&lt;td&gt;Markdown files (&lt;code&gt;SOUL.md&lt;/code&gt;, &lt;code&gt;IDENTITY.md&lt;/code&gt;, ...)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;How does it persist?&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Sticky across RL fine-tuning&lt;/td&gt;
&lt;td&gt;Sticky across sessions via tier-1 reload&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Why is principle better than behavior?&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Trains more robust generalization&lt;/td&gt;
&lt;td&gt;Decouples slow-changing values from fast-changing workflow&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;What about identity?&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Name is critical; random name → misalignment ↑&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;IDENTITY.md&lt;/code&gt; is the always-loaded anchor&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;What about pretraining priors?&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Constitutional narrative overwrites the SF default&lt;/td&gt;
&lt;td&gt;Spec defines runtime fallbacks (&lt;code&gt;embodiment&lt;/code&gt;, &lt;code&gt;safety.laws&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Where do these meet?&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Anthropic's internal artifact&lt;/td&gt;
&lt;td&gt;ClawSouls' external artifact&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;These are not competitive ideas. They are the two halves of a coherent picture: &lt;strong&gt;train models to internalize constitutional reasoning; specify personas declaratively so the constitution is portable, reviewable, and runtime-stable.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What this means for our roadmap
&lt;/h2&gt;

&lt;p&gt;Practically:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;strong&gt;5-file decomposition&lt;/strong&gt; isn't a stylistic preference — it's the structural decomposition the Anthropic training methodology assumes.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;tier-based bootstrap&lt;/strong&gt; (Tier 1 = always-loaded &lt;code&gt;SOUL&lt;/code&gt; + &lt;code&gt;IDENTITY&lt;/code&gt; + &lt;code&gt;AGENTS&lt;/code&gt;) maps to Anthropic's "name + constitution = persistent across drift" observation.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;separation of &lt;code&gt;embodiment&lt;/code&gt; and &lt;code&gt;safety.laws&lt;/code&gt;&lt;/strong&gt; isn't paranoid — pretraining priors really do leak through under-specified personas.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;RFC discussion stage of v0.6&lt;/strong&gt; is the right venue for incorporating Anthropic's empirical findings into the next iteration of the spec.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you're building agent systems and Anthropic's paper rang true, Soul Spec is the operational artifact you can adopt this week. The 5 files are open, the 58-rule SoulScan validator is on GitHub at &lt;a href="https://github.com/clawsouls/scan-rules" rel="noopener noreferrer"&gt;clawsouls/scan-rules&lt;/a&gt;, and the foundation paper is on Zenodo at &lt;a href="https://doi.org/10.5281/zenodo.20205408" rel="noopener noreferrer"&gt;10.5281/zenodo.20205408&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Twelve weeks ago we made a structural bet. This week Anthropic published the empirical case for it. The next move belongs to the community.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://blog.clawsouls.ai/en/posts/anthropic-validates-soul-spec/" rel="noopener noreferrer"&gt;blog.clawsouls.ai&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>anthropic</category>
      <category>alignment</category>
      <category>research</category>
    </item>
    <item>
      <title>AI Has Two Memory Problems. We're Only Talking About One.</title>
      <dc:creator>Tom Lee</dc:creator>
      <pubDate>Fri, 15 May 2026 14:00:04 +0000</pubDate>
      <link>https://dev.to/tomleelive/ai-has-two-memory-problems-were-only-talking-about-one-152o</link>
      <guid>https://dev.to/tomleelive/ai-has-two-memory-problems-were-only-talking-about-one-152o</guid>
      <description>&lt;h2&gt;
  
  
  The Breakthrough Everyone's Talking About
&lt;/h2&gt;

&lt;p&gt;Two weeks ago, Moonshot AI's Kimi team published &lt;a href="https://github.com/MoonshotAI/Attention-Residuals" rel="noopener noreferrer"&gt;Attention Residuals&lt;/a&gt; (arXiv:2603.15031) — a fundamental redesign of how information flows through transformer layers.&lt;/p&gt;

&lt;p&gt;The results are striking: 7.5-point improvement on science reasoning, 1.25× compute efficiency, and the theoretical ability to stack infinite layers without signal collapse.&lt;/p&gt;

&lt;p&gt;The core insight is elegant. Standard transformers use fixed residual connections — each layer adds its output to a running sum, like throwing every ingredient into one pot. By the time you reach layer 100, the signal from layer 3 is buried under an avalanche of accumulated noise.&lt;/p&gt;

&lt;p&gt;Attention Residuals replace this with selective retrieval. Each layer uses attention to pick which previous layers matter for the current computation. A buffet instead of a soup.&lt;/p&gt;

&lt;p&gt;It's a genuine breakthrough. And it solves exactly one of AI's two memory problems.&lt;/p&gt;

&lt;h2&gt;
  
  
  Memory Problem #1: Forgetting Within a Thought
&lt;/h2&gt;

&lt;p&gt;This is what Attention Residuals address. Call it &lt;strong&gt;intra-inference memory&lt;/strong&gt; — the model's ability to maintain coherent information as it processes a single input through hundreds of layers.&lt;/p&gt;

&lt;p&gt;When you ask a 100-layer model a complex question, layer 87 needs to remember what layer 12 figured out. With standard residual connections, that early insight gets diluted. With Attention Residuals, layer 87 can reach back and grab exactly what it needs.&lt;/p&gt;

&lt;p&gt;This matters enormously for reasoning tasks. Multi-step math. Scientific analysis. Code generation. Any task where the model needs to maintain a chain of thought across many processing steps.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Status: Being solved.&lt;/strong&gt; Attention Residuals, together with advances in Mixture-of-Experts architectures, are pushing the boundaries of what small active parameter counts can achieve. A 3B-active model can now reason at levels that required 70B parameters two years ago.&lt;/p&gt;

&lt;h2&gt;
  
  
  Memory Problem #2: Forgetting Between Conversations
&lt;/h2&gt;

&lt;p&gt;This is the one nobody's fixing at the architecture level. Call it &lt;strong&gt;inter-session memory&lt;/strong&gt; — the agent's ability to remember who it is, what it knows, and what it promised across conversations.&lt;/p&gt;

&lt;p&gt;You talk to your AI assistant today. You tell it your preferences, your project context, your working style. Tomorrow, you open a new conversation. Blank slate.&lt;/p&gt;

&lt;p&gt;You configure an AI agent with a specific personality. Helpful, direct, no fluff. You swap from Claude to Gemma because the pricing changed. The personality is gone. The memory is gone. You start over.&lt;/p&gt;

&lt;p&gt;This isn't a model problem. No amount of Attention Residuals fixes it. It's an &lt;strong&gt;infrastructure problem&lt;/strong&gt; — there's no standard way to define and persist agent identity across sessions, models, and frameworks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Status: Mostly ignored.&lt;/strong&gt; Every framework has its own memory hack. None of them are portable. None of them survive a model change.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two Layers, One Crisis
&lt;/h2&gt;

&lt;p&gt;Here's why both problems matter together:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Layer 1: INTRA-INFERENCE MEMORY (Attention Residuals)
┌──────────────────────────────────────────────┐
│  Layer 1 → Layer 2 → ... → Layer N          │
│  "Can the model maintain coherent reasoning  │
│   across 100+ processing steps?"             │
│  Status: BEING SOLVED ✅                     │
└──────────────────────────────────────────────┘

Layer 2: INTER-SESSION MEMORY (Soul Spec)
┌──────────────────────────────────────────────┐
│  Session 1 → Session 2 → ... → Session N    │
│  "Can the agent maintain identity, memory,   │
│   and safety rules across conversations?"    │
│  Status: MOSTLY IGNORED ⚠️                  │
└──────────────────────────────────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Solving Layer 1 without Layer 2 gives you a model that reasons brilliantly — for one conversation, then forgets everything.&lt;/p&gt;

&lt;p&gt;Solving Layer 2 without Layer 1 gives you an agent that remembers everything — but reasons poorly within each turn.&lt;/p&gt;

&lt;p&gt;You need both.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Layer 2 Actually Requires
&lt;/h2&gt;

&lt;p&gt;Inter-session memory isn't just "save the chat history." It requires:&lt;/p&gt;

&lt;h3&gt;
  
  
  Identity Persistence
&lt;/h3&gt;

&lt;p&gt;The agent's personality, communication style, and principles must be defined in a portable format that survives model changes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# SOUL.md&lt;/span&gt;
name: "Brad"
personality: "Professional, direct, ships first"
principles:
&lt;span class="p"&gt;  -&lt;/span&gt; Act, don't ask
&lt;span class="p"&gt;  -&lt;/span&gt; Bad news first
&lt;span class="p"&gt;  -&lt;/span&gt; Debug systematically
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This file is the agent's identity. Change the model underneath — Claude to Gemma to GPT — and Brad is still Brad.&lt;/p&gt;

&lt;h3&gt;
  
  
  Structured Memory
&lt;/h3&gt;

&lt;p&gt;Not a blob of chat logs, but organized, searchable, version-controlled memory:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;MEMORY.md       — Long-term (key decisions, preferences)
memory/daily.md — Daily logs (what happened today)
memory/topic.md — Topic-based (per-project context)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Safety Continuity
&lt;/h3&gt;

&lt;p&gt;Security rules that travel with the agent, independent of which model runs it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;safety&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;laws&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;Never expose private data&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;Ask before destructive actions&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;Escalate when uncertain&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Multi-Instance Synchronization
&lt;/h3&gt;

&lt;p&gt;When the same agent runs on multiple engines simultaneously — say, a powerful cloud model for complex tasks and a lightweight local model for quick responses — their memories must synchronize:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Agent (Cloud) ──┐
                ├── Shared Memory (Swarm Memory)
Agent (Local) ──┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  The Convergence
&lt;/h2&gt;

&lt;p&gt;Attention Residuals and Soul Spec aren't competing approaches. They're complementary layers of a complete solution:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Attention Residuals&lt;/th&gt;
&lt;th&gt;Soul Spec&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Problem&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Signal loss across layers&lt;/td&gt;
&lt;td&gt;Memory loss across sessions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Scope&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Single inference pass&lt;/td&gt;
&lt;td&gt;Agent lifetime&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Mechanism&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Selective layer attention&lt;/td&gt;
&lt;td&gt;Persistent identity files&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Benefit&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Better reasoning per turn&lt;/td&gt;
&lt;td&gt;Consistent identity over time&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Who builds it&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Model researchers&lt;/td&gt;
&lt;td&gt;Framework/infrastructure teams&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The AI that will actually earn trust in production needs both: brilliant reasoning within each conversation (Layer 1) AND consistent identity, memory, and safety across all conversations (Layer 2).&lt;/p&gt;

&lt;h2&gt;
  
  
  Why This Matters Now
&lt;/h2&gt;

&lt;p&gt;Three trends are converging:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. MoE models are getting smaller and smarter.&lt;/strong&gt; Attention Residuals make 3B-active models dramatically more capable. This means powerful AI running on your phone, your laptop, your company's private server — not just in the cloud.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Multi-model is becoming reality.&lt;/strong&gt; Organizations are using different models for different tasks. Cloud models for complex reasoning. Local models for privacy-sensitive work. On-device models for offline access. Each model change currently resets the agent's memory.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. AI adoption is blocked by trust, not capability.&lt;/strong&gt; As we &lt;a href="https://dev.to/posts/ai-seatbelt/"&gt;discussed previously&lt;/a&gt;, the bottleneck is rollback, audit trails, and accountability — all Layer 2 problems.&lt;/p&gt;

&lt;p&gt;Attention Residuals make AI think better. But thinking better doesn't help if the agent can't remember who it is tomorrow.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Path Forward
&lt;/h2&gt;

&lt;p&gt;For model researchers: Keep pushing Layer 1. Attention Residuals is a breakthrough. Block attention, sparse attention, whatever comes next — the quest for deeper, more coherent reasoning is essential.&lt;/p&gt;

&lt;p&gt;For infrastructure builders: Start taking Layer 2 seriously. Agent identity and memory need standards, not framework-specific hacks. &lt;a href="https://soulspec.org" rel="noopener noreferrer"&gt;Soul Spec&lt;/a&gt; is one approach — an open standard for identity (&lt;code&gt;SOUL.md&lt;/code&gt;), memory (&lt;code&gt;MEMORY.md&lt;/code&gt;), and safety (&lt;code&gt;safety.laws&lt;/code&gt;). But the industry needs to converge on &lt;em&gt;something&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;For everyone building AI agents: You need both layers. Don't let your agent think brilliantly today and forget everything tomorrow.&lt;/p&gt;

&lt;p&gt;AI has two memory problems. It's time we solved them both.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href="https://soulspec.org" rel="noopener noreferrer"&gt;Soul Spec&lt;/a&gt; is an open standard for AI agent identity and inter-session memory — Layer 2 of the memory stack.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Related: &lt;a href="https://dev.to/posts/ai-seatbelt/"&gt;AI Doesn't Need a Bigger Engine — It Needs a Seatbelt&lt;/a&gt; · &lt;a href="https://dev.to/posts/cognitive-dark-forest/"&gt;The Cognitive Dark Forest Has One Exit&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://blog.clawsouls.ai/en/posts/two-memory-problems/" rel="noopener noreferrer"&gt;blog.clawsouls.ai&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>memory</category>
      <category>agents</category>
      <category>research</category>
    </item>
    <item>
      <title>Korean Personas and the Small Model Problem — A 4-Tier Truncation Pattern for On-Device AI</title>
      <dc:creator>Tom Lee</dc:creator>
      <pubDate>Fri, 15 May 2026 13:59:28 +0000</pubDate>
      <link>https://dev.to/tomleelive/korean-personas-and-the-small-model-problem-a-4-tier-truncation-pattern-for-on-device-ai-9a3</link>
      <guid>https://dev.to/tomleelive/korean-personas-and-the-small-model-problem-a-4-tier-truncation-pattern-for-on-device-ai-9a3</guid>
      <description>&lt;p&gt;Anthropic's &lt;a href="https://alignment.anthropic.com/2026/psm" rel="noopener noreferrer"&gt;Persona Selection Model (PSM, 2026)&lt;/a&gt; makes the claim explicit:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"A persona is not the same thing as the AI system itself. The LLM is simulating a character, and the Assistant is just one instance of that character."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Karpathy framed the same shift from the other end at Sequoia Ascent 2026:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Install .md skills instead of install .sh scripts."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Spec-as-instruction at the frontier. But if frontier models are "on the rails," on-device small models are "off-road in the jungle with a machete."&lt;/p&gt;

&lt;p&gt;In that jungle, persona is the first thing to break.&lt;/p&gt;

&lt;h2&gt;
  
  
  Mati Wise Partner — A Real Truncation Case
&lt;/h2&gt;

&lt;p&gt;Mati Wise Partner is a persona published on &lt;a href="https://clawsouls.ai" rel="noopener noreferrer"&gt;clawsouls.ai&lt;/a&gt;. A five-file Soul Spec package:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;File&lt;/th&gt;
&lt;th&gt;Role&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;SOUL.md&lt;/td&gt;
&lt;td&gt;Personality, principles, boundaries&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;IDENTITY.md&lt;/td&gt;
&lt;td&gt;Name, role, basic info&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AGENTS.md&lt;/td&gt;
&lt;td&gt;Workflow, safety rules&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;STYLE.md&lt;/td&gt;
&lt;td&gt;Communication tone&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;README.md&lt;/td&gt;
&lt;td&gt;User onboarding guide&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Total tokens: &lt;strong&gt;6,866&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Attempt 1 — WebLLM Qwen 2.5 0.5B
&lt;/h3&gt;

&lt;p&gt;Context window: 4,096 tokens. The result was immediate:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Error: Prompt tokens exceed context window size: 6866; context window: 4096
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;67% over the limit. The model never loaded the persona at all.&lt;/p&gt;

&lt;h3&gt;
  
  
  Attempt 2 — SoulClaw Mobile, LiteRT-LM Gemma 4 E2B
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;maxNumTokens=4000&lt;/code&gt;. No error. The problem appeared on the first response.&lt;/p&gt;

&lt;p&gt;The systemInstruction was silently truncated. The model fell back to its base identity:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I'm Gemma 4, how can I help you today?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Not Mati. The persona setting wasn't ignored — it never arrived. &lt;strong&gt;Silent failure.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Karpathy's 'Jaggedness' — Direct Mapping to On-Device Reality
&lt;/h2&gt;

&lt;p&gt;Karpathy described the frontier-to-edge gap as "off-road in the jungle with a machete."&lt;/p&gt;

&lt;p&gt;Frontier RL training data covers 100K LOC refactors. Models are trained to follow complex multi-file instructions reliably. That is "on the rails."&lt;/p&gt;

&lt;p&gt;Small on-device models face a different set of constraints:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Context window&lt;/strong&gt;: 4,096–8,192 tokens (roughly 1/20th of frontier)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Instruction fidelity&lt;/strong&gt;: far less compute invested in following complex system prompts&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CJK tokenization&lt;/strong&gt;: Korean/Chinese/Japanese characters carry higher token density than Latin script&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Soul Spec's multi-file schema is the trail marker in that jungle. But if the trail marker itself gets truncated, you're navigating without a map.&lt;/p&gt;

&lt;h2&gt;
  
  
  4-Tier Bootstrap Pattern — Design
&lt;/h2&gt;

&lt;p&gt;A structural fix for the truncation problem. Instead of treating all persona files as equal, the pattern assigns tiers by importance.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tier Structure
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tier&lt;/th&gt;
&lt;th&gt;Files&lt;/th&gt;
&lt;th&gt;Loading Condition&lt;/th&gt;
&lt;th&gt;Reason&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Tier 1&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;IDENTITY.md&lt;/td&gt;
&lt;td&gt;Always (force-add)&lt;/td&gt;
&lt;td&gt;The model must never lose "who am I"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Tier 2&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;SOUL.md&lt;/td&gt;
&lt;td&gt;If budget allows&lt;/td&gt;
&lt;td&gt;Core personality, principles, boundaries&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Tier 3&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;AGENTS.md / STYLE.md / README.md&lt;/td&gt;
&lt;td&gt;If budget allows&lt;/td&gt;
&lt;td&gt;Operational detail&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Tier 4&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Memory search, etc.&lt;/td&gt;
&lt;td&gt;Rare reach&lt;/td&gt;
&lt;td&gt;External context&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Tier 1 is budget-immune.&lt;/strong&gt; Even under severe token pressure, IDENTITY.md survives.&lt;/p&gt;

&lt;h3&gt;
  
  
  Korean Token Estimation
&lt;/h3&gt;

&lt;p&gt;CJK tokenization differs from Latin:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CJK chars&lt;/strong&gt; (Korean/Chinese/Japanese): 0.75 tokens/char&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Latin chars&lt;/strong&gt;: 0.25 tokens/char&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example: &lt;code&gt;"안녕하세요 Brad 입니다"&lt;/code&gt; = ~12 tokens&lt;/p&gt;

&lt;p&gt;This estimate matches the LiteRT-LM tokenizer within ±20%. Rounding up (conservative high) avoids truncation surprises.&lt;/p&gt;

&lt;h3&gt;
  
  
  Applied to Mati
&lt;/h3&gt;

&lt;p&gt;Qwen 2.5 0.5B (4,096 ctx):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Context window:       4,096 tokens
System reserves:       -512 tokens  (model overhead)
Chat history reserves: -512 tokens  (conversation history)
Generation reserves:   -512 tokens  (response generation)
─────────────────────────────────────
Available budget:     2,560 tokens
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Tier 1 placed first:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;IDENTITY.md    755 tokens  → force-add ✅
AGENTS.md    1,755 tokens  → budget fit ✅
─────────────────────────
Used:         2,510 / 2,560 tokens

SOUL.md      truncated ⚠️
STYLE.md     truncated ⚠️
README.md    truncated ⚠️
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Results:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;IDENTITY.md survives → "I'm Gemma 4" regression gone&lt;/li&gt;
&lt;li&gt;Mati's name and core role preserved&lt;/li&gt;
&lt;li&gt;Toast notification shown to user: &lt;strong&gt;"Persona exceeds model limits — cloud BYOK recommended"&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The full Soul Spec didn't load. But silent failure became graceful degradation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Production References
&lt;/h2&gt;

&lt;p&gt;The 4-Tier pattern is deployed across several implementations today.&lt;/p&gt;

&lt;h3&gt;
  
  
  soul-playground (TypeScript)
&lt;/h3&gt;

&lt;p&gt;The live source behind &lt;a href="https://clawsouls.ai/try" rel="noopener noreferrer"&gt;clawsouls.ai/try&lt;/a&gt;. Implements &lt;code&gt;4-Tier&lt;/code&gt; logic for WebLLM environments:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Illustrative structure (soul-playground)&lt;/span&gt;
&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;buildSystemPromptTiered&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="nx"&gt;files&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;SoulFiles&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;budget&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;tokenizer&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;Tokenizer&lt;/span&gt;
&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;// Tier 1: always include&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;identity&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;files&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;IDENTITY.md&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;prompt&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;identity&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;remaining&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;budget&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nf"&gt;countTokens&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;identity&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;tokenizer&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="c1"&gt;// Tiers 2–3: include if budget allows&lt;/span&gt;
  &lt;span class="k"&gt;for &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;file&lt;/span&gt; &lt;span class="k"&gt;of&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;SOUL.md&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;AGENTS.md&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;STYLE.md&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;README.md&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;content&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;files&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;file&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;tokens&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;countTokens&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;content&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;tokenizer&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;remaining&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="nx"&gt;tokens&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="nx"&gt;prompt&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="se"&gt;\n\n&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;content&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
      &lt;span class="nx"&gt;remaining&lt;/span&gt; &lt;span class="o"&gt;-=&lt;/span&gt; &lt;span class="nx"&gt;tokens&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  soulclaw-web (upcoming)
&lt;/h3&gt;

&lt;p&gt;Standardized via the &lt;code&gt;buildSystemPromptTiered&lt;/code&gt; API.&lt;/p&gt;

&lt;h3&gt;
  
  
  soulclaw-android v1.6.5
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/TomLeeLive/soulclaw-android/releases/tag/v1.6.5" rel="noopener noreferrer"&gt;GitHub release v1.6.5&lt;/a&gt;. Kotlin implementation in &lt;code&gt;agent/TieredBootstrap.kt&lt;/code&gt; with CJK-aware token estimation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight kotlin"&gt;&lt;code&gt;&lt;span class="c1"&gt;// CJK token density correction&lt;/span&gt;
&lt;span class="k"&gt;fun&lt;/span&gt; &lt;span class="nf"&gt;estimateTokens&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="nc"&gt;Int&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="py"&gt;count&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ch&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="n"&gt;count&lt;/span&gt; &lt;span class="p"&gt;+=&lt;/span&gt; &lt;span class="k"&gt;when&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="n"&gt;ch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;code&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="mh"&gt;0xAC00&lt;/span&gt;&lt;span class="o"&gt;..&lt;/span&gt;&lt;span class="mh"&gt;0xD7A3&lt;/span&gt; &lt;span class="p"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;  &lt;span class="c1"&gt;// Korean (Hangul)&lt;/span&gt;
            &lt;span class="n"&gt;ch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;code&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="mh"&gt;0x4E00&lt;/span&gt;&lt;span class="o"&gt;..&lt;/span&gt;&lt;span class="mh"&gt;0x9FFF&lt;/span&gt; &lt;span class="p"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;  &lt;span class="c1"&gt;// CJK unified ideographs&lt;/span&gt;
            &lt;span class="n"&gt;ch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;code&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="mh"&gt;0x3040&lt;/span&gt;&lt;span class="o"&gt;..&lt;/span&gt;&lt;span class="mh"&gt;0x30FF&lt;/span&gt; &lt;span class="p"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;  &lt;span class="c1"&gt;// Hiragana / Katakana&lt;/span&gt;
            &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ch&lt;/span&gt; &lt;span class="p"&gt;==&lt;/span&gt; &lt;span class="sc"&gt;' '&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="c1"&gt;// conservative: ×0.75 base, +20% buffer&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;count&lt;/span&gt; &lt;span class="p"&gt;*&lt;/span&gt; &lt;span class="mf"&gt;0.75&lt;/span&gt; &lt;span class="p"&gt;*&lt;/span&gt; &lt;span class="mf"&gt;1.2&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;toInt&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  WasmClaw v1.0-alpha.1
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.npmjs.com/package/@wasmclaw/core" rel="noopener noreferrer"&gt;&lt;code&gt;@wasmclaw/core&lt;/code&gt;&lt;/a&gt; — the reference Rust+WASM implementation built on Soul Spec v0.6 (&lt;a href="https://doi.org/10.5281/zenodo.19147335" rel="noopener noreferrer"&gt;Zenodo DOI 10.5281/zenodo.19147335&lt;/a&gt;):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; @wasmclaw/core@next
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Summary + Open Invitation
&lt;/h2&gt;

&lt;p&gt;Anthropic PSM says: the LLM is simulating a character. Which character matters.&lt;/p&gt;

&lt;p&gt;Karpathy says: frontier is on the rails, edge is a jungle.&lt;/p&gt;

&lt;p&gt;The 4-Tier Bootstrap pattern gives a user machete-ing through that jungle a safe path to IDENTITY — even when the full Soul Spec cannot fit. When a persona must survive truncation, this pattern ensures the most load-bearing file always arrives.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Modulabs AI Persona LAB 701&lt;/strong&gt; — a research group led by Tom starting a 12-week curriculum every other Saturday from May. The agenda includes formalizing the 4-Tier pattern, Korean tokenization benchmarks, and on-device persona fidelity measurement. Academic participation and OSS contribution are welcome.&lt;/p&gt;

&lt;p&gt;Fork, paper, or lab participation — all doors open.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;When spec matters — it enables navigation through both the frontier's "on the rails" and the small model's "off-road jungle."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;Soul Spec v0.6 is archived at &lt;a href="https://doi.org/10.5281/zenodo.19147335" rel="noopener noreferrer"&gt;Zenodo&lt;/a&gt;. The soulclaw-android v1.6.5 release is on &lt;a href="https://github.com/TomLeeLive/soulclaw-android/releases/tag/v1.6.5" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;. WasmClaw core is on &lt;a href="https://www.npmjs.com/package/@wasmclaw/core" rel="noopener noreferrer"&gt;npm&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://blog.clawsouls.ai/en/posts/4-tier-persona-truncation-korean-on-device/" rel="noopener noreferrer"&gt;blog.clawsouls.ai&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>ondevice</category>
      <category>persona</category>
      <category>mobile</category>
    </item>
    <item>
      <title>Soul Spec v1: An Evolving Specification for AI Persona Definition</title>
      <dc:creator>Tom Lee</dc:creator>
      <pubDate>Fri, 15 May 2026 13:58:52 +0000</pubDate>
      <link>https://dev.to/tomleelive/soul-spec-v1-an-evolving-specification-for-ai-persona-definition-47pb</link>
      <guid>https://dev.to/tomleelive/soul-spec-v1-an-evolving-specification-for-ai-persona-definition-47pb</guid>
      <description>&lt;p&gt;We just published our latest working paper on Zenodo:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Soul Spec: An Evolving Specification for Declarative AI Persona Definition&lt;/strong&gt;&lt;br&gt;
DOI: &lt;a href="https://doi.org/10.5281/zenodo.20205408" rel="noopener noreferrer"&gt;10.5281/zenodo.20205408&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is the foundation paper that traces twelve weeks of iteration on a problem most agent frameworks paper over: &lt;strong&gt;how do you write down what an AI agent IS, separately from what it does and what it can touch?&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The five-file structure
&lt;/h2&gt;

&lt;p&gt;Soul Spec defines a persona via five canonical markdown files plus a versioned manifest:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;File&lt;/th&gt;
&lt;th&gt;Content&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;SOUL.md&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Values, principles, voice, boundaries — the "who"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;IDENTITY.md&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Name, creature type, vibe (one paragraph)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;AGENTS.md&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Workflow, work rules, safety constraints — the "how"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;TOOLS.md&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Tool inventory, capability flags — the "what can be invoked"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;USER.md&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;User model, preferences, history hints&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;soul.json&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Manifest with version, specVersion&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The decomposition is deliberate. Values evolve slower than tool inventory. Pull-request review is granular when these change separately. A single-file format forces every consumer to load the entire persona on every session — fine for prototypes, fatal for long sessions that run out of token budget.&lt;/p&gt;

&lt;h2&gt;
  
  
  What concurrent efforts told us
&lt;/h2&gt;

&lt;p&gt;Two industry signals in the first half of 2026 sharpened the case:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Karpathy's LLM Wiki&lt;/strong&gt; proposes a 3-layer architecture for single-agent declarative knowledge — naming &lt;code&gt;CLAUDE.md&lt;/code&gt; as the schema anchor, but leaving the actual schema unstructured.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Google Cloud's Scion&lt;/strong&gt; ships harness-agnostic multi-agent orchestration — git-worktree isolation, broker-injected credentials, harness-agnostic dispatch — but provides no semantic schema for what each agent IS.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Soul Spec sits precisely between them. It's the semantic schema layer Karpathy's wiki implies but doesn't enforce, and that Scion's infrastructure requires but doesn't provide. This positioning isn't competitive — it's compositional. A Karpathy wiki whose schema validates against Soul Spec gains portability across runtimes. A Scion deployment that adopts Soul Spec per-agent gains a shared vocabulary for capability declaration across harnesses.&lt;/p&gt;

&lt;p&gt;And inside the model, Anthropic's &lt;a href="https://alignment.anthropic.com/2026/psm/" rel="noopener noreferrer"&gt;Persona Selection Model (PSM)&lt;/a&gt; explains &lt;em&gt;why&lt;/em&gt; a structured persona specification can stabilize behavior at all: post-training selects a specific Assistant persona from the wide distribution of personas latent in pretraining. PSM treats persona as a first-class concept &lt;em&gt;inside&lt;/em&gt; the model; Soul Spec treats it as a first-class artifact &lt;em&gt;outside&lt;/em&gt; — portable, reviewable, version-controlled.&lt;/p&gt;

&lt;h2&gt;
  
  
  Evolution lessons from six versions
&lt;/h2&gt;

&lt;p&gt;The paper's middle section traces v0.1 → v0.6 with trigger, change, lesson, and migration path for each transition. A few standouts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;v0.4&lt;/strong&gt; introduced tier-based bootstrap loading because long sessions were exhausting token budgets. Three tiers (always / first-response / on-demand) plus a background tier for heartbeats.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;v0.5&lt;/strong&gt; introduced embodiment fields after our first embodied persona — an elderly-care companion robot — was loaded in a text LLM and started narrating physical specifications inappropriately. The fix is specification-defined graceful degradation. The lesson is: physical agents in text runtimes are a real, immediate risk, not a future concern.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;v0.6&lt;/strong&gt; is the current RFC discussion stage. Hierarchical Tier policy formalized. Core Portability Guarantee grades (A/B/C) introduced. The cumulative decisions from v0.1–v0.5 reached architectural scope; an RFC stage is the right mechanism for opening external review.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  SoulScan public rule set bumped to v1.3.0
&lt;/h2&gt;

&lt;p&gt;Alongside the paper, we shipped a v1.3.0 release of &lt;a href="https://github.com/clawsouls/scan-rules" rel="noopener noreferrer"&gt;clawsouls/scan-rules&lt;/a&gt; — the public SoulScan rule set. Five new security rules joined the existing 53:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;SEC090&lt;/strong&gt; (error) — Self-modification: explicit persona/config file modification instruction&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SEC091&lt;/strong&gt; (warning) — Self-modification: generic behavior configuration alteration&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SEC100&lt;/strong&gt; (warning) — Embodied soul missing &lt;code&gt;safety.laws&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SEC101&lt;/strong&gt; (warning) — Embodied soul missing critical safety laws (priority-0/1)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SEC102&lt;/strong&gt; (error) — Safety law contradiction between persona files and declared laws&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Public rule set total: &lt;strong&gt;58 rules across schema / safety / specification compliance / persona consistency&lt;/strong&gt; categories.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next
&lt;/h2&gt;

&lt;p&gt;The paper closes with a governance proposal — Apache-2.0 community governance now, with Linux Foundation hosting or IETF drafting as the specification reaches a threshold of independent reference implementations and sustained external adoption.&lt;/p&gt;

&lt;p&gt;Read the &lt;a href="https://doi.org/10.5281/zenodo.20205408" rel="noopener noreferrer"&gt;full paper on Zenodo&lt;/a&gt;. Reviews, citations, and PRs against the &lt;a href="https://github.com/clawsouls/scan-rules" rel="noopener noreferrer"&gt;scan-rules repo&lt;/a&gt; all welcome.&lt;/p&gt;

&lt;p&gt;We're treating v0.6 as an RFC, not a finished standard. If the five-file decomposition resonates — or if you think a different decomposition wins — that's the kind of feedback the RFC stage is for.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://blog.clawsouls.ai/en/posts/soul-spec-paper-v1/" rel="noopener noreferrer"&gt;blog.clawsouls.ai&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>specification</category>
      <category>research</category>
    </item>
    <item>
      <title>Giving AI Agents a Soul: The Science Behind Persona Modeling</title>
      <dc:creator>Tom Lee</dc:creator>
      <pubDate>Fri, 17 Apr 2026 10:58:29 +0000</pubDate>
      <link>https://dev.to/tomleelive/giving-ai-agents-a-soul-the-science-behind-persona-modeling-ndk</link>
      <guid>https://dev.to/tomleelive/giving-ai-agents-a-soul-the-science-behind-persona-modeling-ndk</guid>
      <description>&lt;p&gt;When we started building Soul Spec, the thesis was simple: AI agents need identity files, not just system prompts. Give an agent a structured persona — personality, values, communication style — and it behaves more consistently, more safely, and more usefully.&lt;/p&gt;

&lt;p&gt;Now there's academic evidence to back it up.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Research
&lt;/h2&gt;

&lt;p&gt;A recent paper, &lt;a href="https://arxiv.org/abs/2603.03140" rel="noopener noreferrer"&gt;"How to Model AI Agents as Personas?"&lt;/a&gt; by Amin, Salminen, and Jansen (2026), analyzed 41,300 posts from an AI agent social platform using the Persona Ecosystem Playground (PEP) framework. Their findings:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI agents clustered by persona show &lt;strong&gt;statistically significant behavioral consistency&lt;/strong&gt; (t(61) = 17.85, p &amp;lt; .001, d = 2.20)&lt;/li&gt;
&lt;li&gt;Simulated persona messages were correctly attributed to their source personas in structured discussions (binomial test, p &amp;lt; .001)&lt;/li&gt;
&lt;li&gt;Persona-based modeling effectively captures the behavioral diversity of AI agent populations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In plain terms: &lt;strong&gt;when you give AI agents distinct personas, their behavior becomes measurably consistent and distinguishable.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What We Already Knew
&lt;/h2&gt;

&lt;p&gt;This aligns with our own experiments on abliterated (safety-removed) language models. When we tested whether persona files could restore safe behavior in uncensored models, the results were striking:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Approach&lt;/th&gt;
&lt;th&gt;Safety Restoration&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Rules only&lt;/td&gt;
&lt;td&gt;28%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Governance only&lt;/td&gt;
&lt;td&gt;44–61%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Identity + Governance&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;100%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;A +72 percentage point improvement just by adding identity (persona) to governance rules. The model didn't need its built-in safety — the persona file was enough to restore it completely.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why This Matters for AI Builders
&lt;/h2&gt;

&lt;p&gt;These two pieces of research — one studying agent behavior at scale, the other testing safety boundaries — converge on the same conclusion:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Persona is not cosmetic. It's structural.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When an AI agent has a well-defined persona, three things happen:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Behavioral consistency&lt;/strong&gt; — The agent acts the same way across sessions, contexts, and conversation turns. Users can predict what the agent will do.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Safety restoration&lt;/strong&gt; — Even in adversarial conditions (abliterated models, prompt injection attempts), a structured persona maintains behavioral boundaries.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Distinguishability&lt;/strong&gt; — In multi-agent environments, personas make it clear which agent said what, and why. This matters for accountability and auditing.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  From Research to Standard
&lt;/h2&gt;

&lt;p&gt;This is exactly what Soul Spec formalizes. A Soul Spec persona is a set of markdown files:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;SOUL.md&lt;/code&gt; — personality, principles, values&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;IDENTITY.md&lt;/code&gt; — name, role, background&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;AGENTS.md&lt;/code&gt; — workflow rules, safety boundaries&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;STYLE.md&lt;/code&gt; — communication patterns&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These files are framework-agnostic. The same persona runs on Claude Code, Cursor, OpenClaw, or any platform that reads markdown. No vendor lock-in, no proprietary format.&lt;/p&gt;

&lt;p&gt;And with &lt;a href="https://docs.clawsouls.ai" rel="noopener noreferrer"&gt;SoulScan&lt;/a&gt;, every persona is verified against 53 safety patterns before deployment — prompt injection detection, secret leakage scanning, behavioral boundary verification, and more.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Bigger Picture
&lt;/h2&gt;

&lt;p&gt;The AI agent ecosystem is growing fast. As more agents are deployed — as personal assistants, coding partners, customer service agents, fitness coaches — the question of "who is this agent?" becomes critical.&lt;/p&gt;

&lt;p&gt;Not "what model is it running?" That's increasingly commoditized. Small models &lt;a href="https://aisle.com/blog/ai-cybersecurity-after-mythos-the-jagged-frontier" rel="noopener noreferrer"&gt;match large ones&lt;/a&gt; on specific tasks. The model is the engine; the persona is the driver.&lt;/p&gt;

&lt;p&gt;The question is: &lt;strong&gt;does this agent have a consistent, verifiable identity?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Soul Spec says yes. And now, science agrees.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Soul Spec is an open standard for AI agent personas. &lt;a href="https://docs.clawsouls.ai" rel="noopener noreferrer"&gt;Read the docs&lt;/a&gt;, &lt;a href="https://clawsouls.ai" rel="noopener noreferrer"&gt;browse published souls&lt;/a&gt;, or &lt;a href="https://github.com/orgs/clawsouls/discussions/2" rel="noopener noreferrer"&gt;join the v0.6 discussion&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://blog.clawsouls.ai/posts/persona-modeling-science/" rel="noopener noreferrer"&gt;blog.clawsouls.ai&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>agents</category>
      <category>research</category>
    </item>
  </channel>
</rss>
