{
  "schema": "automation-note.n8n-swiss-quote-result.v1",
  "run_id": "20260813-swiss-quote-prototype",
  "measured_at": "2026-08-12T17:44:17Z",
  "status": "PASS",
  "fixture_kind": "synthetic",
  "environment": {
    "n8n_version": "2.33.7",
    "external_network": false,
    "credentials": false,
    "customer_data": false,
    "llm_api": false
  },
  "workflow": {
    "id": "AutomationNoteSwissQuote01",
    "nodes": 9,
    "trigger": "Webhook",
    "extraction_boundary": "untrusted_synthetic_fixture",
    "matcher": "exact_reference",
    "catalog_entries": 3,
    "currency": "CHF",
    "arithmetic": "integer_cents"
  },
  "checks": {
    "exact_single": {
      "http_status": 200,
      "response": {
        "ok": true,
        "status": "QUOTABLE",
        "request_id": "quote-exact-single-001",
        "exact_match": true,
        "matched_items": [
          {
            "reference": "SYN-VALVE-100",
            "name": "Synthetic isolation valve 100",
            "quantity": 1,
            "unit_price_chf": 120,
            "line_total_chf": 120
          }
        ],
        "missing_references": [],
        "ignored_claimed_prices": false,
        "rates": {
          "material_margin_percent": 15,
          "labor_hour_chf": 95,
          "travel_flat_chf": 45,
          "vat_percent": 8.1
        },
        "totals": {
          "materials_chf": 120,
          "material_margin_chf": 18,
          "labor_chf": 95,
          "travel_chf": 45,
          "net_chf": 278,
          "vat_chf": 22.52,
          "total_chf": 300.52
        }
      }
    },
    "exact_multi": {
      "http_status": 200,
      "response": {
        "ok": true,
        "status": "QUOTABLE",
        "request_id": "quote-exact-multi-002",
        "exact_match": true,
        "matched_items": [
          {
            "reference": "SYN-PIPE-200",
            "name": "Synthetic pipe section 200",
            "quantity": 2,
            "unit_price_chf": 85.5,
            "line_total_chf": 171
          },
          {
            "reference": "SYN-SEAL-300",
            "name": "Synthetic seal kit 300",
            "quantity": 3,
            "unit_price_chf": 32.4,
            "line_total_chf": 97.2
          }
        ],
        "missing_references": [],
        "ignored_claimed_prices": false,
        "rates": {
          "material_margin_percent": 15,
          "labor_hour_chf": 95,
          "travel_flat_chf": 45,
          "vat_percent": 8.1
        },
        "totals": {
          "materials_chf": 268.2,
          "material_margin_chf": 40.23,
          "labor_chf": 142.5,
          "travel_chf": 0,
          "net_chf": 450.93,
          "vat_chf": 36.53,
          "total_chf": 487.46
        }
      }
    },
    "unknown_reference": {
      "http_status": 422,
      "response": {
        "ok": false,
        "status": "NEEDS_REVIEW",
        "request_id": "quote-unknown-ref-003",
        "exact_match": false,
        "matched_items": [
          {
            "reference": "SYN-VALVE-100",
            "name": "Synthetic isolation valve 100",
            "quantity": 1,
            "unit_price_chf": 120,
            "line_total_chf": 120
          }
        ],
        "missing_references": [
          "SYN-UNKNOWN-999"
        ],
        "ignored_claimed_prices": false,
        "totals": null,
        "reason": "exact_catalog_match_required"
      }
    },
    "claimed_price_ignored": {
      "http_status": 200,
      "response": {
        "ok": true,
        "status": "QUOTABLE",
        "request_id": "quote-claimed-price-004",
        "exact_match": true,
        "matched_items": [
          {
            "reference": "SYN-SEAL-300",
            "name": "Synthetic seal kit 300",
            "quantity": 1,
            "unit_price_chf": 32.4,
            "line_total_chf": 32.4
          }
        ],
        "missing_references": [],
        "ignored_claimed_prices": true,
        "rates": {
          "material_margin_percent": 15,
          "labor_hour_chf": 95,
          "travel_flat_chf": 45,
          "vat_percent": 8.1
        },
        "totals": {
          "materials_chf": 32.4,
          "material_margin_chf": 4.86,
          "labor_chf": 47.5,
          "travel_chf": 0,
          "net_chf": 84.76,
          "vat_chf": 6.87,
          "total_chf": 91.63
        }
      }
    },
    "invalid_quantity": {
      "http_status": 400,
      "response": {
        "ok": false,
        "status": "REJECTED",
        "request_id": "quote-invalid-quantity-005",
        "invalid_fields": [
          "extracted_items[0].quantity"
        ]
      }
    }
  }
}
