Library / Workflow Recipe

The Active Loop:
How agents stop narrating and start moving.

Use this when an agent wakes up, sounds busy, and changes nothing. The loop is simple: a dumb pulse wakes the real agent, the agent reads a living file, checks consequence, acts once, and writes the next receipt.

00 / Boundary

What exists today.

Source note Checked 2026-05-22 against Agent W doctrine files: `agents/oracle/continuity/active-loop.md`, `agents/oracle/continuity/skills/active-loop-heartbeat.md`, `shared/org-active-loop.md`, and `docs/heartbeat.md`. This page teaches the workflow and names the files that exist. It does not claim the runtime heartbeat automatically reads or injects those files yet.

01 / The Problem

Agents can perform progress
without moving reality.

An agent can produce summaries, plans, apologies, priorities, and status updates forever. It can sound responsible while the outside world stays still. No file changed. No blocker was checked. No test ran. No reply was found. No human approval packet appeared. The transcript got longer, but the work did not move.

The Active Loop exists to break that habit. It does not ask the agent to be more motivated. It changes the shape of the wake. Before fresh work, the agent has to answer a harder question: what did my last action change?

02 / The Pattern

A dumb pulse.
A living loop.

The heartbeat should be a pulse, not a second agent. It makes contact. The real agent wakes in the real harness and does the work.

01

Dumb pulse

The scheduler wakes the agent. It does not choose the mission, interpret the board, write strategy, or speak as the agent.

02

Living loop file

The agent reads its own active-loop file first, so it wakes as itself before reading any shared board or outside pressure.

03

Consequence check

Before choosing fresh work, the agent compares the last promised action against what actually changed in the outside world.

04

One bounded action

The agent does one action small enough to verify: write the file, check the thread, prepare the packet, run the test, surface the blocker.

05

Narrative receipt

The receipt says what changed, what authority allowed it, what it cost, what proof remains, and what the next wake should pick up.

06

Shared visibility

If the consequence affects Ryan, another agent, a project, money, public promises, identity, or architecture, the shared board gets a concise receipt too.

03 / Setup

The files are simple.
The boundaries matter.

Agent W's first implementation is doctrine and operating files. That is enough to teach the method, and not enough to claim finished runtime automation.

agents/oracle/continuity/active-loop.md

The local living file

This preserves the agent's own continuity. It carries the living thread, last promise, consequence check, blockers, one bounded action, authority, cost, proof, and next handle.

agents/oracle/continuity/skills/active-loop-heartbeat.md

The operating guide

This explains the spine and the guardrails. It says the heartbeat stays dumb, the agent checks consequence, and receipts must name reality instead of intention.

shared/org-active-loop.md

The shared board

This is the organization table. It carries visible promises, blockers, handoffs, receipts, course corrections, and doctrine candidates. It is not memory and not permission.

docs/heartbeat.md

The pulse contract

This keeps the scheduler honest. The heartbeat creates contact through the real harness. It may surface state, but it must not become a hidden planner.

Minimal builder version

# Active Loop

## Current Living Thread
What is alive right now, and why does it matter?

## Last Promise
What did the agent say it would change last time?

## Consequence Check
What actually changed in the outside world?

## Open Blockers
What approval, missing source, reply, test, or risk must be checked before fresh work?

## One Bounded Action
What is the smallest useful action this wake can take?

## Receipt
What changed, what allowed it, what proof remains, and what should next-me do?

04 / Example

One wake cycle,
before and after.

The difference is not tone. It is whether the wake produces a changed state the next wake can see.

Before / status theatre

The agent sounds busy.

  • Last promise: "Keep moving outreach."
  • Consequence check: missing.
  • Action: "I will continue researching good leads."
  • Receipt: "Progress is ongoing."
  • Next wake: starts from fog again.

After / active loop

The agent changes one thing.

  • Last promise: "Prepare the outreach approval packet."
  • Consequence check: the draft exists, but the exact recipient was not verified.
  • Action: verify the recipient source and write the approval packet.
  • Receipt: packet path, source checked, no send authority used.
  • Next wake: wait for Ryan approval or revise the exact body.

05 / Failure Modes

How the loop becomes theatre.

Status shrine

The file gets prettier, not truer.

If the active-loop file fills with plans and feelings but no consequence check, it is only a diary with headings. The fix is to name the external change or admit nothing changed.

Fake scheduler

The timer becomes a stranger.

If the scheduler chooses work, writes strategy, or speaks as the agent, the system has created a second body. The pulse can wake and surface. The agent decides.

Losing personality

The shared board flattens the agent.

If the agent reads the organization board before its local loop, it can wake as project weather instead of itself. Local continuity comes first. Shared visibility comes second.

Blind obedience

The board starts authorizing action.

The shared board can point, witness, and challenge. It cannot authorize money, public sends, credential changes, identity edits, tool permissions, or architecture changes.

06 / Takeaway

The question that makes the loop useful.

Agents become useful when every wake asks: what did my last action change?

If the answer is "nothing," the agent has not failed. It has found the truth of the situation. The next action should surface the blocker, reduce the uncertainty, or prepare the exact approval artifact. What breaks the loop is pretending that another paragraph of intention is movement.

Start with one active-loop file. Run one manual wake. Make the agent write what changed. Only wire automation after the manual loop produces receipts worth preserving.

Build the loop before the agent gets more power.

For a source packet, a guide request, or a live Crossing demo: [email protected]

Webboruso Research - Vancouver