{
  "label": "Inspection handoff: executed synthetic HTTP tests",
  "runAt": "2026-09-12T16:24:06.854Z",
  "boundary": "Same handoff engine used by the browser demonstration, tested through real loopback HTTP requests against a local file-backed mock CRM. No vendor API, authentication system, real upload, customer message or production customer record was tested. The mock destination provides an atomic note/task write and receipt lookup; real CRM capabilities must be assessed separately.",
  "engineSha256": "39cf3483227dfa6404bd6ee8ea1903151ec2c880196b558de9b0f0d5fe9564c6",
  "harnessSha256": "2f31232bb23f0125e912fd22cfc5ea3c9f26cdf838383311160a8288c2896f03",
  "passed": 6,
  "total": 6,
  "checks": [
    {
      "name": "Unapproved inspection is held before any destination request",
      "result": "PASS",
      "outcomes": [
        {
          "status": "held",
          "events": [
            {
              "at": "2026-09-12T16:24:06.818Z",
              "action": "Handoff held",
              "detail": "Manager approval is required. No destination request was made."
            }
          ],
          "next": "Morgan: resolve the record or approval issue before sending."
        }
      ],
      "writeRequests": 0,
      "savedNotes": 0,
      "assignedTasks": 0,
      "requests": [],
      "destinationReadback": {}
    },
    {
      "name": "Mismatched destination job is held without a write",
      "result": "PASS",
      "outcomes": [
        {
          "status": "held",
          "events": [
            {
              "at": "2026-09-12T16:24:06.830Z",
              "action": "Handoff held",
              "detail": "The destination job did not match the inspection job. No write was made."
            }
          ],
          "next": "Morgan: resolve the record or approval issue before sending."
        }
      ],
      "writeRequests": 0,
      "savedNotes": 0,
      "assignedTasks": 0,
      "requests": [
        {
          "method": "GET",
          "route": "/jobs/DEMO-204",
          "at": "2026-09-12T16:24:06.826Z"
        }
      ],
      "destinationReadback": {}
    },
    {
      "name": "Rejected write stays pending; recovery saves one note and one task",
      "result": "PASS",
      "outcomes": [
        {
          "status": "pending",
          "events": [
            {
              "at": "2026-09-12T16:24:06.832Z",
              "action": "Job matched",
              "detail": "Inspection and destination both identify DEMO-204."
            },
            {
              "at": "2026-09-12T16:24:06.833Z",
              "action": "Destination checked",
              "detail": "No result for this approved version. Sending one note and one assigned task."
            },
            {
              "at": "2026-09-12T16:24:06.835Z",
              "action": "Write rejected",
              "detail": "The mock CRM rejected the write. The handoff remains pending."
            }
          ],
          "next": "Morgan: restore the connection, check the destination, then retry only if absent."
        },
        {
          "status": "confirmed",
          "events": [
            {
              "at": "2026-09-12T16:24:06.836Z",
              "action": "Job matched",
              "detail": "Inspection and destination both identify DEMO-204."
            },
            {
              "at": "2026-09-12T16:24:06.837Z",
              "action": "Destination checked",
              "detail": "No result for this approved version. Sending one note and one assigned task."
            },
            {
              "at": "2026-09-12T16:24:06.839Z",
              "action": "Saved result verified",
              "detail": "One approved note and one assigned task confirmed on DEMO-204."
            }
          ],
          "next": "Morgan: Review flashing evidence before the revised proposal."
        }
      ],
      "afterFailure": {
        "savedNotes": 0,
        "assignedTasks": 0
      },
      "writeRequests": 2,
      "savedNotes": 1,
      "assignedTasks": 1,
      "requests": [
        {
          "method": "GET",
          "route": "/jobs/DEMO-204",
          "at": "2026-09-12T16:24:06.832Z"
        },
        {
          "method": "GET",
          "route": "/receipts/INS-DEMO-204%3Aapproved-v1",
          "at": "2026-09-12T16:24:06.832Z"
        },
        {
          "method": "POST",
          "route": "/receipts",
          "at": "2026-09-12T16:24:06.835Z"
        },
        {
          "method": "GET",
          "route": "/jobs/DEMO-204",
          "at": "2026-09-12T16:24:06.836Z"
        },
        {
          "method": "GET",
          "route": "/receipts/INS-DEMO-204%3Aapproved-v1",
          "at": "2026-09-12T16:24:06.837Z"
        },
        {
          "method": "POST",
          "route": "/receipts",
          "at": "2026-09-12T16:24:06.838Z"
        },
        {
          "method": "GET",
          "route": "/receipts/INS-DEMO-204%3Aapproved-v1",
          "at": "2026-09-12T16:24:06.839Z"
        }
      ],
      "destinationReadback": {
        "INS-DEMO-204:approved-v1": {
          "key": "INS-DEMO-204:approved-v1",
          "jobId": "DEMO-204",
          "note": "Estimator to assess chimney flashing; replacement not confirmed. Customer asks whether it is included in the proposed scope.",
          "task": {
            "owner": "Morgan",
            "text": "Review flashing evidence before the revised proposal."
          }
        }
      }
    },
    {
      "name": "Lost response is reconciled without a second write",
      "result": "PASS",
      "outcomes": [
        {
          "status": "uncertain",
          "events": [
            {
              "at": "2026-09-12T16:24:06.840Z",
              "action": "Job matched",
              "detail": "Inspection and destination both identify DEMO-204."
            },
            {
              "at": "2026-09-12T16:24:06.841Z",
              "action": "Destination checked",
              "detail": "No result for this approved version. Sending one note and one assigned task."
            },
            {
              "at": "2026-09-12T16:24:06.843Z",
              "action": "Confirmation unavailable",
              "detail": "The sender cannot confirm the result. It may already exist; do not replay it blindly."
            }
          ],
          "next": "Morgan: restore the connection, check the destination, then retry only if absent."
        },
        {
          "status": "confirmed",
          "events": [
            {
              "at": "2026-09-12T16:24:06.844Z",
              "action": "Job matched",
              "detail": "Inspection and destination both identify DEMO-204."
            },
            {
              "at": "2026-09-12T16:24:06.845Z",
              "action": "Existing result verified",
              "detail": "The approved note and assigned task already exist. No additional write was sent."
            }
          ],
          "next": "Morgan: Review flashing evidence before the revised proposal."
        }
      ],
      "afterFailure": {
        "savedNotes": 1,
        "assignedTasks": 1
      },
      "writeRequests": 1,
      "savedNotes": 1,
      "assignedTasks": 1,
      "requests": [
        {
          "method": "GET",
          "route": "/jobs/DEMO-204",
          "at": "2026-09-12T16:24:06.840Z"
        },
        {
          "method": "GET",
          "route": "/receipts/INS-DEMO-204%3Aapproved-v1",
          "at": "2026-09-12T16:24:06.840Z"
        },
        {
          "method": "POST",
          "route": "/receipts",
          "at": "2026-09-12T16:24:06.841Z"
        },
        {
          "method": "GET",
          "route": "/jobs/DEMO-204",
          "at": "2026-09-12T16:24:06.844Z"
        },
        {
          "method": "GET",
          "route": "/receipts/INS-DEMO-204%3Aapproved-v1",
          "at": "2026-09-12T16:24:06.845Z"
        }
      ],
      "destinationReadback": {
        "INS-DEMO-204:approved-v1": {
          "key": "INS-DEMO-204:approved-v1",
          "jobId": "DEMO-204",
          "note": "Estimator to assess chimney flashing; replacement not confirmed. Customer asks whether it is included in the proposed scope.",
          "task": {
            "owner": "Morgan",
            "text": "Review flashing evidence before the revised proposal."
          }
        }
      }
    },
    {
      "name": "Sending the same approved inspection again creates no duplicate",
      "result": "PASS",
      "outcomes": [
        {
          "status": "confirmed",
          "events": [
            {
              "at": "2026-09-12T16:24:06.847Z",
              "action": "Job matched",
              "detail": "Inspection and destination both identify DEMO-204."
            },
            {
              "at": "2026-09-12T16:24:06.848Z",
              "action": "Destination checked",
              "detail": "No result for this approved version. Sending one note and one assigned task."
            },
            {
              "at": "2026-09-12T16:24:06.849Z",
              "action": "Saved result verified",
              "detail": "One approved note and one assigned task confirmed on DEMO-204."
            }
          ],
          "next": "Morgan: Review flashing evidence before the revised proposal."
        },
        {
          "status": "confirmed",
          "events": [
            {
              "at": "2026-09-12T16:24:06.850Z",
              "action": "Job matched",
              "detail": "Inspection and destination both identify DEMO-204."
            },
            {
              "at": "2026-09-12T16:24:06.850Z",
              "action": "Existing result verified",
              "detail": "The approved note and assigned task already exist. No additional write was sent."
            }
          ],
          "next": "Morgan: Review flashing evidence before the revised proposal."
        }
      ],
      "writeRequests": 1,
      "savedNotes": 1,
      "assignedTasks": 1,
      "requests": [
        {
          "method": "GET",
          "route": "/jobs/DEMO-204",
          "at": "2026-09-12T16:24:06.847Z"
        },
        {
          "method": "GET",
          "route": "/receipts/INS-DEMO-204%3Aapproved-v1",
          "at": "2026-09-12T16:24:06.847Z"
        },
        {
          "method": "POST",
          "route": "/receipts",
          "at": "2026-09-12T16:24:06.848Z"
        },
        {
          "method": "GET",
          "route": "/receipts/INS-DEMO-204%3Aapproved-v1",
          "at": "2026-09-12T16:24:06.849Z"
        },
        {
          "method": "GET",
          "route": "/jobs/DEMO-204",
          "at": "2026-09-12T16:24:06.849Z"
        },
        {
          "method": "GET",
          "route": "/receipts/INS-DEMO-204%3Aapproved-v1",
          "at": "2026-09-12T16:24:06.850Z"
        }
      ],
      "destinationReadback": {
        "INS-DEMO-204:approved-v1": {
          "key": "INS-DEMO-204:approved-v1",
          "jobId": "DEMO-204",
          "note": "Estimator to assess chimney flashing; replacement not confirmed. Customer asks whether it is included in the proposed scope.",
          "task": {
            "owner": "Morgan",
            "text": "Review flashing evidence before the revised proposal."
          }
        }
      }
    },
    {
      "name": "Conflicting content under the same approved version is held",
      "result": "PASS",
      "outcomes": [
        {
          "status": "held",
          "events": [
            {
              "at": "2026-09-12T16:24:06.853Z",
              "action": "Job matched",
              "detail": "Inspection and destination both identify DEMO-204."
            },
            {
              "at": "2026-09-12T16:24:06.854Z",
              "action": "Handoff held",
              "detail": "An existing result differs from the approved version. It needs review."
            }
          ],
          "next": "Morgan: resolve the record or approval issue before sending."
        }
      ],
      "writeRequests": 1,
      "savedNotes": 1,
      "assignedTasks": 1,
      "requests": [
        {
          "method": "GET",
          "route": "/jobs/DEMO-204",
          "at": "2026-09-12T16:24:06.851Z"
        },
        {
          "method": "GET",
          "route": "/receipts/INS-DEMO-204%3Aapproved-v1",
          "at": "2026-09-12T16:24:06.851Z"
        },
        {
          "method": "POST",
          "route": "/receipts",
          "at": "2026-09-12T16:24:06.852Z"
        },
        {
          "method": "GET",
          "route": "/receipts/INS-DEMO-204%3Aapproved-v1",
          "at": "2026-09-12T16:24:06.853Z"
        },
        {
          "method": "GET",
          "route": "/jobs/DEMO-204",
          "at": "2026-09-12T16:24:06.853Z"
        },
        {
          "method": "GET",
          "route": "/receipts/INS-DEMO-204%3Aapproved-v1",
          "at": "2026-09-12T16:24:06.854Z"
        }
      ],
      "destinationReadback": {
        "INS-DEMO-204:approved-v1": {
          "key": "INS-DEMO-204:approved-v1",
          "jobId": "DEMO-204",
          "note": "Estimator to assess chimney flashing; replacement not confirmed. Customer asks whether it is included in the proposed scope.",
          "task": {
            "owner": "Morgan",
            "text": "Review flashing evidence before the revised proposal."
          }
        }
      }
    }
  ]
}
