Field notes · Adaptive skill intelligence, long form

The Agent That Learns Its Own Rules of Thumb

Nobody gets good at their job by rereading the manual every morning. We compress experience into rules of thumb, and we keep revising them as the world changes. Here is how Agent Harness Core is turning that loop into an engineering system: skills as versioned procedural memory, decision science as the governor, and receipts all the way down.

Watch a senior engineer walk into an incident. They don't rederive distributed systems from first principles at 3 a.m. They reach for compressed experience: check the last deploy first. Don't trust a single dashboard. If the queue is backed up, look at the consumer before the producer.

None of that came from one place. Some of it was taught — a mentor, a postmortem, somebody else's hard-won write-up. Some of it was lived — the outage they caused themselves in 2019. And none of it became useful the moment it happened. It became useful after reflection: what actually worked, what failed, and — critically — under which conditions. The result is a rule of thumb. Not a law. A procedure with a scope, a cost, and a set of warning signs, quietly revised every time reality disagrees with it.

That loop — absorb external experience, combine it with your own, reflect it into a reusable procedure, deploy it on the next similar task, revise it as the environment shifts — is how humans get good at recurring work in every domain: packing for a trip, preparing difficult feedback, running an incident. It's also the single most valuable thing today's AI agents systematically throw away.

A skill is a rule of thumb, written down

In Agent Harness Core, a skill is exactly that human artifact, made machine-operable: a versioned piece of procedural memory. Not more prompt text. Not a transcript excerpt. Not a fact. A reusable way to perform a competence role — diagnose, plan, execute, verify, deliver — with explicit activation boundaries, required inputs and tools, expected effects, evidence, cost, and revision identity.

The definition matters because the failure mode is so common. Most "agent learning" schemes today either stuff every lesson into an ever-growing system prompt, or vector-search old transcripts and hope similarity equals relevance. Both confuse having had an experience with having learned from it. A rule of thumb is not the memory of the outage; it's the compressed, conditioned procedure the outage taught you.

Getting this right starts with putting each kind of information where it belongs — because the subtlest corruption in a learning system is one observation silently becoming policy:

InformationCanonical home
Permissions, safety rules, organizational policyRuntime policy — never editable by a lesson
Current objective, plan, progress, blockersTask & virtual-session state
One task's events and resultEpisode & evidence store
Stable facts, preferences, entity knowledgeSemantic memory
A reusable way to achieve an outcomeSkill — versioned procedural memory
Large specs, examples, scripts, datasetsCold references, loaded on demand

Your hotel booking is task data. Your packing checklist is a skill. The difference sounds pedantic until an agent promotes the wrong one — and a one-off observation about a single interaction starts steering every future conversation.

Why your agent forgets everything it learns

Here's the uncomfortable fact about the current generation of agents: the model can't keep what the agent learns. Weights are frozen at training time. Context is rented by the turn and evaporates at session end. An agent can execute a brilliant recovery procedure on Tuesday and have no trace of it on Wednesday — not because it's stupid, but because there is no place for the lesson to live.

So the capability asset has to live outside the model — in durable, versioned, auditable structure the harness owns. That's the same conclusion this project keeps arriving at from different directions, and it completes a picture:

THREE MEMORIES · THREE TIME SCALES PROCEDURAL MEMORY · skills — across tasks versioned rules of thumb · what this agent has learned to do well CONTINUITY MEMORY · virtual session — within a task working set · decisions · blockers · survives rollover and restart REASONING MEMORY · bounded deep work — within a turn evidence staged · vars persisted · structured result + trace seconds → minutes hours → days weeks → the lifetime of the deployment
FIG. 1 — reasoning serves the turn, continuity serves the task, procedure serves every future task. Skills are the only layer that compounds.
The model stays powerful but interchangeable. The accumulated skill library is the part that's genuinely yours — an individual capability asset that survives every model swap.

That's the strategic point hiding inside the architecture. Frontier models are converging commodities; you will change providers, versions, and routing over the life of a deployment — this harness treats that as one /model command. What cannot be swapped in from a vendor is the procedural memory your agent earned on your tasks, in your environment, against your verifiers. A static agent rents all of its competence. An adaptive one owns a compounding share of it.

The loop: from episode to asset

So how does an episode become an asset without the system lying to itself? The loop keeps distinct facts distinct — because the seductive shortcut, counting how often a skill gets used, measures popularity, not capability:

THE ADAPTIVE SKILL LOOP — EVIDENCE IN, PROCEDURE OUT EXTERNAL EXPERIENCE teaching · docs · demonstrations other people's postmortems INDIVIDUAL EXPERIENCE own attempts · corrections verifier results · task receipts REFLECTION attribute: which procedure, which conditions, which cost? one episode ≠ a universal rule SKILL · vN → vN+1 versioned proposal · held-out eval shadow compare · narrow promote exact rollback always available NEXT SIMILAR TASK role-first retrieval · smallest sufficient fragment disclosed surfaced ≠ read ≠ used ≠ helped — each recorded separately outcomes → new evidence every step writes a receipt · promotion is a behavioral deployment, not a text edit
FIG. 2 — the loop humans run informally, made explicit: absorb, attribute, reflect, version, deploy, measure, revise. Outcomes feed back as evidence, not as automatic edits.

