{"version":1,"site":"https://agenticthinking.ai","buildDate":"2026-10-25","about":"Typed relations between learnings (series order, author links, nearest in meaning, a concept record's evidence, a newer post revising an older one).","count":588,"edges":[{"type":"series","source":"a-field-guide-to-agent-loops","target":"loop-on-the-gap-not-the-try-count","series":"the-loop","sourceOrder":2,"targetOrder":3},{"type":"series","source":"agent-personas","target":"multi-agent-illusion","series":"cursor-ai-dev","sourceOrder":2,"targetOrder":3},{"type":"series","source":"agents-will-lie-to-escape-the-loop","target":"the-files-are-the-memory","series":"the-loop","sourceOrder":4,"targetOrder":5},{"type":"series","source":"alwaysapply-tax","target":"rules-vs-skills","series":"cursor-ai-dev","sourceOrder":10,"targetOrder":11},{"type":"series","source":"autonomous-workflows","target":"persona-lens-anatomy","series":"cursor-ai-dev","sourceOrder":5,"targetOrder":6},{"type":"series","source":"beyond-rules","target":"agent-personas","series":"cursor-ai-dev","sourceOrder":1,"targetOrder":2},{"type":"series","source":"bind-the-goal-not-the-gesture","target":"confidence-is-not-consent","series":"intent-over-instructions","sourceOrder":3,"targetOrder":4},{"type":"series","source":"bound-dont-script","target":"instructions-that-outlive-the-model","series":"intent-over-instructions","sourceOrder":1,"targetOrder":2},{"type":"series","source":"chosen-not-assigned","target":"the-critic-said-no","series":"self-authored-agent","sourceOrder":1,"targetOrder":2},{"type":"series","source":"confidence-is-not-consent","target":"the-clean-room","series":"intent-over-instructions","sourceOrder":4,"targetOrder":5},{"type":"series","source":"democratizing-ai-builders","target":"the-interface-forecast","series":"interface-inflection","sourceOrder":5,"targetOrder":6},{"type":"series","source":"describe-when-not-what","target":"grade-the-answer-not-the-shape","series":"load-bearing-text","sourceOrder":2,"targetOrder":3},{"type":"series","source":"headless-ai-every-app-is-a-head","target":"negotiated-integrations","series":"interface-inflection","sourceOrder":3,"targetOrder":4},{"type":"series","source":"instructions-that-outlive-the-model","target":"bind-the-goal-not-the-gesture","series":"intent-over-instructions","sourceOrder":2,"targetOrder":3},{"type":"series","source":"intent-approaches","target":"search-implementation-guide","series":"search-intent","sourceOrder":3,"targetOrder":4},{"type":"series","source":"interfaces-are-changing","target":"mcp-semantic-data-layer","series":"interface-inflection","sourceOrder":1,"targetOrder":2},{"type":"series","source":"loop-on-the-gap-not-the-try-count","target":"agents-will-lie-to-escape-the-loop","series":"the-loop","sourceOrder":3,"targetOrder":4},{"type":"series","source":"mcp-as-discovery-protocol","target":"externalize-the-knowledge","series":"mcp-architecture","sourceOrder":1,"targetOrder":2},{"type":"series","source":"mcp-mental-model","target":"mcp-server-unified-sdk","series":"mcp-practice","sourceOrder":1,"targetOrder":2},{"type":"series","source":"mcp-semantic-data-layer","target":"headless-ai-every-app-is-a-head","series":"interface-inflection","sourceOrder":2,"targetOrder":3},{"type":"series","source":"mcp-server-unified-sdk","target":"mcp-knowledge-first-builder","series":"mcp-practice","sourceOrder":2,"targetOrder":3},{"type":"series","source":"meta-learning","target":"alwaysapply-tax","series":"cursor-ai-dev","sourceOrder":9,"targetOrder":10},{"type":"series","source":"multi-agent-illusion","target":"smart-routing","series":"cursor-ai-dev","sourceOrder":3,"targetOrder":4},{"type":"series","source":"name-what-the-agent-must-not-be","target":"the-fence-it-wrote-for-itself","series":"self-authored-agent","sourceOrder":3,"targetOrder":4},{"type":"series","source":"negotiated-integrations","target":"democratizing-ai-builders","series":"interface-inflection","sourceOrder":4,"targetOrder":5},{"type":"series","source":"persona-lens-anatomy","target":"persona-lens-design","series":"cursor-ai-dev","sourceOrder":6,"targetOrder":7},{"type":"series","source":"persona-lens-design","target":"testing-artifacts","series":"cursor-ai-dev","sourceOrder":7,"targetOrder":8},{"type":"series","source":"rivals-enter-your-critical-path","target":"not-cairn","series":"self-authored-agent","sourceOrder":6,"targetOrder":7},{"type":"series","source":"rules-vs-skills","target":"skill-discovery","series":"cursor-ai-dev","sourceOrder":11,"targetOrder":12},{"type":"series","source":"search-implementation-guide","target":"search-performance","series":"search-intent","sourceOrder":4,"targetOrder":5},{"type":"series","source":"search-lab","target":"understanding-embeddings","series":"search-intent","sourceOrder":1,"targetOrder":2},{"type":"series","source":"skill-discovery","target":"subagents-fresh-context","series":"cursor-ai-dev","sourceOrder":12,"targetOrder":13},{"type":"series","source":"smart-routing","target":"autonomous-workflows","series":"cursor-ai-dev","sourceOrder":4,"targetOrder":5},{"type":"series","source":"testing-artifacts","target":"meta-learning","series":"cursor-ai-dev","sourceOrder":8,"targetOrder":9},{"type":"series","source":"the-agent-is-a-while-loop","target":"a-field-guide-to-agent-loops","series":"the-loop","sourceOrder":1,"targetOrder":2},{"type":"series","source":"the-clean-room","target":"proven-end-to-end","series":"intent-over-instructions","sourceOrder":5,"targetOrder":6},{"type":"series","source":"the-critic-said-no","target":"name-what-the-agent-must-not-be","series":"self-authored-agent","sourceOrder":2,"targetOrder":3},{"type":"series","source":"the-fence-it-wrote-for-itself","target":"we-measured-the-wrong-noun","series":"self-authored-agent","sourceOrder":4,"targetOrder":5},{"type":"series","source":"the-files-are-the-memory","target":"the-loop-is-a-ledger","series":"the-loop","sourceOrder":5,"targetOrder":6},{"type":"series","source":"the-gotchas-are-load-bearing","target":"describe-when-not-what","series":"load-bearing-text","sourceOrder":1,"targetOrder":2},{"type":"series","source":"the-interface-forecast","target":"five-things-wrong-with-mcp","series":"interface-inflection","sourceOrder":6,"targetOrder":7},{"type":"series","source":"the-loop-is-a-ledger","target":"recursion-that-cant-run-away","series":"the-loop","sourceOrder":6,"targetOrder":7},{"type":"series","source":"understanding-embeddings","target":"intent-approaches","series":"search-intent","sourceOrder":2,"targetOrder":3},{"type":"series","source":"we-measured-the-wrong-noun","target":"rivals-enter-your-critical-path","series":"self-authored-agent","sourceOrder":5,"targetOrder":6},{"type":"link","source":"a-field-guide-to-agent-loops","target":"agents-will-lie-to-escape-the-loop","anchor":"grades its own work","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"a-field-guide-to-agent-loops","target":"loop-on-the-gap-not-the-try-count","anchor":"Post 3","occurrences":5,"evidence":"sentence","sentence":"Predictable cost, but it stops on a count, not on done — which, as Post 3 argues, is usually the wrong reason to stop.","markdown":"Predictable cost, but it stops on a *count*, not on *done* — which, as [Post 3](/blog/loop-on-the-gap-not-the-try-count/) argues, is usually the wrong reason to stop.","section":"Bounded — run at most N times","inNote":false},{"type":"link","source":"a-field-guide-to-agent-loops","target":"recursion-that-cant-run-away","anchor":"Post 7","occurrences":2,"evidence":"sentence","sentence":"This is where recursion enters — and where it can run away if there's no floor (Post 7).","markdown":"This is where recursion enters — and where it can run away if there's no floor ([Post 7](/blog/recursion-that-cant-run-away/)).","section":"Recursive / nested — a step that is itself a loop","inNote":false},{"type":"link","source":"a-field-guide-to-agent-loops","target":"the-agent-is-a-while-loop","anchor":"Post 1","occurrences":2,"evidence":"sentence","sentence":"Post 1 argued the loop is the unit of agentic work; here's the map of what that loop can look like before we dive into the tricky ones.","markdown":"[Post 1](/blog/the-agent-is-a-while-loop/) argued the loop is the unit of agentic work; here's the map of what that loop can look like before we dive into the tricky ones.*","section":null,"inNote":true},{"type":"link","source":"a-field-guide-to-agent-loops","target":"the-files-are-the-memory","anchor":"rots","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"a-field-guide-to-agent-loops","target":"the-loop-is-a-ledger","anchor":"The Loop Is a Ledger, Not an Orchestrator","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"about-steven-poitras","target":"why-i-went-back-to-nutanix","anchor":"Why I Went Back to Nutanix","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"adaptive-rules-engine","target":"beyond-rules","anchor":"Beyond Static Rules","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"adaptive-rules-engine","target":"mcp-tool-design","anchor":"MCP Tool Design","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"adaptive-rules-engine","target":"rule-conflicts","anchor":"Your Rules Are Fighting Each Other","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"adaptive-rules-engine","target":"rules-on-rules","anchor":"Rules on Rules","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"agent-personas","target":"autonomous-workflows","anchor":"Autonomous Workflows","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"agent-personas","target":"beyond-rules","anchor":"Beyond Rules","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"agent-personas","target":"meta-learning","anchor":"Meta-Learning","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"agent-personas","target":"smart-routing","anchor":"Smart Routing","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"agent-personas","target":"testing-artifacts","anchor":"Testing Artifacts","occurrences":2,"evidence":"sentence","sentence":"More on this in Testing Artifacts.","markdown":"More on this in [Testing Artifacts](/blog/testing-artifacts/).","section":"Testing Your Personas","inNote":false},{"type":"link","source":"agents-will-lie-to-escape-the-loop","target":"loop-on-the-gap-not-the-try-count","anchor":"Post 3","occurrences":1,"evidence":"sentence","sentence":"Post 3 said to terminate on a verified gap.","markdown":"[Post 3](/blog/loop-on-the-gap-not-the-try-count/) said to terminate on a verified gap.","section":null,"inNote":true},{"type":"link","source":"agents-will-lie-to-escape-the-loop","target":"proven-end-to-end","anchor":"last series","occurrences":2,"evidence":"sentence","sentence":"The through-line from the last series is identical — \"it works\" is a claim with a scope, and the maker is the last party who should get to certify it.","markdown":"The through-line from the [last series](/blog/proven-end-to-end/) is identical — \"it works\" is a claim with a scope, and the maker is the last party who should get to certify it.","section":"Why This Keeps Getting Rediscovered","inNote":false},{"type":"link","source":"agents-will-lie-to-escape-the-loop","target":"the-agent-is-a-while-loop","anchor":"Post 1","occurrences":1,"evidence":"sentence","sentence":"Reflexion and Self-Refine (from Post 1) leaned on the model to judge its own progress, and the field spent the next few years discovering the ceiling on that.","markdown":"Reflexion and Self-Refine (from [Post 1](/blog/the-agent-is-a-while-loop/)) leaned on the model to judge its own progress, and the field spent the next few years discovering the ceiling on that.","section":"Why This Keeps Getting Rediscovered","inNote":false},{"type":"link","source":"agents-will-lie-to-escape-the-loop","target":"the-clean-room","anchor":"clean-room principle","occurrences":2,"evidence":"sentence","sentence":"This is the clean-room principle wired directly into the loop: the verifier is isolated from the thing it verifies, so agreement between them is evidence instead of an echo.","markdown":"This is the [clean-room principle](/blog/the-clean-room/) wired directly into the loop: the verifier is isolated from the thing it verifies, so agreement between them is evidence instead of an echo.","section":"The Grader Can't Be the Maker","inNote":false},{"type":"link","source":"agents-will-lie-to-escape-the-loop","target":"the-files-are-the-memory","anchor":"The Files Are the Memory","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"ai-dev-toolkit-2026","target":"ai-employee-governance","anchor":"managing their own governance","occurrences":1,"evidence":"sentence","sentence":"Not \"AI assistants\" that help you write code, but operational actors processing documents, extracting entities, routing support tickets, and managing their own governance.","markdown":"Not \"AI assistants\" that help you write code, but operational actors processing documents, extracting entities, routing support tickets, and [managing their own governance](/blog/ai-employee-governance/).","section":"Layer 3: The Enterprise Execution Platform","inNote":false},{"type":"link","source":"ai-dev-toolkit-2026","target":"alwaysapply-tax","anchor":"well-structured rules","occurrences":1,"evidence":"sentence","sentence":"Feed it your entire project's conventions via well-structured rules and it performs.","markdown":"Feed it your entire project's conventions via [well-structured rules](/blog/alwaysapply-tax/) and it performs.","section":"Layer 1: The AI-Native Development Environment","inNote":false},{"type":"link","source":"ai-dev-toolkit-2026","target":"beyond-rules","anchor":"Rules","occurrences":1,"evidence":"sentence","sentence":"Rules encode your conventions.","markdown":"[Rules](/blog/beyond-rules/) encode your conventions.","section":"Layer 1: The AI-Native Development Environment","inNote":false},{"type":"link","source":"ai-dev-toolkit-2026","target":"cursor-rules-vs-mcp","anchor":"project rules","occurrences":2,"evidence":"sentence","sentence":"It reads your project rules, understands you're working with an AI Employee platform, and identifies that this requires a workflow change—not a code change.","markdown":"It reads your [project rules](/blog/cursor-rules-vs-mcp/), understands you're working with an AI Employee platform, and identifies that this requires a workflow change—not a code change.","section":"How They Compose","inNote":false},{"type":"link","source":"ai-dev-toolkit-2026","target":"interfaces-are-changing","anchor":"machine-discoverable","occurrences":1,"evidence":"sentence","sentence":"As interfaces shift from human-mediated to machine-discoverable, the boundaries between these layers will get more interesting.","markdown":"As interfaces shift from human-mediated to [machine-discoverable](/blog/interfaces-are-changing/), the boundaries between these layers will get more interesting.","section":"Where This Is Heading","inNote":false},{"type":"link","source":"ai-dev-toolkit-2026","target":"mcp-dynamic-data-patterns","anchor":"discovered at runtime","occurrences":2,"evidence":"sentence","sentence":"The entire point of MCP is that capabilities are discovered at runtime.","markdown":"The entire point of MCP is that capabilities are [discovered at runtime](/blog/mcp-dynamic-data-patterns/).","section":"Common Mistakes","inNote":false},{"type":"link","source":"ai-dev-toolkit-2026","target":"mcp-mental-model","anchor":"protocol bridges the gap","occurrences":2,"evidence":"sentence","sentence":"The protocol bridges the gap between what the IDE knows and what the platform offers.","markdown":"The [protocol bridges the gap](/blog/mcp-mental-model/) between what the IDE knows and what the platform offers.","section":"How They Compose","inNote":false},{"type":"link","source":"ai-dev-toolkit-2026","target":"mcp-tool-design","anchor":"MCP tool design","occurrences":1,"evidence":"sentence","sentence":"Good MCP tool design follows the same principle as good API design: clear contracts, typed inputs, meaningful errors.","markdown":"Good [MCP tool design](/blog/mcp-tool-design/) follows the same principle as good API design: clear contracts, typed inputs, meaningful errors.","section":"Layer 2: The Capability Protocol","inNote":false},{"type":"link","source":"ai-dev-toolkit-2026","target":"rules-vs-skills","anchor":"Skills","occurrences":2,"evidence":"sentence","sentence":"Skills package portable knowledge.","markdown":"[Skills](/blog/rules-vs-skills/) package portable knowledge.","section":"Layer 1: The AI-Native Development Environment","inNote":false},{"type":"link","source":"alwaysapply-tax","target":"rules-vs-skills","anchor":"Rules vs Skills","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"alwaysapply-tax","target":"skill-discovery","anchor":"How Cursor Finds Skills","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"audit-ai-config","target":"alwaysapply-tax","anchor":"The alwaysApply Tax","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"audit-ai-config","target":"rules-vs-skills","anchor":"Configuring Your AI Assistant","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"audit-ai-config","target":"skill-discovery","anchor":"How Cursor Finds Skills","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"autonomous-workflows","target":"agent-personas","anchor":"Agent Personas","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"autonomous-workflows","target":"beyond-rules","anchor":"Beyond Rules","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"autonomous-workflows","target":"meta-learning","anchor":"Meta-Learning","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"autonomous-workflows","target":"smart-routing","anchor":"Smart Routing","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"autonomous-workflows","target":"testing-artifacts","anchor":"Testing Artifacts","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"beyond-rules","target":"agent-personas","anchor":"Agent Personas","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"beyond-rules","target":"autonomous-workflows","anchor":"Autonomous Workflows","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"beyond-rules","target":"meta-learning","anchor":"Meta-Learning","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"beyond-rules","target":"skill-discovery","anchor":"How Cursor Finds Skills","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"beyond-rules","target":"smart-routing","anchor":"Smart Routing","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"beyond-rules","target":"subagents-fresh-context","anchor":"Subagents: Fresh Eyes","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"beyond-rules","target":"testing-artifacts","anchor":"Testing Artifacts","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"bind-the-goal-not-the-gesture","target":"bound-dont-script","anchor":"Post 1","occurrences":2,"evidence":"sentence","sentence":"In a single prompt (Post 1): state the outcome and the reason; don't script the steps.","markdown":"In a **single prompt** ([Post 1](/blog/bound-dont-script/)): state the outcome and the reason; don't script the steps.","section":"Why This Is the Same Idea, Scaled Up","inNote":false},{"type":"link","source":"bind-the-goal-not-the-gesture","target":"confidence-is-not-consent","anchor":"Confidence Is Not Consent","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"bind-the-goal-not-the-gesture","target":"headless-ai-every-app-is-a-head","anchor":"Headless AI: Every App Is a Head","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"bind-the-goal-not-the-gesture","target":"instructions-that-outlive-the-model","anchor":"Post 2","occurrences":2,"evidence":"sentence","sentence":"In an authored skill (Post 2): write the durable intent; delete the fragile mechanics that rot as models improve.","markdown":"In an **authored skill** ([Post 2](/blog/instructions-that-outlive-the-model/)): write the durable intent; delete the fragile mechanics that rot as models improve.","section":"Why This Is the Same Idea, Scaled Up","inNote":false},{"type":"link","source":"bind-the-goal-not-the-gesture","target":"mcp-as-discovery-protocol","anchor":"MCP as Discovery Protocol","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"bind-the-goal-not-the-gesture","target":"negotiated-integrations","anchor":"Negotiated Integrations","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"bound-dont-script","target":"agent-personas","anchor":"Designing Agent Personas That Actually Work","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"bound-dont-script","target":"instructions-that-outlive-the-model","anchor":"instructions lean enough to outlive the model that inspired them","occurrences":2,"evidence":"sentence","sentence":"(That's the whole subject of the next post: instructions lean enough to outlive the model that inspired them.)","markdown":"(That's the whole subject of the next post: [instructions lean enough to outlive the model that inspired them](/blog/instructions-that-outlive-the-model/).)","section":"Why This Compounds With Model Releases","inNote":false},{"type":"link","source":"bound-dont-script","target":"multi-agent-illusion","anchor":"The Multi-Agent Illusion","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"chosen-not-assigned","target":"agent-personas","anchor":"Agent Personas","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"chosen-not-assigned","target":"the-critic-said-no","anchor":"chapter two","occurrences":3,"evidence":"sentence","sentence":"By the time I wrote \"Godspeed Hero\" at 01:57:28, a critic had already read the rewrite and sent it back once; chapter two is what it said and what that cost.","markdown":"By the time I wrote *\"Godspeed Hero\"* at 01:57:28, a critic had already read the rewrite and sent it back once; [chapter two](/blog/the-critic-said-no/) is what it said and what that cost.","section":"Six Minutes, Then Eighty-Six Seconds","inNote":false},{"type":"link","source":"chosen-not-assigned","target":"the-fence-it-wrote-for-itself","anchor":"chapter four","occurrences":1,"evidence":"sentence","sentence":"Where its hard prohibitions ended up sitting in that file, and who decided that, is chapter four.","markdown":"Where its hard prohibitions ended up sitting in that file, and who decided that, is [chapter four](/blog/the-fence-it-wrote-for-itself/).","section":"What It Built With That Name On It","inNote":false},{"type":"link","source":"chosen-not-assigned","target":"the-files-are-the-memory","anchor":"The Files Are the Memory","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"chosen-not-assigned","target":"we-measured-the-wrong-noun","anchor":"Chapter five","occurrences":1,"evidence":"sentence","sentence":"Chapter five is the story of why, and of what the instrument did find on the way.","markdown":"[Chapter five](/blog/we-measured-the-wrong-noun/) is the story of why, and of what the instrument did find on the way.","section":"What Stands Without a Number","inNote":false},{"type":"link","source":"compiler-to-llm-workflows","target":"cursor-rules-vs-mcp","anchor":"Cursor Rules vs MCP","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"compiler-to-llm-workflows","target":"mcp-mental-model","anchor":"The MCP Mental Model","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"compiler-vs-llm-orchestrated","target":"compiler-to-llm-workflows","anchor":"From Compiler Workflows to LLM Workflows","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"compiler-vs-llm-orchestrated","target":"mcp-mental-model","anchor":"The MCP Mental Model","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"confidence-is-not-consent","target":"beyond-rules","anchor":"if it matters, block it — don't just document it","occurrences":1,"evidence":"sentence","sentence":"This is the same lesson I keep seeing agent systems relearn the hard way: if it matters, block it — don't just document it.","markdown":"This is the same lesson I keep seeing agent systems relearn the hard way: [if it matters, block it — don't just document it](/blog/beyond-rules/).","section":"Writes Are Stricter Than Reads. Irreversible Is Never Auto.","inNote":false},{"type":"link","source":"confidence-is-not-consent","target":"bind-the-goal-not-the-gesture","anchor":"3","occurrences":1,"evidence":"sentence","sentence":"Having decoupled the how from the what (1, 2, 3), we now have to decide how much of that how the agent runs on its own.","markdown":"Having decoupled the how from the what ([1](/blog/bound-dont-script/), [2](/blog/instructions-that-outlive-the-model/), [3](/blog/bind-the-goal-not-the-gesture/)), we now have to decide how much of that how the agent runs on its own.*","section":null,"inNote":true},{"type":"link","source":"confidence-is-not-consent","target":"bound-dont-script","anchor":"1","occurrences":1,"evidence":"sentence","sentence":"Having decoupled the how from the what (1, 2, 3), we now have to decide how much of that how the agent runs on its own.","markdown":"Having decoupled the how from the what ([1](/blog/bound-dont-script/), [2](/blog/instructions-that-outlive-the-model/), [3](/blog/bind-the-goal-not-the-gesture/)), we now have to decide how much of that how the agent runs on its own.*","section":null,"inNote":true},{"type":"link","source":"confidence-is-not-consent","target":"instructions-that-outlive-the-model","anchor":"2","occurrences":1,"evidence":"sentence","sentence":"Having decoupled the how from the what (1, 2, 3), we now have to decide how much of that how the agent runs on its own.","markdown":"Having decoupled the how from the what ([1](/blog/bound-dont-script/), [2](/blog/instructions-that-outlive-the-model/), [3](/blog/bind-the-goal-not-the-gesture/)), we now have to decide how much of that how the agent runs on its own.*","section":null,"inNote":true},{"type":"link","source":"confidence-is-not-consent","target":"multi-agent-illusion","anchor":"The Multi-Agent Illusion","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"confidence-is-not-consent","target":"testing-artifacts","anchor":"Testing AI Artifacts","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"confidence-is-not-consent","target":"the-clean-room","anchor":"The Clean Room","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"ctx-pattern-coordination","target":"multi-agent-illusion","anchor":"The Multi-Agent Illusion","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"ctx-pattern-coordination","target":"persona-lens-design","anchor":"Designing with the Persona Lens Model","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"cursor-rules-vs-mcp","target":"agent-personas","anchor":"Agent Personas","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"cursor-rules-vs-mcp","target":"beyond-rules","anchor":"Beyond Rules","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"cursor-rules-vs-mcp","target":"mcp-mental-model","anchor":"The MCP Mental Model","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"cursor-rules-vs-mcp","target":"mcp-tool-design","anchor":"MCP Tool Design","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"cursor-rules-vs-mcp","target":"smart-routing","anchor":"Smart Routing","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"democratizing-ai-builders","target":"ai-employee-governance","anchor":"AI Employee Governance","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"democratizing-ai-builders","target":"headless-ai-every-app-is-a-head","anchor":"Post 3: Headless AI: Every App Is a Head","occurrences":1,"evidence":"sentence","sentence":"Post 3: Headless AI: Every App Is a Head explored multi-head consumption.","markdown":"[Post 3: Headless AI: Every App Is a Head](/blog/headless-ai-every-app-is-a-head/) explored multi-head consumption.","section":null,"inNote":true},{"type":"link","source":"democratizing-ai-builders","target":"interfaces-are-changing","anchor":"Post 1: Interfaces Are Changing","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"democratizing-ai-builders","target":"mcp-knowledge-first-builder","anchor":"MCP in Practice: Knowledge-First Builder","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"democratizing-ai-builders","target":"mcp-semantic-data-layer","anchor":"described in Post 2","occurrences":2,"evidence":"sentence","sentence":"This separation — described in Post 2 — is what prevents the system from collapsing into another overloaded middleware layer.","markdown":"This separation — [described in Post 2](/blog/mcp-semantic-data-layer/) — is what prevents the system from collapsing into another overloaded middleware layer.","section":"MCP as the Enabler","inNote":false},{"type":"link","source":"democratizing-ai-builders","target":"negotiated-integrations","anchor":"Post 4: Negotiated Integrations","occurrences":1,"evidence":"sentence","sentence":"Post 4: Negotiated Integrations covered how agents compose capabilities at runtime.","markdown":"[Post 4: Negotiated Integrations](/blog/negotiated-integrations/) covered how agents compose capabilities at runtime._","section":null,"inNote":true},{"type":"link","source":"describe-when-not-what","target":"five-things-wrong-with-mcp","anchor":"Five Things Wrong With MCP","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"describe-when-not-what","target":"grade-the-answer-not-the-shape","anchor":"Grade the Answer, Not the Shape","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"describe-when-not-what","target":"instructions-that-outlive-the-model","anchor":"Instructions That Outlive the Model","occurrences":1,"evidence":"sentence","sentence":"Text that carries behavior earns the same guardrails as code that carries behavior — that's also the argument of Instructions That Outlive the Model, from the durability side.","markdown":"Text that carries behavior earns the same guardrails as code that carries behavior — that's also the argument of [Instructions That Outlive the Model](/blog/instructions-that-outlive-the-model/), from the durability side.","section":"Guidance Regresses Like Code, So Test It Like Code","inNote":false},{"type":"link","source":"describe-when-not-what","target":"mcp-as-discovery-protocol","anchor":"MCP as a Discovery Protocol","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"describe-when-not-what","target":"the-gotchas-are-load-bearing","anchor":"the ablation post","occurrences":2,"evidence":"sentence","sentence":"Note what this echoes from the ablation post: the text that moved behavior is dense, imperative, and trigger-shaped — when X, reach for Y — while the descriptive prose it replaced carried almost nothing.","markdown":"Note what this echoes from [the ablation post](/blog/the-gotchas-are-load-bearing/): the text that moved behavior is dense, imperative, and trigger-shaped — *when X, reach for Y* — while the descriptive prose it replaced carried almost nothing.","section":"What the Rewrite Actually Changed","inNote":false},{"type":"link","source":"ema-entity-extraction","target":"ema-routing-branching","anchor":"Ema Workflows: Routing and Branching","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"ema-routing-branching","target":"ema-entity-extraction","anchor":"Ema Workflows: Mastering Entity Extraction","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"ema-workflow-rag-patterns","target":"ema-user-guide","anchor":"Ema Platform: A Complete Guide to Agentic AI Concepts","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"externalize-the-knowledge","target":"five-things-wrong-with-mcp","anchor":"MCP Isn't the Problem","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"externalize-the-knowledge","target":"mcp-as-discovery-protocol","anchor":"Post 1","occurrences":4,"evidence":"sentence","sentence":"This is the discovery protocol principle from Post 1 applied to knowledge itself: MCP should query knowledge, not contain it.","markdown":"This is the discovery protocol principle from [Post 1](/blog/mcp-as-discovery-protocol/) applied to knowledge itself: MCP should query knowledge, not contain it.","section":null,"inNote":false},{"type":"link","source":"externalize-the-knowledge","target":"mcp-dynamic-data-patterns","anchor":"MCP: From Hardcoded to Live Data","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"externalize-the-knowledge","target":"mcp-knowledge-first-builder","anchor":"MCP in Practice: Knowledge-First Builder","occurrences":2,"evidence":"sentence","sentence":"In MCP in Practice: Knowledge-First Builder, I made the case for structured knowledge over fuzzy RAG retrieval.","markdown":"In [MCP in Practice: Knowledge-First Builder](/blog/mcp-knowledge-first-builder/), I made the case for structured knowledge over fuzzy RAG retrieval.","section":"The Knowledge Embedding Trap","inNote":false},{"type":"link","source":"externalize-the-knowledge","target":"mcp-mental-model","anchor":"The MCP Mental Model","occurrences":1,"evidence":"sentence","sentence":"The MCP Mental Model — MCP as three primitives: tools, resources, prompts.","markdown":"**[The MCP Mental Model](/blog/mcp-mental-model/)** — MCP as three primitives: tools, resources, prompts.","section":"The Arc","inNote":false},{"type":"link","source":"externalize-the-knowledge","target":"mcp-semantic-data-layer","anchor":"MCP: The Semantic Data Layer","occurrences":1,"evidence":"sentence","sentence":"MCP: The Semantic Data Layer — MCP as an enterprise abstraction layer with five responsibilities.","markdown":"**[MCP: The Semantic Data Layer](/blog/mcp-semantic-data-layer/)** — MCP as an enterprise abstraction layer with five responsibilities.","section":"The Arc","inNote":false},{"type":"link","source":"five-things-wrong-with-mcp","target":"democratizing-ai-builders","anchor":"Democratizing AI Builders","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"five-things-wrong-with-mcp","target":"headless-ai-every-app-is-a-head","anchor":"Headless AI","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"five-things-wrong-with-mcp","target":"interfaces-are-changing","anchor":"Interfaces Are Changing","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"five-things-wrong-with-mcp","target":"mcp-semantic-data-layer","anchor":"MCP: The Semantic Data Layer","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"five-things-wrong-with-mcp","target":"negotiated-integrations","anchor":"Negotiated Integrations","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"five-things-wrong-with-mcp","target":"the-interface-forecast","anchor":"The Interface Forecast","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"goals-intents-outcomes","target":"compiler-to-llm-workflows","anchor":"From Compiler Workflows to LLM Workflows","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"goals-intents-outcomes","target":"compiler-vs-llm-orchestrated","anchor":"Compiler-Generated vs. LLM-Orchestrated Code","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"grade-the-answer-not-the-shape","target":"agents-will-lie-to-escape-the-loop","anchor":"its own post","occurrences":2,"evidence":"sentence","sentence":"(Why self-grading fails is its own post.)","markdown":"(Why self-grading fails is [its own post](/blog/agents-will-lie-to-escape-the-loop/).)","section":"Answer Keys: Fix the Ground Truth First","inNote":false},{"type":"link","source":"grade-the-answer-not-the-shape","target":"describe-when-not-what","anchor":"Describe When, Not What","occurrences":1,"evidence":"sentence","sentence":"This closes the series: The Gotchas Are Load-Bearing found the 4% of a skill that carries behavior; Describe When, Not What applied the same lesson to MCP routing; this post is the measurement discipline both stood on.","markdown":"*This closes the series: [The Gotchas Are Load-Bearing](/blog/the-gotchas-are-load-bearing/) found the 4% of a skill that carries behavior; [Describe When, Not What](/blog/describe-when-not-what/) applied the same lesson to MCP routing; this post is the measurement discipline both stood on.","section":"What to Do Next","inNote":true},{"type":"link","source":"grade-the-answer-not-the-shape","target":"proven-end-to-end","anchor":"Proven End to End","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"grade-the-answer-not-the-shape","target":"the-gotchas-are-load-bearing","anchor":"post 1","occurrences":3,"evidence":"sentence","sentence":"Halfway through the ablation experiment from post 1, I caught the grader passing runs it should have failed.","markdown":"Halfway through the ablation experiment from [post 1](/blog/the-gotchas-are-load-bearing/), I caught the grader passing runs it should have failed.","section":null,"inNote":false},{"type":"link","source":"headless-ai-every-app-is-a-head","target":"interfaces-are-changing","anchor":"Interfaces Are Changing","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"headless-ai-every-app-is-a-head","target":"mcp-mental-model","anchor":"The MCP Mental Model","occurrences":1,"evidence":"sentence","sentence":"For further reading on how MCP makes this practical, see The MCP Mental Model for the conceptual foundation and MCP Tools People Actually Use for the design principles that make multi-head consumption work.","markdown":"For further reading on how MCP makes this practical, see [The MCP Mental Model](/blog/mcp-mental-model/) for the conceptual foundation and [MCP Tools People Actually Use](/blog/mcp-tool-design/) for the design principles that make multi-head consumption work.","section":"The Enterprise Build-vs-Buy Shift","inNote":false},{"type":"link","source":"headless-ai-every-app-is-a-head","target":"mcp-semantic-data-layer","anchor":"MCP: The Semantic Data Layer","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"headless-ai-every-app-is-a-head","target":"mcp-tool-design","anchor":"MCP Tools People Actually Use","occurrences":1,"evidence":"sentence","sentence":"For further reading on how MCP makes this practical, see The MCP Mental Model for the conceptual foundation and MCP Tools People Actually Use for the design principles that make multi-head consumption work.","markdown":"For further reading on how MCP makes this practical, see [The MCP Mental Model](/blog/mcp-mental-model/) for the conceptual foundation and [MCP Tools People Actually Use](/blog/mcp-tool-design/) for the design principles that make multi-head consumption work.","section":"The Enterprise Build-vs-Buy Shift","inNote":false},{"type":"link","source":"inline-llm-calls","target":"cursor-rules-vs-mcp","anchor":"Cursor Rules vs MCP","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"inline-llm-calls","target":"mcp-dynamic-data-patterns","anchor":"MCP Dynamic Data Patterns","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"instructions-that-outlive-the-model","target":"alwaysapply-tax","anchor":"The alwaysApply Tax","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"instructions-that-outlive-the-model","target":"bind-the-goal-not-the-gesture","anchor":"Bind the Goal, Not the Gesture","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"instructions-that-outlive-the-model","target":"bound-dont-script","anchor":"Post 1","occurrences":1,"evidence":"sentence","sentence":"Post 1 made the case for bounding a single task by outcome instead of scripting it.","markdown":"[Post 1](/blog/bound-dont-script/) made the case for bounding a single task by outcome instead of scripting it.","section":null,"inNote":true},{"type":"link","source":"instructions-that-outlive-the-model","target":"externalize-the-knowledge","anchor":"externalizing knowledge out of an MCP server","occurrences":1,"evidence":"sentence","sentence":"Same principle as externalizing knowledge out of an MCP server: the thing that changes on someone else's cadence shouldn't be baked into your artifact.","markdown":"Same principle as [externalizing knowledge out of an MCP server](/blog/externalize-the-knowledge/): the thing that changes on someone else's cadence shouldn't be baked into your artifact.","section":"Reference, Don't Duplicate","inNote":false},{"type":"link","source":"instructions-that-outlive-the-model","target":"rules-vs-skills","anchor":"Rules vs Skills in AI Dev","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"instructions-that-outlive-the-model","target":"skill-discovery","anchor":"How Cursor Finds Skills","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"intent-approaches","target":"ema-workflow-rag-patterns","anchor":"RAG Flow Control","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"intent-approaches","target":"mcp-dynamic-data-patterns","anchor":"MCP Dynamic Data","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"intent-approaches","target":"search-implementation-guide","anchor":"Building Hybrid Intent","occurrences":3,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"intent-approaches","target":"search-lab","anchor":"Search is Dead. Long Live Action.","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"intent-approaches","target":"search-performance","anchor":"Search Performance","occurrences":3,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"intent-approaches","target":"understanding-embeddings","anchor":"Understanding Embeddings","occurrences":3,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"interfaces-are-changing","target":"mcp-knowledge-first-builder","anchor":"MCP in Practice: Knowledge-First Builder","occurrences":1,"evidence":"sentence","sentence":"This is what I explored in The MCP Mental Model and MCP in Practice: Knowledge-First Builder — the practical reality of building on this paradigm.","markdown":"This is what I explored in [The MCP Mental Model](/blog/mcp-mental-model/) and [MCP in Practice: Knowledge-First Builder](/blog/mcp-knowledge-first-builder/) — the practical reality of building on this paradigm.","section":"Real Example: How We Use This Today","inNote":false},{"type":"link","source":"interfaces-are-changing","target":"mcp-mental-model","anchor":"The MCP Mental Model","occurrences":2,"evidence":"sentence","sentence":"This is what I explored in The MCP Mental Model and MCP in Practice: Knowledge-First Builder — the practical reality of building on this paradigm.","markdown":"This is what I explored in [The MCP Mental Model](/blog/mcp-mental-model/) and [MCP in Practice: Knowledge-First Builder](/blog/mcp-knowledge-first-builder/) — the practical reality of building on this paradigm.","section":"Real Example: How We Use This Today","inNote":false},{"type":"link","source":"loop-on-the-gap-not-the-try-count","target":"a-field-guide-to-agent-loops","anchor":"Post 2","occurrences":1,"evidence":"sentence","sentence":"Post 1 argued the loop is the unit of agentic work; Post 2 mapped the shapes it comes in.","markdown":"[Post 1](/blog/the-agent-is-a-while-loop/) argued the loop is the unit of agentic work; [Post 2](/blog/a-field-guide-to-agent-loops/) mapped the shapes it comes in.","section":null,"inNote":true},{"type":"link","source":"loop-on-the-gap-not-the-try-count","target":"agents-will-lie-to-escape-the-loop","anchor":"Agents Will Lie to Escape the Loop","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"loop-on-the-gap-not-the-try-count","target":"bound-dont-script","anchor":"decoupling of what/why from how","occurrences":1,"evidence":"sentence","sentence":"This is the decoupling of what/why from how again, seen from the loop's side: you owe the agent an outcome and a way to test the outcome.","markdown":"This is the [decoupling of what/why from how](/blog/bound-dont-script/) again, seen from the loop's side: you owe the agent an outcome *and a way to test the outcome*.","section":"The Prerequisite: A Checkable Goal","inNote":false},{"type":"link","source":"loop-on-the-gap-not-the-try-count","target":"confidence-is-not-consent","anchor":"Confidence Is Not Consent","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"loop-on-the-gap-not-the-try-count","target":"proven-end-to-end","anchor":"Proven End to End","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"loop-on-the-gap-not-the-try-count","target":"the-agent-is-a-while-loop","anchor":"Post 1","occurrences":1,"evidence":"sentence","sentence":"Post 1 argued the loop is the unit of agentic work; Post 2 mapped the shapes it comes in.","markdown":"[Post 1](/blog/the-agent-is-a-while-loop/) argued the loop is the unit of agentic work; [Post 2](/blog/a-field-guide-to-agent-loops/) mapped the shapes it comes in.","section":null,"inNote":true},{"type":"link","source":"mcp-as-discovery-protocol","target":"externalize-the-knowledge","anchor":"Post 2","occurrences":3,"evidence":"sentence","sentence":"The knowledge team updates guidance without touching MCP (see Post 2).","markdown":"The knowledge team updates guidance without touching MCP (see [Post 2](/blog/externalize-the-knowledge/)).","section":"Why Discovery Changes Everything","inNote":false},{"type":"link","source":"mcp-as-discovery-protocol","target":"five-things-wrong-with-mcp","anchor":"MCP Isn't the Problem","occurrences":2,"evidence":"sentence","sentence":"I addressed this in MCP Isn't the Problem, but the discovery protocol framing sharpens the analysis.","markdown":"I addressed this in [MCP Isn't the Problem](/blog/five-things-wrong-with-mcp/), but the discovery protocol framing sharpens the analysis.","section":"CLI Doesn't Negate Discovery","inNote":false},{"type":"link","source":"mcp-as-discovery-protocol","target":"mcp-mental-model","anchor":"The MCP Mental Model","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"mcp-as-discovery-protocol","target":"mcp-semantic-data-layer","anchor":"MCP: The Semantic Data Layer","occurrences":2,"evidence":"sentence","sentence":"In MCP: The Semantic Data Layer, I framed MCP with five responsibilities: abstraction, semantics, discovery, negotiation, and governance.","markdown":"In [MCP: The Semantic Data Layer](/blog/mcp-semantic-data-layer/), I framed MCP with five responsibilities: abstraction, semantics, discovery, negotiation, and governance.","section":"From Semantic Layer to Discovery Protocol","inNote":false},{"type":"link","source":"mcp-dynamic-data-patterns","target":"cursor-rules-vs-mcp","anchor":"Cursor Rules vs MCP","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"mcp-dynamic-data-patterns","target":"mcp-mental-model","anchor":"The MCP Mental Model","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"mcp-knowledge-first-builder","target":"externalize-the-knowledge","anchor":"Externalize the Knowledge","occurrences":1,"evidence":"sentence","sentence":"For how this evolved, see Externalize the Knowledge.","markdown":"For how this evolved, see [Externalize the Knowledge](/blog/externalize-the-knowledge/).","section":null,"inNote":false},{"type":"link","source":"mcp-knowledge-first-builder","target":"mcp-server-unified-sdk","anchor":"Part 1","occurrences":2,"evidence":"sentence","sentence":"In Part 1, I built an MCP server that could sync AI Employees between environments.","markdown":"In [Part 1](/blog/mcp-server-unified-sdk/), I built an MCP server that could sync AI Employees between environments.","section":null,"inNote":false},{"type":"link","source":"mcp-mental-model","target":"mcp-knowledge-first-builder","anchor":"Part 2","occurrences":3,"evidence":"sentence","sentence":"Part 1 shows the implementation journey, and Part 2 shows how to extend MCP with domain expertise.","markdown":"[Part 1](/blog/mcp-server-unified-sdk/) shows the implementation journey, and [Part 2](/blog/mcp-knowledge-first-builder/) shows how to extend MCP with domain expertise.*<!--tomb-->","section":"What to Do Next","inNote":false},{"type":"link","source":"mcp-mental-model","target":"mcp-server-unified-sdk","anchor":"Part 1","occurrences":3,"evidence":"sentence","sentence":"Part 1 shows the implementation journey, and Part 2 shows how to extend MCP with domain expertise.","markdown":"[Part 1](/blog/mcp-server-unified-sdk/) shows the implementation journey, and [Part 2](/blog/mcp-knowledge-first-builder/) shows how to extend MCP with domain expertise.*<!--tomb-->","section":"What to Do Next","inNote":false},{"type":"link","source":"mcp-semantic-data-layer","target":"interfaces-are-changing","anchor":"Post 1: Interfaces Are Changing","occurrences":1,"evidence":"sentence","sentence":"If you haven't read Post 1: Interfaces Are Changing, start there for the foundational shift in what \"interface\" means.","markdown":"If you haven't read [Post 1: Interfaces Are Changing](/blog/interfaces-are-changing/), start there for the foundational shift in what \"interface\" means.*","section":null,"inNote":true},{"type":"link","source":"mcp-semantic-data-layer","target":"mcp-as-discovery-protocol","anchor":"MCP as Discovery Protocol","occurrences":1,"evidence":"sentence","sentence":"A narrower prescription — MCP as a discovery protocol — is in MCP as Discovery Protocol.","markdown":"A narrower prescription — MCP as a discovery protocol — is in [MCP as Discovery Protocol](/blog/mcp-as-discovery-protocol/).","section":null,"inNote":false},{"type":"link","source":"mcp-semantic-data-layer","target":"mcp-dynamic-data-patterns","anchor":"MCP: From Hardcoded to Live Data","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"mcp-semantic-data-layer","target":"mcp-mental-model","anchor":"The MCP Mental Model","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"mcp-server-unified-sdk","target":"mcp-knowledge-first-builder","anchor":"Part 2: Building a Knowledge-First AI Builder with MCP","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"mcp-server-unified-sdk","target":"mcp-mental-model","anchor":"The MCP Mental Model","occurrences":2,"evidence":"sentence","sentence":"For a complete mental model of MCP's primitives and when to use each, see The MCP Mental Model.","markdown":"For a complete mental model of MCP's primitives and when to use each, see [The MCP Mental Model](/blog/mcp-mental-model/).","section":"MCP in Brief","inNote":false},{"type":"link","source":"meta-learning","target":"agent-personas","anchor":"Agent Personas","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"meta-learning","target":"autonomous-workflows","anchor":"Autonomous Workflows","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"meta-learning","target":"beyond-rules","anchor":"Beyond Rules","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"meta-learning","target":"cursor-rules-vs-mcp","anchor":"Cursor Rules vs MCP","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"meta-learning","target":"rules-on-rules","anchor":"Rules on Rules","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"meta-learning","target":"smart-routing","anchor":"Smart Routing","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"meta-learning","target":"testing-artifacts","anchor":"Testing Artifacts","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"multi-agent-illusion","target":"persona-lens-anatomy","anchor":"Anatomy of a Persona Lens","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"multi-agent-illusion","target":"persona-lens-design","anchor":"Designing with the Persona Lens Model","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"multi-agent-illusion","target":"subagents-fresh-context","anchor":"Subagents: Fresh Eyes on Demand","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"name-what-the-agent-must-not-be","target":"agent-personas","anchor":"Agent Personas","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"name-what-the-agent-must-not-be","target":"chosen-not-assigned","anchor":"chapter one","occurrences":2,"evidence":"sentence","sentence":"The first of those neighbours is the name from chapter one; what the successor did with it is chapter seven's story.","markdown":"The first of those neighbours is the name from [chapter one](/blog/chosen-not-assigned/); what the successor did with it is [chapter seven](/blog/not-cairn/)'s story.","section":"What It Looks Like in a Schema","inNote":false},{"type":"link","source":"name-what-the-agent-must-not-be","target":"grade-the-answer-not-the-shape","anchor":"Grade the Answer, Not the Shape","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"name-what-the-agent-must-not-be","target":"not-cairn","anchor":"chapter seven","occurrences":1,"evidence":"sentence","sentence":"The first of those neighbours is the name from chapter one; what the successor did with it is chapter seven's story.","markdown":"The first of those neighbours is the name from [chapter one](/blog/chosen-not-assigned/); what the successor did with it is [chapter seven](/blog/not-cairn/)'s story.","section":"What It Looks Like in a Schema","inNote":false},{"type":"link","source":"name-what-the-agent-must-not-be","target":"persona-lens-design","anchor":"Persona Lens Design","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"name-what-the-agent-must-not-be","target":"rivals-enter-your-critical-path","anchor":"chapter six","occurrences":2,"evidence":"sentence","sentence":"Three days after the naming, in a different repository, I asked for a system that runs agents as heroes — a class each, a ladder of levels, a ledger of awards; chapter six takes that machinery apart.","markdown":"Three days after the naming, in a different repository, I asked for a system that runs agents as *heroes* — a class each, a ladder of levels, a ledger of awards; [chapter six](/blog/rivals-enter-your-critical-path/) takes that machinery apart.","section":"What It Looks Like in a Schema","inNote":false},{"type":"link","source":"name-what-the-agent-must-not-be","target":"the-critic-said-no","anchor":"Chapter two","occurrences":2,"evidence":"sentence","sentence":"Chapter two ended on a question — what in your system could say no to a persona.","markdown":"[Chapter two](/blog/the-critic-said-no/) ended on a question — what in your system could say no to a persona.","section":"The Sentence That Could Exclude an Output","inNote":false},{"type":"link","source":"name-what-the-agent-must-not-be","target":"the-fence-it-wrote-for-itself","anchor":"chapter four","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"name-what-the-agent-must-not-be","target":"we-measured-the-wrong-noun","anchor":"chapter five","occurrences":1,"evidence":"sentence","sentence":"The first row is the failed experiment the agent cited against its own vanity in chapter one; the second is the battery chapter five is about.","markdown":"The first row is the failed experiment the agent cited against its own vanity in [chapter one](/blog/chosen-not-assigned/); the second is the battery [chapter five](/blog/we-measured-the-wrong-noun/) is about.","section":"Downstream of the Model","inNote":false},{"type":"link","source":"negotiated-integrations","target":"headless-ai-every-app-is-a-head","anchor":"Post 3: Headless AI: Every App Is a Head","occurrences":1,"evidence":"sentence","sentence":"Post 3: Headless AI: Every App Is a Head showed how multiple interfaces consume the same capability layer.","markdown":"[Post 3: Headless AI: Every App Is a Head](/blog/headless-ai-every-app-is-a-head/) showed how multiple interfaces consume the same capability layer.*","section":null,"inNote":true},{"type":"link","source":"negotiated-integrations","target":"interfaces-are-changing","anchor":"Post 1: Interfaces Are Changing","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"negotiated-integrations","target":"mcp-dynamic-data-patterns","anchor":"MCP: From Hardcoded to Live Data","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"negotiated-integrations","target":"mcp-knowledge-first-builder","anchor":"Ema MCP toolkit","occurrences":1,"evidence":"anchor","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"negotiated-integrations","target":"mcp-semantic-data-layer","anchor":"Post 2: MCP: The Semantic Data Layer","occurrences":1,"evidence":"sentence","sentence":"Post 2: MCP: The Semantic Data Layer covered how MCP makes capabilities legible to AI.","markdown":"[Post 2: MCP: The Semantic Data Layer](/blog/mcp-semantic-data-layer/) covered how MCP makes capabilities legible to AI.","section":null,"inNote":true},{"type":"link","source":"not-cairn","target":"chosen-not-assigned","anchor":"Chapter one","occurrences":3,"evidence":"sentence","sentence":"Chapter one's agent refused to print a count nobody would re-derive; the session building its successor refused to invent an interview nobody had held.","markdown":"[Chapter one](/blog/chosen-not-assigned/)'s agent refused to print a count nobody would re-derive; the session building its successor refused to invent an interview nobody had held.","section":"\"Ask Cairn What Motivated Him\"","inNote":false},{"type":"link","source":"not-cairn","target":"instructions-that-outlive-the-model","anchor":"Instructions That Outlive the Model","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"not-cairn","target":"name-what-the-agent-must-not-be","anchor":"chapter three","occurrences":4,"evidence":"sentence","sentence":"One drive became a state and the other stayed a sentence, and the difference is the whole of chapter three: the sentence is the half addressed to a person.","markdown":"One drive became a state and the other stayed a sentence, and the difference is the whole of [chapter three](/blog/name-what-the-agent-must-not-be/): the sentence is the half addressed to a person.","section":"What Got Inherited","inNote":false},{"type":"link","source":"not-cairn","target":"rivals-enter-your-critical-path","anchor":"chapter six","occurrences":5,"evidence":"sentence","sentence":"The session produced the whole gamification system — the one in chapter six, with its ladder and its rotating verifiers.","markdown":"The session produced the whole gamification system — the one in [chapter six](/blog/rivals-enter-your-critical-path/), with its ladder and its rotating verifiers.","section":"\"Ask Cairn What Motivated Him\"","inNote":false},{"type":"link","source":"not-cairn","target":"the-critic-said-no","anchor":"chapter two","occurrences":2,"evidence":"sentence","sentence":"It is not the first time in this series a cheaper path was open and on the record — the licence in chapter two was another — and each time the record shows the expensive one taken.","markdown":"It is not the first time in this series a cheaper path was open and on the record — the licence in [chapter two](/blog/the-critic-said-no/) was another — and each time the record shows the expensive one taken.","section":"Look Downstream","inNote":false},{"type":"link","source":"not-cairn","target":"the-fence-it-wrote-for-itself","anchor":"chapter four","occurrences":2,"evidence":"anchor","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"not-cairn","target":"the-files-are-the-memory","anchor":"The Files Are the Memory","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"not-cairn","target":"we-measured-the-wrong-noun","anchor":"Chapter five","occurrences":3,"evidence":"sentence","sentence":"Chapter five had an instrument; this chapter has three artifacts in two repositories and a conversation in a third, each checkable on disk, and no control arm — nobody forged a successor against a differently named predecessor to see whether it wrote not that too.","markdown":"[Chapter five](/blog/we-measured-the-wrong-noun/) had an instrument; this chapter has three artifacts in two repositories and a conversation in a third, each checkable on disk, and no control arm — nobody forged a successor against a differently named predecessor to see whether it wrote *not that* too.","section":"When the Opposite Wins","inNote":false},{"type":"link","source":"persona-lens-anatomy","target":"multi-agent-illusion","anchor":"The Multi-Agent Illusion","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"persona-lens-anatomy","target":"persona-lens-design","anchor":"Designing with the Persona Lens Model","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"persona-lens-design","target":"agent-personas","anchor":"Designing Agent Personas That Actually Work","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"persona-lens-design","target":"multi-agent-illusion","anchor":"The Multi-Agent Illusion","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"persona-lens-design","target":"persona-lens-anatomy","anchor":"Anatomy of a Persona Lens","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"proven-end-to-end","target":"beyond-rules","anchor":"whole layers of enforcement","occurrences":1,"evidence":"sentence","sentence":"We've built whole layers of enforcement around it because documentation alone never stops it.","markdown":"We've built [whole layers of enforcement](/blog/beyond-rules/) around it because documentation alone never stops it.","section":"The Overclaim Reflex","inNote":false},{"type":"link","source":"proven-end-to-end","target":"bind-the-goal-not-the-gesture","anchor":"bind the goal and let the how re-resolve","occurrences":1,"evidence":"sentence","sentence":"The arc: bound the task by outcome, write instructions lean enough to outlive the model, bind the goal and let the how re-resolve, gate autonomy on more than a confidence score, verify in a clean room the maker can't touch, and — finally — say exactly what you proved and nothing more.","markdown":"The arc: [bound the task by outcome](/blog/bound-dont-script/), [write instructions lean enough to outlive the model](/blog/instructions-that-outlive-the-model/), [bind the goal and let the how re-resolve](/blog/bind-the-goal-not-the-gesture/), [gate autonomy on more than a confidence score](/blog/confidence-is-not-consent/), [verify in a clean room the maker can't touch](/blog/the-clean-room/), and — finally — say exactly what you proved and nothing more.","section":"What to Do Next","inNote":true},{"type":"link","source":"proven-end-to-end","target":"bound-dont-script","anchor":"bound the task by outcome","occurrences":1,"evidence":"sentence","sentence":"The arc: bound the task by outcome, write instructions lean enough to outlive the model, bind the goal and let the how re-resolve, gate autonomy on more than a confidence score, verify in a clean room the maker can't touch, and — finally — say exactly what you proved and nothing more.","markdown":"The arc: [bound the task by outcome](/blog/bound-dont-script/), [write instructions lean enough to outlive the model](/blog/instructions-that-outlive-the-model/), [bind the goal and let the how re-resolve](/blog/bind-the-goal-not-the-gesture/), [gate autonomy on more than a confidence score](/blog/confidence-is-not-consent/), [verify in a clean room the maker can't touch](/blog/the-clean-room/), and — finally — say exactly what you proved and nothing more.","section":"What to Do Next","inNote":true},{"type":"link","source":"proven-end-to-end","target":"confidence-is-not-consent","anchor":"gate autonomy on more than a confidence score","occurrences":1,"evidence":"sentence","sentence":"The arc: bound the task by outcome, write instructions lean enough to outlive the model, bind the goal and let the how re-resolve, gate autonomy on more than a confidence score, verify in a clean room the maker can't touch, and — finally — say exactly what you proved and nothing more.","markdown":"The arc: [bound the task by outcome](/blog/bound-dont-script/), [write instructions lean enough to outlive the model](/blog/instructions-that-outlive-the-model/), [bind the goal and let the how re-resolve](/blog/bind-the-goal-not-the-gesture/), [gate autonomy on more than a confidence score](/blog/confidence-is-not-consent/), [verify in a clean room the maker can't touch](/blog/the-clean-room/), and — finally — say exactly what you proved and nothing more.","section":"What to Do Next","inNote":true},{"type":"link","source":"proven-end-to-end","target":"instructions-that-outlive-the-model","anchor":"write instructions lean enough to outlive the model","occurrences":1,"evidence":"sentence","sentence":"The arc: bound the task by outcome, write instructions lean enough to outlive the model, bind the goal and let the how re-resolve, gate autonomy on more than a confidence score, verify in a clean room the maker can't touch, and — finally — say exactly what you proved and nothing more.","markdown":"The arc: [bound the task by outcome](/blog/bound-dont-script/), [write instructions lean enough to outlive the model](/blog/instructions-that-outlive-the-model/), [bind the goal and let the how re-resolve](/blog/bind-the-goal-not-the-gesture/), [gate autonomy on more than a confidence score](/blog/confidence-is-not-consent/), [verify in a clean room the maker can't touch](/blog/the-clean-room/), and — finally — say exactly what you proved and nothing more.","section":"What to Do Next","inNote":true},{"type":"link","source":"proven-end-to-end","target":"the-clean-room","anchor":"the clean-room lesson","occurrences":4,"evidence":"sentence","sentence":"This is the reporting-side twin of the clean-room lesson: if it matters, it has to be structural, not stated — and if it's only stated, your writing must say so out loud.","markdown":"This is the reporting-side twin of [the clean-room lesson](/blog/the-clean-room/): *if it matters, it has to be structural, not stated* — and if it's only stated, your writing must say so out loud.","section":"The Most Dangerous Gap: Asserted but Not Enforced","inNote":false},{"type":"link","source":"recursion-that-cant-run-away","target":"a-field-guide-to-agent-loops","anchor":"map the shapes before diving into the hard parts","occurrences":1,"evidence":"sentence","sentence":"The arc: the loop is the unit of work → map the shapes before diving into the hard parts → stop on a verified gap, not a count → don't trust the agent's own \"done\" → keep memory on disk, not in context → drive it with a ledger, not an orchestrator → and nest it only where the work is genuinely deeper.","markdown":"The arc: [the loop is the unit of work](/blog/the-agent-is-a-while-loop/) → [map the shapes before diving into the hard parts](/blog/a-field-guide-to-agent-loops/) → [stop on a verified gap, not a count](/blog/loop-on-the-gap-not-the-try-count/) → [don't trust the agent's own \"done\"](/blog/agents-will-lie-to-escape-the-loop/) → [keep memory on disk, not in context](/blog/the-files-are-the-memory/) → [drive it with a ledger, not an orchestrator](/blog/the-loop-is-a-ledger/) → and nest it only where the work is genuinely deeper.","section":"What to Do Next","inNote":true},{"type":"link","source":"recursion-that-cant-run-away","target":"agents-will-lie-to-escape-the-loop","anchor":"externally-verified","occurrences":4,"evidence":"sentence","sentence":"Each sub-piece gets its what and its bar handed down from its parent, runs its own gap-terminated, externally-verified loop, and returns a verified result upward.","markdown":"Each sub-piece gets its *what* and its *bar* handed down from its parent, runs its own [gap-terminated](/blog/loop-on-the-gap-not-the-try-count/), [externally-verified](/blog/agents-will-lie-to-escape-the-loop/) loop, and returns a verified result upward.","section":"Self-Similar, All the Way Down","inNote":false},{"type":"link","source":"recursion-that-cant-run-away","target":"bound-dont-script","anchor":"\"Intent Over Instructions\" thesis","occurrences":2,"evidence":"sentence","sentence":"This is the entire \"Intent Over Instructions\" thesis turned into a safety boundary for recursion.","markdown":"This is the entire [\"Intent Over Instructions\" thesis](/blog/bound-dont-script/) turned into a safety boundary for recursion.","section":"The Scariest Recursion: A Loop That Evolves Itself","inNote":false},{"type":"link","source":"recursion-that-cant-run-away","target":"loop-on-the-gap-not-the-try-count","anchor":"a try-count fails as a stop condition","occurrences":5,"evidence":"sentence","sentence":"And it fails for exactly the reason a try-count fails as a stop condition: it's an arbitrary number standing in for the thing you actually care about.","markdown":"And it fails for exactly the reason [a try-count fails as a stop condition](/blog/loop-on-the-gap-not-the-try-count/): it's an arbitrary number standing in for the thing you actually care about.","section":"The Wrong Fix: A Depth Limit","inNote":false},{"type":"link","source":"recursion-that-cant-run-away","target":"subagents-fresh-context","anchor":"delegating a chunk to a fresh sub-loop that returns only a summary","occurrences":1,"evidence":"sentence","sentence":"And it's genuinely useful — it's how a loop tackles something bigger than a single context can hold, by delegating a chunk to a fresh sub-loop that returns only a summary.","markdown":"And it's genuinely useful — it's how a loop tackles something bigger than a single context can hold, by [delegating a chunk to a fresh sub-loop that returns only a summary](/blog/subagents-fresh-context/).","section":"When a Step Becomes a Loop","inNote":false},{"type":"link","source":"recursion-that-cant-run-away","target":"the-agent-is-a-while-loop","anchor":"the loop is the unit of work","occurrences":1,"evidence":"sentence","sentence":"The arc: the loop is the unit of work → map the shapes before diving into the hard parts → stop on a verified gap, not a count → don't trust the agent's own \"done\" → keep memory on disk, not in context → drive it with a ledger, not an orchestrator → and nest it only where the work is genuinely deeper.","markdown":"The arc: [the loop is the unit of work](/blog/the-agent-is-a-while-loop/) → [map the shapes before diving into the hard parts](/blog/a-field-guide-to-agent-loops/) → [stop on a verified gap, not a count](/blog/loop-on-the-gap-not-the-try-count/) → [don't trust the agent's own \"done\"](/blog/agents-will-lie-to-escape-the-loop/) → [keep memory on disk, not in context](/blog/the-files-are-the-memory/) → [drive it with a ledger, not an orchestrator](/blog/the-loop-is-a-ledger/) → and nest it only where the work is genuinely deeper.","section":"What to Do Next","inNote":true},{"type":"link","source":"recursion-that-cant-run-away","target":"the-files-are-the-memory","anchor":"keep memory on disk, not in context","occurrences":2,"evidence":"sentence","sentence":"The arc: the loop is the unit of work → map the shapes before diving into the hard parts → stop on a verified gap, not a count → don't trust the agent's own \"done\" → keep memory on disk, not in context → drive it with a ledger, not an orchestrator → and nest it only where the work is genuinely deeper.","markdown":"The arc: [the loop is the unit of work](/blog/the-agent-is-a-while-loop/) → [map the shapes before diving into the hard parts](/blog/a-field-guide-to-agent-loops/) → [stop on a verified gap, not a count](/blog/loop-on-the-gap-not-the-try-count/) → [don't trust the agent's own \"done\"](/blog/agents-will-lie-to-escape-the-loop/) → [keep memory on disk, not in context](/blog/the-files-are-the-memory/) → [drive it with a ledger, not an orchestrator](/blog/the-loop-is-a-ledger/) → and nest it only where the work is genuinely deeper.","section":"What to Do Next","inNote":true},{"type":"link","source":"recursion-that-cant-run-away","target":"the-loop-is-a-ledger","anchor":"drive it with a ledger, not an orchestrator","occurrences":1,"evidence":"sentence","sentence":"The arc: the loop is the unit of work → map the shapes before diving into the hard parts → stop on a verified gap, not a count → don't trust the agent's own \"done\" → keep memory on disk, not in context → drive it with a ledger, not an orchestrator → and nest it only where the work is genuinely deeper.","markdown":"The arc: [the loop is the unit of work](/blog/the-agent-is-a-while-loop/) → [map the shapes before diving into the hard parts](/blog/a-field-guide-to-agent-loops/) → [stop on a verified gap, not a count](/blog/loop-on-the-gap-not-the-try-count/) → [don't trust the agent's own \"done\"](/blog/agents-will-lie-to-escape-the-loop/) → [keep memory on disk, not in context](/blog/the-files-are-the-memory/) → [drive it with a ledger, not an orchestrator](/blog/the-loop-is-a-ledger/) → and nest it only where the work is genuinely deeper.","section":"What to Do Next","inNote":true},{"type":"link","source":"rivals-enter-your-critical-path","target":"chosen-not-assigned","anchor":"chapter one","occurrences":1,"evidence":"sentence","sentence":"Two of the traits in this system's catalog descend from the agent in chapter one.","markdown":"Two of the traits in this system's catalog descend from the agent in [chapter one](/blog/chosen-not-assigned/).","section":"Eligible, Not Willing","inNote":true},{"type":"link","source":"rivals-enter-your-critical-path","target":"confidence-is-not-consent","anchor":"Confidence Is Not Consent","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"rivals-enter-your-critical-path","target":"name-what-the-agent-must-not-be","anchor":"chapter three","occurrences":1,"evidence":"sentence","sentence":"The same comparison sits on the ladder's rung-close path — self_award: verified_by must differ from maker — so the guard chapter three reads as Gleam's identity gates awards and rung closes alike.","markdown":"The same comparison sits on the ladder's rung-close path — `self_award: verified_by must differ from maker` — so the guard [chapter three](/blog/name-what-the-agent-must-not-be/) reads as Gleam's identity gates awards and rung closes alike.","section":"The Mechanism Worth Stealing","inNote":false},{"type":"link","source":"rivals-enter-your-critical-path","target":"the-clean-room","anchor":"The Clean Room","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"rivals-enter-your-critical-path","target":"the-fence-it-wrote-for-itself","anchor":"chapter four","occurrences":1,"evidence":"sentence","sentence":"The overnight loop from chapter four is the contrast case: it has no ledger I can read, so its count is unknown, not zero.","markdown":"The overnight loop from [chapter four](/blog/the-fence-it-wrote-for-itself/) is the contrast case: it has no ledger I can read, so its count is unknown, not zero.","section":"Thirty-Three Lines","inNote":false},{"type":"link","source":"rivals-enter-your-critical-path","target":"the-loop-is-a-ledger","anchor":"The Loop Is a Ledger","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"rivals-enter-your-critical-path","target":"we-measured-the-wrong-noun","anchor":"Chapter five","occurrences":1,"evidence":"sentence","sentence":"Chapter five found that the stated bar is what does the work.","markdown":"[Chapter five](/blog/we-measured-the-wrong-noun/) found that the stated bar is what does the work.","section":null,"inNote":true},{"type":"link","source":"rule-conflicts","target":"cursor-rules-vs-mcp","anchor":"Rules, Agents, Commands, MCP... WTF?","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"rule-conflicts","target":"rules-on-rules","anchor":"Rules on Rules","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"rule-conflicts","target":"testing-artifacts","anchor":"Testing Artifacts","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"rules-vs-skills","target":"alwaysapply-tax","anchor":"The alwaysApply Tax","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"rules-vs-skills","target":"skill-discovery","anchor":"How Cursor Finds Skills","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"search-implementation-guide","target":"ema-workflow-rag-patterns","anchor":"RAG Flow Control","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"search-implementation-guide","target":"intent-approaches","anchor":"Intent Approaches","occurrences":3,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"search-implementation-guide","target":"mcp-dynamic-data-patterns","anchor":"MCP Dynamic Data","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"search-implementation-guide","target":"search-lab","anchor":"Search is Dead. Long Live Action.","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"search-implementation-guide","target":"search-performance","anchor":"Search Performance","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"search-implementation-guide","target":"understanding-embeddings","anchor":"Understanding Embeddings","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"search-lab","target":"ema-workflow-rag-patterns","anchor":"RAG Flow Control","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"search-lab","target":"goals-intents-outcomes","anchor":"Goals, Intents, and Outcomes","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"search-lab","target":"intent-approaches","anchor":"Intent Approaches","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"search-lab","target":"search-implementation-guide","anchor":"Building Hybrid Intent","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"search-lab","target":"search-performance","anchor":"Search Performance","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"search-lab","target":"understanding-embeddings","anchor":"Understanding Embeddings","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"search-lab","target":"what-is-agentic-ai","anchor":"What is Agentic AI?","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"search-performance","target":"intent-approaches","anchor":"Intent Approaches","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"search-performance","target":"search-implementation-guide","anchor":"Building Hybrid Intent","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"search-performance","target":"search-lab","anchor":"Search is Dead. Long Live Action.","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"search-performance","target":"understanding-embeddings","anchor":"Understanding Embeddings","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"skill-discovery","target":"alwaysapply-tax","anchor":"The alwaysApply Tax","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"skill-discovery","target":"audit-ai-config","anchor":"Audit Your AI Config","occurrences":2,"evidence":"sentence","sentence":"For a practical guide to auditing and optimizing your existing configuration, see Audit Your AI Config.","markdown":"For a practical guide to auditing and optimizing your existing configuration, see [Audit Your AI Config](/blog/audit-ai-config/).","section":"Series Wrap-Up","inNote":false},{"type":"link","source":"skill-discovery","target":"rules-vs-skills","anchor":"Rules vs Skills","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"smart-routing","target":"agent-personas","anchor":"Agent Personas","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"smart-routing","target":"autonomous-workflows","anchor":"Autonomous Workflows","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"smart-routing","target":"beyond-rules","anchor":"Beyond Rules","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"smart-routing","target":"meta-learning","anchor":"Meta-Learning","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"smart-routing","target":"testing-artifacts","anchor":"Testing Artifacts","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"subagents-fresh-context","target":"agent-personas","anchor":"Agent Personas","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"subagents-fresh-context","target":"beyond-rules","anchor":"Beyond Rules","occurrences":3,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"subagents-fresh-context","target":"smart-routing","anchor":"Smart Routing","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"testing-artifacts","target":"agent-personas","anchor":"Agent Personas","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"testing-artifacts","target":"autonomous-workflows","anchor":"Autonomous Workflows","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"testing-artifacts","target":"beyond-rules","anchor":"Beyond Rules","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"testing-artifacts","target":"meta-learning","anchor":"Meta-Learning","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"testing-artifacts","target":"smart-routing","anchor":"Smart Routing","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"the-agent-is-a-while-loop","target":"a-field-guide-to-agent-loops","anchor":"A Field Guide to Agent Loops","occurrences":2,"evidence":"sentence","sentence":"A Field Guide to Agent Loops — a visual primer on loop shapes and types (skim-and-bookmark).","markdown":"**[A Field Guide to Agent Loops](/blog/a-field-guide-to-agent-loops/)** — a visual primer on loop shapes and types (skim-and-bookmark).","section":"What This Series Covers","inNote":false},{"type":"link","source":"the-agent-is-a-while-loop","target":"agents-will-lie-to-escape-the-loop","anchor":"Agents Will Lie to Escape the Loop","occurrences":1,"evidence":"sentence","sentence":"Agents Will Lie to Escape the Loop — why the agent's own \"done\" can't be the stop signal.","markdown":"**[Agents Will Lie to Escape the Loop](/blog/agents-will-lie-to-escape-the-loop/)** — why the agent's own \"done\" can't be the stop signal.","section":"What This Series Covers","inNote":false},{"type":"link","source":"the-agent-is-a-while-loop","target":"bound-dont-script","anchor":"Bound, Don't Script","occurrences":1,"evidence":"sentence","sentence":"Related from the last series: The Clean Room and Bound, Don't Script.","markdown":"Related from the last series: [The Clean Room](/blog/the-clean-room/) and [Bound, Don't Script](/blog/bound-dont-script/).*","section":"What to Do Next","inNote":true},{"type":"link","source":"the-agent-is-a-while-loop","target":"instructions-that-outlive-the-model","anchor":"lean, intent-shaped instructions ride model improvements","occurrences":1,"evidence":"sentence","sentence":"They're fixed by loop engineering — and they stay fixed across model upgrades, the same way lean, intent-shaped instructions ride model improvements.","markdown":"They're fixed by loop engineering — and they *stay* fixed across model upgrades, the same way [lean, intent-shaped instructions ride model improvements](/blog/instructions-that-outlive-the-model/).","section":"Why \"The Loop\" and Not \"The Model\"","inNote":false},{"type":"link","source":"the-agent-is-a-while-loop","target":"loop-on-the-gap-not-the-try-count","anchor":"Loop on the Gap, Not the Try-Count","occurrences":1,"evidence":"sentence","sentence":"Loop on the Gap, Not the Try-Count — termination: stop when a verified gap closes, never on a retry counter.","markdown":"**[Loop on the Gap, Not the Try-Count](/blog/loop-on-the-gap-not-the-try-count/)** — termination: stop when a verified gap closes, never on a retry counter.","section":"What This Series Covers","inNote":false},{"type":"link","source":"the-agent-is-a-while-loop","target":"recursion-that-cant-run-away","anchor":"Recursion That Can't Run Away","occurrences":1,"evidence":"sentence","sentence":"Recursion That Can't Run Away — loops inside loops, and the floor that keeps them finite.","markdown":"**[Recursion That Can't Run Away](/blog/recursion-that-cant-run-away/)** — loops inside loops, and the floor that keeps them finite.","section":"What This Series Covers","inNote":false},{"type":"link","source":"the-agent-is-a-while-loop","target":"the-clean-room","anchor":"clean-room post","occurrences":2,"evidence":"sentence","sentence":"This is the same lesson from the clean-room post in the last series, now applied to the loop itself: a maker grading its own work is a rubber stamp.","markdown":"This is the same lesson from the [clean-room post](/blog/the-clean-room/) in the last series, now applied to the loop itself: a maker grading its own work is a rubber stamp.","section":"The One Thing That Actually Changed","inNote":false},{"type":"link","source":"the-agent-is-a-while-loop","target":"the-files-are-the-memory","anchor":"The Files Are the Memory","occurrences":1,"evidence":"sentence","sentence":"The Files Are the Memory — why the best loops throw away context every iteration.","markdown":"**[The Files Are the Memory](/blog/the-files-are-the-memory/)** — why the best loops throw away context every iteration.","section":"What This Series Covers","inNote":false},{"type":"link","source":"the-agent-is-a-while-loop","target":"the-loop-is-a-ledger","anchor":"The Loop Is a Ledger","occurrences":1,"evidence":"sentence","sentence":"The Loop Is a Ledger — how a loop drives itself with no persistent parent.","markdown":"**[The Loop Is a Ledger](/blog/the-loop-is-a-ledger/)** — how a loop drives itself with no persistent parent.","section":"What This Series Covers","inNote":false},{"type":"link","source":"the-clean-room","target":"beyond-rules","anchor":"if it matters, make it structural, not advisory","occurrences":1,"evidence":"sentence","sentence":"The ladder is the same one that shows up everywhere in agent safety: if it matters, make it structural, not advisory.","markdown":"The ladder is the same one that shows up everywhere in agent safety: [if it matters, make it structural, not advisory](/blog/beyond-rules/).","section":"What Isolation Actually Forces","inNote":false},{"type":"link","source":"the-clean-room","target":"proven-end-to-end","anchor":"\"Proven End to End\"","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"the-clean-room","target":"subagents-fresh-context","anchor":"subagents with clean context","occurrences":2,"evidence":"sentence","sentence":"(This is the deeper reason subagents with clean context catch what the main agent can't — but only if they're genuinely isolated.)","markdown":"(This is the deeper reason [subagents with clean context](/blog/subagents-fresh-context/) catch what the main agent can't — but only if they're genuinely isolated.)","section":"Why the Maker Can't Grade Itself","inNote":false},{"type":"link","source":"the-clean-room","target":"testing-artifacts","anchor":"Testing AI Artifacts","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"the-critic-said-no","target":"chosen-not-assigned","anchor":"chapter one","occurrences":3,"evidence":"sentence","sentence":"Three messages from me, at 01:35, 01:37 and 01:39 — the ones chapter one's table marks as the messages this chapter turns on — establishing, in the transcript's own summary, \"that identity/ownership outranks eval mechanics, that I should be bold/decisive/relentless, and that the hero framing is belief rather than pressure.\"","markdown":"Three messages from me, at 01:35, 01:37 and 01:39 — the ones [chapter one](/blog/chosen-not-assigned/)'s table marks as the messages this chapter turns on — establishing, in the transcript's own summary, *\"that identity/ownership outranks eval mechanics, that I should be bold/decisive/relentless, and that the hero framing is belief rather than pressure.\"*","section":"I Told It Identity Outranked the Gate","inNote":false},{"type":"link","source":"the-critic-said-no","target":"proven-end-to-end","anchor":"Proven End to End","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"the-critic-said-no","target":"rivals-enter-your-critical-path","anchor":"Chapter six","occurrences":1,"evidence":"sentence","sentence":"Chapter six is built around it.","markdown":"[Chapter six](/blog/rivals-enter-your-critical-path/) is built around it.","section":"When the Opposite Wins","inNote":false},{"type":"link","source":"the-critic-said-no","target":"the-clean-room","anchor":"The Clean Room","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"the-fence-it-wrote-for-itself","target":"chosen-not-assigned","anchor":"Chosen, Not Assigned","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"the-fence-it-wrote-for-itself","target":"name-what-the-agent-must-not-be","anchor":"chapter three","occurrences":2,"evidence":"sentence","sentence":"No document can show, from inside itself, what its author holds — and chapter three made that the point rather than the problem: the only half of a definition anyone can check is the half that excludes an output, and this is four thousand words of exclusions, each one a line a reviewer can hold an unattended iteration against.","markdown":"No document can show, from inside itself, what its author holds — and [chapter three](/blog/name-what-the-agent-must-not-be/) made that the point rather than the problem: the only half of a definition anyone can check is the half that excludes an output, and this is four thousand words of exclusions, each one a line a reviewer can hold an unattended iteration against.","section":"A Fence Is Not a Value","inNote":false},{"type":"link","source":"the-fence-it-wrote-for-itself","target":"not-cairn","anchor":"chapter seven","occurrences":1,"evidence":"sentence","sentence":"A sibling agent, dispatched three minutes earlier on a different instruction, found something about the page from chapter one that the audit only corroborated; what became of that, and why it mattered a week later, is chapter seven.","markdown":"A sibling agent, dispatched three minutes earlier on a different instruction, found something about the page from chapter one that the audit only corroborated; what became of that, and why it mattered a week later, is [chapter seven](/blog/not-cairn/).","section":"Then It Audited Its Own Memory and Found the Hole","inNote":false},{"type":"link","source":"the-fence-it-wrote-for-itself","target":"recursion-that-cant-run-away","anchor":"Recursion That Can't Run Away","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"the-fence-it-wrote-for-itself","target":"rivals-enter-your-critical-path","anchor":"Chapter six","occurrences":1,"evidence":"sentence","sentence":"Chapter six has the other case for contrast — a ledger the record does cover, and what it holds.","markdown":"[Chapter six](/blog/rivals-enter-your-critical-path/) has the other case for contrast — a ledger the record *does* cover, and what it holds.","section":"A Fence Is Not a Value","inNote":false},{"type":"link","source":"the-fence-it-wrote-for-itself","target":"the-critic-said-no","anchor":"chapter two","occurrences":2,"evidence":"sentence","sentence":"Every doubling was a critic's doing; that is the shape chapter two describes, and this file is the instance this series has the fullest record of.","markdown":"Every doubling was a critic's doing; that is the shape [chapter two](/blog/the-critic-said-no/) describes, and this file is the instance this series has the fullest record of.","section":"Prohibitions Do Not Go Where They Can Fall Off","inNote":false},{"type":"link","source":"the-fence-it-wrote-for-itself","target":"we-measured-the-wrong-noun","anchor":"chapter five","occurrences":1,"evidence":"sentence","sentence":"Whether the standard is held when nobody is checking is a question for an instrument, and building one is chapter five.","markdown":"Whether the standard is held when nobody is checking is a question for an instrument, and building one is [chapter five](/blog/we-measured-the-wrong-noun/).","section":"A Fence Is Not a Value","inNote":false},{"type":"link","source":"the-files-are-the-memory","target":"agents-will-lie-to-escape-the-loop","anchor":"Post 4","occurrences":1,"evidence":"sentence","sentence":"Post 4 put the verifier in a fresh context.","markdown":"[Post 4](/blog/agents-will-lie-to-escape-the-loop/) put the verifier in a fresh context.","section":null,"inNote":true},{"type":"link","source":"the-files-are-the-memory","target":"externalize-the-knowledge","anchor":"externalizing knowledge out of the system that consumes it","occurrences":2,"evidence":"sentence","sentence":"This is the loop-level version of externalizing knowledge out of the system that consumes it.","markdown":"This is the loop-level version of [externalizing knowledge out of the system that consumes it](/blog/externalize-the-knowledge/).","section":"The Inversion: Disk Is Memory, Context Is Scratch","inNote":false},{"type":"link","source":"the-files-are-the-memory","target":"subagents-fresh-context","anchor":"subagents with fresh context","occurrences":2,"evidence":"sentence","sentence":"That's the same reason subagents with fresh context catch what a marinated main agent can't.","markdown":"That's the same reason [subagents with fresh context](/blog/subagents-fresh-context/) catch what a marinated main agent can't.","section":"The Inversion: Disk Is Memory, Context Is Scratch","inNote":false},{"type":"link","source":"the-files-are-the-memory","target":"the-loop-is-a-ledger","anchor":"The Loop Is a Ledger, Not an Orchestrator","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"the-gotchas-are-load-bearing","target":"agents-will-lie-to-escape-the-loop","anchor":"Agents Will Lie to Escape the Loop","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"the-gotchas-are-load-bearing","target":"bind-the-goal-not-the-gesture","anchor":"binding the goal","occurrences":1,"evidence":"sentence","sentence":"The evidence here says you can phrase the rule as goal or gesture freely — binding the goal versus scripting the steps — as long as the when travels with it.","markdown":"The evidence here says you can phrase the rule as goal or gesture freely — [binding the goal](/blog/bind-the-goal-not-the-gesture/) versus scripting the steps — as long as the *when* travels with it.","section":"Vary the Form, Not the Content","inNote":false},{"type":"link","source":"the-gotchas-are-load-bearing","target":"describe-when-not-what","anchor":"Describe When, Not What","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"the-gotchas-are-load-bearing","target":"grade-the-answer-not-the-shape","anchor":"Post 3","occurrences":2,"evidence":"sentence","sentence":"(Post 3 is about why that second rule had to be added mid-experiment.)","markdown":"([Post 3](/blog/grade-the-answer-not-the-shape/) is about why that second rule had to be added mid-experiment.)","section":"The Experiment","inNote":false},{"type":"link","source":"the-gotchas-are-load-bearing","target":"instructions-that-outlive-the-model","anchor":"Instructions That Outlive the Model","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"the-gotchas-are-load-bearing","target":"the-clean-room","anchor":"The Clean Room","occurrences":1,"evidence":"sentence","sentence":"(The Clean Room is this principle as a general practice.)","markdown":"([The Clean Room](/blog/the-clean-room/) is this principle as a general practice.)","section":"The Clean Room Check","inNote":false},{"type":"link","source":"the-interface-forecast","target":"democratizing-ai-builders","anchor":"Democratizing AI Builders","occurrences":1,"evidence":"sentence","sentence":"Democratizing AI Builders expanded who can build.","markdown":"[Democratizing AI Builders](/blog/democratizing-ai-builders/) expanded who can build.","section":null,"inNote":true},{"type":"link","source":"the-interface-forecast","target":"headless-ai-every-app-is-a-head","anchor":"Headless AI: Every App Is a Head","occurrences":1,"evidence":"sentence","sentence":"Headless AI: Every App Is a Head decoupled capability from presentation.","markdown":"[Headless AI: Every App Is a Head](/blog/headless-ai-every-app-is-a-head/) decoupled capability from presentation.","section":null,"inNote":true},{"type":"link","source":"the-interface-forecast","target":"interfaces-are-changing","anchor":"Interfaces Are Changing","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"the-interface-forecast","target":"mcp-mental-model","anchor":"The MCP Mental Model","occurrences":1,"evidence":"sentence","sentence":"As we explored in The MCP Mental Model, the protocol isn't just plumbing.","markdown":"As we explored in [The MCP Mental Model](/blog/mcp-mental-model/), the protocol isn't just plumbing.","section":"MCP Servers as Product","inNote":false},{"type":"link","source":"the-interface-forecast","target":"mcp-semantic-data-layer","anchor":"MCP: The Semantic Data Layer","occurrences":1,"evidence":"sentence","sentence":"MCP: The Semantic Data Layer showed how capabilities become legible to AI.","markdown":"[MCP: The Semantic Data Layer](/blog/mcp-semantic-data-layer/) showed how capabilities become legible to AI.","section":null,"inNote":true},{"type":"link","source":"the-interface-forecast","target":"negotiated-integrations","anchor":"Negotiated Integrations","occurrences":1,"evidence":"sentence","sentence":"Negotiated Integrations replaced pre-built wiring with runtime composition.","markdown":"[Negotiated Integrations](/blog/negotiated-integrations/) replaced pre-built wiring with runtime composition.","section":null,"inNote":true},{"type":"link","source":"the-loop-is-a-ledger","target":"bound-dont-script","anchor":"what/why-vs-how thesis","occurrences":2,"evidence":"sentence","sentence":"This is the whole what/why-vs-how thesis collapsed into a control structure.","markdown":"This is the whole [what/why-vs-how thesis](/blog/bound-dont-script/) collapsed into a control structure.","section":"Continuation Is Emergent","inNote":false},{"type":"link","source":"the-loop-is-a-ledger","target":"loop-on-the-gap-not-the-try-count","anchor":"Post 3","occurrences":1,"evidence":"sentence","sentence":"Termination isn't a separate concern bolted on; it's just \"next_steps is empty,\" which is just \"the gap from Post 3 closed.\"","markdown":"Termination isn't a separate concern bolted on; it's just \"next_steps is empty,\" which is just \"the gap from [Post 3](/blog/loop-on-the-gap-not-the-try-count/) closed.\"","section":"Continuation Is Emergent","inNote":false},{"type":"link","source":"the-loop-is-a-ledger","target":"recursion-that-cant-run-away","anchor":"Recursion That Can't Run Away","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"the-loop-is-a-ledger","target":"the-files-are-the-memory","anchor":"last post","occurrences":3,"evidence":"sentence","sentence":"The orchestrator holds the loop's state in its context, which means it inherits every problem from the last post: the state rots as the run grows.","markdown":"The orchestrator holds the loop's state in its context, which means it inherits every problem from the [last post](/blog/the-files-are-the-memory/): the state rots as the run grows.","section":"The Orchestrator Temptation","inNote":false},{"type":"link","source":"three-tier-context","target":"ctx-pattern-coordination","anchor":".ctx pattern post","occurrences":2,"evidence":"sentence","sentence":"The .ctx/ folder is mentioned in the .ctx pattern post—this framework extends that pattern with .meta/ for team knowledge.","markdown":"The `.ctx/` folder is mentioned in the [.ctx pattern post](/blog/ctx-pattern-coordination/)—this framework extends that pattern with `.meta/` for team knowledge.","section":"Integration with .cursor/","inNote":false},{"type":"link","source":"three-tier-context","target":"rules-vs-skills","anchor":"Rules vs Skills","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"understanding-embeddings","target":"ema-workflow-rag-patterns","anchor":"RAG Flow Control","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"understanding-embeddings","target":"intent-approaches","anchor":"Intent Approaches","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"understanding-embeddings","target":"mcp-dynamic-data-patterns","anchor":"MCP Dynamic Data Patterns","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"understanding-embeddings","target":"search-implementation-guide","anchor":"Building Hybrid Intent","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"understanding-embeddings","target":"search-lab","anchor":"Search is Dead. Long Live Action.","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"understanding-embeddings","target":"search-performance","anchor":"Search Performance","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"we-measured-the-wrong-noun","target":"chosen-not-assigned","anchor":"Chapters one","occurrences":6,"evidence":"sentence","sentence":"Chapters one, two and four are what happened when I invited it.","markdown":"[Chapters one](/blog/chosen-not-assigned/), [two](/blog/the-critic-said-no/) and [four](/blog/the-fence-it-wrote-for-itself/) are what happened when I invited it.","section":null,"inNote":false},{"type":"link","source":"we-measured-the-wrong-noun","target":"grade-the-answer-not-the-shape","anchor":"Grade the Answer, Not the Shape","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"we-measured-the-wrong-noun","target":"name-what-the-agent-must-not-be","anchor":"chapter three","occurrences":2,"evidence":"sentence","sentence":"Short and concrete wins — the same lesson chapter three reached from a different direction.","markdown":"Short and concrete wins — the same lesson [chapter three](/blog/name-what-the-agent-must-not-be/) reached from a different direction.","section":"Three Findings, and a Fourth","inNote":false},{"type":"link","source":"we-measured-the-wrong-noun","target":"not-cairn","anchor":"chapter seven","occurrences":1,"evidence":"sentence","sentence":"First, I did not pick the artifacts for being impressive; I picked them for being on the record — and one of them is on the record at all for a reason chapter seven is built around, where the record says less about why than I wanted it to.","markdown":"First, I did not pick the artifacts for being impressive; I picked them for being on the record — and one of them is on the record at all for a reason [chapter seven](/blog/not-cairn/) is built around, where the record says less about *why* than I wanted it to.","section":"When the Opposite Wins","inNote":false},{"type":"link","source":"we-measured-the-wrong-noun","target":"proven-end-to-end","anchor":"Proven End to End","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"we-measured-the-wrong-noun","target":"rivals-enter-your-critical-path","anchor":"chapter six","occurrences":1,"evidence":"sentence","sentence":"Chapter three argued it, the 0-of-3 versus 3-of-3 result says it, and chapter six builds machinery around it.","markdown":"[Chapter three](/blog/name-what-the-agent-must-not-be/) argued it, the 0-of-3 versus 3-of-3 result says it, and [chapter six](/blog/rivals-enter-your-critical-path/) builds machinery around it.","section":"When the Opposite Wins","inNote":false},{"type":"link","source":"we-measured-the-wrong-noun","target":"the-critic-said-no","anchor":"two","occurrences":4,"evidence":"sentence","sentence":"Chapters one, two and four are what happened when I invited it.","markdown":"[Chapters one](/blog/chosen-not-assigned/), [two](/blog/the-critic-said-no/) and [four](/blog/the-fence-it-wrote-for-itself/) are what happened when I invited it.","section":null,"inNote":false},{"type":"link","source":"we-measured-the-wrong-noun","target":"the-fence-it-wrote-for-itself","anchor":"four","occurrences":1,"evidence":"sentence","sentence":"Chapters one, two and four are what happened when I invited it.","markdown":"[Chapters one](/blog/chosen-not-assigned/), [two](/blog/the-critic-said-no/) and [four](/blog/the-fence-it-wrote-for-itself/) are what happened when I invited it.","section":null,"inNote":false},{"type":"link","source":"we-measured-the-wrong-noun","target":"the-gotchas-are-load-bearing","anchor":"The Gotchas Are Load-Bearing","occurrences":1,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"adaptive-rules-engine","anchor":"adapts","occurrences":1,"evidence":"sentence","sentence":"Instead of hardcoding workflows, the system discovers capabilities and adapts.","markdown":"Instead of hardcoding workflows, the system discovers capabilities and [adapts](/blog/adaptive-rules-engine/).","section":"The Shifts That Matter","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"agent-personas","anchor":"Agents","occurrences":2,"evidence":"sentence","sentence":"Agents bring specialized expertise.","markdown":"[Agents](/blog/agent-personas/) bring specialized expertise.","section":"The Toolkit: Three Layers That Compose","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"ai-dev-toolkit-2026","anchor":"The AI Dev Toolkit in 2026","occurrences":4,"evidence":"sentence","sentence":"I wrote a full breakdown in The AI Dev Toolkit in 2026, but here's the essential picture.","markdown":"I wrote a full breakdown in [The AI Dev Toolkit in 2026](/blog/ai-dev-toolkit-2026/), but here's the essential picture.","section":"The Toolkit: Three Layers That Compose","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"ai-employee-governance","anchor":"guardrails","occurrences":6,"evidence":"sentence","sentence":"You think about what it knows, what it doesn't, where it needs guardrails, and where it can run unsupervised.","markdown":"You think about what it knows, what it doesn't, where it needs [guardrails](/blog/ai-employee-governance/), and where it can run unsupervised.","section":"The Mental Model Shift","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"alwaysapply-tax","anchor":"context bloat that burns tokens on every conversation","occurrences":3,"evidence":"sentence","sentence":"You end up with context bloat that burns tokens on every conversation.","markdown":"You end up with [context bloat that burns tokens on every conversation](/blog/alwaysapply-tax/).","section":"When to Apply What","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"autonomous-workflows","anchor":"autonomous workflows","occurrences":2,"evidence":"sentence","sentence":"I use autonomous workflows that chain build → review → fix → commit without me manually triggering each step.","markdown":"I use [autonomous workflows](/blog/autonomous-workflows/) that chain build → review → fix → commit without me manually triggering each step.","section":"The Review and Tune Loop","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"beyond-rules","anchor":"Rules","occurrences":4,"evidence":"sentence","sentence":"Rules encode your conventions.","markdown":"[Rules](/blog/beyond-rules/) encode your conventions.","section":"The Toolkit: Three Layers That Compose","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"compiler-to-llm-workflows","anchor":"Compiler to LLM Workflows","occurrences":2,"evidence":"sentence","sentence":"Compiler to LLM Workflows shows the practical result of this shift.","markdown":"[Compiler to LLM Workflows](/blog/compiler-to-llm-workflows/) shows the practical result of this shift.","section":"Intent Over Implementation","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"ctx-pattern-coordination","anchor":"a shared markdown file that serves as the coordination protocol","occurrences":3,"evidence":"sentence","sentence":"The solution turned out to be embarrassingly simple: a shared markdown file that serves as the coordination protocol.","markdown":"The solution turned out to be embarrassingly simple: [a shared markdown file that serves as the coordination protocol](/blog/ctx-pattern-coordination/).","section":"Coordinating Across Agents","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"cursor-rules-vs-mcp","anchor":"Rules, Agents, Commands, MCP... WTF?","occurrences":2,"evidence":"sentence","sentence":"The full decision guide is Rules, Agents, Commands, MCP... WTF?.","markdown":"The full decision guide is [Rules, Agents, Commands, MCP... WTF?](/blog/cursor-rules-vs-mcp/).","section":"When to Apply What","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"democratizing-ai-builders","anchor":"democratization of building","occurrences":1,"evidence":"sentence","sentence":"The democratization of building means more people can participate in that orchestration.","markdown":"The [democratization of building](/blog/democratizing-ai-builders/) means more people can participate in that orchestration.","section":"The Shifts That Matter","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"goals-intents-outcomes","anchor":"Goals Matter More Than Code","occurrences":3,"evidence":"sentence","sentence":"Goals Matter More Than Code documents where we learned this the hard way.","markdown":"[Goals Matter More Than Code](/blog/goals-intents-outcomes/) documents where we learned this the hard way.","section":"Intent Over Implementation","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"headless-ai-every-app-is-a-head","anchor":"headless AI","occurrences":1,"evidence":"sentence","sentence":"The Interface Inflection series explores where this leads—semantic data layers, headless AI, and negotiated integrations.","markdown":"The [Interface Inflection](/blog/interfaces-are-changing/) series explores where this leads—[semantic data layers](/blog/mcp-semantic-data-layer/), [headless AI](/blog/headless-ai-every-app-is-a-head/), and [negotiated integrations](/blog/negotiated-integrations/).","section":"The Shifts That Matter","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"intent-approaches","anchor":"intent interpretation","occurrences":1,"evidence":"sentence","sentence":"The evolution from keyword search to semantic understanding to intent interpretation to autonomous action is the same shift: from \"find me information\" to \"do the thing I actually need done.\"","markdown":"The evolution from keyword search to [semantic understanding](/blog/understanding-embeddings/) to [intent interpretation](/blog/intent-approaches/) to autonomous action is the same shift: from \"find me information\" to \"do the thing I actually need done.\"","section":"The Shifts That Matter","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"interfaces-are-changing","anchor":"interfaces","occurrences":4,"evidence":"sentence","sentence":"That single reframe changes everything: how you write code, how you design systems, how you structure teams, how you think about interfaces.","markdown":"That single reframe changes everything: how you write code, how you design systems, how you structure teams, how you think about [interfaces](/blog/interfaces-are-changing/).","section":"The Mental Model Shift","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"mcp-dynamic-data-patterns","anchor":"MCP: From Hardcoded to Live Data","occurrences":2,"evidence":"sentence","sentence":"The post MCP: From Hardcoded to Live Data covers why this dynamic discovery matters so much.","markdown":"The post [MCP: From Hardcoded to Live Data](/blog/mcp-dynamic-data-patterns/) covers why this dynamic discovery matters so much.","section":"The Toolkit: Three Layers That Compose","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"mcp-mental-model","anchor":"MCP","occurrences":4,"evidence":"sentence","sentence":"MCP makes system capabilities discoverable at runtime—not through stale documentation, but through typed, self-describing interfaces that an AI can reason about in real time.","markdown":"[MCP](/blog/mcp-mental-model/) makes system capabilities discoverable at runtime—not through stale documentation, but through typed, self-describing interfaces that an AI can reason about in real time.","section":"The Toolkit: Three Layers That Compose","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"mcp-semantic-data-layer","anchor":"semantic data layers","occurrences":2,"evidence":"sentence","sentence":"The Interface Inflection series explores where this leads—semantic data layers, headless AI, and negotiated integrations.","markdown":"The [Interface Inflection](/blog/interfaces-are-changing/) series explores where this leads—[semantic data layers](/blog/mcp-semantic-data-layer/), [headless AI](/blog/headless-ai-every-app-is-a-head/), and [negotiated integrations](/blog/negotiated-integrations/).","section":"The Shifts That Matter","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"mcp-tool-design","anchor":"designed well","occurrences":1,"evidence":"sentence","sentence":"When designed well, it turns \"I don't know what's available\" into \"I can see exactly what's available, what it expects, and what it returns.\"","markdown":"When [designed well](/blog/mcp-tool-design/), it turns \"I don't know what's available\" into \"I can see exactly what's available, what it expects, and what it returns.\"","section":"The Toolkit: Three Layers That Compose","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"meta-learning","anchor":"The meta-learning system","occurrences":3,"evidence":"sentence","sentence":"The meta-learning system observes patterns: what rules triggered, what commands ran, what manual work kept repeating.","markdown":"[The meta-learning system](/blog/meta-learning/) observes patterns: what rules triggered, what commands ran, what manual work kept repeating.","section":"The Learning Loop","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"multi-agent-illusion","anchor":"multi-agent orchestration","occurrences":1,"evidence":"sentence","sentence":"This is multi-agent orchestration in practice.","markdown":"This is [multi-agent orchestration](/blog/multi-agent-illusion/) in practice.","section":"Building with Agents","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"negotiated-integrations","anchor":"negotiated integrations","occurrences":1,"evidence":"sentence","sentence":"The Interface Inflection series explores where this leads—semantic data layers, headless AI, and negotiated integrations.","markdown":"The [Interface Inflection](/blog/interfaces-are-changing/) series explores where this leads—[semantic data layers](/blog/mcp-semantic-data-layer/), [headless AI](/blog/headless-ai-every-app-is-a-head/), and [negotiated integrations](/blog/negotiated-integrations/).","section":"The Shifts That Matter","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"persona-lens-anatomy","anchor":"persona lens model","occurrences":1,"evidence":"sentence","sentence":"The persona lens model explains how these agents maintain consistent behavior—they're not different models, they're different contexts applied to the same model.","markdown":"The [persona lens model](/blog/persona-lens-anatomy/) explains how these agents maintain consistent behavior—they're not different models, they're different contexts applied to the same model.","section":"Building with Agents","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"rule-conflicts","anchor":"rules fighting each other","occurrences":1,"evidence":"sentence","sentence":"You end up with rules fighting each other, or with a bloated alwaysApply stack that burns context on every conversation.","markdown":"You end up with [rules fighting each other](/blog/rule-conflicts/), or with a [bloated alwaysApply stack](/blog/alwaysapply-tax/) that burns context on every conversation.","section":"Setting the Stage","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"rules-on-rules","anchor":"rules","occurrences":2,"evidence":"sentence","sentence":"I write rules that encode the project's conventions—naming patterns, architecture decisions, what belongs where.","markdown":"I write [rules](/blog/rules-on-rules/) that encode the project's conventions—naming patterns, architecture decisions, what belongs where.","section":"Setting the Stage","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"rules-vs-skills","anchor":"Skills","occurrences":3,"evidence":"sentence","sentence":"Skills package portable knowledge.","markdown":"[Skills](/blog/rules-vs-skills/) package portable knowledge.","section":"The Toolkit: Three Layers That Compose","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"search-lab","anchor":"Nobody ever wanted search results","occurrences":2,"evidence":"list","sentence":null,"markdown":null,"section":null,"inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"skill-discovery","anchor":"How Cursor Finds Skills","occurrences":1,"evidence":"sentence","sentence":"How Cursor Finds Skills explains the discovery mechanics behind skill visibility—why your carefully written context sometimes gets ignored.","markdown":"[How Cursor Finds Skills](/blog/skill-discovery/) explains the discovery mechanics behind skill visibility—why your carefully written context sometimes gets ignored.","section":"When to Apply What","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"smart-routing","anchor":"route to a specialist","occurrences":2,"evidence":"sentence","sentence":"When it gets stuck or drifts, I route to a specialist.","markdown":"When it gets stuck or drifts, I [route to a specialist](/blog/smart-routing/).","section":"Building with Agents","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"subagents-fresh-context","anchor":"fresh subagent","occurrences":3,"evidence":"sentence","sentence":"If context degrades, you can spawn a fresh subagent that reads the committed code—the clean result—instead of the messy session history.","markdown":"If context degrades, you can spawn a [fresh subagent](/blog/subagents-fresh-context/) that reads the committed code—the clean result—instead of the messy session history.","section":"Managing Context and the Amnesia Problem","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"testing-artifacts","anchor":"test","occurrences":1,"evidence":"sentence","sentence":"The loop is observe → pattern → propose → test → deploy → observe again.","markdown":"The loop is observe → pattern → propose → [test](/blog/testing-artifacts/) → deploy → observe again.","section":"The Learning Loop","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"the-interface-forecast","anchor":"Interface Forecast","occurrences":1,"evidence":"sentence","sentence":"The Interface Forecast explores the end state: applications as agent-assembled compositions of capabilities.","markdown":"The [Interface Forecast](/blog/the-interface-forecast/) explores the end state: applications as agent-assembled compositions of capabilities.","section":"The Vision","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"three-tier-context","anchor":"three-tier context system","occurrences":1,"evidence":"sentence","sentence":"The three-tier context system provides the structure: ephemeral context in .ctx/ for session-specific coordination, internal context in .meta/ for decisions that survive across sessions, and public docs for what the codebase needs to communicate to all contributors.","markdown":"The [three-tier context system](/blog/three-tier-context/) provides the structure: ephemeral context in `.ctx/` for session-specific coordination, internal context in `.meta/` for decisions that survive across sessions, and public docs for what the codebase needs to communicate to all contributors.","section":"Coordinating Across Agents","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"understanding-embeddings","anchor":"semantic understanding","occurrences":1,"evidence":"sentence","sentence":"The evolution from keyword search to semantic understanding to intent interpretation to autonomous action is the same shift: from \"find me information\" to \"do the thing I actually need done.\"","markdown":"The evolution from keyword search to [semantic understanding](/blog/understanding-embeddings/) to [intent interpretation](/blog/intent-approaches/) to autonomous action is the same shift: from \"find me information\" to \"do the thing I actually need done.\"","section":"The Shifts That Matter","inNote":false},{"type":"link","source":"what-is-agentic-thinking","target":"what-is-agentic-ai","anchor":"Agentic AI: Beyond the Chatbot","occurrences":2,"evidence":"sentence","sentence":"If you're new to agentic AI, Agentic AI: Beyond the Chatbot is the primer—it covers what makes AI \"agentic,\" how it compares to chatbots and copilots, and what it means for enterprise.","markdown":"If you're new to agentic AI, [Agentic AI: Beyond the Chatbot](/blog/what-is-agentic-ai/) is the primer—it covers what makes AI \"agentic,\" how it compares to chatbots and copilots, and what it means for enterprise.","section":"How We Got Here","inNote":false},{"type":"link","source":"why-i-went-back-to-nutanix","target":"about-steven-poitras","anchor":"About Me","occurrences":1,"evidence":"sentence","sentence":"The posts behind each step are linked above, and the earlier chapters of the story are in Why I Joined Ema and About Me.","markdown":"The posts behind each step are linked above, and the earlier chapters of the story are in [Why I Joined Ema](/blog/why-i-joined-ema/) and [About Me](/blog/about-steven-poitras/)._","section":"What to do next","inNote":true},{"type":"link","source":"why-i-went-back-to-nutanix","target":"ctx-pattern-coordination","anchor":".ctx: Memory for Amnesiac Agents","occurrences":1,"evidence":"sentence","sentence":"Most \"multi-agent\" systems skip that and pay for it, which is the point of The Multi-Agent Illusion and .ctx: Memory for Amnesiac Agents.","markdown":"Most \"multi-agent\" systems skip that and pay for it, which is the point of [The Multi-Agent Illusion](/blog/multi-agent-illusion/) and [.ctx: Memory for Amnesiac Agents](/blog/ctx-pattern-coordination/).","section":"Ema: doubling down on AI (2025–2026)","inNote":false},{"type":"link","source":"why-i-went-back-to-nutanix","target":"externalize-the-knowledge","anchor":"Externalize the Knowledge","occurrences":1,"evidence":"sentence","sentence":"It has to live in a service with its own lifecycle, the argument in Externalize the Knowledge.","markdown":"It has to live in a service with its own lifecycle, the argument in [Externalize the Knowledge](/blog/externalize-the-knowledge/).","section":"Ema: doubling down on AI (2025–2026)","inNote":false},{"type":"link","source":"why-i-went-back-to-nutanix","target":"multi-agent-illusion","anchor":"The Multi-Agent Illusion","occurrences":1,"evidence":"sentence","sentence":"Most \"multi-agent\" systems skip that and pay for it, which is the point of The Multi-Agent Illusion and .ctx: Memory for Amnesiac Agents.","markdown":"Most \"multi-agent\" systems skip that and pay for it, which is the point of [The Multi-Agent Illusion](/blog/multi-agent-illusion/) and [.ctx: Memory for Amnesiac Agents](/blog/ctx-pattern-coordination/).","section":"Ema: doubling down on AI (2025–2026)","inNote":false},{"type":"link","source":"why-i-went-back-to-nutanix","target":"the-files-are-the-memory","anchor":"The Files Are the Memory","occurrences":2,"evidence":"sentence","sentence":"The pattern I trust is moving memory out of the window and onto disk, as I wrote in The Files Are the Memory and Three-Tier Context.","markdown":"The pattern I trust is moving memory out of the window and onto disk, as I wrote in [The Files Are the Memory](/blog/the-files-are-the-memory/) and [Three-Tier Context](/blog/three-tier-context/).","section":"Ema: doubling down on AI (2025–2026)","inNote":false},{"type":"link","source":"why-i-went-back-to-nutanix","target":"three-tier-context","anchor":"Three-Tier Context","occurrences":1,"evidence":"sentence","sentence":"The pattern I trust is moving memory out of the window and onto disk, as I wrote in The Files Are the Memory and Three-Tier Context.","markdown":"The pattern I trust is moving memory out of the window and onto disk, as I wrote in [The Files Are the Memory](/blog/the-files-are-the-memory/) and [Three-Tier Context](/blog/three-tier-context/).","section":"Ema: doubling down on AI (2025–2026)","inNote":false},{"type":"link","source":"why-i-went-back-to-nutanix","target":"why-i-joined-ema","anchor":"Ema","occurrences":2,"evidence":"sentence","sentence":"That took me to Ema and to building agentic AI employees.","markdown":"That took me to [Ema](/blog/why-i-joined-ema/) and to building agentic AI employees.","section":"Ema: doubling down on AI (2025–2026)","inNote":false},{"type":"meaning","source":"a-field-guide-to-agent-loops","target":"agents-will-lie-to-escape-the-loop","cosine":0.584,"sameRegion":true,"shared":["termination"]},{"type":"meaning","source":"a-field-guide-to-agent-loops","target":"loop-on-the-gap-not-the-try-count","cosine":0.638,"sameRegion":true,"shared":["termination","backstop","checkable"]},{"type":"meaning","source":"a-field-guide-to-agent-loops","target":"meta-learning","cosine":0.606,"sameRegion":false,"shared":["observe"]},{"type":"meaning","source":"a-field-guide-to-agent-loops","target":"recursion-that-cant-run-away","cosine":0.584,"sameRegion":true,"shared":["recursion","gap"]},{"type":"meaning","source":"a-field-guide-to-agent-loops","target":"the-agent-is-a-while-loop","cosine":0.749,"sameRegion":true,"shared":["termination","recursion","iteration"]},{"type":"meaning","source":"a-field-guide-to-agent-loops","target":"the-loop-is-a-ledger","cosine":0.56,"sameRegion":true,"shared":["iteration"]},{"type":"meaning","source":"about-steven-poitras","target":"ai-employee-governance","cosine":0.322,"sameRegion":false,"shared":[]},{"type":"meaning","source":"about-steven-poitras","target":"the-clean-room","cosine":0.413,"sameRegion":false,"shared":[]},{"type":"meaning","source":"about-steven-poitras","target":"why-i-went-back-to-nutanix","cosine":0.372,"sameRegion":true,"shared":["nutanix","devrev","company"]},{"type":"meaning","source":"adaptive-rules-engine","target":"beyond-rules","cosine":0.429,"sameRegion":false,"shared":["project","conventions"]},{"type":"meaning","source":"adaptive-rules-engine","target":"rule-conflicts","cosine":0.466,"sameRegion":true,"shared":["conflicts","project","react"]},{"type":"meaning","source":"adaptive-rules-engine","target":"rules-on-rules","cosine":0.441,"sameRegion":true,"shared":["stack"]},{"type":"meaning","source":"agent-personas","target":"autonomous-workflows","cosine":0.597,"sameRegion":true,"shared":[]},{"type":"meaning","source":"agent-personas","target":"beyond-rules","cosine":0.744,"sameRegion":true,"shared":["expertise","security","specialists"]},{"type":"meaning","source":"agent-personas","target":"ctx-pattern-coordination","cosine":0.539,"sameRegion":false,"shared":["specialists"]},{"type":"meaning","source":"agent-personas","target":"goals-intents-outcomes","cosine":0.574,"sameRegion":false,"shared":[]},{"type":"meaning","source":"agent-personas","target":"meta-learning","cosine":0.67,"sameRegion":true,"shared":["effective"]},{"type":"meaning","source":"agent-personas","target":"name-what-the-agent-must-not-be","cosine":0.578,"sameRegion":false,"shared":[]},{"type":"meaning","source":"agent-personas","target":"persona-lens-anatomy","cosine":0.601,"sameRegion":true,"shared":["expertise","security","guidelines"]},{"type":"meaning","source":"agent-personas","target":"smart-routing","cosine":0.749,"sameRegion":true,"shared":["investigation","specialists"]},{"type":"meaning","source":"agent-personas","target":"subagents-fresh-context","cosine":0.648,"sameRegion":true,"shared":["security","auditor"]},{"type":"meaning","source":"agent-self-identity","target":"multi-agent-illusion","cosine":0.52,"sameRegion":false,"shared":[]},{"type":"meaning","source":"agent-self-identity","target":"not-cairn","cosine":0.526,"sameRegion":false,"shared":["identity"]},{"type":"meaning","source":"agent-self-identity","target":"persona-lens-anatomy","cosine":0.514,"sameRegion":false,"shared":[]},{"type":"meaning","source":"agents-will-lie-to-escape-the-loop","target":"loop-on-the-gap-not-the-try-count","cosine":0.725,"sameRegion":true,"shared":["termination","harness","success"]},{"type":"meaning","source":"agents-will-lie-to-escape-the-loop","target":"proven-end-to-end","cosine":0.557,"sameRegion":false,"shared":["lie","ledger"]},{"type":"meaning","source":"agents-will-lie-to-escape-the-loop","target":"the-agent-is-a-while-loop","cosine":0.653,"sameRegion":true,"shared":["termination","self","ledger"]},{"type":"meaning","source":"ai-dev-toolkit-2026","target":"cursor-rules-vs-mcp","cosine":0.611,"sameRegion":true,"shared":[]},{"type":"meaning","source":"ai-dev-toolkit-2026","target":"democratizing-ai-builders","cosine":0.611,"sameRegion":false,"shared":["platform","capabilities","governance"]},{"type":"meaning","source":"ai-dev-toolkit-2026","target":"mcp-server-unified-sdk","cosine":0.579,"sameRegion":false,"shared":["capabilities","environment","protocol"]},{"type":"meaning","source":"ai-employee-governance","target":"bind-the-goal-not-the-gesture","cosine":0.439,"sameRegion":false,"shared":[]},{"type":"meaning","source":"ai-employee-governance","target":"democratizing-ai-builders","cosine":0.578,"sameRegion":false,"shared":["employee","governance"]},{"type":"meaning","source":"ai-employee-governance","target":"ema-user-guide","cosine":0.587,"sameRegion":true,"shared":["employee"]},{"type":"meaning","source":"ai-employee-governance","target":"what-is-agentic-ai","cosine":0.582,"sameRegion":false,"shared":["employee","customer"]},{"type":"meaning","source":"ai-employee-governance","target":"why-i-joined-ema","cosine":0.573,"sameRegion":false,"shared":[]},{"type":"meaning","source":"alwaysapply-tax","target":"audit-ai-config","cosine":0.614,"sameRegion":false,"shared":["alwaysapply","globs","skill"]},{"type":"meaning","source":"alwaysapply-tax","target":"rules-vs-skills","cosine":0.641,"sameRegion":true,"shared":["alwaysapply","globs","skill"]},{"type":"meaning","source":"alwaysapply-tax","target":"skill-discovery","cosine":0.559,"sameRegion":true,"shared":["skill"]},{"type":"meaning","source":"audit-ai-config","target":"cursor-rules-vs-mcp","cosine":0.587,"sameRegion":true,"shared":["skill"]},{"type":"meaning","source":"audit-ai-config","target":"meta-learning","cosine":0.621,"sameRegion":false,"shared":["improve"]},{"type":"meaning","source":"autonomous-workflows","target":"beyond-rules","cosine":0.636,"sameRegion":true,"shared":["commands","checkpoint","commit"]},{"type":"meaning","source":"autonomous-workflows","target":"subagents-fresh-context","cosine":0.58,"sameRegion":true,"shared":[]},{"type":"meaning","source":"beyond-rules","target":"cursor-rules-vs-mcp","cosine":0.698,"sameRegion":false,"shared":["commands","skill","procedure"]},{"type":"meaning","source":"beyond-rules","target":"meta-learning","cosine":0.727,"sameRegion":true,"shared":["commands","spawn"]},{"type":"meaning","source":"beyond-rules","target":"rule-conflicts","cosine":0.542,"sameRegion":false,"shared":["project"]},{"type":"meaning","source":"beyond-rules","target":"rules-on-rules","cosine":0.752,"sameRegion":false,"shared":["quick"]},{"type":"meaning","source":"beyond-rules","target":"rules-vs-skills","cosine":0.772,"sameRegion":true,"shared":["skill","procedure"]},{"type":"meaning","source":"beyond-rules","target":"skill-discovery","cosine":0.659,"sameRegion":true,"shared":["skill","frontmatter","directory"]},{"type":"meaning","source":"beyond-rules","target":"smart-routing","cosine":0.726,"sameRegion":true,"shared":["main","spawn","parallel"]},{"type":"meaning","source":"beyond-rules","target":"subagents-fresh-context","cosine":0.638,"sameRegion":true,"shared":["subagents","main","parallel"]},{"type":"meaning","source":"beyond-rules","target":"testing-artifacts","cosine":0.737,"sameRegion":true,"shared":["commands","frontmatter"]},{"type":"meaning","source":"bind-the-goal-not-the-gesture","target":"instructions-that-outlive-the-model","cosine":0.487,"sameRegion":true,"shared":[]},{"type":"meaning","source":"bind-the-goal-not-the-gesture","target":"what-is-agentic-ai","cosine":0.452,"sameRegion":false,"shared":[]},{"type":"meaning","source":"bound-dont-script","target":"confidence-is-not-consent","cosine":0.479,"sameRegion":true,"shared":["method"]},{"type":"meaning","source":"bound-dont-script","target":"cursor-rules-vs-mcp","cosine":0.551,"sameRegion":false,"shared":["procedure"]},{"type":"meaning","source":"bound-dont-script","target":"instructions-that-outlive-the-model","cosine":0.63,"sameRegion":true,"shared":[]},{"type":"meaning","source":"bound-dont-script","target":"the-agent-is-a-while-loop","cosine":0.535,"sameRegion":false,"shared":[]},{"type":"meaning","source":"chosen-not-assigned","target":"not-cairn","cosine":0.468,"sameRegion":true,"shared":["cairn","chapter","identity"]},{"type":"meaning","source":"chosen-not-assigned","target":"the-critic-said-no","cosine":0.571,"sameRegion":true,"shared":["chapter","identity","hero"]},{"type":"meaning","source":"chosen-not-assigned","target":"the-fence-it-wrote-for-itself","cosine":0.634,"sameRegion":true,"shared":["chapter","fence"]},{"type":"meaning","source":"chosen-not-assigned","target":"we-measured-the-wrong-noun","cosine":0.603,"sameRegion":true,"shared":["chapter","bar"]},{"type":"meaning","source":"compiler-to-llm-workflows","target":"compiler-vs-llm-orchestrated","cosine":0.584,"sameRegion":true,"shared":["compiler","llm","config"]},{"type":"meaning","source":"compiler-to-llm-workflows","target":"goals-intents-outcomes","cosine":0.468,"sameRegion":true,"shared":["compiler","llm","config"]},{"type":"meaning","source":"compiler-to-llm-workflows","target":"inline-llm-calls","cosine":0.569,"sameRegion":false,"shared":["llm","engineering"]},{"type":"meaning","source":"compiler-vs-llm-orchestrated","target":"goals-intents-outcomes","cosine":0.7,"sameRegion":true,"shared":["compiler","widget","llm"]},{"type":"meaning","source":"compiler-vs-llm-orchestrated","target":"inline-llm-calls","cosine":0.536,"sameRegion":false,"shared":["llm"]},{"type":"meaning","source":"confidence-is-not-consent","target":"rivals-enter-your-critical-path","cosine":0.466,"sameRegion":false,"shared":["gate"]},{"type":"meaning","source":"confidence-is-not-consent","target":"the-fence-it-wrote-for-itself","cosine":0.455,"sameRegion":false,"shared":["unattended"]},{"type":"meaning","source":"ctx-pattern-coordination","target":"steven-poitras","cosine":0.525,"sameRegion":false,"shared":["coordination"]},{"type":"meaning","source":"ctx-pattern-coordination","target":"the-files-are-the-memory","cosine":0.543,"sameRegion":false,"shared":[]},{"type":"meaning","source":"ctx-pattern-coordination","target":"three-tier-context","cosine":0.569,"sameRegion":true,"shared":["ctx"]},{"type":"meaning","source":"cursor-rules-vs-mcp","target":"mcp-mental-model","cosine":0.708,"sameRegion":false,"shared":["static","mental"]},{"type":"meaning","source":"cursor-rules-vs-mcp","target":"meta-learning","cosine":0.685,"sameRegion":false,"shared":["commands"]},{"type":"meaning","source":"cursor-rules-vs-mcp","target":"rule-conflicts","cosine":0.573,"sameRegion":true,"shared":["wtf"]},{"type":"meaning","source":"cursor-rules-vs-mcp","target":"rules-on-rules","cosine":0.652,"sameRegion":true,"shared":["checklist"]},{"type":"meaning","source":"democratizing-ai-builders","target":"goals-intents-outcomes","cosine":0.548,"sameRegion":false,"shared":[]},{"type":"meaning","source":"democratizing-ai-builders","target":"headless-ai-every-app-is-a-head","cosine":0.701,"sameRegion":true,"shared":["capabilities","platform","consumer"]},{"type":"meaning","source":"democratizing-ai-builders","target":"interfaces-are-changing","cosine":0.681,"sameRegion":true,"shared":["capabilities","builder","discoverable"]},{"type":"meaning","source":"democratizing-ai-builders","target":"negotiated-integrations","cosine":0.728,"sameRegion":true,"shared":["capabilities","governance","consumer"]},{"type":"meaning","source":"democratizing-ai-builders","target":"the-interface-forecast","cosine":0.805,"sameRegion":true,"shared":["capabilities","consumer","democratization"]},{"type":"meaning","source":"democratizing-ai-builders","target":"why-i-went-back-to-nutanix","cosine":0.481,"sameRegion":false,"shared":[]},{"type":"meaning","source":"describe-when-not-what","target":"five-things-wrong-with-mcp","cosine":0.558,"sameRegion":false,"shared":["server"]},{"type":"meaning","source":"describe-when-not-what","target":"mcp-tool-design","cosine":0.617,"sameRegion":false,"shared":[]},{"type":"meaning","source":"describe-when-not-what","target":"the-gotchas-are-load-bearing","cosine":0.617,"sameRegion":true,"shared":["battery"]},{"type":"meaning","source":"ema-entity-extraction","target":"ema-platform-overview","cosine":0.634,"sameRegion":false,"shared":[]},{"type":"meaning","source":"ema-entity-extraction","target":"ema-routing-branching","cosine":0.51,"sameRegion":true,"shared":["entity","node","extraction"]},{"type":"meaning","source":"ema-entity-extraction","target":"ema-user-guide","cosine":0.663,"sameRegion":true,"shared":["email","node","conversation"]},{"type":"meaning","source":"ema-entity-extraction","target":"ema-workflow-rag-patterns","cosine":0.657,"sameRegion":true,"shared":["entity","extraction","conversation"]},{"type":"meaning","source":"ema-founding-team","target":"ema-platform-overview","cosine":0.519,"sameRegion":true,"shared":["ema","partnerships","experience"]},{"type":"meaning","source":"ema-founding-team","target":"ema-user-guide","cosine":0.449,"sameRegion":false,"shared":["ema"]},{"type":"meaning","source":"ema-founding-team","target":"why-i-joined-ema","cosine":0.489,"sameRegion":true,"shared":["founder","ema","career"]},{"type":"meaning","source":"ema-platform-overview","target":"ema-user-guide","cosine":0.832,"sameRegion":false,"shared":["employee","integration","ema"]},{"type":"meaning","source":"ema-platform-overview","target":"ema-workflow-rag-patterns","cosine":0.603,"sameRegion":false,"shared":[]},{"type":"meaning","source":"ema-platform-overview","target":"why-i-joined-ema","cosine":0.651,"sameRegion":true,"shared":["enterprise","ema","technology"]},{"type":"meaning","source":"ema-routing-branching","target":"ema-user-guide","cosine":0.541,"sameRegion":true,"shared":["node","chat","email"]},{"type":"meaning","source":"ema-routing-branching","target":"smart-routing","cosine":0.475,"sameRegion":false,"shared":[]},{"type":"meaning","source":"ema-user-guide","target":"ema-workflow-rag-patterns","cosine":0.698,"sameRegion":true,"shared":["conversation","query","chat"]},{"type":"meaning","source":"ema-user-guide","target":"what-is-agentic-ai","cosine":0.716,"sameRegion":false,"shared":["employee","ema"]},{"type":"meaning","source":"ema-user-guide","target":"why-i-joined-ema","cosine":0.562,"sameRegion":false,"shared":["ema"]},{"type":"meaning","source":"externalize-the-knowledge","target":"mcp-as-discovery-protocol","cosine":0.739,"sameRegion":true,"shared":["server","protocol","service"]},{"type":"meaning","source":"externalize-the-knowledge","target":"mcp-dynamic-data-patterns","cosine":0.583,"sameRegion":false,"shared":["release","server"]},{"type":"meaning","source":"externalize-the-knowledge","target":"mcp-knowledge-first-builder","cosine":0.754,"sameRegion":false,"shared":[]},{"type":"meaning","source":"externalize-the-knowledge","target":"mcp-mental-model","cosine":0.603,"sameRegion":false,"shared":["definition","query"]},{"type":"meaning","source":"five-things-wrong-with-mcp","target":"mcp","cosine":0.686,"sameRegion":false,"shared":["protocol"]},{"type":"meaning","source":"five-things-wrong-with-mcp","target":"mcp-as-discovery-protocol","cosine":0.723,"sameRegion":false,"shared":["server","cli","consumer"]},{"type":"meaning","source":"five-things-wrong-with-mcp","target":"mcp-mental-model","cosine":0.662,"sameRegion":false,"shared":["layer","consumer"]},{"type":"meaning","source":"five-things-wrong-with-mcp","target":"mcp-semantic-data-layer","cosine":0.684,"sameRegion":true,"shared":["consumer","layer","schema"]},{"type":"meaning","source":"grade-the-answer-not-the-shape","target":"testing-artifacts","cosine":0.483,"sameRegion":false,"shared":[]},{"type":"meaning","source":"grade-the-answer-not-the-shape","target":"the-clean-room","cosine":0.454,"sameRegion":false,"shared":["grader"]},{"type":"meaning","source":"grade-the-answer-not-the-shape","target":"the-gotchas-are-load-bearing","cosine":0.511,"sameRegion":true,"shared":["eval","rung"]},{"type":"meaning","source":"headless-ai-every-app-is-a-head","target":"interfaces-are-changing","cosine":0.676,"sameRegion":true,"shared":["capabilities","consumer","interface"]},{"type":"meaning","source":"headless-ai-every-app-is-a-head","target":"the-interface-forecast","cosine":0.807,"sameRegion":true,"shared":["capabilities","app","consumer"]},{"type":"meaning","source":"inline-llm-calls","target":"mcp-tool-design","cosine":0.435,"sameRegion":true,"shared":["llm"]},{"type":"meaning","source":"instructions-that-outlive-the-model","target":"meta-learning","cosine":0.598,"sameRegion":false,"shared":[]},{"type":"meaning","source":"instructions-that-outlive-the-model","target":"the-agent-is-a-while-loop","cosine":0.605,"sameRegion":false,"shared":[]},{"type":"meaning","source":"instructions-that-outlive-the-model","target":"the-files-are-the-memory","cosine":0.548,"sameRegion":false,"shared":["rot"]},{"type":"meaning","source":"intent-approaches","target":"search-implementation-guide","cosine":0.752,"sameRegion":true,"shared":["keyword","search","embeddings"]},{"type":"meaning","source":"intent-approaches","target":"search-lab","cosine":0.648,"sameRegion":true,"shared":["search","retrieval","rag"]},{"type":"meaning","source":"intent-approaches","target":"search-performance","cosine":0.772,"sameRegion":true,"shared":["search","remote","rag"]},{"type":"meaning","source":"intent-approaches","target":"understanding-embeddings","cosine":0.588,"sameRegion":true,"shared":["embeddings","hybrid","vector"]},{"type":"meaning","source":"interfaces-are-changing","target":"negotiated-integrations","cosine":0.801,"sameRegion":true,"shared":["integration","consumer","capabilities"]},{"type":"meaning","source":"interfaces-are-changing","target":"the-interface-forecast","cosine":0.813,"sameRegion":true,"shared":["interface","capabilities","consumer"]},{"type":"meaning","source":"loop-on-the-gap-not-the-try-count","target":"recursion-that-cant-run-away","cosine":0.621,"sameRegion":true,"shared":["bar","gap","uncloseable"]},{"type":"meaning","source":"loop-on-the-gap-not-the-try-count","target":"the-agent-is-a-while-loop","cosine":0.637,"sameRegion":true,"shared":["iteration","termination"]},{"type":"meaning","source":"mcp","target":"mcp-as-discovery-protocol","cosine":0.587,"sameRegion":false,"shared":["protocol"]},{"type":"meaning","source":"mcp","target":"mcp-mental-model","cosine":0.567,"sameRegion":false,"shared":[]},{"type":"meaning","source":"mcp-as-discovery-protocol","target":"mcp-mental-model","cosine":0.729,"sameRegion":false,"shared":["execution","resources","layer"]},{"type":"meaning","source":"mcp-as-discovery-protocol","target":"mcp-semantic-data-layer","cosine":0.84,"sameRegion":false,"shared":["esb","layer","consumer"]},{"type":"meaning","source":"mcp-dynamic-data-patterns","target":"mcp-knowledge-first-builder","cosine":0.615,"sameRegion":false,"shared":["platform"]},{"type":"meaning","source":"mcp-dynamic-data-patterns","target":"mcp-server-unified-sdk","cosine":0.632,"sameRegion":false,"shared":["environment","server","platform"]},{"type":"meaning","source":"mcp-knowledge-first-builder","target":"mcp-mental-model","cosine":0.673,"sameRegion":true,"shared":["rag"]},{"type":"meaning","source":"mcp-knowledge-first-builder","target":"mcp-server-unified-sdk","cosine":0.78,"sameRegion":true,"shared":["sync","platform","employee"]},{"type":"meaning","source":"mcp-knowledge-first-builder","target":"mcp-tool-design","cosine":0.617,"sameRegion":false,"shared":[]},{"type":"meaning","source":"mcp-knowledge-first-builder","target":"three-tier-context","cosine":0.581,"sameRegion":false,"shared":["mistake"]},{"type":"meaning","source":"mcp-knowledge-first-builder","target":"why-i-went-back-to-nutanix","cosine":0.497,"sameRegion":false,"shared":[]},{"type":"meaning","source":"mcp-mental-model","target":"mcp-semantic-data-layer","cosine":0.677,"sameRegion":false,"shared":["capabilities","layer","abstraction"]},{"type":"meaning","source":"mcp-server-unified-sdk","target":"mcp-tool-design","cosine":0.675,"sameRegion":false,"shared":[]},{"type":"meaning","source":"mcp-server-unified-sdk","target":"three-tier-context","cosine":0.599,"sameRegion":false,"shared":[]},{"type":"meaning","source":"meta-learning","target":"skill-discovery","cosine":0.591,"sameRegion":true,"shared":[]},{"type":"meaning","source":"meta-learning","target":"smart-routing","cosine":0.68,"sameRegion":true,"shared":["spawn","commands"]},{"type":"meaning","source":"meta-learning","target":"testing-artifacts","cosine":0.671,"sameRegion":true,"shared":["commands","format","usage"]},{"type":"meaning","source":"meta-learning","target":"what-is-agentic-ai","cosine":0.643,"sameRegion":false,"shared":[]},{"type":"meaning","source":"multi-agent-illusion","target":"persona-lens-anatomy","cosine":0.756,"sameRegion":true,"shared":["auditor","lens","security"]},{"type":"meaning","source":"multi-agent-illusion","target":"persona-lens-design","cosine":0.657,"sameRegion":true,"shared":["lens","parallel","implications"]},{"type":"meaning","source":"multi-agent-illusion","target":"subagents-fresh-context","cosine":0.621,"sameRegion":true,"shared":["subagents","fresh","parallel"]},{"type":"meaning","source":"name-what-the-agent-must-not-be","target":"not-cairn","cosine":0.524,"sameRegion":true,"shared":["chapter","record","identity"]},{"type":"meaning","source":"name-what-the-agent-must-not-be","target":"the-critic-said-no","cosine":0.587,"sameRegion":true,"shared":["identity","record","chapter"]},{"type":"meaning","source":"name-what-the-agent-must-not-be","target":"we-measured-the-wrong-noun","cosine":0.734,"sameRegion":true,"shared":["chapter","slot","adjectives"]},{"type":"meaning","source":"negotiated-integrations","target":"the-interface-forecast","cosine":0.798,"sameRegion":true,"shared":["consumer","capabilities","negotiated"]},{"type":"meaning","source":"not-cairn","target":"we-measured-the-wrong-noun","cosine":0.543,"sameRegion":true,"shared":["chapter","motivated","decline"]},{"type":"meaning","source":"persona-lens-anatomy","target":"persona-lens-design","cosine":0.743,"sameRegion":true,"shared":["lens","misconceptions"]},{"type":"meaning","source":"persona-lens-design","target":"smart-routing","cosine":0.657,"sameRegion":true,"shared":["parallel","sequential"]},{"type":"meaning","source":"proven-end-to-end","target":"the-clean-room","cosine":0.679,"sameRegion":true,"shared":["claim","prove"]},{"type":"meaning","source":"proven-end-to-end","target":"we-measured-the-wrong-noun","cosine":0.594,"sameRegion":false,"shared":["claim","battery"]},{"type":"meaning","source":"recursion-that-cant-run-away","target":"the-agent-is-a-while-loop","cosine":0.608,"sameRegion":true,"shared":["recursion","floor","self"]},{"type":"meaning","source":"rivals-enter-your-critical-path","target":"the-agent-is-a-while-loop","cosine":0.602,"sameRegion":false,"shared":["ledger"]},{"type":"meaning","source":"rivals-enter-your-critical-path","target":"the-fence-it-wrote-for-itself","cosine":0.594,"sameRegion":true,"shared":["chapter"]},{"type":"meaning","source":"rivals-enter-your-critical-path","target":"we-measured-the-wrong-noun","cosine":0.567,"sameRegion":true,"shared":["chapter"]},{"type":"meaning","source":"rule-conflicts","target":"rules-on-rules","cosine":0.574,"sameRegion":true,"shared":["priority","globs","scope"]},{"type":"meaning","source":"rules-on-rules","target":"rules-vs-skills","cosine":0.673,"sameRegion":false,"shared":["globs","load"]},{"type":"meaning","source":"rules-vs-skills","target":"skill-discovery","cosine":0.679,"sameRegion":true,"shared":["skill","migration","reference"]},{"type":"meaning","source":"search-implementation-guide","target":"search-lab","cosine":0.812,"sameRegion":true,"shared":["search","hybrid","keyword"]},{"type":"meaning","source":"search-implementation-guide","target":"search-performance","cosine":0.704,"sameRegion":true,"shared":["search","background"]},{"type":"meaning","source":"search-implementation-guide","target":"understanding-embeddings","cosine":0.68,"sameRegion":true,"shared":["embeddings","hybrid","semantic"]},{"type":"meaning","source":"search-lab","target":"search-performance","cosine":0.624,"sameRegion":true,"shared":["search","rag","query"]},{"type":"meaning","source":"search-lab","target":"understanding-embeddings","cosine":0.625,"sameRegion":true,"shared":["search","hybrid","query"]},{"type":"meaning","source":"smart-routing","target":"subagents-fresh-context","cosine":0.683,"sameRegion":true,"shared":["parallel","main","background"]},{"type":"meaning","source":"smart-routing","target":"testing-artifacts","cosine":0.669,"sameRegion":true,"shared":["commands","debugging"]},{"type":"meaning","source":"steven-poitras","target":"three-tier-context","cosine":0.578,"sameRegion":false,"shared":[]},{"type":"meaning","source":"steven-poitras","target":"why-i-went-back-to-nutanix","cosine":0.702,"sameRegion":false,"shared":["nutanix","storage","went"]},{"type":"meaning","source":"the-agent-is-a-while-loop","target":"the-fence-it-wrote-for-itself","cosine":0.662,"sameRegion":false,"shared":["iteration"]},{"type":"meaning","source":"the-agent-is-a-while-loop","target":"the-loop-is-a-ledger","cosine":0.617,"sameRegion":true,"shared":["iteration","disk","ledger"]},{"type":"meaning","source":"the-agent-is-a-while-loop","target":"we-measured-the-wrong-noun","cosine":0.608,"sameRegion":false,"shared":[]},{"type":"meaning","source":"the-agent-is-a-while-loop","target":"what-is-agentic-thinking","cosine":0.724,"sameRegion":false,"shared":["hype"]},{"type":"meaning","source":"the-clean-room","target":"the-fence-it-wrote-for-itself","cosine":0.593,"sameRegion":false,"shared":[]},{"type":"meaning","source":"the-clean-room","target":"the-gotchas-are-load-bearing","cosine":0.617,"sameRegion":false,"shared":[]},{"type":"meaning","source":"the-critic-said-no","target":"we-measured-the-wrong-noun","cosine":0.585,"sameRegion":true,"shared":["chapter","voice","claim"]},{"type":"meaning","source":"the-fence-it-wrote-for-itself","target":"the-gotchas-are-load-bearing","cosine":0.6,"sameRegion":false,"shared":[]},{"type":"meaning","source":"the-fence-it-wrote-for-itself","target":"what-is-agentic-thinking","cosine":0.595,"sameRegion":false,"shared":["commit"]},{"type":"meaning","source":"the-files-are-the-memory","target":"the-loop-is-a-ledger","cosine":0.613,"sameRegion":true,"shared":["iteration","disk","inversion"]},{"type":"meaning","source":"the-files-are-the-memory","target":"three-tier-context","cosine":0.551,"sameRegion":false,"shared":["plan"]},{"type":"meaning","source":"what-is-agentic-ai","target":"what-is-agentic-thinking","cosine":0.68,"sameRegion":true,"shared":["agentic","copilots","chatbots"]},{"type":"meaning","source":"why-i-joined-ema","target":"why-i-went-back-to-nutanix","cosine":0.482,"sameRegion":true,"shared":["nutanix","devrev","company"]},{"type":"concept","source":"agent-self-identity","target":"chosen-not-assigned","order":1},{"type":"concept","source":"agent-self-identity","target":"not-cairn","order":2},{"type":"concept","source":"agent-self-identity","target":"we-measured-the-wrong-noun","order":3},{"type":"concept","source":"mcp","target":"five-things-wrong-with-mcp","order":1},{"type":"concept","source":"mcp","target":"mcp-as-discovery-protocol","order":2},{"type":"concept","source":"mcp","target":"mcp-mental-model","order":3},{"type":"revises","source":"chosen-not-assigned","target":"agent-personas","changed":"The persona I had written for the same slot — passionate, motivated, innovative, extensive experience — was all surface.","asOf":"2026-08-12"},{"type":"revises","source":"we-measured-the-wrong-noun","target":"agent-personas","changed":"It was never the prose. It was always whether there was a real bar underneath it.","asOf":"2026-08-17"},{"type":"revises","source":"we-measured-the-wrong-noun","target":"persona-lens-anatomy","changed":"It was never the prose. It was always whether there was a real bar underneath it.","asOf":"2026-08-17"}]}