{
  "version": "0.3",
  "createdAt": "2026-10-10T07:10:50.121Z",
  "total": 15,
  "passed": 15,
  "failed": 0,
  "status": "pass",
  "checks": [
    {
      "name": "same-time power/network events preserve all internal temperatures and energy, append history",
      "status": "pass"
    },
    {
      "name": "offline search costs energy, has only three attempts and no real send/ACK",
      "status": "pass"
    },
    {
      "name": "network recovery opens a bounded round with cooldown, no repeated zero-time attempts",
      "status": "pass"
    },
    {
      "name": "losing the network opens a bounded search round after earlier online attempts were exhausted",
      "status": "pass"
    },
    {
      "name": "restored mains does not refill battery, warm house instantly, or supply house heat from node",
      "status": "pass"
    },
    {
      "name": "optional bounded mains house heating warms continuously without battery draw",
      "status": "pass"
    },
    {
      "name": "cell heating does not jump to target; energy budget includes heater and losses",
      "status": "pass"
    },
    {
      "name": "temperature and peak restrictions remain distinct from remaining energy",
      "status": "pass"
    },
    {
      "name": "zero energy cannot monitor, request an action, or debit nonexistent energy",
      "status": "pass"
    },
    {
      "name": "basis rule requests once, receives only energy permission, not valve feedback",
      "status": "pass"
    },
    {
      "name": "same curve and events yield identical Na/LFP snapshots",
      "status": "pass"
    },
    {
      "name": "snapshot/export are pure deep copies and setup changes require new experiment",
      "status": "pass"
    },
    {
      "name": "stable conditions give nearly identical state and energy when advance is split into smaller calls",
      "status": "pass"
    },
    {
      "name": "clock never rewinds and total demonstration duration is capped at 168h",
      "status": "pass"
    },
    {
      "name": "a deferred attempt resumes after continuous warm-up, without a manual time reset",
      "status": "pass"
    }
  ],
  "scope": "software_consistency_only",
  "teachingOnly": true,
  "measured": false,
  "aiValidated": false,
  "limits": [
    "只核查给定假设下程序连续性、守恒与状态语义。",
    "不是住宅/电芯校准、硬件低温认证、真实通知、阀门反馈或防冻验证。"
  ],
  "command": "node work/research-v03/timeline-check.cjs"
}