EBRD Iraq TMT — Proposal Sprint

Orchestration workflow for 6 parallel streams producing the Pragma Consortium technical proposal

v1.0 · 2026-04-14 · Adapted from Musashi v2.2 · Ashcroft & Thorne supporting Top Mountain

Project

What We're Building

A technical proposal for the Pragma Consortium's bid on an EBRD-funded 12-week market study: "Telecoms, Digital Infrastructure and Technology Sectors in Iraq." Top Mountain owns the analytical core (Sections 1–3). Ashcroft & Thorne supports Top Mountain with research, drafting, and orchestration.

Proposal Structure — EBRD Forms TP.1–TP.3
Form / SectionPagesOwnerOur Role
TP.1 — Organization & ExperienceJoe & ElifnazPragma
TP.2.1a.1 — Intro & Understanding1–2Top MountainS-1
TP.2.1a.2 — Vision & Approach1Top MountainS-3
TP.2.1a.3 — Sector Assessment Methodology5–6Top MountainS-2
TP.2.1a.3c — Policy/Regulation2–3Pragma/Kelly → usin S-2
TP.2.1a.4 — Investment Opportunities5–6PragmaS-6
TP.2.1a.5 — Comments on TORTeamN/A
TP.2.1b — Work Plan & Deliverables5–6ElifnazS-5
TP.2.1c — Team Composition8–10Joe & ElifnazPragma
TP.2.2 — Work Schedule (Gantt)1ElifnazPragma
TP.2.3 — Personnel Inputs1ElifnazPragma
TP.3 — CVsJennyPragma

Sections marked S-N are produced by our streams. Sections marked Pragma are consortium-internal — we coordinate but don't draft.

Architecture

The Six Streams

Each stream is a separate chat with a single clear objective. Stream prompts are in the streams/ folder.

Stream Status Board
StreamSectionPagesStatusDepends On
S-1Intro & Understanding1–2Launch
S-2Sector Assessment Methodology5–6Launch
S-3Vision & Approach + Graphic1Launch
S-4Illustrative Investment OpportunitiessupportLaunch
S-5Work Plan Core Activities5–6Launch
S-6Investment Assessment Methodology5–6After S-2, S-4S-2 framing, S-4 opps
S-1 through S-5 launch in parallel. S-6 launches after S-2 and S-4 return — it needs S-2's methodology framing and S-4's opportunity types to avoid duplication.
Core

The Loop

Four steps. Same order every time. This is the entire system.

A Run a Stream ~15-30 min

Open a new chat. Paste the stream's seed prompt from streams/stream-N-*.md. Let the chat draft. Answer scope questions if it asks. When it produces output, save to the stream's docs/ folder with versioned filenames.

You don't need to read every line. Skim the editorial decisions summary at the bottom, confirm the page count is in range, then move to Step B. The orchestrator catches analytical gaps.
B Extract the Digest ~2 min

After the stream finishes — not during — paste the digest extraction prompt (below) into the same stream chat. The stream compresses its output into the standardized format. Copy the digest.

Save to: digest.md in the stream folder, and also to ebrd-iraq/_digests/s[N]-[title].md.

Why separate, not appended to the seed: The stream's full cognitive budget goes to the drafting task. The digest is a compression step that runs after, using the complete output as source material.
C Feed the Orchestrator ~5 min

