First Turn
This page walks through a first interactive session so you can see the harness in action.
Start Interactive Mode
Start a local HTTP model service such as Ollama, then select it with the
ollama:<model> provider form:
paddles --model ollama:qwen3
The TUI opens with a prompt composer at the bottom and a transcript area above.
Ask A Question
Type a question about the workspace and press Enter:
How does the turn loop gather evidence?
Read The Trace
The transcript shows each step as it happens:
• Classified · 0ms
└ planned
• Checked action-selection capability · 120ms (+120ms)
└ ollama:qwen3: configured
• Planning...
• Action step 1: search · 3.2s (+3.1s)
└ Rationale: Looking for turn-loop implementation
• Action step 2: read · 5.8s (+2.6s)
└ Rationale: Reading the recursive execution loop
• Action step 3: answer · 6.1s (+300ms)
└ Rationale: Evidence is sufficient
• Final-rendered grounded answer · 8.4s (+2.3s)
└ Sources: src/application/mod.rs, src/domain/ports/action_selection.rs
Each line is a real event from the harness — not decorative output. The action-selection client searched the workspace, read relevant files, and decided it had enough evidence before final rendering.
The muted "Planning..." row appeared because the action-selection step took more than two seconds. These in-flight indicators show what the harness is doing during long operations.
Tune Verbosity
The default interactive stream runs at verbosity level 0. That view keeps the
operator-facing steps visible while suppressing low-value bookkeeping for casual
direct responses.
For example, a greeting at the default level stays short:
User
└ Howdy
• Action step 1: answer directly · 3.2s (+3.1s)
└ Rationale: The user offered a casual greeting with no repository task or request for evidence, so a brief direct reply is appropriate.
Paddles · 3.2s total (+6ms)
└ Howdy
Raise verbosity when you want more internals:
-vadds info-tier final-rendering and action-selection summary rows.-vvadds debug-tier routing and capability detail.-vvvadds trace diagnostics such as boot and prompt-payload logging.
You can also set verbose = 0, 1, 2, or 3 in paddles.toml. CLI flags
override config, and the same resolved level drives both the TUI transcript and
the web UI event stream.
Use A Different Action-Selection Client
You can route action selection and final rendering to different HTTP model clients:
paddles --model openai:gpt-5.4 --action-selection-provider ollama --action-selection-model qwen3
The final renderer uses the remote provider while action selection uses the local HTTP service for investigation.
One-Shot Mode
For scripts, use --prompt to skip the TUI:
paddles --prompt "Summarize the current turn runtime"
What To Read Next
- Turn Loop — understand the full cycle from prompt to answer
- Recursive Planning — how action selection drives investigation
- Search and Retrieval — how retrieval queries are bounded and traced