{
  "builds": {
    "before": {
      "revision": "b4a3f45a28f6b6c387a8deb3dc7c18b4393c59c1",
      "buildId": "dbfb8c78b5d971bf",
      "pins": {
        "agentServer": "1.59.0",
        "agentCanvas": "1.34.0",
        "automation": "1.26.1"
      },
      "builtThisRun": true
    },
    "after": {
      "revision": "5739caa282e17f2cc4972c3523f51e42affcabe6",
      "buildId": "20a1f9da62830742",
      "pins": {
        "agentServer": "1.59.0",
        "agentCanvas": "1.34.0",
        "automation": "1.26.1"
      },
      "builtThisRun": true
    }
  },
  "tool": "Unmodified control-openhands, installed Google Chrome, real standalone Local Canvas",
  "model": "DeepSeek profile configured with --no-validate; no conversation or model/tool execution",
  "viewports": {
    "desktop": [
      1440,
      1000
    ],
    "phone": [
      390,
      844
    ]
  },
  "sourceProof": "dialog-constraints-evidence/source-css-proof.json",
  "comparison": {
    "pairedStates": 5,
    "differences": [],
    "scope": "Visible dialog subtree sizes, caps, scroll behavior and text metrics. Populated plugin catalog; phone-only skill filters. Other branches unit/compiler-only."
  },
  "validation": {
    "testsPassed": 108,
    "testFiles": 7,
    "warningsBefore": 344,
    "warningsAfter": 323,
    "errors": 0,
    "lintTypecheckAppLibraryBuildsPassed": true
  },
  "limits": [
    "Only populated plugin picker, import and phone skill filters are live-tested, default theme. Other dialogs/branches have source/compiler/unit coverage.",
    "No authenticated Cloud, ACP, embedding or other-theme live claim.",
    "Existing CSS formatting/hex-letter case was normalized; color values and behavior unchanged.",
    "Initial loading-state mismatch was discarded; final v2 footage explicitly waits for catalog cards.",
    "Source PNGs and four complete sampled native recordings remain unchanged; editorial labels and original quiet ambience are added in the film. Sampled recordings do not prove wall-clock timing."
  ],
  "cleanup": {
    "bothStacksStoppedPrivatePurged": true,
    "closedPorts": {
      "before/ingress": 19240,
      "before/agentServer": 19241,
      "before/automation": 19242,
      "before/frontend": 19243,
      "before/vscode": 20241,
      "after/ingress": 19250,
      "after/agentServer": 19251,
      "after/automation": 19252,
      "after/frontend": 19253,
      "after/vscode": 20251
    }
  },
  "originals": {
    "dialog-constraints-evidence/before/phone-import.png": {
      "bytes": 44568,
      "sha256": "1518ac96e94590d6534f281b8df10975f667e691cb97f5f899de69ecd24a0172"
    },
    "dialog-constraints-evidence/before/desktop-plugins.png": {
      "bytes": 139502,
      "sha256": "ea60fa8ddd5aad02873524968a3d7ac8ec2449b66b290ce6dfa6178547aa380e"
    },
    "dialog-constraints-evidence/before/phone-flow.mp4": {
      "bytes": 178602,
      "sha256": "cf3d6a4c8ef5f508c80014a734b4f1603a9e974b43a689421601e006bebd4247"
    },
    "dialog-constraints-evidence/before/phone-filters.png": {
      "bytes": 38300,
      "sha256": "cb2157ee80f656718d844c93d0fd3419e447213fec277f2fbcec6c4e4efd8505"
    },
    "dialog-constraints-evidence/before/phone-plugins.png": {
      "bytes": 48148,
      "sha256": "1a93ff9d73abb5fa6fd5d6910fc3f6064900c85b46ca0bd25e920edccf79bd5d"
    },
    "dialog-constraints-evidence/before/desktop-import.png": {
      "bytes": 109453,
      "sha256": "0de5acd0458ae2181e66b5901f5f19f421d42b7caafc2b917c61379cf94b30ed"
    },
    "dialog-constraints-evidence/before/desktop-flow.mp4": {
      "bytes": 299135,
      "sha256": "814e2fd4c76fa862a23847d600d8fca2335e417cfe4d21b0128834a16036d546"
    },
    "dialog-constraints-evidence/after/phone-import.png": {
      "bytes": 44575,
      "sha256": "29b0bada1b5a9ee16980db1813362b5099a8b4741020bb339d8bfb1d514fb265"
    },
    "dialog-constraints-evidence/after/desktop-plugins.png": {
      "bytes": 138223,
      "sha256": "2ec540758e207345fc6b24acff8538ffe58002112c65e515971470115898ea06"
    },
    "dialog-constraints-evidence/after/phone-flow.mp4": {
      "bytes": 175240,
      "sha256": "8f793c12526432114c8266ffe3cb7954aff30cca87a674725736423ca00413b2"
    },
    "dialog-constraints-evidence/after/phone-filters.png": {
      "bytes": 38300,
      "sha256": "cb2157ee80f656718d844c93d0fd3419e447213fec277f2fbcec6c4e4efd8505"
    },
    "dialog-constraints-evidence/after/phone-plugins.png": {
      "bytes": 48148,
      "sha256": "1a93ff9d73abb5fa6fd5d6910fc3f6064900c85b46ca0bd25e920edccf79bd5d"
    },
    "dialog-constraints-evidence/after/desktop-import.png": {
      "bytes": 109455,
      "sha256": "4f7730dd18d65f2147772b487857efd21ae4fd67e90da6fcebf5f636f5677d27"
    },
    "dialog-constraints-evidence/after/desktop-flow.mp4": {
      "bytes": 296903,
      "sha256": "1b9b0151d230e01eb6174d2dcebabe44dd31aecee5d1708d66bc755d49ab2d8c"
    }
  }
}