{
  "schema_version": 1,
  "diagram_type": "sequence",
  "meta": {
    "title": "Bambu Print Monitor — Poll to Review Sequence",
    "animation": "trace",
    "visual_preset": "signal-flow",
    "quality_profile": "showcase",
    "column_fit": "spread",
    "viewBox": [1700, 880],
    "views": [
      {
        "id": "observe-and-record",
        "label": "Observe and record",
        "focus": ["cloud", "monitor", "printguard", "evidence"],
        "note": "Follow fixed Cloud polling, local PrintGuard reads, and five-second evidence capture."
      },
      {
        "id": "public-status",
        "label": "Publish public status",
        "focus": ["publisher", "d1", "site"],
        "note": "Only redacted status and bounded selected frames reach the two-slot public surface."
      },
      {
        "id": "defect-review",
        "label": "Defect to human review",
        "focus": ["bridge", "telegram", "reviewer"],
        "note": "The bridge validates and claims once before one exact alert/media send attempt."
      }
    ]
  },
  "participants": [
    { "id": "cloud", "type": "cloud", "label": "Cloud" },
    { "id": "monitor", "type": "backend", "label": "Monitor" },
    { "id": "printguard", "type": "backend", "label": "PrintGuard" },
    { "id": "evidence", "type": "database", "label": "Evidence" },
    { "id": "publisher", "type": "backend", "label": "Publisher" },
    { "id": "d1", "type": "database", "label": "D1 slots" },
    { "id": "site", "type": "frontend", "label": "Status Site" },
    { "id": "bridge", "type": "security", "label": "Defect Bridge" },
    { "id": "telegram", "type": "external", "label": "Telegram" },
    { "id": "reviewer", "type": "external", "label": "Reviewer" }
  ],
  "segments": [
    { "from": 160, "to": 370, "label": "Observe + record" },
    { "from": 410, "to": 500, "label": "Publish status" },
    { "from": 520, "to": 710, "label": "Validate + review" }
  ],
  "messages": [
    { "id": "cloud-get", "from": "cloud", "to": "monitor", "y": 180, "label": "GET /v1/iot-service/api/user/bind", "variant": "emphasis" },
    { "id": "cloud-observation", "from": "monitor", "to": "cloud", "y": 222, "label": "RUNNING + job hash", "variant": "return" },
    { "id": "frame-read", "from": "monitor", "to": "printguard", "y": 264, "label": "GET /api/health + current frame", "variant": "default" },
    { "id": "frame-score", "from": "printguard", "to": "monitor", "y": 306, "label": "JPEG + score", "variant": "return" },
    { "id": "record-observation", "from": "monitor", "to": "evidence", "y": 348, "label": "append 5s redacted observation", "variant": "emphasis" },
    { "id": "publish-selection", "from": "monitor", "to": "publisher", "y": 390, "label": "redacted status + selected frame", "variant": "dashed" },
    { "id": "d1-ingest", "from": "publisher", "to": "d1", "y": 432, "label": "bearer-authenticated ingest", "variant": "security" },
    { "id": "public-read", "from": "d1", "to": "site", "y": 474, "label": "public current + last", "variant": "emphasis" },
    { "id": "bridge-poll", "from": "bridge", "to": "printguard", "y": 536, "label": "read-only events + history", "variant": "security" },
    { "id": "validated-alert", "from": "printguard", "to": "bridge", "y": 578, "label": "alert + matching snapshot", "variant": "security" },
    { "id": "telegram-send", "from": "bridge", "to": "telegram", "y": 620, "label": "openclaw message send + media", "variant": "security" },
    { "id": "human-review", "from": "telegram", "to": "reviewer", "y": 662, "label": "inspect snapshot", "variant": "default" }
  ]
}
