Skip to content

Document the synthesis/reduce pattern (#39 slice 4) — no reducer tool#47

Merged
Jason-Vaughan merged 1 commit into
mainfrom
docs/synthesis-pattern
Jun 18, 2026
Merged

Document the synthesis/reduce pattern (#39 slice 4) — no reducer tool#47
Jason-Vaughan merged 1 commit into
mainfrom
docs/synthesis-pattern

Conversation

@Jason-Vaughan

Copy link
Copy Markdown
Owner

What

Slice 4 of the scatter-gather roadmap (#39), resolved as a docs-only decision. README + ARCHITECTURE now document the synthesis/reduce pattern:

  • The full flow is decompose → fan out (delegate_many) → reduce → answer.
  • TangleBrain ships the dispatch primitives but deliberately does not own the reduce step — the orchestrator synthesises the results itself, because it holds the original task context that makes for good synthesis (a fresh reduce backend lacks it).
  • If the reduction is mechanical and large (concatenate generated files, merge many summaries), offload that stitch with an ordinary 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 by delegate(task=…). A delegate_reduce tool 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. ### Internal CHANGELOG entry (patch-tier; rides the next minor release). CI gates the merge.

🤖 Generated with Claude Code

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.
@Jason-Vaughan Jason-Vaughan merged commit d5a962c into main Jun 18, 2026
3 checks passed
@Jason-Vaughan Jason-Vaughan deleted the docs/synthesis-pattern branch June 18, 2026 19:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant