{
  "schemaVersion": "1.0",
  "sceneId": "request-flow-from-handler",
  "fromRevision": 4,
  "toRevision": 5,
  "summary": { "added": 6, "removed": 4, "modified": 1 },
  "added": [
    "cache",
    "m_cache_get",
    "m_cache_hit",
    "frag_charge",
    "m_charge_retry",
    "m_charge_retry_ok"
  ],
  "removed": ["cart", "m_cart_get", "m_cart_data", "m_notify_ok"],
  "modified": ["m_notify"],
  "scenario": "PR #847 'Improve checkout latency' lands. The author replaced the direct cart-service call with a Redis cache lookup (the handler no longer fans out to cart on the happy path), introduced a retry path for Stripe payment 5xx errors (wrapped in an alt fragment), and switched the post-checkout email from a synchronous HTTP call to an async queue publish. Six new elements (cache lifeline, two cache messages, the retry fragment, two retry messages); four removed (cart lifeline + its two messages, plus the synchronous notification reply); one modified (m_notify changed from sequence.message to sequence.async). The reviewer sees the structural diff in the PR comment alongside the rendered SVG before reading the code diff line-by-line."
}
