Skip to main content

The VVFL

What kind of loop are you running?

This is not a brand graphic. It is the logo expanded — every P&ID element opened to show what lives inside it. The question mark becomes a complete operating system for making better decisions faster.

Three Loops

Most people confuse these. The confusion costs them agency.

LoopSetpointMeasurementWhat Happens
Positive (reinforcing)NoneNoneRunaway — doom scrolling, panic selling, addiction
Negative (corrective)DefinedYesControl — but toward what?
VVFLValues-aligned AND reality-testedValidated against outcomesProgress that compounds AND serves

"Positive feedback" sounds like praise. In engineering it means amplification without correction — a microphone pointed at a speaker. No setpoint, no gauge, no control. Without a clear picture of what good looks like, you're a passenger.

The VVFL is the third kind. Not just corrective — validated (tested against reality, not just believed) and virtuous (the setpoint serves beyond self).

The Setpoint

The most important element in any control loop is the one most people skip: declaring what good looks like before the loop runs.

Karpathy's autoresearch is the proof. Three files, one metric, "NEVER STOP." The agent runs 100+ experiments overnight. Not because it's intelligent — because the constraint is clear. Constraints enable autonomy. A loop without a setpoint is a microphone pointed at a speaker. A loop with a declared northstar runs itself.

Loop ElementWithout SetpointWith Setpoint
GaugeReads numbers that mean nothingReads distance from target
ControllerReacts to noiseCorrects toward declared intent
AgentBusy but driftingAutonomous and converging

The pain primitives are the gap made visible. Pain is the distance between where you are and where you declared you'd be. No declaration, no gap. No gap, no loop. The five voyage pains — no direction, no map, no ship, no mates, no compass — are five missing setpoints.

DECLARE SETPOINT → RUN LOOP → MEASURE GAP → CORRECT → REPEAT
↑ |
└──── evolve the setpoint when reality teaches ──────┘

The setpoint is not fixed forever. The outer loop evolves it. But at any moment, the inner loop needs ONE clear target to measure against. That's what turns a reinforcing loop into a corrective one, and a corrective one into a virtuous one.

Assumptions Are Micro-Setpoints

Every assumption in a plan is an undeclared setpoint. "Users will pay $50/month" is a setpoint. "The API responds in under 200ms" is a setpoint. "The generator output passes pre-commit hooks" is a setpoint.

Undeclared assumptions are unmeasured loops. They run without a gauge, without a controller, without correction. When the assumption breaks, you discover it at production time — not at planning time.

Assumption typeDeclaredUndeclared
Price pointTracked against conversion dataDiscovered when nobody buys
Performance thresholdTested in CIDiscovered when users complain
Template completenessValidated at creationDiscovered when plan produces nothing
Dependency existenceChecked before executionDiscovered when chain stalls

The fix: tag every assumption with a conviction level (HIGH/MEDIUM/LOW/NONE) and a measurement method. An assumption without a measurement method is a reinforcing loop waiting to run away.

The Stations

Reading the diagram clockwise from top-left:

Capture

The hopper — where raw material enters. Inspiration, problems, ideas, signals from success and failure. Trends and capabilities flowing in.

Without capture, you run on old inputs. The system starves.

Priorities

The filter between capture and action. Disagree with integrity. Record decision logic. Commit your capital. Not everything that enters the hopper deserves the pump.

Attention

The pump — what drives flow through the system. Focused. Collaborative. Coordinated. This is where agency meets action. The pump doesn't care about quality — that's the filter's job. The pump cares about movement.

Value

Where first principles transform state. Raw attention becomes directed effort. The pump creates motion; value gives it direction.

Systems

The feedback mechanism at the base. Automate to reduce decision fatigue. Trigger processes to adjust tactics. Adapt and adjust — this is where the loop becomes self-correcting rather than one-shot.

Standards

The gaugeraise the platform. Without measurement, you can't know if the loop is working. Standards are what make improvement systematic rather than accidental. The gauge reads reality.

Distribute

Maximize benefit, minimize waste. Goodwill compounds here — what you distribute returns. This is what makes the loop virtuous rather than merely corrective. Extraction breaks loops. Distribution strengthens them.

Reflect

The controller — practice asking deeper questions. The controller reads the gauge, compares measurement to setpoint, and asks: is this where we should be? Perspective is the controller's output.

The Record: The Controller's output is not just a decision — it is a decision trace. That trace is the node in your context graph. See The Mycelium for how Systems of Decisions capture this.

Evolve

Change the game. Not just improve within the current frame — question whether the frame itself is right. This is where the loop compounds rather than merely repeats.

The Center

Flow. Make connections.

When all stations are running clean — capture feeding priorities, attention driving value, systems enabling standards, reflection driving evolution — the center holds. That's flow state. Not luck. Architecture.

Why Not Politics?

Nobody in power wants to make decisions. They want enough votes to stay relevant. Consultancies exist because "no one ever got fired for hiring McKinsey" — outsourced accountability dressed as expertise. This is not a control system. It's a reinforcing loop of self-preservation.

Politics is what happens when systems fail.

When feedback loops break — when the gauge is ignored, the filter is corrupt, the controller is absent — you get committees, votes, and lobbying instead of measurement, correction, and progress. The idea that governments will decide how to control AI is a fantasy. The people making those decisions have spent careers distancing themselves from decisions.

