{
  "schema": 1,
  "kind": "isolated-observer-component-proof",
  "recorded": "2026-10-15",
  "sources": {
    "metaclaude": {
      "commit": "df057324d637c89e2d721f5896411e537bc86fea",
      "tag": "v0.1.41"
    },
    "panelForge": {
      "commit": "93881d2eca613fde498e0933405cee3a07220a4c",
      "tag": "web-v10.20.97"
    },
    "chromeDevtoolsMcp": "1.10.1",
    "browser": "Google Chrome for Testing 156.0.8078.4",
    "sha256": {
      "observerProxy": "52232ed0dfb5d5f924f6a7b8692f8d0d4ca745c4094bb44e7bb82cfb25d579bf",
      "observerHelper": "f005c72a821ac202cdaeb56512bf2424d326efe37da199351de87571718c0b54",
      "toolCard": "e430aef14f14b72254a6163f29bf926bb8b2f9028d738f721c5000b3d449ee0c",
      "observationComposable": "257de575eab03e5331997d82f86b068e1e1326d4f5408223cfdec8a943e73c1f",
      "photoSwipeComposable": "4e27d383ea841f731a97518f7f7e71164e5d31d5e626723cedb5e86f78748b06",
      "observationController": "052824de133d296324f7cd022448f300fff184503daae4a008d79e36c6d16a3f",
      "borgStashReader": "7f0d1cf3e9150e5c9c06cbb15962ab9efe0aa58e081c92cf3a9645819e8a6500"
    }
  },
  "checks": {
    "local_fixture": true,
    "mcp_click_completed": true,
    "fixture_changed_pending_to_ready": true,
    "observed_action_count": 1,
    "original_action_response_forwarded_unchanged": true,
    "observer_response_hidden": true,
    "separate_webp_present": true,
    "same_page_capture": true,
    "panel_tool_card_rendered": true,
    "observation_requested_only_after_expansion": true,
    "actual_admin_endpoint_get": true,
    "guest_endpoint_status": 401,
    "admin_endpoint_status": 200,
    "actual_borg_stash_reader": true,
    "admin_endpoint_storage_fixture": true,
    "tool_card_get_matches_stored_bytes": true,
    "tool_card_lightbox_and_independent_decoded_pixels_match": true,
    "lightbox_opened": true,
    "fake_object_put_count": 1,
    "fake_receiver_validated_sigv4_signature": false,
    "model_inference": false,
    "production_rows": false,
    "external_upload": false,
    "jobs": 0,
    "mail": 0,
    "notifications": 0,
    "cleanup_verified": true
  },
  "hashes": {
    "originalActionResponseSha256": "0f1329923b7f7294ff6e49486a91b390a78c86ce7f7d18dd7da2da7ae5cd87a5",
    "forwardedActionResponseSha256": "0f1329923b7f7294ff6e49486a91b390a78c86ce7f7d18dd7da2da7ae5cd87a5",
    "webpSha256": "80ed2ecad78ff4fcdbc8bff5bcf316f93e3cc699ba529b3d9a1e8778d7e28e1f",
    "webpDecodedRgbaSha256": "bbc14d0c7fbe55f58f7f1ca159484d76571a5e2e209d2c1ee7a2ae506e62f982"
  },
  "image": {
    "width": 1024,
    "height": 768,
    "bytes": 11426
  },
  "method": "Real standalone browser MCP click, unchanged observer proxy and imported upload helper. A fake local HTTPS object receiver stored the separate screenshot. The actual PanelForge tool card, composable, controller and BorgStashReader used synthetic saved rows and a local filesystem storage adapter.",
  "limits": [
    "No Claude or Codex CLI, model or provider inference ran. This proves unchanged MCP client response bytes, not input parity during real inference.",
    "The human client obtained its image URL separately. No observer image or reference was appended to the action response.",
    "The object receiver and storage adapter were fixtures. No real R2 authentication, authorization or persistence was tested.",
    "The saved tool row and surrounding user/model-role text were synthetic. Tool identity, arguments and result text match the actual MCP action; the displayed one-second timing is seeded fixture metadata. Real engine/archive ingestion was not tested.",
    "One separate early gate used a plain MCP click and explicit capture. The main proof contained one observed click and one upload.",
    "The clean UI film reviews the completed saved observation; it is not an end-to-end action/upload recording."
  ]
}
