Skip to main content

Steering Signals

Paddles does not use one generic control score. It applies a family of controller-owned steering signals that bias the turn loop when evidence starts to matter more than priors.

prompt prior

interpretation context

planner proposes next action

controller steering layer
├─ context strain: context degraded
├─ action bias: act on a likely file
├─ premise challenge: refine or stop and judge
├─ compaction cue: tighten active context
└─ budget boundary: terminate bounded recursion

next action or grounded synthesis

The key rule is simple: the user can supply the starting premise, but gathered sources get to revise it.

Signal Families

SystemTriggerEffect
Context strainTruncation during context assemblySurfaces degraded context quality
Action biasMutation turn is still avoiding file actionAdds a planner review note that biases the next move toward a likely target file
Premise challengeQuiet steps or evidence weakens the original premiseAdds a planner review note or refinement trigger so the model must judge the sources explicitly
Compaction cueActive context is getting noisySummarizes/prunes low-value artifacts while preserving locators; today this is still mostly heuristic
Budget boundaryHard recursion caps are reachedStops the loop and forces an honest answer

Context Strain

A StrainTracker accumulates truncation events during context assembly for each turn. When the turn's context has been fully assembled, the tracker computes a ContextStrain value:

  • Level — Low, Medium, High, or Critical based on the number of truncation events
  • Truncation count — total number of individual truncation events
  • Factors — which sources were truncated (memory, artifacts, thread summaries, evidence budget)

Strain Levels

LevelTruncation eventsMeaning
Low0No significant truncation
Medium1-2Minor truncation, one or two sources affected
High3-5Significant truncation across multiple sources
Critical6+Severe context degradation

When strain is non-nominal, the system emits a ContextStrain turn event. This is observational: it tells the operator that the working set was degraded.

Action Bias

Action bias encodes the principle that action produces information.

On edit-oriented turns, once the harness already has plausible file evidence, repeated non-file work becomes lower value than reading or editing the likely target. The controller now adds an action-bias review note back into the planner loop, and the planner must judge whether the proposed move should stand or be replaced by a file-targeting action.

Premise Challenge

Premise challenge is what makes the harness intellectually honest.

It operates in two modes:

  • Quiet-step refinement — if the loop has real evidence but several steps add nothing new, the controller derives a refined interpretation context.
  • Premise judgement — if the prompt asserts a failure but the gathered sources weaken or contradict that claim, the controller adds a premise-challenge review note and asks the planner to judge the sources before spending more budget.

This is how Paddles avoids blindly trusting the operator once the evidence says otherwise.

Compaction Cue

Compaction cue keeps the active context small enough to stay useful. The controller can summarize or prune low-value retained artifacts while preserving typed locators to the deeper records in transit or on disk.

Today that compaction path is still mostly heuristic. The interface is designed for deeper recursive self-assessment, but the current adapters do not yet fully delegate compaction judgement back to the model.

Budget Boundary

Budget boundary is the hard outer wall. Step, search, inspect, and read limits are all explicit. When they are exhausted, the loop stops and synthesis proceeds from the evidence actually gathered.

What Operators See

Steering signals are visible in both the transcript and the trace model. In the TUI, context strain appears as a turn step:

• Context strain: medium
└ 2 truncation(s), factors: [memory-truncated, artifact-truncated]

In transit traces and the web forensic inspector, steering signals and influence snapshots carry:

  • a signal kind
  • a magnitude estimate
  • a summary
  • source-attributed contribution estimates

Manifold Route

The web UI also exposes a dedicated /manifold route. It is a higher-level projection of the same trace data:

  • three steering gates: evidence, convergence, and containment
  • replay time across the horizontal axis
  • gate family across the lane stack
  • force magnitude as depth in the scene

That route is intentionally metaphorical. It is not a second reasoning engine and it does not invent hidden runtime state. Every manifold state is projected from exact recorded steering-signal snapshots and lineage anchors, and the raw signal kinds remain available behind the selected gate state.

For that reason, the manifold route must stay accountable to the forensic inspector:

  • selecting a manifold state reveals the exact source record behind it
  • the route can jump back to the precise forensic inspector on that record
  • raw and rendered payload inspection still lives in the forensic route, not in the manifold metaphor

Resolver-backed edit convergence is now visible there too. When a selected signal came from deterministic entity resolution, the manifold readout shows whether the target was resolved, ambiguous, or missing, along with the authored path or candidate set that produced that state.

The route also stays local-first. It is rendered from the same locally served web shell and does not rely on external visualization CDNs.

  • Turn Loop — where the steering layer sits in the full cycle
  • Recursive Planning — how steering signals change planner behavior
  • Context Tiers — how content moves between tiers and gets truncated