Implementation:Diagram of thought Diagram of thought Summarizer Completeness Check
| Knowledge Sources | |
|---|---|
| Domains | Reasoning, Convergence, Decision_Theory |
| Last Updated | 2026-02-14 |
| Implements | Principle:Diagram_of_thought_Diagram_of_thought_Convergence_Assessment |
Overview
Concrete pattern for implementing convergence detection using the <summarizer> role's assessment of DAG completeness in the Diagram of Thought (DoT) framework.
Description
The summarizer periodically reviews the state of the reasoning DAG built by the <proposer> and <critic> roles. It examines which propositions have been validated (accepted by the critic or unchallenged) and which have been invalidated (refuted or shown to contain errors), and determines whether the problem can be answered from the validated evidence alone.
This is a prompt-driven pattern, not a programmatic API. The convergence check is an emergent behavior of the LLM guided by the DoT system prompt, which instructs the summarizer to:
- Review the DAG of propositions and critiques
- Extract and organize the valid reasoning steps
- Determine if the reasoning is complete and present the final answer if so
The summarizer's convergence decision is expressed in natural language within <summarizer> tags, along with typed serialization records (@node and @edge) that integrate the decision into the DAG structure.
Usage
Invoke this pattern after one or more propose-critique cycles. The summarizer should be invoked whenever the critic has completed its evaluation of the most recent proposer output. The summarizer then decides:
- Continue: If validated evidence is insufficient or unresolved questions remain, the cycle returns to the proposer
- Converge: If the validated propositions form a sufficient basis for the answer, proceed to final synthesis
Code Reference
Source Location
- File:
prompts/iterative-reasoner.md, Lines 37-41 (process flow) - File:
prompts/iterative-reasoner.md, Lines 28-34 (summarizer role definition) - Import: No import -- this is a prompt pattern, not a library API
Signature
The summarizer convergence check follows this pattern within the LLM's output:
<summarizer>
[Assessment of the current DAG state: which nodes are validated/invalidated,
whether sufficient evidence exists, and the convergence decision]
@node id=N role=summarizer
@edge src=X dst=N kind=use
@edge src=Y dst=N kind=use
</summarizer>
The summarizer references predecessor nodes via @edge records with kind=use, indicating which validated propositions and critiques informed the convergence decision.
I/O Contract
| Input | Output | Side Effects |
|---|---|---|
Accumulated DAG of <proposer> and <critic> nodes with @status marks indicating validated or invalidated state. The summarizer has access to the full conversation history containing all prior role-tagged blocks.
|
Boolean convergence decision: either continue iteration (prompting another propose-critique cycle) or proceed to final synthesis (the summarizer produces the final answer). | Adds a new @node with role=summarizer to the DAG. Creates @edge records linking the summarizer's decision to the nodes it reviewed.
|
Usage Examples
Example 1: Summarizer Decides to Continue
In this example, the summarizer reviews the DAG and determines that although some propositions have been validated, an important related question remains unaddressed:
<summarizer>
Reviewing the reasoning so far: Node 2 (validated) established X, but node 4
(validated) raises a related question Y that has not been addressed. More
reasoning is needed.
@node id=5 role=summarizer
@edge src=2 dst=5 kind=use
@edge src=4 dst=5 kind=use
</summarizer>
After this output, the iteration loop continues: the <proposer> is invoked again to address the unresolved question Y, building on the summarizer's feedback.
Example 2: Summarizer Decides Reasoning Is Complete
In this example, the summarizer determines that the validated propositions provide sufficient evidence to answer the original question:
<summarizer>
All key aspects have been validated. Nodes 2 and 6 provide sufficient evidence.
Proceeding to final answer.
@node id=9 role=summarizer
@edge src=2 dst=9 kind=use
@edge src=6 dst=9 kind=use
</summarizer>
After this output, the summarizer proceeds to synthesize the final answer from the validated reasoning chain, ending the iteration loop.
Related Pages
- Principle:Diagram_of_thought_Diagram_of_thought_Convergence_Assessment - The principle this implementation realizes