Three details in that loop carry most of the engineering weight:

Decision science, not vibes

Everything above could still degenerate into a self-congratulating journal. The discipline that prevents it comes from decision science: treat every learning action — disclose a fragment, update a belief, promote a revision — as a decision under uncertainty with a quantified objective.

# the objective the whole ecosystem maximizes
net skill value =
    expected task-outcome improvement
  − context & retrieval cost
  − latency & tool cost
  − interference & conflict cost
  − evaluation & maintenance cost
  − safety & external-effect risk   # hard constraint — no score offsets it

A fragment is disclosed only while its expected marginal value stays positive — then retrieval stops. This is the opposite of showing the model an ever-growing catalog and hoping attention sorts it out. And the same calculus governs the other side of the loop:

Measure capability, not churn. A learning system that grades itself on how much it learns will learn a great deal of nothing.

Rules of thumb expire

Here is where the human analogy earns its keep one more time. Every experienced practitioner has watched a trusted rule of thumb quietly go stale: the vendor changed the API, the team changed the process, the environment moved. The skill of being skilled is knowing when your procedure's evidence no longer describes the world.

So freshness is a first-class belief, not an afterthought. Evidence decays; an environment change — a tool version bump, a provider swap, a policy update — lowers confidence in affected skills and triggers revalidation instead of blind replay. An adaptive library isn't one that grows monotonically. It's one whose confidence tracks reality: procedures get revised, split into variants, quarantined, or retired, each with a receipt saying why.

This is also why consolidation is relationship-first, not similarity-first. Two procedures that look alike may be genuinely equivalent (merge candidates), or one may subsume the other while the cheaper specialist stays valuable, or they may be complementary roles that should compose rather than merge, or variants that preserve a tool, context, or risk distinction that matters. A smaller catalog is not automatically better — the goal is lower total disclosure cost without losing the low-frequency capability that saves you twice a year.

The same loop, outside software

Because skills are procedural rather than domain-bound, the loop applies to any recurring situation an agent helps with:

In every case the pattern is identical: external knowledge and individual experience combine, but only reusable procedural structure is promoted into the asset.

What organic growth is not

"Self-improving agent" is doing a lot of unearned work in 2026 pitch decks, so let's be precise about the boundary. In this project, organic growth means versioned procedural assets, evidence-aware role and residency changes, and independently evaluated promotion with exact rollback. It does not mean:

Learning is a behavioral deployment, and it ships like one: propose → evaluate independently on held-out cases → shadow-compare → promote to one narrow, reversible, low-risk cohort → observe → widen only with evidence — with a tested downgrade at every boundary. Skill author, evaluator, and promoter don't self-attest the same change. Autonomy is earned one risk class at a time, which is the only way "autonomous" and "auditable" fit in the same sentence.

// the honest ledger for this essay

shippedSkills as runtime state — versioned, indexed SKILL.md runbooks matched per turn, injected once per session via an injection ledger, with revision-bound selection receipts. In the repo, tested without a model call.
shippedGoverned mutation — generated skills are proposal-only by default; guarded apply requires explicit operator authorization; lifecycle tooling (quarantine, retirement, tombstones) exists today.
shippedShadow observation — runtime receipts observe matching and outcomes with zero serving-side effects, the raw material for outcome attribution.
design directionOutcome-linked learning — contextual beliefs, hierarchical Bayesian updates, the evaluator cascade, and consolidation are specified in the design doc, not yet wired end-to-end.
gatedProgressive autonomy — narrow-cohort promotion and widening by risk class waits on the frozen replay corpus and joined outcome evidence. No claim of live autonomous self-improvement is made, because none would be true yet.

That ledger is the same discipline as the rest of this project: in a year when anyone can generate a beautiful learning-loop diagram in an afternoon, the diagram is worthless. What's worth something is whether each box points at code, a receipt, or an honest "not yet."

From static tool to compounding asset

Put the pieces together and the product thesis is simple. The industry keeps trying to make agents better by making models bigger — renting more intelligence per turn. Adaptive skill intelligence works the other axis: keep the model interchangeable, and make the agent around it accumulate. Every task leaves receipts. Receipts become attributed evidence. Evidence becomes revised procedure. Procedure compounds into an individual capability asset that no other deployment has — because no other deployment lived your tasks.

An agent that merely executes is a tool: identical on day one and day four hundred. An agent that reflects — under evidence governance, with quantified trade-offs, receipts, and rollback — is something closer to an organism: it metabolizes experience into capability, and it gets measurably better at being yours.

A static agent rents its competence. An adaptive one owns a compounding share of it. That's the bet this layer makes.
★ Star the repo Read the design doc → Current implementation contract → The long-task engine →

And yes — an essay about agents learning rules of thumb was drafted in pair with an AI that has opinions about rules of thumb. Welcome to 2026.


Agent Harness Core: a self-hosted AI agent runtime in Rust. Six dependencies. No async runtime. 1,200+ tests without a model call. Every step gated, every step receipted. Pre-release, Windows-first, dual-licensed MIT/Apache-2.0.