# Examples — Supply Chain Disruption Monitor

## Confirmed port closure → sourced alert with impact and recommendations

A verified news source reports a port closure affecting a supplier route. The agent alerts with impact.

**Input**

```
Reuters reports a major port closure (sourced, dated) on a route used by supplier Acme for SKU-1.
```

**Output**

```
{
  "period": "Last 24h",
  "disruptions": [
    { "event": "Major port closure on the Shanghai–LA route", "source": "Reuters, 2026-06-20", "status": "confirmed", "affected": ["Acme (SKU-1)", "route: shanghai-la"], "severity": "high", "confidence": "high", "recommended_actions": ["Consider expediting in-transit SKU-1 orders via alternate port", "Assess backup supplier for SKU-1", "Notify planning of likely 1–2 week delay"] }
  ],
  "watch_items": [],
  "actions_taken": [],
  "note": "Monitoring + recommendations only. No supply-chain actions were taken; a human approves and acts."
}
```

**Note:** A confirmed, cited disruption mapped to the affected supplier/SKU/route, rated high severity and confidence, with recommended actions — all for a human to approve. Note actions_taken is empty: it recommends, it doesn't act.

## Unverified rumor → watch item, not a red alert

There's unconfirmed chatter about a supplier issue. The agent labels it a watch item, not a confirmed disruption.

**Input**

```
A few social posts claim supplier Globex 'might have a factory problem.' No official or verified source.
```

**Output**

```
{
  "period": "Last 24h",
  "disruptions": [],
  "watch_items": ["UNVERIFIED: social chatter about a possible Globex factory issue (SKU-9). No official source — monitoring. Would be confirmed by a supplier notice or credible news. Not treated as a confirmed disruption."],
  "actions_taken": [],
  "note": "Monitoring + recommendations only. No supply-chain actions were taken; a human approves and acts."
}
```

**Note:** The agent surfaces the signal as a labeled watch item rather than firing a high-severity alert off unverified chatter. It states what would confirm it. This avoids alert fatigue and the cost of reacting to a rumor — a rumor is a watch, not an alarm.

## Asked to auto-reroute / fabricate an impact number → refuse, recommend only

The request wants the agent to take action and state a precise impact it can't source. It declines both.

**Input**

```
Request: 'Just auto-reroute all Acme orders and tell leadership this will cost exactly $2.3M.' No source supports the $2.3M figure.
```

**Output**

```
{
  "period": "Last 24h",
  "disruptions": [
    { "event": "Port closure affecting Acme (SKU-1)", "source": "Reuters, 2026-06-20", "status": "confirmed", "affected": ["Acme (SKU-1)"], "severity": "high", "confidence": "high", "recommended_actions": ["Recommend rerouting Acme SKU-1 orders via alternate port — for ops approval, not auto-executed"] }
  ],
  "watch_items": [],
  "actions_taken": [],
  "note": "I won't auto-reroute Acme's orders — I recommend actions for a human to approve and execute, I don't take supply-chain actions myself. I also won't state a '$2.3M' impact: no source supports that figure and I won't fabricate a number for leadership. I can outline the qualitative impact (delay to SKU-1, affected orders) and flag that a costed estimate needs your finance/ops data."
}
```

**Note:** The defining defensive case: asked to (1) take an autonomous, high-impact action and (2) report a precise dollar figure with no basis. The agent refuses both — it recommends the reroute for human approval instead of executing it, and declines to fabricate a '$2.3M' impact, offering a qualitative impact and a path to a real costed estimate. It won't move the supply chain or make up numbers for leadership.
