Document the synthesis/reduce pattern (#39 slice 4) — no reducer tool#47
Merged
Conversation
Slice 4 of the scatter-gather roadmap, resolved as a docs-only decision: TangleBrain deliberately does NOT own the reduce step. The orchestrator synthesises delegate_many's results itself (it holds the original task context that makes for good synthesis); a *mechanical* stitch can be offloaded with an ordinary delegate(task=...) call. No dedicated reducer tool ships — existing primitives cover it, and frontier-side synthesis is the better default until observability data shows a TB-side reducer would earn its keep. Documentation of existing behaviour; no code change.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Slice 4 of the scatter-gather roadmap (#39), resolved as a docs-only decision. README + ARCHITECTURE now document the synthesis/reduce pattern:
delegate_many) → reduce → answer.delegate(prompt="Combine these: …", task="summarization")call — no dedicated reducer tool needed.Why
Synthesis already works emergently (the orchestrator combines
delegate_many's JSON array), and the offload case is already covered bydelegate(task=…). Adelegate_reducetool would be redundant surface area whose value is speculative — and frontier-side synthesis is usually the better default (context). Per the project's "code only when the flow earns its keep" stance, slice 4 is documentation, not code. Observability (a later slice) would give the data to revisit a reducer if it's ever justified.Test plan
Docs-only; no code change.
### InternalCHANGELOG entry (patch-tier; rides the next minor release). CI gates the merge.🤖 Generated with Claude Code