{
  "schema_version": 1,
  "release_authority": false,
  "production_use": {
    "all_tiers": true,
    "free": true,
    "usage_restrictions": false,
    "source": "LICENSE",
    "source_sha256": "7107a16e02c578f7e2fac41227430428d08f4606788f3c926699bcf96e04d2d4"
  },
  "mqtt": {
    "v311": {
      "qos": [
        0,
        1,
        2
      ]
    },
    "v5": {
      "qos": [
        0,
        1
      ],
      "enhanced_auth": false,
      "subscription_identifier": false
    },
    "full_conformance": false,
    "scope": "Current-source declared profile; installed image/release compatibility must be checked independently.",
    "source": "release/mqtt-support-matrix.json",
    "source_sha256": "434e5e2c9e7fbdcde590325ca218ad48307105757d1c25da51ad3fa5593aee4b"
  },
  "sdk": {
    "latest_abi": 3,
    "compatible_abis": [
      1,
      2,
      3
    ],
    "all_tiers": true,
    "batch_events": 32,
    "batch_bytes": 1048576,
    "source": "src/processes/bridge/sdk/nginz_iot_bridge_sdk.h",
    "source_sha256": "f4b504e81cd23ec979b809d103303d6cbb3ef775ecc7b9f6fb28d8c1ef1b6280"
  },
  "performance": {
    "date": "2026-10-20",
    "source": "perf/e2e-mqtt-bridge-comparison/reports/2026-10-20-mini-debian-full-installed.md",
    "source_sha256": "95af570cfe18e17a736b78638dc6c7d50106f0d8b4a6fa209c49946911afc083",
    "scope": "Installed in-memory MQTT bridge/export workload on the measured Mini host; sampled operating points with invalid attempts retained.",
    "profile": "memory-backed export",
    "mqtt": "3.1.1",
    "qos": 1,
    "payload_bytes": 128,
    "connections": 200,
    "offer_seconds": 30,
    "product_physical_cores": 3,
    "generator": "separate host",
    "product_cpu": "Intel Core i7-3615QM",
    "thermal": {
      "peakCelsius": 103,
      "throttle_counter_increase": 146
    },
    "subjects": [
      {
        "name": "CitusIO Max · Alpine",
        "rate": 80000,
        "validPasses": 2,
        "attempts": 4,
        "image": "sha256:531b74e2a537f22e810283334a3d8af5bbc2c08056eb054815c0c65d0b9d01a2",
        "payload_rates": {
          "1024": 50000,
          "65536": 1000
        }
      },
      {
        "name": "CitusIO Max · Debian",
        "rate": 80000,
        "validPasses": 3,
        "attempts": 4,
        "image": "sha256:f333614f005d7c42158b97fa26b8d2d13b671f0155028836d842e22f99092b00",
        "payload_rates": {
          "1024": 50000,
          "65536": 1000
        }
      },
      {
        "name": "Mosquitto 2.1.2",
        "rate": 40000,
        "validPasses": 4,
        "attempts": 4,
        "image": "sha256:6f8d8a947c506f8a2290ec65cd4bd2bc7cb4d43fb5f6271f861cb013e2ef9797",
        "payload_rates": {
          "1024": 30000,
          "65536": 1000
        }
      },
      {
        "name": "EMQX 6.3.2",
        "rate": 15000,
        "validPasses": 2,
        "attempts": 2,
        "image": "sha256:96dd9eac72b1744ea995a30ee8fa16c8a5c3e0a3cd2bafc9749aba9a63c0b02a",
        "payload_rates": {
          "1024": 15000,
          "65536": 1000
        }
      }
    ],
    "experiment": {
      "cases": 125,
      "strict_passes": 85,
      "valid_product_limit_failures": 17,
      "invalid_offers": 23
    },
    "slo": {
      "ack_p99_max_seconds": 1,
      "oldest_ack_max_seconds": 1,
      "deadline_backlog_max_offer_seconds": 1.25,
      "drain_max_seconds": 2,
      "exact_sink_messages_and_bytes": true
    },
    "limitations": [
      "Thermally constrained host; sampled image/workload operating points.",
      "Memory-backed export evidence supplies no durable-store capacity or recovery claim.",
      "Invalid offers never count as passes; the experiment includes failures and invalid cells.",
      "No claim about universal broker ceilings or portable comparative ranking."
    ],
    "sustained": {
      "rate": 10000,
      "offer_seconds": 300,
      "payload_bytes": 128,
      "connections": 200,
      "source": "zig-out/evidence/20261020-three-way-full/three-way-five-minute-sustained.json",
      "source_sha256": "b71e8f83602526074fb17ef01015eda71be24f6f52899ac8164bf569b2a29457",
      "latency_measurement": "Ingress PUBACK histogram captured at the offer deadline; milliseconds.",
      "cpu_measurement": "Observed product CPU core-seconds over the perf attachment interval, including setup and collection around the offer.",
      "memory_measurement": "Sampled high-water RSS and PSS across the product processes; MiB.",
      "subjects": [
        {
          "name": "CitusIO Max · Alpine",
          "image": "sha256:531b74e2a537f22e810283334a3d8af5bbc2c08056eb054815c0c65d0b9d01a2",
          "ack_mean_ms": 0.4425841652084891,
          "ack_p95_ms": 0.659,
          "ack_p99_ms": 0.871,
          "cpu_core_seconds": 431.68802,
          "rss_mib": 591.71484375,
          "pss_mib": 466.9462890625
        },
        {
          "name": "Mosquitto 2.1.2",
          "image": "sha256:6f8d8a947c506f8a2290ec65cd4bd2bc7cb4d43fb5f6271f861cb013e2ef9797",
          "ack_mean_ms": 0.4206174406592018,
          "ack_p95_ms": 0.55,
          "ack_p99_ms": 0.713,
          "cpu_core_seconds": 190.31186,
          "rss_mib": 8.31640625,
          "pss_mib": 8.3046875
        },
        {
          "name": "EMQX 6.3.2",
          "image": "sha256:96dd9eac72b1744ea995a30ee8fa16c8a5c3e0a3cd2bafc9749aba9a63c0b02a",
          "ack_mean_ms": 0.5674622401615069,
          "ack_p95_ms": 0.728,
          "ack_p99_ms": 1.086,
          "cpu_core_seconds": 1274.40267,
          "rss_mib": 622.4296875,
          "pss_mib": 488.099609375
        }
      ]
    }
  },
  "tiers": [
    "free",
    "pro",
    "max",
    "enterprise"
  ],
  "agent_entry": "/skills/SKILL.md",
  "skill_catalog": "/skills/index.json",
  "api_task_catalog": "/skills/contracts/agent-tasks.json",
  "client_required": false,
  "host_script_runtime_required": false,
  "checkout": "https://checkout.citusio.com"
}
