Goal → present state → current bottleneck → best current move → execute → observe the result → update the present state → identify the new bottleneck.
The important rules are:
- We do not invent the entire path beforehand.
- We identify only the constraint limiting progress now.
- A bottleneck is not a general weakness or another interesting improvement.
- The best move either removes that constraint or produces the evidence needed to understand it.
- We record what actually happened, not what we expected.
- Once the bottleneck changes, we stop working on the old one.