Skip to main content

Module thinking

Module thinking 

Source
Expand description

Model reasoning, collapsed by default.

§Why this is not a disclosure with a string in it

Three facts get collapsed into one wherever reasoning is shown, and only one of them is true at a time:

  • reasoning exists and is not on screen, because nobody opened it;
  • reasoning exists and cannot be shown, because whoever produced it withheld it;
  • there is no reasoning, because none was produced.

An Option<String> can express two of those and quietly loses the third: None would have to stand for both “withheld” and “none”, and a block that says nothing was produced when in fact it was withheld is stating something nobody established. So Reasoning has three variants, no Option, and no conversion from one — a caller holding a None has to decide which of the two absences it is before it can build this component.

Withholding is somebody’s decision, so Reasoning::Withheld carries that somebody’s words and shows them verbatim.

Structs§

ThinkingBlock
A collapsed block of model reasoning.

Enums§

Reasoning
What is known about a turn’s reasoning.