A controller merges specialist outputs at claim level. Each claim needs an identifier, originating specialist, evidence IDs, source snapshot, status, and statement. Evidence membership is a basic machine-checkable gate; it does not prove the evidence supports the claim. When two reports disagree, compare their observation windows and artifact versions before attempting to resolve the difference. A majority of agents can repeat one faulty assumption, so vote count is not an evidence rule. The final response separates observed facts from hypotheses, unresolved conflicts, and authorized next actions. A missing specialist is an explicit gap, not a silently omitted paragraph.
Specialist synthesis: merge claims, not fluent summaries
Operational case
Telemetry reports 54 server errors between 09:17 and 09:26 UTC from metric MET-54. Release review confirms RC-47 changed connection-pool size from 32 to 8 in CFG-8. Customer review reports 41 support contacts in that window from redacted tag set SUP-41. These are three observations. The controller may say the release preceded the error rise and pool reduction is a candidate mechanism; it may not claim proven causation or duplicate charges without payment evidence. If customer review arrives with PK-211 while the other results use PK-214, it is held out of the merged finding until rechecked.
known_evidence = {"MET-54", "CFG-8", "SUP-41"}
expected_snapshot = "PK-214"
packets = [
{"claim_id": "CL-1", "snapshot": "PK-214", "evidence": ["MET-54"]},
{"claim_id": "CL-2", "snapshot": "PK-214", "evidence": ["CFG-8"]},
{"claim_id": "CL-3", "snapshot": "PK-211", "evidence": ["SUP-41"]},
]
seen_claims = set()
for packet in packets:
claim_id = packet["claim_id"]
valid = (
claim_id not in seen_claims
and packet["snapshot"] == expected_snapshot
and bool(packet["evidence"])
and all(ref in known_evidence for ref in packet["evidence"])
)
print(f"{claim_id}: {'merge-candidate' if valid else 'hold'}")
seen_claims.add(claim_id)
Performance and operating cost
Indexing E known evidence IDs and checking C returned claim references is O(E+C) expected time with sets and O(E) extra space. Manual claim-support review remains necessary because a real evidence ID can be attached to a false interpretation. Merge work grows with distinct claims and contradictions, not just agent count. Keep packet provenance and a conflict ledger so a later correction can update the one affected claim instead of rewriting the entire incident story. The small checker below verifies packet shape and reference membership only.
Common Mistakes
- Do not turn temporal proximity into a proven causal statement.
- Do not use agent agreement as a substitute for checking independent evidence.
- Do not describe missing or stale specialist output as consensus.
Connected lessons
- Prompt engineering applications
- Prompt Engineering
- Evidence IDs: make generated claims auditable against supplied records
- Cross-modal evidence: keep conflicting observations separate
- Incident triage prompts: build a timestamped evidence ledger
- Specialist agents: prove that delegation earns its cost
- Specialist task packets: scope evidence and authority explicitly
- Parallel agents: isolate state and assign one writer
- Specialist workflows: bound retries and review the full trace
- Project: coordinate a parcel-platform incident review
- Specialist-agent coordination decisions