Political LoopVVFL
Optimize for staying in powerOptimize for goodwill
Outsource accountabilityOwn the measurement
Enough votes to remain relevantEnough trust to remain useful
Top-down controlBottom-up coordination

The answer is not waiting for someone to save you. The answer is talking to your neighbours. Using tokenomics and tokenisation to share ownership in important assets and distribute the value that comes from them fairly. Futarchy — backing decisions with bets rather than votes — replaces opinion with skin in the game. Building culture at the community level where feedback loops are short enough to actually work.

Intelligence is no longer a competitive advantage. AI leveled that field. Culture is. And the strongest cultures are judged by how they look after their weakest. See Governance for what happens when we try to build systems that don't fail.

The Gauge

A loop without a gauge is motion. This section is the gauge — the outcome map filled in, the picture we measure against.

Three Signals

LevelSignalProxyProves
SelfDecisions improveChoices that reference the modelThe system works for its builder
TransferBetter questions out than inLink depth from entry pointThe architecture creates value
CompoundConnections create emergent valueCross-referral from /meta/ into /docs/Links are edges, not decoration

Level 1 before Level 2. Level 2 before Level 3.

Success Measures

Binary. Did we or didn't we.

Evidence Loop

CycleHypothesisOutcomeBetter Question
1Cross-linking nav sections creates traversal

Fill this table. The empty cells are the gauge reading.

OODA Is VVFL

Boyd's OODA loop (Observe → Orient → Decide → Act) is the VVFL compressed to four stations. Same loop. Different vocabulary. Same center.

OODAVVFL StationControl FunctionThe job
ObserveCaptureHopperWhat signals are entering the system?
OrientPriorities + StandardsFilter + GaugeWhat do the signals mean against what we measure?
DecideReflectControllerWhat's the one correction that matters most?
ActAttention + ValuePump + TransformExecute. Change state. Ship.
(loop)Systems + Distribute + EvolveFeedbackDid it work? Distribute the gain. Evolve the setpoint.

Boyd's insight: the side that cycles faster wins. Not the side with more information. Not the side with better plans. The side whose loop runs tighter — shorter time from observation to action, faster feedback from action to next observation.

The VVFL adds what Boyd left implicit: the setpoint (what "winning" looks like) and the gauge (validated measurement, not just observation). OODA without a setpoint is fast reaction to noise. VVFL with OODA speed is fast convergence toward declared intent.

Tool Adoption

The fastest-moving affordance in any knowledge worker's stack is their AI coding environment. Features ship weekly. Practitioners innovate daily. A configuration that was optimal last month leaves potential on the table today.

Apply the VVFL:

StationApplied to tool adoptionCadence
CaptureScan changelog, practitioner feeds, community innovationsDaily
PrioritiesMap each new feature against current configuration. Score each affordance 0-5. Which gap is largest?Daily
AttentionPick ONE feature. Not a batch. One.Per cycle
ValueTest it now. In this session. Not "investigate later." Load the tool, run the command, try the config.Per cycle
SystemsDid it work? Update the baseline. If it failed, note the blocker.Per cycle
StandardsTrack affordance utilization over time. The gauge reads: what percentage of your tool's potential are you extracting?Weekly
DistributeShare what worked. Document the pattern for the next person.Weekly
ReflectDid the adoption process itself work? What did you have to improvise that should be baked in?Monthly
EvolveImprove the adoption procedure. The loop that adopts tools should itself be adopted by the loop.Monthly

The inner loop (daily) cycles in minutes: observe one feature → test it → adopt or reject. The outer loop (monthly) evolves the adoption process itself. That's recursion — the loop improving the loop.

The failure mode this prevents: Listing 17 new features, creating a deployment plan with four phases, and executing none of them. Batching kills loops. Cycling one feature at a time through the full VVFL keeps the loop alive.

The origin lesson: Writing "I don't know what the mechanism is" while the mechanism was listed in your own tools. The gauge was there. The capture was there. The filter never ran. If you don't cycle the loop, the loop doesn't exist — no matter how well you've drawn the diagram.

The Bottom Line

Make better decisions faster.

Each cycle through the loop:

  • Sharpens the questions (better inputs)
  • Strengthens the filter (clearer principles)
  • Focuses the pump (more directed action)
  • Raises the gauge (higher standards)
  • Deepens the controller (wiser reflection)

The loop doesn't guarantee good outcomes. It guarantees that each failure makes the next attempt better. That's what separates the VVFL from hope.

Context

  • Outcome Map — The blank version of the gauge section above
  • The Logo — The compressed version: four P&ID shapes forming a question mark
  • Control System — PID mechanics: setpoint, sensor, controller, actuator
  • VVFL Loop — Standards as the compounding force
  • Pain Primitives — Five voyage pains: five missing setpoints
  • Agency — The capacity the loop builds
  • Flow State — What happens when all stations run clean

Questions

What is your setpoint — and who declared it?

  • If your loop has been running for months without converging, is the loop broken or is the setpoint missing?
  • What changes when you name ONE metric instead of five?
  • Which of the five voyage pains is the setpoint you haven't declared yet?
  • When the outer loop evolves the setpoint, how do you know the new target is wiser than the old one?