Discovery suite
Stage 1 of the pipeline. Discovery runs the pre-build phase of an engagement: it ingests meeting transcripts, emails and a client questionnaire, and maintains a citation-backed requirements-catalog.yaml plus an ADR-style decision log, surfacing contradictions and gaps as it goes. The goal is to cut billable discovery hours while producing a defensible "who decided what, and why" trail.
The six sub-agents
| Agent | Role |
|---|---|
extractor | high-recall extraction of cited items from artefacts (citations enforced in code) |
maintainer (catalog_merge) | high-precision merge into the catalogue; preserves approved, supersedes/retires |
decision_tracker (decision_lifecycle) | ADR drafting + lifecycle state machine |
contradiction_finder | surfaces genuine contradictions as open questions (never auto-resolves) |
approval_capture | email/meeting/Teams evidence → finalises ADR approvals |
gap_analyst | drafts next-meeting agenda + follow-up emails, chases TBD owners |
The intake workflow
Every artefact goes through the same pipeline: normalize → extract → contradiction-find → catalog-maintain → decision-track → gap-analyse. One ingestion event in, one updated and defensible engagement record out. Alongside the agents sit a Foundry coordinator (multi-tenant tools, model swapping) and a Teams bot surface for chat and adaptive-card approvals.
Outputs and guarantees
The catalogue and decision records are the contract the modelling suite consumes — and the same requirements-catalog.yaml is what renders the navigable catalogues under Engagements (see the Meridian worked example).
The invariants are enforced in code, not prompts: no requirement without a source citation; no decision marked approved without approval evidence; no silent contradiction resolution; and no catalogue write without recording the prompt version and input hashes.