Come to the orchestrator chat (this project's orchestrator). Paste the digest with the feed prompt wrapper. The orchestrator updates the status board, checks entity consistency, reads cross-stream flags, and tells you what to do next.

Don't upload raw draft files here unless the orchestrator specifically asks for one. Digests are the currency. Raw output stays in stream folders.
D Execute Orchestrator Instructions varies

The orchestrator responds with one or more of:

Then return to Step A with the next stream.

★ Prompts — Copy These

The Prompts

Exact text blocks to paste into stream chats. Copy buttons included.

1 Digest Extraction — Paste After Stream Completes paste into stream chat

Before you paste: Replace [NUMBER] with the stream number (e.g., 2) and [TITLE] with the stream name (e.g., Sector Assessment Methodology).

Digest Extraction Prompt
Now produce a stream digest for the EBRD Iraq TMT orchestrator. This digest is the ONLY thing the orchestrator will see from your work — it will never read the full draft. So the digest must contain everything needed for cross-stream coordination decisions. Use this exact format. Stay under 1500 characters total. ## Stream [NUMBER] Digest — [TITLE] ⚠ IMPORTANT: Devin fills in the stream number and title above BEFORE pasting. Do not guess your own stream number. Status: [complete / in-progress / blocked] Version: [vX.Y] Date: [today's date] ### Coverage [1-3 sentences ONLY. What did you produce? Which proposal section does it address? Overall confidence: high/medium/low.] ### Key Findings (max 5) [Each finding must include at least one concrete number, named entity, or specific editorial decision. No methodology notes. No process descriptions. Findings and decisions only.] 1. ... 2. ... ### Entity Registry [List ONLY entities that appear in your output. Use canonical names.] - Operators: [Zain Iraq, Asiacell, Korek Telecom, NMTC — use these exact names] - Regulators: [CMC (Communications and Media Commission), Ministry of Communications] - DFIs: [EBRD, World Bank, IFC] - Vendors: [Nokia, Huawei, Ericsson, Vodafone] - Infrastructure: [FTTH, ITPC backbone, FIG submarine cable] - People: [use full names — Dr. Paul Davis, Elifnaz Caliskan, etc.] - Geographies: [Baghdad, Erbil, Kurdistan Region — use these spellings] ### Cross-Stream Flags The 6 EBRD proposal streams are: S-1 Intro & Understanding, S-2 Sector Assessment Methodology, S-3 Vision & Approach + Graphic, S-4 Illustrative Investment Opportunities, S-5 Work Plan Core Activities, S-6 Investment Assessment Methodology. USE THESE NUMBERS. - → S-[X]: [what from YOUR stream affects THAT stream, and what they should do about it] ### Gaps & Blockers [What's missing? What input do you need from Devin, Mike, or another stream?] - ... ### Output Files [Filenames only. Files stay in your docs/ folder.] - `filename-vN.ext` — [one-line description]
Entity names are project-specific. "NMTC" not "National Mobile Company." "Asiacell" not "Asia Cell." "CMC" not "Communications Commission." "Kurdistan Region" not "KRG" in prose. These canonical names prevent the orchestrator from seeing the same entity as two different things.
2 Orchestrator Feed — Paste With Every Digest paste into orchestrator chat
Orchestrator Feed — Copy, Paste Digest Inside, Send
Stream S-[N] just completed a work cycle. Here's the digest: [PASTE DIGEST HERE] Please: 1. Update the status board 2. Check entity names against the registry — flag any inconsistencies 3. Read cross-stream flags — do any other streams need coordination prompts? 4. Assess the draft against EBRD ToR requirements for this section — deep enough? Gaps? 5. What should I do next?
3 Claude Code Batch Digest — Multi-Stream Catch-Up when processing multiple streams at once

When to use: When you've run several streams and want to generate all digests at once without returning to each chat.

Claude Code Batch Digest Prompt
Read all output files in this stream's docs/ folder. Produce a single digest in the EBRD Iraq TMT standard format. The digest must be under 1500 characters and follow this structure: - Coverage (1-3 sentences, confidence level) - Key Findings (max 5, each with a concrete number or named entity) - Entity Registry (canonical names: "Zain Iraq" not "Zain", "Asiacell" not "Asia Cell", "NMTC" not "National Mobile Company", "CMC" for regulator, "Kurdistan Region" not "KRG") - Cross-Stream Flags (which other streams are affected and what they should do) - Gaps & Blockers (what's missing, what input is needed) - Output Files (filenames only) The 6 streams: S-1 Intro & Understanding, S-2 Sector Assessment Methodology, S-3 Vision & Approach + Graphic, S-4 Illustrative Investment Opportunities, S-5 Work Plan Core Activities, S-6 Investment Assessment Methodology. USE THESE NUMBERS. Write the digest to digest.md in the stream root and copy to ebrd-iraq/_digests/s[N]-[title].md
4 Coordination Prompt Template — Orchestrator Drafts These when streams need cross-pollination

You don't write these — the orchestrator drafts them. When a cross-stream flag indicates Stream X has something Stream Y needs, the orchestrator writes a coordination prompt for you to paste into Stream Y's chat.

Coordination Prompt Template (Orchestrator Reference)
New finding from Stream S-[N] ([title]) that affects your draft: [FINDING — concrete, with numbers and entity names] This means for your section: [SPECIFIC INSTRUCTION — what to adjust, add, or reconsider] Entity consistency note: [Any entity names that must match across streams — use canonical names from the registry] Please incorporate this and flag if it changes any of your key editorial decisions.
Infrastructure

Folder Structure

Standardized across all 6 streams.

