“People are mixing up harness and agent a lot. What I’ve come to conclude is that the agent is the cognitive part and the harness is the kinetic part.” — Lou

Session context: 2026-07-16_Mastermind — Lou released the Agentic Ambient Intelligence (AAI) framework and the canonical skill library to the group, and spent the first hour explaining the architectural distinction the whole thing rests on.

Core Idea

Everyone building with AI eventually hits the same wall: you spend weeks tuning a setup inside one tool, then a better tool appears and none of the work moves with you. The usual response is to pick a side and hope you bet right. Lou’s answer is to stop treating the setup as one thing. It’s two, and they have different physics.

The agent is cognition. Identity, instructions, context, memory, rules, decision criteria — everything that determines what to think and why. It runs at inference time. It is text.

The harness is kinetics. Tools, connectors, MCP servers, bash scripts, schedulers, hooks, the agentic loop itself — everything that determines how the thinking touches the world. It runs at runtime. It is code and configuration.

The reason this split is worth naming is that it yields a test you can apply to any part of your setup, in about two seconds:

Can this be written down in a markdown file? If yes, it belongs to the agent and it travels. If it needs a trigger, a loop, or a reach outside the folder, it belongs to the harness and it stays.

Lou’s framing: git init scaffolds a hidden .git folder that makes an ordinary directory version-aware without changing anything visible. AAI does the same with a hidden .aai folder holding identity, instructions, context, and memory. The folder becomes ambiently intelligent by gaining one hidden directory — and because the intelligence is in the folder, copying the folder copies the intelligence.

The move that makes this hold together is declare, don’t implement. A folder that needs Notion doesn’t talk to Notion. It writes down that it needs the Notion MCP, and the harness supplies it. Same for triggers: the folder declares “this should run weekly”; the scheduler lives outside. The agent states needs; the harness satisfies them. That discipline is what keeps the markdown portable — the moment a folder implements a connection instead of declaring one, it has stopped being portable and nobody notices until the migration fails.

The adapter is one sentence. In CLAUDE.md for Claude, AGENTS.md for Codex: “This folder carries its own agentic intelligence. Before acting on any request, read .aai/instructions.md and follow it.” That line is the entire cost of harness independence. Everything else is markdown you already own.

Practical Application

Audit one working folder against the test. List every piece of your current setup and sort each into two columns — writable as markdown (identity, voice, rules, project context, decision criteria, memory) versus requires runtime (MCP connections, cron jobs, hooks, scripts, API calls).

Then check the second column for cheating: anything in there that’s actually a need dressed up as an implementation. “Calls the Notion API” is an implementation. “Needs Notion access” is a declaration — and it belongs in column one.

Coaching question: “If my harness disappeared tomorrow, what exactly would I have to rebuild — and why is any of that not already in a markdown file?”

Evolution Across Sessions

This is the culminating articulation of a thread running since late 2025. Insight - Ambient Intelligence — Build a Skill in Every Folder to Make Your Entire Knowledge Base Alive established that a folder with context, instructions, and memory is an agent. Insight - The Harness Architecture — Declare Only What You Need, Import the Rest (2026-06-04) solved the token-cost half of the problem. Insight - The me.md Pattern — Separate Your Identity From Your Harness (2026-06-11) separated identity from config for a single person. What’s new here is the general test — markdown or runtime — and the declare-don’t-implement rule that keeps the boundary honest as a folder grows. Lou also noted his prime directive during development: design so that everything runs inside the subscription harness, never as hosted API calls. Future sessions should test where the test breaks — the memory layer is the obvious stress point, since memory is markdown but retrieval is runtime.

Source