{
  "schema_version": 2,
  "diagram_type": "workflow",
  "meta": {
    "title": "Feedback to verified delivery: explicit authority at each boundary",
    "output": "apps/console/public/blocks/diagrams/event-relay-workflow.html",
    "locale": "en",
    "quality_profile": "showcase"
  },
  "lanes": [
    {
      "id": "state",
      "label": "Capture and durable workflow state"
    },
    {
      "id": "relay",
      "label": "Bounded relay: enqueue authority only"
    },
    {
      "id": "delivery",
      "label": "Separate authorized delivery"
    },
    {
      "id": "recovery",
      "label": "Explicit uncertainty recovery"
    }
  ],
  "nodes": [
    {
      "id": "capture",
      "lane": "state",
      "col": 0,
      "type": "frontend",
      "label": "Feedback 0.2.1",
      "sublabel": "Authorized capture; original stays here"
    },
    {
      "id": "items",
      "lane": "state",
      "col": 1,
      "type": "database",
      "label": "Work Items 0.2",
      "sublabel": "Proposal; operator triage; durable events"
    },
    {
      "id": "relay",
      "lane": "relay",
      "col": 2,
      "type": "backend",
      "label": "Explicit relay run",
      "sublabel": "Operator requests one bounded page"
    },
    {
      "id": "outbox",
      "lane": "relay",
      "col": 3,
      "type": "messagebus",
      "label": "Outbox queue",
      "sublabel": "Submitter can enqueue; cannot send"
    },
    {
      "id": "deliver",
      "lane": "delivery",
      "col": 4,
      "type": "security",
      "label": "Explicit delivery",
      "sublabel": "Separate operator and revision fence"
    },
    {
      "id": "receiver",
      "lane": "delivery",
      "col": 5,
      "type": "database",
      "label": "Signed receiver fixture",
      "sublabel": "Durable dedup + signed acknowledgment"
    },
    {
      "id": "enqueue-unknown",
      "lane": "recovery",
      "col": 3,
      "type": "backend",
      "label": "Lost enqueue response",
      "sublabel": "Same event/key; explicit relay rerun"
    },
    {
      "id": "delivery-unknown",
      "lane": "recovery",
      "col": 5,
      "type": "backend",
      "label": "Lost delivery response",
      "sublabel": "GET receipt; no automatic resend"
    }
  ],
  "mainPath": [
    "capture",
    "items",
    "relay",
    "outbox",
    "deliver",
    "receiver"
  ],
  "edges": [
    {
      "id": "capture-items",
      "from": "capture",
      "to": "items",
      "variant": "default"
    },
    {
      "id": "items-relay",
      "from": "items",
      "to": "relay",
      "variant": "default"
    },
    {
      "id": "relay-outbox",
      "from": "relay",
      "to": "outbox",
      "variant": "default"
    },
    {
      "id": "outbox-deliver",
      "from": "outbox",
      "to": "deliver",
      "variant": "default"
    },
    {
      "id": "deliver-receiver",
      "from": "deliver",
      "to": "receiver",
      "variant": "default"
    },
    {
      "id": "relay-enqueue-unknown",
      "from": "relay",
      "to": "enqueue-unknown",
      "variant": "dashed"
    },
    {
      "id": "enqueue-unknown-outbox",
      "from": "enqueue-unknown",
      "to": "outbox",
      "variant": "dashed"
    },
    {
      "id": "deliver-delivery-unknown",
      "from": "deliver",
      "to": "delivery-unknown",
      "variant": "dashed"
    },
    {
      "id": "delivery-unknown-receiver",
      "from": "delivery-unknown",
      "to": "receiver",
      "variant": "dashed"
    }
  ],
  "cards": [
    {
      "dot": "cyan",
      "title": "Working synthetic local reference",
      "items": [
        "Feedback text becomes a proposed Work Item; human transitions remain explicit",
        "Tenant-scoped anchored changefeed; entire page verified before enqueue",
        "Queue acknowledgment advances durable relay checkpoint; delivery is separate",
        "Metadata-only telemetry joins source event, relay receipt and outbox item"
      ]
    },
    {
      "dot": "amber",
      "title": "Recovery and qualification boundaries",
      "items": [
        "Lost enqueue acknowledgment: same event identity and key recover one queue item",
        "Lost webhook acknowledgment: uncertain delivery uses signed GET receipt recovery",
        "No daemon, automatic retry, live provider or enterprise acceptance is implied",
        "Receiver and fault proxy are synthetic fixtures; no customer data"
      ]
    },
    {
      "dot": "cyan",
      "title": "Pinned source and declared contracts",
      "items": [
        "Public source: 38210f138ca9d3bd2e7f2a001a122f91f75fa67c",
        "Feedback 0.2.1 / Work Items 0.2.0 / Event Relay 0.1.0 / Outbox 0.1.0",
        "Recipe source pins bind implementation files, packaged skill and fixture drivers",
        "Declared composition lock: compatibility UNKNOWN; promotion authority false"
      ]
    }
  ]
}
