From ce3c020de284475efa42619f4ab093bf6de5bad7 Mon Sep 17 00:00:00 2001 From: Hans Heinemann Date: Mon, 16 Mar 2026 20:45:47 -0400 Subject: [PATCH] docs: add open design questions section --- docs/design.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/docs/design.md b/docs/design.md index fe6228c..5679dc9 100644 --- a/docs/design.md +++ b/docs/design.md @@ -4,6 +4,24 @@ _Started: 2026-03-14. Last updated: 2026-03-16 (evening)._ --- +## Open Design Questions + +The following areas are identified but not yet resolved. Work through these before implementing `core/team_runner.py`. + +1. **T3 mesh mechanics** — How do T3s within the same T2 domain coordinate? Via blackboard, direct message exchange, or a designated T3 lead? What does "negotiate task boundaries" look like concretely? + +2. **T1 output schema** — What does T1's Plan phase output look like as structured data? Needs a formal schema: workstreams, tier paths, parallelism flags, retry budget, T2 specialist list. This is what the runner parses to bootstrap the pipeline. + +3. **T5 consensus mechanics** — Individual T5s review their slice and produce results. Who aggregates? What does the joint verdict look like as structured data? What happens on split verdict (some T5s pass, some fail)? + +4. **Path amendment mechanism** — When a mid-run tier proposes a path amendment, what's the concrete mechanism? Who writes to the blackboard, in what format, and how does the relevant higher tier get notified? + +5. **Failure handling (distributed model)** — The current failure table assumes centralised runner handling. Needs to be rewritten to reflect distributed ownership: T3 handles T4 failures, T2 handles T3 failures, T1 handles T2 failures. Runner only handles T1 failure and terminal escalation to human. + +--- + +--- + ## Overview A dynamic, hierarchical multi-agent system for software pipelines. Teams assemble on demand, execute, then disband. Inspired by a blend of Hollywood production (dynamic assembly), consulting firms (structured deliverables, hierarchical synthesis), and two-pizza teams (small autonomous squads, clear domain ownership).