{
  "specversion": "1.0",
  "id": "000000f-0000-4000-8000-000000000000",
  "source": "/heart/com.example.aircon/unit-3",
  "type": "heart.trial",
  "time": "2026-11-12T14:30:00Z",
  "datacontenttype": "application/json",
  "dataschema": "https://heartcortex.ai/schemas/1.0/trial.schema.json",
  "heartversion": "1.0",
  "heartprivacy": "internal",
  "data": {
    "id": "8b3c4d5e-6f7a-4b8c-9d0e-1f2a3b4c5d6e",
    "proposalId": "7a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
    "target": "set_ramp_rate",
    "state": "kept",
    "approvedBy": {
      "kind": "human",
      "actionId": "9c4d5e6f-7a8b-4c9d-8e0f-1a2b3c4d5e6f"
    },
    "plan": [
      {
        "ramp_rate": 1.8
      },
      {
        "ramp_rate": 1.6
      }
    ],
    "previous": {
      "ramp_rate": 2.0
    },
    "steps": [
      {
        "at": "2026-11-12T14:41:00Z",
        "arguments": {
          "ramp_rate": 1.8
        },
        "guard": "passed"
      },
      {
        "at": "2026-11-12T14:51:00Z",
        "arguments": {
          "ramp_rate": 1.6
        },
        "guard": "passed",
        "checks": [
          {
            "check": {
              "signal": "room.temperature",
              "feature": "overshoot",
              "op": "<",
              "value": 5,
              "withinSec": 5400
            },
            "observed": 4.1,
            "held": true
          }
        ]
      }
    ],
    "before": [
      {
        "signal": "room.temperature",
        "unit": "Cel",
        "windowSec": 5400,
        "stats": {
          "overshoot": 12.0
        }
      }
    ],
    "after": [
      {
        "signal": "room.temperature",
        "unit": "Cel",
        "windowSec": 5400,
        "stats": {
          "overshoot": 4.1
        }
      }
    ],
    "reason": "Overshoot fell from 12% to 4.1%, inside the expected 5%.",
    "startedAt": "2026-11-12T14:41:00Z",
    "endedAt": "2026-11-12T16:21:00Z",
    "ruleProposed": "learned-gentle-ramp",
    "createdAt": "2026-11-12T14:30:00Z"
  }
}