Per-Stream Folder Layout
s[N]-[stream-name]/ ├── _captures/ ← voice transcripts, screenshots (sacred — never overwrite) ├── _decisions/ ← decision records: what, why, who, when ├── docs/ ← stream outputs: draft prose, .html, .json (versioned filenames) ├── handoffs/ ← Claude Code prompts if needed └── digest.md ← compressed summary that flows to orchestrator
Project-Level Folder Layout
ebrd-iraq/ ├── streams/ │ ├── s1-intro/ ← per-stream structure (above) │ ├── s2-methodology/ │ ├── s3-vision/ │ ├── s4-opportunities/ │ ├── s5-workplan/ │ └── s6-investment/ │ ├── _digests/ ← all digests collected — the bridge layer │ ├── index.md ← master status: one line per stream │ ├── s1-intro.md │ ├── s2-methodology.md │ └── ... │ ├── _intel/ ← research assets (Maier profile, NMTC timeline, market data) │ ├── _decisions/ ← Mike's directives, team decisions │ ├── source-docs/ ← ToR, proposal outline, EBRD strategy docs │ └── _orchestrator/ ← status board, entity registry, assembly manifest

The _digests/ folder is the bridge. Stream chats write here. The orchestrator reads from here. It's the single point of truth for "what has each stream produced."

Deliverables

Assembly

When stream outputs become proposal sections. Work in .html until Mike reviews, then convert to .docx for integration into the master EBRD proposal document.

Assembly Process
  1. Orchestrator produces an assembly manifest — which stream outputs map to which TP.2.1 sections, what's populated, what's still gap
  2. Collect draft files from stream docs/ folders
  3. Assemble into master HTML — combined Sections 1, 2, 3 (our core), plus supporting Section 4 and Work Plan drafts
  4. Mike reviews — adjusts voice/tone, validates regulatory content, confirms stakeholder claims
  5. Integrate with Pragma sections — Team Composition (TP.2.1c), CVs (TP.3), Organization (TP.1)
  6. Final formatting — convert .html → .docx matching EBRD form templates for submission
Mike reviews our sections before they go to Pragma. He validates substance, adjusts claims about Top Mountain capabilities, and confirms stakeholder access statements. Only then do sections integrate into the master proposal document.
Right Now

Launch Queue

Your next moves, in order.

Sequence
  1. S-1 — Intro & Understanding. Highest-leverage section. First thing evaluator reads. Paste stream-1-section1-intro.md into a new chat. The seed prompt has all the Iraq TMT landscape data baked in.
  2. S-2 — Sector Assessment Methodology. Longest section (5–6 pages), the methodological core. Paste stream-2-section3-methodology.md. Includes the full regulatory sub-section (not waiting for Kelly).
  3. S-3 — Vision & Approach + Graphic. Short (1 page) but sets the visual tone. Paste stream-3-section2-vision.md. Produces both prose and the 4-step loop SVG.
  4. S-4 — Illustrative Opportunities. Mike's request — show 5–7 investment opportunities already evident from desk research. Paste stream-4-illustrative-opportunities.md.
  5. S-5 — Work Plan Activities. Replaces all the "x" placeholders with real activities. Paste stream-5-workplan-activities.md. Support for Elifnaz's section.

After S-2 and S-4 return:

  1. S-6 — Investment Assessment Methodology. Uses S-2's framing and S-4's opportunity types. Paste stream-6-section4-investment.md.

After each stream: paste digest extraction prompt → copy digest → feed orchestrator → get next move.

Intelligence

Intel Assets Held by the Orchestrator

These don't go into stream prompts directly — the orchestrator uses them to assess outputs and draft coordination prompts.

Antonia Maier — EBRD TMT Counterpart

Role: Regional Head, TMT at EBRD. London-based. Senior Banker.

Iraq engagement: Panelist on "Building Iraq's Digital Future" at Capacity Middle East 2026 (Feb 9). Worked alongside Catarina Bjorlin Hansen (EBRD Head of Iraq) on Azerbaijan TMT.

Public priorities:

Use: Don't name her in the proposal. Calibrate our language to match her priorities. The orchestrator checks stream outputs against these priorities during quality assessment.

NMTC — Validated Timeline

Status: Formally established but not operational. No 5G license signed. No test calls.

Use in proposal: Present as real but frozen. Frame as case study of institutional dynamics that the study must assess — not as settled competitive fact.

Mike's Key Directives (from voice captures)
  1. Domestic market is the centerpiece — differentiators are add-ons, not the core
  2. Validate NMTC carefully — don't present as settled (done ✓)
  3. Don't wait for Kelly — draft regulatory section ourselves, Mike validates
  4. Top Mountain positioning: govt relations in Iraq (oil & gas, senior official training), not telecom expertise
  5. Stakeholder access is confirmed — MoC, all major operators, second/third tier value chain
  6. Key Experts still TBD — build workflow for CV collection and TOR alignment
  7. Simple 4-step loop graphic for methodology visual
  8. Include illustrative investment opportunities already evident from desk research
  9. Research Antonia Maier — understand her priorities (done ✓)

Meta

What's Project-Specific vs. Reusable

For when this workflow becomes a Slipstream pattern.

EBRD-Specific vs. General Pattern

Reusable across any multi-stream project:

EBRD-specific (changes per project):