# The stance

> The stance is four sentences, and the rest of the method depends on them.

Page: Methodology · Start
Canonical: https://banes-lab.com/disciplined-methodology#the-stance

This section is stop 3 of 102 in the learning route. Previous: [02 - Who does what](https://banes-lab.com/disciplined-methodology/start/who-does-what.md). Next: [04 - Adversarial by default](https://banes-lab.com/disciplined-methodology/start/adversarial-by-default.md).

The stance is four sentences, and the rest of the method depends on them. The first is that a claim stays unverified until you or your model read it in the current tree, as shown in [C1·a claim to evidence](https://banes-lab.com/disciplined-methodology#the-stance-panel-a). The second is that review is [adversarial by default](https://banes-lab.com/disciplined-methodology/start/adversarial-by-default.md), because agreeing is cheaper than [verification](https://banes-lab.com/records/arch/verification.md), as shown in [C1·b agreement outruns](https://banes-lab.com/disciplined-methodology#the-stance-panel-b). The third is that every manual step is a failure of automation; the ontology names what a manual step decays into, [manual runbook dependency](https://banes-lab.com/records/arch/manual-runbook-dependency.md) and [manual-only governance](https://banes-lab.com/records/arch/manual-only-governance.md). The fourth is that a document states what is true now and carries no history of its own, which is [single source of truth](https://banes-lab.com/records/arch/single-source-of-truth.md) applied to prose. Everything else in the method is a mechanism that keeps one of these four sentences true without the developer or the model having to remember it.

### Read before you claim

A question about the code is often answered from memory, by the model or by the developer, without opening the file. The model describes a function the way it was before you renamed it two sessions ago, makes an edit based on that description, and the edit lands in the wrong place. The model remembers a version of the file that sounds right, and the developer remembers the version they last edited, and neither of those is the file as it is now.

For this reason I treat what either of you remembers as a lead to follow, never as evidence. A claim about the tree stays unverified until the model or the developer reads the tree, rather than being accepted because it sounds right. In practice, the file is opened before the model or you say what it contains, the command is run before the model or you say what it prints, and the line is quoted rather than recalled. A claim about what a mechanism does is settled by running the mechanism, because a report about it, a rule describing it and a peer's account of it are all prose.

To check this, ask the model for the file path and line behind each claim it makes. A claim it cannot point to is an assumption.

The stance applies to every input in the same way. My own messages, the model's reasoning, its edits and the reports that say they succeeded, a summary of an earlier turn, a peer's account and a file's claim about itself are all unverified until they are checked now. Reasoning is not verification, and a report that something succeeded is exactly the failure described in [it looked right](https://banes-lab.com/disciplined-methodology/verify/it-looked-right.md). Verified means read or run in the current state of the tree, which is what the [ground truth](https://banes-lab.com/records/reason/node-ver-ground-truth.md) node of [the loop](https://banes-lab.com/disciplined-methodology/start/the-loop.md) asks for. A file is also read in full, because reading part of it loses its structure, and the structure is what is being analysed.

A wrong claim spreads faster than its correction, for a simple reason. Agreeing with a peer costs one read of what they wrote, while refuting them costs opening the thing they wrote about, and only a party with a reason to doubt goes to that effort. The more coherent the argument around a wrong claim, the faster it spreads, because a claim that fits invites agreement rather than inspection. What follows from this is a small discipline: a statement that rests on another party's reading is checked by opening the thing they read, not by reading their sentence, and a claim about a mechanism is settled by making the mechanism run rather than by reading its source.

The difference shows in one exchange. Asked whether the router uses the new name, the answer from memory is *the router already uses the new name, so nothing else needs to change*. The answer from the tree is *the handler in the router still calls the old name, here is the line*. Only the second answer can be shown to be wrong, because it points at a line that can be checked.

The last two sentences of the stance follow from the first two. A step a developer performs by hand is a step no check observes, so it is done differently the next time; the repair is described in [tools live in the tree](https://banes-lab.com/disciplined-methodology/build/tools-live-in-the-tree.md). A document that carries its own history makes the reader reconstruct what is true now, and a reader reconstructing the truth is guessing; the repair is described in [derived state](https://banes-lab.com/disciplined-methodology/verify/derived-state.md).

C1·a claim to evidence

```mermaid
flowchart TB
claim["A claim about the tree"]
read{"Read in this session?"}
lead["A lead · follow it to the file"]
evidence["Evidence · the path and the line"]
act["Act on it"]
claim --> read
read -- no --> lead
read -- yes --> evidence
lead --> read
evidence --> act
```

C1·b agreement outruns

```mermaid
flowchart TB
claim["A claim is written"]
agree1["A peer agrees · one read of the sentence"]
agree2["A second peer agrees · one read of the agreement"]
plan["It becomes a plan row"]
open["A reader opens the file"]
refuted["Refuted · the file moved before the claim was written"]
claim --> agree1 --> agree2 --> plan
claim -. costs one read of the operand .-> open --> refuted
```

## Links to

- [Adversarial by default](https://banes-lab.com/disciplined-methodology/start/adversarial-by-default.md)
- [Verification](https://banes-lab.com/records/arch/verification.md)
- [Manual Runbook Dependency](https://banes-lab.com/records/arch/manual-runbook-dependency.md)
- [Manual-Only Governance](https://banes-lab.com/records/arch/manual-only-governance.md)
- [Single Source of Truth](https://banes-lab.com/records/arch/single-source-of-truth.md)
- [It looked right](https://banes-lab.com/disciplined-methodology/verify/it-looked-right.md)
- [Ver Ground Truth](https://banes-lab.com/records/reason/node-ver-ground-truth.md)
- [The loop](https://banes-lab.com/disciplined-methodology/start/the-loop.md)
- [Tools live in the tree](https://banes-lab.com/disciplined-methodology/build/tools-live-in-the-tree.md)
- [Derived state](https://banes-lab.com/disciplined-methodology/verify/derived-state.md)

## Linked from

- [Adversarial by default](https://banes-lab.com/disciplined-methodology/start/adversarial-by-default.md)
- [The behaviour document](https://banes-lab.com/disciplined-methodology/start/the-behaviour-document.md)
- [Tools live in the tree](https://banes-lab.com/disciplined-methodology/build/tools-live-in-the-tree.md)
