What it does One ingestion event in → an updated, defensible engagement record out.
📥 Ingest anything
A Teams meeting transcript, a forwarded client email, or a filled-in questionnaire. The agent normalizes each into structured, redacted text.
🧾 Build the catalog
Every requirement, decision and open question is extracted with a verbatim citation back to the source, and written into a structured catalog & decision log.
🔎 Surface the hard bits
Contradictions across meetings, missing owners, and unanswered questions are flagged — then turned into a draft next-meeting agenda and follow-up emails for the consultant.
Why it matters
The headline run (real, live gpt-5.4)
Two meetings ingested for a sample asset-management engagement (“Meridian”). Numbers below are from an actual end-to-end run.
22
4
2
Jump to the scenario walkthrough to step through it.
The pipeline One ingestion event runs through seven stages against a single engagement repo. Click a stage.
Inputs & outputs Three ways data comes in; one coherent engagement record comes out.
What the agent produces (the engagement repo)
| Output | What it is | Written by |
|---|
Trace one requirement, end to end
The same item as it moves from raw transcript → cited extraction → catalog → (later) refined.
Trace one decision, end to end
Requirements catalogue — Meridian Capital
Rendered from the real requirements-catalog.yaml. Click any ID to jump to it.
📖 Open the full catalogue explorer — a navigable, searchable site →Conceptual model — which dimensions relate to which fact (click a node)
Logical model — entities, columns, keys & relationships · the modeller (#56412) output
| Column | Type | Null? | Key | Notes |
|---|---|---|---|---|
| AdviserID | string | no | PK | Surrogate — deterministic hash of the natural key |
| AdviserNaturalID | string | no | NK | adviser_ref from the CRM |
| AdviserName | string | yes | ||
| AdviserEmail | string | yes | PII | |
| RegionName | string | yes | Descriptive — adviser home region | |
| Status | string | no | default 'active' | |
| Valid_From | timestamp | no | SCD2 | effective-from |
| Valid_To | timestamp | yes | SCD2 | null = current row |
| Is_Current | boolean | no | SCD2 | current-row flag |
| Column | Type | Null? | Key | Notes |
|---|---|---|---|---|
| RegionID | string | no | PK | Surrogate |
| RegionNaturalID | string | no | NK | region_ref |
| RegionName | string | yes | ||
| RegionCode | string | yes |
| Column | Type | Null? | Key | Notes |
|---|---|---|---|---|
| ProductID | string | no | PK | Surrogate |
| ProductNaturalID | string | no | NK | product_ref |
| ProductName | string | yes | ||
| ProductLine | string | yes | ||
| Valid_From | timestamp | no | SCD2 | |
| Valid_To | timestamp | yes | SCD2 | |
| Is_Current | boolean | no | SCD2 |
| Column | Type | Null? | Key | Notes |
|---|---|---|---|---|
| AUMSnapshotNaturalID | string | no | NK | composite adviser_ref|month_end |
| FK_AdviserID | string | no | FK → d_adviser | |
| FK_RegionID | string | no | FK → d_region | |
| FK_ProductID | string | no | FK → d_product ⚠ DQ-001 | 100% 'NO_PRODUCT' — silver→product join broken |
| MonthEnd | date | no | grain | snapshot month-end |
| AUM | decimal(18,2) | no | measure (M-001) | |
| AUM_PriorMonth | decimal(18,2) | yes | measure — for MoM % (M-002) | |
| LastModifiedDate | timestamp | no | watermark | incremental key |
1 · Use cases
| ID | Use case | Sponsor | Success criteria | Status | Links |
|---|---|---|---|---|---|
| UC-001 | Month-end board reporting Board, Exec | Alex HardyChief Distribution Officer | Board pack auto-produced by 5th working day with adviser performance by region and product line | approved | D-0003 📋 Q2.2🎙 00:00:14 |
| UC-002 | Adviser performance monitoring Distribution leadership, Regional heads | Maria OkaforHead of Distribution Ops | Early-warning view of advisers whose AUM is declining, refreshed for regional heads | confirmed | — 📋 Q2.3🎙 00:00:25 |
2 · User stories
| ID | Story | Use case | Owner | Sources | Metrics | Status | Src |
|---|---|---|---|---|---|---|---|
| US-001 | As a board member I want the month-end board pack to show adviser performance by region → superseded by US-010 | UC-001 | Alex HardyCDO | S-001 S-002 | M-001 | confirmed | 🎙 00:00:14 |
| US-010 | As a board member I want the month-end board pack to show adviser performance by region AND product line, monthly | UC-001 | Alex HardyCDO | S-001 S-002 | M-001 | confirmed | 🎙 00:00:08 |
| US-002 | As a regional head I want advisers flagged when AUM drops >10% month-on-month → superseded by D-0004 | UC-002 | Maria OkaforHead of Distribution Ops | S-002 | M-002 | confirmed | 🎙 00:00:25 |
| US-003 | As a regional head I want a self-service dashboard refreshed daily | UC-002 | Maria OkaforHead of Distribution Ops | S-001 S-002 | — | confirmed | 🎙 00:00:33 |
| US-005 | As a board member I want the AUM trend over the last 12 months, not just a snapshot | UC-001 | Alex HardyCDO | S-002 | M-003 | confirmed | 🎙 00:01:46 |
| US-011 | As an auditor I want a data-lineage view showing where each reported figure came from | UC-001 | TBDAuditor | — | — | draft | 🎙 00:02:20 |
3 · Source systems
4 · Data-quality findings
| ID | Source | Issue | Sev | Affects | Owner | Remediation | Status |
|---|---|---|---|---|---|---|---|
| DQ-001 | S-002 | FK_ProductID is 100% 'NO_PRODUCT' on the AUM snapshot — silver→product join broken | high | US-010 | Raj SinghFinance Director | Confirm product key mapping in finance ledger; fix silver join before product-line reporting | open |
| DQ-002 | S-001 | Wealth-team advisers are not yet in the CRM — still on the old spreadsheet | medium | US-001 US-010 | Maria OkaforHead of Distribution Ops | Migrate wealth-team advisers to CRM, or define an interim source | open |
5 · Conformed silver entities
| ID | Entity | Grain | Business key | SCD | Owner | Sources | Status |
|---|---|---|---|---|---|---|---|
| SE-001 | conformed_adviser | one row per adviser | adviser_ref | scd2 | Maria OkaforHead of Distribution Ops | S-001 | confirmed |
| SE-002 | aum_snapshot | one row per adviser per month | adviser_ref month_end | none | Raj SinghFinance Director | S-002 | confirmed |
6 · Fact × Dimension × Metric matrix
| ID | Metric | Definition | Used by | Placement | Owner | Status |
|---|---|---|---|---|---|---|
| M-001 | AUM AUM (month-end), AUM by region, AUM by product line | Assets under management at month-end, summed to the reporting grain | US-010 | Board pack p.1; regional dashboard | Raj SinghFinance Director | confirmed |
| M-002 | AUM MoM change % MoM %, MoM % vs PY | (AUM_this_month - AUM_prior_month) / AUM_prior_month | US-002 | Adviser early-warning view | Maria OkaforHead of Distribution Ops | draft |
| M-003 | AUM 12-month trend rolling 12m, YTD, FYTD | AUM by month over a rolling 12-month window | US-005 | Board pack trend chart | Raj SinghFinance Director | confirmed |
7 · Dimensions
| ID | Dimension | Grain | SCD | Source SE | Owner | Status |
|---|---|---|---|---|---|---|
| D-001 | d_adviser | adviser | scd2 | SE-001 | Maria OkaforHead of Distribution Ops | confirmed |
| D-002 | d_region | region | scd1 | — | Maria OkaforHead of Distribution Ops | confirmed |
| D-003 | d_product | product line | scd2 | — | Raj SinghFinance Director | draft |
8 · Non-functional requirements
| ID | Category | Requirement | Target | Owner | Status |
|---|---|---|---|---|---|
| NFR-001 | SLA | Board pack ready by the 5th working day of the month | <= 5th working day, 99% of months | Alex HardyCDO | confirmed |
| NFR-002 | Data residency | All client data remains in the UK region | UK South only; no cross-region replication | Dev PatelCRM Platform Lead | confirmed |
| NFR-003 | Retention | Retain monthly AUM snapshots | 7 years | Raj SinghFinance Director | draft |
9 · Open questions & contradictions
10 · Decision log
| ID | Decision | Status | Decided | Approver | Evidence | Affects |
|---|---|---|---|---|---|---|
| D-0001 | Use the CRM as the system of record for the client-adviser relationship | approved | 2026-05-12 | Priya Shah | meeting | US-003 S-001 |
| D-0002 | Defer the fee-data ownership decision until Raj is present | proposed | — | Raj Singh | — | — — |
| D-0003 | Self-service dashboard refresh frequency set to daily | approved | 2026-05-19 | Maria Okafor | teams-card | US-003 — |
| D-0004 | Drop the 10% AUM-drop flag from the current phase scope | approved | 2026-05-19 | Alex Hardy | meeting | US-002 — |
Logged questionnaire response
Submitted by Priya Shah (Meridian Capital) on 2026-05-08.
| Q-ID | Answer |
|---|---|
| Q1.1 | Alex Hardy, Chief Distribution Officer, alex.hardy@meridiancapital.com |
| Q1.5 | Dev Patel, CRM Platform Lead (technical approver) |
| Q1.6 | Alex Hardy, CDO (business approver) |
| Q2.2 | The month-end board pack, produced automatically by the 5th working day |
| Q2.3 | a) Which advisers are under-performing? b) AUM by region and product line? c) 12-month AUM trend? |
| Q3.2 | Month-end takes 3 days of manual Excel; no single adviser view |
| Q4.1 (S-1) | Salesforce CRM |
| Q4.2 (S-1) | Maria Okafor, Head of Distribution Ops |
| Q4.7 (S-1) | Modified-date column (SystemModstamp) |
| Q4.8 (S-1) | Yes — name, email, phone |
| Q4.1 (S-2) | Finance / AUM ledger (Oracle, in-house) |
| Q8.2 | All client data must remain in the UK |
▸ raw requirements-catalog.yaml (verify the schema)
frontmatter:
template_version: '0.2'
template_type: requirements-catalog
engagement:
client: Meridian Capital
project: Fabric Data Platform — Adviser Analytics
start_date: '2026-05-12'
phase: design_refinement
phase_signoff:
use_case: SO-001
data_custodians: SO-002
status: in-review
linked_questionnaire: 00-intake/responses/2026-05-08-meridian-intake.md
linked_decisions_dir: 03-decisions/records
use_cases:
- id: UC-001
title: Month-end board reporting
audience: Board, Exec
sponsor:
name: Alex Hardy
role: Chief Distribution Officer
email: alex.hardy@meridiancapital.com
success_criteria: Board pack auto-produced by 5th working day with adviser performance
by region and product line
status: approved
source:
- type: questionnaire
ref: Q2.2
- type: transcript
sharepoint_url: https://contoso.sharepoint.com/sites/meridian/transcripts/kickoff-2026-05-12.vtt
timestamp: 00:00:14
quote: the month-end board pack has to show adviser-level performance broken down
by region
linked_decisions:
- D-0003
- id: UC-002
title: Adviser performance monitoring
audience: Distribution leadership, Regional heads
sponsor:
name: Maria Okafor
role: Head of Distribution Ops
email: maria.okafor@meridiancapital.com
success_criteria: Early-warning view of advisers whose AUM is declining, refreshed
for regional heads
status: confirmed
source:
- type: questionnaire
ref: Q2.3
- type: transcript
sharepoint_url: https://contoso.sharepoint.com/sites/meridian/transcripts/kickoff-2026-05-12.vtt
timestamp: 00:00:25
quote: flag any adviser whose AUM dropped more than ten percent month on month
linked_decisions: []
user_stories:
- superseded_by: US-010
id: US-001
story: As a board member I want the month-end board pack to show adviser performance
by region
use_case: UC-001
owner:
name: Alex Hardy
role: CDO
email: alex.hardy@meridiancapital.com
linked_sources:
- S-001
- S-002
linked_metrics:
- M-001
status: confirmed
source:
- type: transcript
sharepoint_url: https://contoso.sharepoint.com/sites/meridian/transcripts/kickoff-2026-05-12.vtt
timestamp: 00:00:14
quote: adviser-level performance broken down by region
linked_decisions: []
- id: US-010
story: As a board member I want the month-end board pack to show adviser performance
by region AND product line, monthly
use_case: UC-001
owner:
name: Alex Hardy
role: CDO
email: alex.hardy@meridiancapital.com
linked_sources:
- S-001
- S-002
linked_metrics:
- M-001
status: confirmed
source:
- type: transcript
sharepoint_url: https://contoso.sharepoint.com/sites/meridian/transcripts/followup-2026-05-19.vtt
timestamp: 00:00:08
quote: by region AND product line now, still monthly
linked_decisions: []
- superseded_by: D-0004
id: US-002
story: As a regional head I want advisers flagged when AUM drops >10% month-on-month
use_case: UC-002
owner:
name: Maria Okafor
role: Head of Distribution Ops
email: maria.okafor@meridiancapital.com
linked_sources:
- S-002
linked_metrics:
- M-002
status: confirmed
source:
- type: transcript
sharepoint_url: https://contoso.sharepoint.com/sites/meridian/transcripts/kickoff-2026-05-12.vtt
timestamp: 00:00:25
quote: dropped more than ten percent month on month
linked_decisions: []
- id: US-003
story: As a regional head I want a self-service dashboard refreshed daily
use_case: UC-002
owner:
name: Maria Okafor
role: Head of Distribution Ops
email: maria.okafor@meridiancapital.com
linked_sources:
- S-001
- S-002
linked_metrics: []
status: confirmed
source:
- type: transcript
sharepoint_url: https://contoso.sharepoint.com/sites/meridian/transcripts/kickoff-2026-05-12.vtt
timestamp: 00:00:33
quote: a self-service dashboard they can look at themselves, refreshed daily
linked_decisions:
- D-0003
- id: US-005
story: As a board member I want the AUM trend over the last 12 months, not just
a snapshot
use_case: UC-001
owner:
name: Alex Hardy
role: CDO
email: alex.hardy@meridiancapital.com
linked_sources:
- S-002
linked_metrics:
- M-003
status: confirmed
source:
- type: transcript
sharepoint_url: https://contoso.sharepoint.com/sites/meridian/transcripts/kickoff-2026-05-12.vtt
timestamp: 00:01:46
quote: the AUM trend over the last twelve months, not just a snapshot
linked_decisions: []
- id: US-011
story: As an auditor I want a data-lineage view showing where each reported figure
came from
use_case: UC-001
owner:
name: TBD
role: Auditor
linked_sources: []
linked_metrics: []
status: draft
source:
- type: transcript
sharepoint_url: https://contoso.sharepoint.com/sites/meridian/transcripts/followup-2026-05-19.vtt
timestamp: 00:02:20
quote: a data lineage view showing where each reported figure came from
linked_decisions: []
sources:
- id: S-001
name: Salesforce CRM
vendor: Salesforce
business_owner:
name: Maria Okafor
role: Head of Distribution Ops
email: maria.okafor@meridiancapital.com
technical_owner:
name: Dev Patel
role: CRM Platform Lead
email: dev.patel@meridiancapital.com
data_owner:
name: Maria Okafor
role: Head of Distribution Ops
email: maria.okafor@meridiancapital.com
access_method: REST API (Bulk API 2.0) + nightly export
refresh_cadence: nightly
volume:
largest_table_rows: 2400000
total_gb: 18.0
annual_growth_pct: 12.0
change_detection: SystemModstamp (modified-date)
contains_pii: true
pii_categories:
- name
- email
- phone
data_classification: confidential
status: approved
source:
- type: questionnaire
ref: Q4.1 (S-1)
- type: transcript
sharepoint_url: https://contoso.sharepoint.com/sites/meridian/transcripts/kickoff-2026-05-12.vtt
timestamp: 00:00:55
quote: the CRM. All the client-to-adviser mapping is in the CRM
linked_decisions:
- D-0001
- id: S-002
name: Finance / AUM ledger
vendor: In-house (Oracle)
business_owner:
name: Raj Singh
role: Finance Director
email: raj.singh@meridiancapital.com
technical_owner:
name: Dev Patel
role: CRM Platform Lead
email: dev.patel@meridiancapital.com
data_owner:
name: Raj Singh
role: Finance Director
email: raj.singh@meridiancapital.com
access_method: DB read replica (ODBC)
refresh_cadence: nightly
volume:
largest_table_rows: 58000000
total_gb: 140.0
annual_growth_pct: 20.0
change_detection: CDC (ledger)
contains_pii: false
pii_categories: []
data_classification: internal
status: confirmed
source:
- type: questionnaire
ref: Q4.1 (S-2)
- type: transcript
sharepoint_url: https://contoso.sharepoint.com/sites/meridian/transcripts/kickoff-2026-05-12.vtt
timestamp: 00:01:26
quote: the AUM numbers come out of the finance system
linked_decisions: []
- id: S-003
name: Custodian feed
vendor: Multiple custodians
business_owner:
name: Raj Singh
role: Finance Director
email: raj.singh@meridiancapital.com
technical_owner:
name: TBD
role: stakeholder
data_owner:
name: TBD
role: stakeholder
refresh_cadence: weekly file drop
volume: {}
pii_categories: []
status: draft
source:
- type: questionnaire
ref: Q4.1 (S-3)
linked_decisions: []
data_quality_findings:
- id: DQ-001
source_id: S-002
issue: FK_ProductID is 100% 'NO_PRODUCT' on the AUM snapshot — silver→product join
broken
severity: high
affects_user_stories:
- US-010
owner:
name: Raj Singh
role: Finance Director
email: raj.singh@meridiancapital.com
remediation: Confirm product key mapping in finance ledger; fix silver join before
product-line reporting
status: open
source:
- type: transcript
sharepoint_url: https://contoso.sharepoint.com/sites/meridian/transcripts/kickoff-2026-05-12.vtt
timestamp: 00:01:31
quote: the AUM numbers come out of the finance system. Different team owns that
- id: DQ-002
source_id: S-001
issue: Wealth-team advisers are not yet in the CRM — still on the old spreadsheet
severity: medium
affects_user_stories:
- US-001
- US-010
owner:
name: Maria Okafor
role: Head of Distribution Ops
email: maria.okafor@meridiancapital.com
remediation: Migrate wealth-team advisers to CRM, or define an interim source
status: open
source:
- type: transcript
sharepoint_url: https://contoso.sharepoint.com/sites/meridian/transcripts/kickoff-2026-05-12.vtt
timestamp: 00:01:05
quote: the wealth team advisers aren't actually in the CRM yet
silver_entities:
- id: SE-001
name: conformed_adviser
grain: one row per adviser
business_key:
- adviser_ref
scd: scd2
data_owner:
name: Maria Okafor
role: Head of Distribution Ops
email: maria.okafor@meridiancapital.com
sources:
- S-001
sensitivity: confidential
status: confirmed
source:
- type: questionnaire
ref: Q4.1 (S-1)
linked_decisions: []
- id: SE-002
name: aum_snapshot
grain: one row per adviser per month
business_key:
- adviser_ref
- month_end
scd: none
data_owner:
name: Raj Singh
role: Finance Director
email: raj.singh@meridiancapital.com
sources:
- S-002
status: confirmed
source:
- type: questionnaire
ref: Q4.1 (S-2)
linked_decisions: []
facts:
- name: f_aum_snapshot
grain: adviser x month
source_silver_entities:
- SE-002
conformed_dimensions:
- d_adviser
- d_region
- d_product
owner:
name: Raj Singh
role: Finance Director
email: raj.singh@meridiancapital.com
metrics:
- id: M-001
name: AUM
variations:
- AUM (month-end)
- AUM by region
- AUM by product line
definition: Assets under management at month-end, summed to the reporting grain
used_by_stories:
- US-010
placement: Board pack p.1; regional dashboard
metric_owner:
name: Raj Singh
role: Finance Director
email: raj.singh@meridiancapital.com
status: confirmed
source:
- type: transcript
sharepoint_url: https://contoso.sharepoint.com/sites/meridian/transcripts/kickoff-2026-05-12.vtt
timestamp: 00:00:14
quote: adviser-level performance broken down by region
- id: M-002
name: AUM MoM change %
variations:
- MoM %
- MoM % vs PY
definition: (AUM_this_month - AUM_prior_month) / AUM_prior_month
used_by_stories:
- US-002
placement: Adviser early-warning view
metric_owner:
name: Maria Okafor
role: Head of Distribution Ops
email: maria.okafor@meridiancapital.com
status: draft
source:
- type: transcript
sharepoint_url: https://contoso.sharepoint.com/sites/meridian/transcripts/kickoff-2026-05-12.vtt
timestamp: 00:00:25
quote: dropped more than ten percent month on month
- id: M-003
name: AUM 12-month trend
variations:
- rolling 12m
- YTD
- FYTD
definition: AUM by month over a rolling 12-month window
used_by_stories:
- US-005
placement: Board pack trend chart
metric_owner:
name: Raj Singh
role: Finance Director
email: raj.singh@meridiancapital.com
status: confirmed
source:
- type: transcript
sharepoint_url: https://contoso.sharepoint.com/sites/meridian/transcripts/kickoff-2026-05-12.vtt
timestamp: 00:01:46
quote: the AUM trend over the last twelve months
dimensions:
- id: D-001
name: d_adviser
grain: adviser
scd: scd2
source_silver_entity: SE-001
data_owner:
name: Maria Okafor
role: Head of Distribution Ops
email: maria.okafor@meridiancapital.com
status: confirmed
source:
- type: questionnaire
ref: Q4.1 (S-1)
- id: D-002
name: d_region
grain: region
scd: scd1
data_owner:
name: Maria Okafor
role: Head of Distribution Ops
email: maria.okafor@meridiancapital.com
status: confirmed
source:
- type: transcript
sharepoint_url: https://contoso.sharepoint.com/sites/meridian/transcripts/kickoff-2026-05-12.vtt
timestamp: 00:00:14
quote: broken down by region
- id: D-003
name: d_product
grain: product line
scd: scd2
data_owner:
name: Raj Singh
role: Finance Director
email: raj.singh@meridiancapital.com
status: draft
source:
- type: transcript
sharepoint_url: https://contoso.sharepoint.com/sites/meridian/transcripts/followup-2026-05-19.vtt
timestamp: 00:00:08
quote: by region AND product line
nfrs:
- id: NFR-001
category: SLA
requirement: Board pack ready by the 5th working day of the month
target: <= 5th working day, 99% of months
owner:
name: Alex Hardy
role: CDO
email: alex.hardy@meridiancapital.com
status: confirmed
source:
- type: questionnaire
ref: Q1.3
- type: transcript
sharepoint_url: https://contoso.sharepoint.com/sites/meridian/transcripts/kickoff-2026-05-12.vtt
timestamp: 00:01:58
quote: is it the fifth working day of the month or the fifth calendar day
- id: NFR-002
category: Data residency
requirement: All client data remains in the UK region
target: UK South only; no cross-region replication
owner:
name: Dev Patel
role: CRM Platform Lead
email: dev.patel@meridiancapital.com
status: confirmed
source:
- type: questionnaire
ref: Q8.2
- id: NFR-003
category: Retention
requirement: Retain monthly AUM snapshots
target: 7 years
owner:
name: Raj Singh
role: Finance Director
email: raj.singh@meridiancapital.com
status: draft
source:
- type: questionnaire
ref: Q8.4
open_questions:
- id: OQ-001
question: Which system owns the fee data — CRM or finance?
surfaced_from: 'transcript kickoff @ 00:01:38: ''let''s park the fee ownership question'''
phase_to_resolve_in: sources_quality
owner:
name: Raj Singh
role: Finance Director
email: raj.singh@meridiancapital.com
status: open
- id: OQ-002
question: 'Reporting cutoff: 5th working day or 5th calendar day?'
surfaced_from: transcript kickoff @ 00:01:58
phase_to_resolve_in: design_refinement
status: open
- id: OQ-003
question: 'CONTRADICTION (requirement-vs-requirement): is the client source of truth
the CRM (kickoff) or the finance system (follow-up)?'
surfaced_from: A) US-003 'CRM is the source of truth' vs B) follow-up @ 00:02:10
'finance system should own the client list, not the CRM'
phase_to_resolve_in: sources_quality
status: open
decision_log_index:
- id: D-0001
title: Use the CRM as the system of record for the client-adviser relationship
status: approved
date_decided: '2026-05-12'
approver: Priya Shah
affects:
- S-001
- US-003
- id: D-0002
title: Defer the fee-data ownership decision until Raj is present
status: proposed
affects:
- OQ-001
- id: D-0003
title: Self-service dashboard refresh frequency set to daily
status: approved
date_decided: '2026-05-19'
approver: Maria Okafor
affects:
- US-003
- id: D-0004
title: Drop the 10% AUM-drop flag from the current phase scope
status: approved
date_decided: '2026-05-19'
approver: Alex Hardy
affects:
- US-002
The agents Each one enforces its own guardrail in code, not just in the prompt. All merged to main.
Scenario: the Meridian engagement Two meetings, ingested one after another. Step through what the agent actually did (live gpt-5.4).
The bigger picture Discovery is one of three layers. Two more sit between it and the build agents.
A client engagement runs left → right. Discovery is built. The modelling & mapping layer is newly ticketed (the missing middle). Build already exists and consumes a mapping file.
The handoff that ties it together
The mapper's output is exactly what the build agents' MappingParser already reads — so the modelling/mapping layer is the clean bridge between “what the client wants” and “the table that gets built”.
Newly created tickets (this layer was missing)
| Ticket | Agent | Role |
|---|
Code-enforced guarantees The trust story — each is a structural invariant with unit tests, not a prompt instruction.
Status & honest gaps What's shipped, and what's deliberately not done yet.
✅ In main (tested, live-verified)
| Component | Ticket | What |
|---|
🚧 Remaining
| Item | Ticket | Note |
|---|
⚠ Where I'm not confident — the testing
- Every LLM-backed agent is unit-tested with a mocked model — that proves the plumbing and guardrails, not the model's judgment or that the real prompts produce valid output.
- There is no committed real-LLM / precision-recall eval harness yet (the live checks were throwaway scripts). Quality is currently eyeballed, not measured.
- Two real bugs this build (decision-tracker dedup; decision-index divergence) were caught by manual audit, not the test suite — evidence the mock-only strategy has a blind spot.
- #55695 is scoped to close exactly this: a labelled eval set + scored harness + a scaffolded-repo integration test. It should land before shadow mode.
Generated from real end-to-end runs of the discovery agent on gpt-5.4 (Azure AI Foundry, ai-colleagues, uksouth). Open this file in any browser — no internet required.