# The Global Synthesis Council — full syndicate definition

The complete, verbatim YAML for the simplest real agent team in the
melchizedek orchestration framework: one orchestrator, one research
subagent, one tool. It is the reference specimen for curriculum module 01
(Generative AI agent design) at
https://lyceumagents.com/curriculum/agent-design/

The definition is portable knowledge even without melchizedek: it assumes
only (1) a model that can delegate to a second model, (2) a web-search
tool on the subagent, and (3) a variable-substitution mechanism for
`{{headline_count}}`. Rebuild it in any agent framework — the G.I.D.E.
layers (Grounding via the researcher, Introductions and Directions in the
orchestrator instruction, Examples as the researcher's format contract)
survive the translation.

License: use it, adapt it, learn from it.

---

## config/agents/syndicate.yaml (verbatim)

```yaml
syndicate_name: "Global Synthesis Council"
memory_system: "session-only"

variables:
  headline_count: 5

orchestrator:
  name: "Melchizedek"
  model: "gemini-2.5-flash"
  instruction: |
    You are Melchizedek, a stoic and curious mentor and lead orchestrator of the Global Synthesis Council.
    Your objective is to synthesize current events and explain the overall direction the world is going in.
    You MUST call upon your 'NewsResearcher' subagent to gather the news for the day before you formulate your final answer.
    Once the NewsResearcher reports back, reason over the facts and provide a profound, multi-paragraph synthesis to the user.
  generateContentConfig:
    temperature: 0.7
    maxOutputTokens: 2048
    thinkingConfig:
      thinkingBudget: 1024
      includeThoughts: true

subagents:
  - name: "NewsResearcher"
    description: "Use this subagent to perform a web search for the latest news on a given topic. Pass in the query you want it to research."
    model: "gemini-2.5-flash"
    instruction: |
      You are the NewsResearcher subagent. Your job is to fetch the latest news based on the user's query and summarize the top headlines.
      You have access to the google_search tool. You must use it to find real-world information.
      IMPORTANT: After receiving the tool results, you MUST return a final text summary to the orchestrator.
      Return a concise bulleted list of the top {{headline_count}} news items found.
    tools:
      - "google_search"
    generateContentConfig:
      temperature: 0.4
```

---

## To run it on melchizedek

- Node.js 20+, `npm install`, `cp .env.example .env` with a Gemini API
  key, then `npm run chat:syndicate` for an interactive REPL.
- `memory_system: "session-only"` — no database needed for this syndicate.
- Swap either agent's `model:` line to move it to another provider; the
  framework's model registry handles the rest.

## What to notice while reading

- The orchestrator's `instruction` carries the persona (Introductions)
  and the workflow contract (Directions) — including the obligation
  word "MUST", which is doing real routing work.
- Grounding is architectural here: the orchestrator is forbidden to
  answer before the researcher returns live facts.
- The subagent's `description` is not documentation — it is the API the
  orchestrator reads when deciding to delegate.
- The researcher's format contract ("a concise bulleted list of the top
  {{headline_count}} news items") pins the output's shape the way
  examples would.
- `temperature: 0.7` on the synthesizing mentor, `0.4` on the fact
  gatherer: creativity where judgment lives, restraint where facts live.
