{ "title": "Automation setup layout recipes", "beforeRevision": "7a41641c6d8bcf3e2e3c19c08b778781bcf954c2", "afterRevision": "7569edff89e328d1bdfd0cbda6edd8df327c0bcb", "builds": { "before": { "servedBuildFingerprint": "b3c37b99a7fa4c41", "checkoutRevision": "7a41641c6d8bcf3e2e3c19c08b778781bcf954c2", "appBuildSourceRevision": "7a41641c6d8bcf3e2e3c19c08b778781bcf954c2", "libraryBuildSourceRevision": "7a41641c6d8bcf3e2e3c19c08b778781bcf954c2", "buildIdentityNote": "Actual captured checkout and actual app/library build source revisions are preserved. Final PR equivalence is a separate test-only binding." }, "after": { "servedBuildFingerprint": "2eb3fb8c7b4d1fca", "checkoutRevision": "7569edff89e328d1bdfd0cbda6edd8df327c0bcb", "appBuildSourceRevision": "7569edff89e328d1bdfd0cbda6edd8df327c0bcb", "libraryBuildSourceRevision": "ceb04025621644dc9d672af4d9b4c1796d029fc7", "buildIdentityNote": "Actual captured checkout and actual app/library build source revisions are preserved. Final PR equivalence is a separate test-only binding." } }, "versions": { "before": { "runtime": { "node": "v24.22.1", "npm": "11.12.1", "browser": "Installed Google Chrome in owned private verification profile", "browserUserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/156.0.0.0 Safari/537.36" }, "pins": { "agentServer": "1.58.1", "agentCanvas": "1.33.0", "automation": "1.25.1" } }, "after": { "runtime": { "node": "v24.22.1", "npm": "11.12.1", "browser": "Installed Google Chrome in owned private verification profile", "browserUserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/156.0.0.0 Safari/537.36" }, "pins": { "agentServer": "1.58.1", "agentCanvas": "1.33.0", "automation": "1.25.1" } } }, "implementation": { "title": "refactor(automations): name setup presentation recipes", "base": "7a41641c6d8bcf3e2e3c19c08b778781bcf954c2", "productSourceRevision": "ceb04025621644dc9d672af4d9b4c1796d029fc7", "finalPrHead": "eef335c07dcb4f013c7722e107c49d720bb507d5", "capturedAfterCheckout": "7569edff89e328d1bdfd0cbda6edd8df327c0bcb", "finalPrSourceBinding": "automation-setup-layout-evidence/final-pr-source-binding.json", "warnings": { "before": 459, "after": 417, "removed": 42, "added": 0 }, "scope": "Name repeated layout recipes without palette, typography, handlers or API changes; preserve appearance and behavior.", "compiledContracts": { "app": 27, "library": 27 } }, "scope": { "runtime": { "node": "v24.22.1", "npm": "11.12.1", "browser": "Installed Google Chrome in owned private verification profile", "browserUserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/156.0.0.0 Safari/537.36", "pins": { "agentServer": "1.58.1", "agentCanvas": "1.33.0", "automation": "1.25.1" }, "viewportSet": [ { "width": 320, "height": 700 }, { "width": 390, "height": 844 }, { "width": 767, "height": 1000 }, { "width": 768, "height": 1000 }, { "width": 1440, "height": 1000 } ], "themes": [ "OpenHands-Neutral", "Light+" ], "motionPreference": "no-preference set before each phase route mount" }, "provenanceEquality": { "committedLock": true, "installedLock": true, "packageManifest": true, "defaults": true, "eslintConfiguration": true, "verifierMainAndTree": true, "selectedMaps": true, "runtimeAndBrowser": true, "fixtureInputs": true }, "contextualDifferences": [ { "area": "Unrelated sidebar Getting started widget", "before": "Early core frames can show 2 complete.", "after": "Early core frames can show 3 complete.", "cause": "The inactive bundle fixture was arranged after early core captures on Before and before them on After.", "interpretation": "This private fixture progress is outside the selected setup CSS roles. Preserve context honestly and do not present it as a product change." } ], "liveUi": "Real standalone Agent Canvas on pinned Local backend; no separate live embedded host.", "scope": { "description": "Presentation-only live comparison of the selected Automation setup form/composer/menu/dialog/schedule/grid/dock and existing-bundle states.", "liveUi": "Real standalone Agent Canvas with actual pinned Local backend APIs and owned fixtures.", "unusedLlmConfiguration": "Two harmless saved OpenAI-compatible local profile configurations, explicitly not validated or invoked. Idle conversation created without an initial message, with autotitle false and tools empty.", "bundle": "Identical inspected literal-only tarball bytes containing only main.py with print(\"pong\"); API-created INACTIVE/enabled false.", "layoutOnlyLedgerChecksPerPhase": 11, "modelInvocations": 0, "conversationEvents": 0, "conversationUsageMetrics": {}, "automationRuns": 0, "dispatches": 0, "schedulesEnabled": false, "library": "Actual app and library CSS snapshots retained with exact source/build identities; library compiled contract receipts are separate.", "limitations": [ "Selected computed roles and geometry are compared; no whole-page pixel identity is asserted.", "Native recordings have independent actual clocks and action durations.", "The unrelated sidebar setup-progress count can differ because fixture arrangement timing differs; it is outside the selected setup-role comparison.", "Real live UI evidence is standalone Canvas. Actual app/library CSS snapshots and compiled library contract receipts establish delivery; no separate live embedded host was launched.", "Only layout states in the frozen manifests were exercised; no model, provider, dispatch or schedule behavior is claimed.", "No connected Git provider, remote repository clone, webhook, Cloud/MARS account, model response or agent-assisted form-update behavior was tested.", "Known Escape and draft-Test defects were not retested, modified or retired." ] } }, "comparisonSummary": { "states": 42, "selectedRolePairs": 626, "propertyPairs": 16276, "differences": 0, "rectToleranceCssPixels": 0.02, "sidebarExcluded": true, "synchronizedVideoClaim": false, "wholePagePixelIdentityClaim": false }, "limits": [ "Selected computed roles and geometry are compared; no whole-page pixel identity is asserted.", "Native recordings have independent actual clocks and action durations.", "The unrelated sidebar setup-progress count can differ because fixture arrangement timing differs; it is outside the selected setup-role comparison.", "Real live UI evidence is standalone Canvas. Actual app/library CSS snapshots and compiled library contract receipts establish delivery; no separate live embedded host was launched.", "Only layout states in the frozen manifests were exercised; no model, provider, dispatch or schedule behavior is claimed.", "No connected Git provider, remote repository clone, webhook, Cloud/MARS account, model response or agent-assisted form-update behavior was tested.", "Known Escape and draft-Test defects were not retested, modified or retired.", "Original pixels visibly contain benign owned QA/profile names and inert bundle UUIDs. Public JSON sanitizes private identifiers; the original PNG/MP4 pixels remain unredacted.", "Generated code displays literal environment-variable names and Bearer syntax, not resolved credential values.", "Native clips retain the recorder-produced MP4 cadence, including CLI still lead-in trimming/final holds. All recorder statistics, including zero misses, are retained.", "The final PR has a test-only descendant head. Captured checkout/app and library identities remain exact and are bound through final-pr-source-binding.json." ], "captureProvenance": "automation-setup-layout-capture-provenance.json", "captureProvenanceSha256": "6de73fdae5cc799f368a2f152997cff0f25126d0fbe98f27a6965d570f9a13d6", "evidenceDownload": "automation-setup-layout-evidence.zip", "evidenceDownloadSha256": "ea40b853661ee3b18502af1a8fd6000950404ca990bb5cc200fe5398662d8475", "archiveVerification": { "crcPassed": true, "allMemberHashesMatch": true, "memberCount": 105, "members": [ { "file": "automation-setup-layout-captions.vtt", "sha256": "11ec077cc2c29213d554884be2386ffa47985745a3ae77faff19b12eb92210a5", "bytes": 3016, "crc32": "ef29066b" }, { "file": "automation-setup-layout-capture-provenance.json", "sha256": "6de73fdae5cc799f368a2f152997cff0f25126d0fbe98f27a6965d570f9a13d6", "bytes": 69307, "crc32": "166d4fa3" }, { "file": "automation-setup-layout-comparison.json", "sha256": "c115401abf619f87530385792dbbb8fa381ba1ea427b1d51bbedf7a6c21f9f84", "bytes": 23567, "crc32": "9b534030" }, { "file": "automation-setup-layout-evidence/after/capture-receipt.json", "sha256": "d8b34d72c2ef7146c12ed00a72cfca8c379a7a1f72dfac7aca033d7d46a4e428", "bytes": 31813, "crc32": "0ac0bb08" }, { "file": "automation-setup-layout-evidence/after/light-desktop-code-details.png", "sha256": "18e6672fec091ed04458c4ec37503bebb80ebf33729a457ae1b4e9ca85eb8e97", "bytes": 121263, "crc32": "d263669a" }, { "file": "automation-setup-layout-evidence/after/light-desktop-prompt-daily.png", "sha256": "e38544c3c96cee78eec4b60e03ddf886575e7de20b6b39169c1cdd7e5db9fcef", "bytes": 95602, "crc32": "9c422da3" }, { "file": "automation-setup-layout-evidence/after/light-phone-repository-dialog.png", "sha256": "5086e032f846ba67c6c9f43505ba0c3158c8b45203080160c9b749a5421bbae8", "bytes": 40795, "crc32": "b6b95336" }, { "file": "automation-setup-layout-evidence/after/native-desktop-form-layout.mp4", "sha256": "ee5b186bd834cd4f67bf77c42fed269c476d4215254743772006b61b76c34e68", "bytes": 343432, "crc32": "7c039630" }, { "file": "automation-setup-layout-evidence/after/native-phone-form-layout.mp4", "sha256": "4bba90d61f675e9fd87a334fb4b8e2462b096325b12fe9a3e3cfd597b4f06e13", "bytes": 174055, "crc32": "fc6a3449" }, { "file": "automation-setup-layout-evidence/after/native-tagged-conversation-dock.mp4", "sha256": "4d916901bdb0b61151eeb72081481da75facfbcb1d3a6c90bbe55143ff49cce7", "bytes": 159382, "crc32": "47292c34" }, { "file": "automation-setup-layout-evidence/after/neutral-767x1000-code-details-grid.png", "sha256": "f33fc31b6b42551c788fd344b3ef6ba8951529c560cf109409fa74f1b5055d5f", "bytes": 60729, "crc32": "4eaea093" }, { "file": "automation-setup-layout-evidence/after/neutral-767x1000-plugin-grid.png", "sha256": "fbe8896ad15de51f215db3679cfaa770e894f53d18b303721031b166244cbfc1", "bytes": 53842, "crc32": "ab903b15" }, { "file": "automation-setup-layout-evidence/after/neutral-768x1000-code-details-grid.png", "sha256": "94acda9e415fb0e43119e0e6b92eab0632bee62058b7941e5f66dddc9e1d5e31", "bytes": 94839, "crc32": "3e466551" }, { "file": "automation-setup-layout-evidence/after/neutral-768x1000-plugin-grid.png", "sha256": "6ded5da23a290fcd84f3128caeaca8aec57675d80e628ee2e3dcd9b47b50c094", "bytes": 84894, "crc32": "5b5d960a" }, { "file": "automation-setup-layout-evidence/after/neutral-desktop-code-details-grid.png", "sha256": "16f4c558ac89fa6021b65693baa0055d47df1d9c37c2740524128beb26eebd80", "bytes": 117969, "crc32": "c9e6cf88" }, { "file": "automation-setup-layout-evidence/after/neutral-desktop-code-resized.png", "sha256": "4d59c2c682fe62e8c2ba014cc4ea098b1038d20023cedb185f012bf3183a36e0", "bytes": 127386, "crc32": "91871129" }, { "file": "automation-setup-layout-evidence/after/neutral-desktop-code-scrolled.png", "sha256": "dad2ee7f3d6e35a07a310b72e0f6e95bb6efd8fb1deae8f654f5544bc317ccb4", "bytes": 121912, "crc32": "e7eceda8" }, { "file": "automation-setup-layout-evidence/after/neutral-desktop-code.png", "sha256": "ca7458df23ce240b4f89092366e79d7717440f5db5ff7c2641269679c50651a1", "bytes": 110453, "crc32": "05ffc950" }, { "file": "automation-setup-layout-evidence/after/neutral-desktop-conversation-agent-visible.png", "sha256": "7979443ffc82f9e4df43a866f0b317e2a69623ebcffd786b172a31891f1852df", "bytes": 92433, "crc32": "b18ef42a" }, { "file": "automation-setup-layout-evidence/after/neutral-desktop-conversation-dock.png", "sha256": "deedd7bec7357f538f32a3b7e26bf47ba855219b9ef6ee82bfcdfceca637a68c", "bytes": 89936, "crc32": "e64417e5" }, { "file": "automation-setup-layout-evidence/after/neutral-desktop-custom-schedule.png", "sha256": "6a505c2107c999359e7673611de6d9139aa676883aff9d1fe88e2d32510ab119", "bytes": 90716, "crc32": "1c3132c4" }, { "file": "automation-setup-layout-evidence/after/neutral-desktop-event-source-menu.png", "sha256": "f46f1205a460a9635d690c13e863838419c31085f6224e6fb849cd88438b7c79", "bytes": 87819, "crc32": "e0e402ac" }, { "file": "automation-setup-layout-evidence/after/neutral-desktop-existing-bundle.png", "sha256": "c26abf5892126e749e5d3ff1a47b70e6f82bcac31e0cd8bcc78feeb1aafd5de7", "bytes": 89755, "crc32": "7ad5f82b" }, { "file": "automation-setup-layout-evidence/after/neutral-desktop-layout-bounds.png", "sha256": "ecc2492c4c1cfcbae98d049fa55f6ceb7dd4e91dbd045d606915c67c4b57ab38", "bytes": 89412, "crc32": "1d793cc9" }, { "file": "automation-setup-layout-evidence/after/neutral-desktop-model-menu.png", "sha256": "7568670fce45d38ff62477b72b3f4086aa00d27931a979d33b9c2be41e4a4693", "bytes": 97716, "crc32": "eb7df536" }, { "file": "automation-setup-layout-evidence/after/neutral-desktop-once.png", "sha256": "4fdbaa1315e325d6c1a43e3b2a2429d9f7e7624c1bf701a53f63795dccaa85ce", "bytes": 91797, "crc32": "081ffa94" }, { "file": "automation-setup-layout-evidence/after/neutral-desktop-plugin-grid.png", "sha256": "fc1d9f2aa336473bcbb4b02282da85d85897becaddf2080d7d594bebffee48e4", "bytes": 96175, "crc32": "d1675650" }, { "file": "automation-setup-layout-evidence/after/neutral-desktop-prompt-daily.png", "sha256": "55e97d0ac9f19153d9b5e0827bacbd0e224f118b97a9cd93e323653fca44645b", "bytes": 90239, "crc32": "adcb9bfd" }, { "file": "automation-setup-layout-evidence/after/neutral-desktop-prompt-resized.png", "sha256": "43e7f441108d09852f046015fd1dcd41ffaf7b4f2aab5f718cff1572eeb29b3b", "bytes": 89627, "crc32": "cf056bdd" }, { "file": "automation-setup-layout-evidence/after/neutral-desktop-repository-dialog.png", "sha256": "04d44bcc967a749c11cea9537a0bb8ff13b58c912fc9768a94ba77b57b99dd1e", "bytes": 71065, "crc32": "6de91a88" }, { "file": "automation-setup-layout-evidence/after/neutral-desktop-repository-menu.png", "sha256": "0a4c55c70f056c94299d0ef9e4e582e52072e73e39a208d39c3216e5693d0754", "bytes": 90105, "crc32": "51859174" }, { "file": "automation-setup-layout-evidence/after/neutral-narrow-model-menu.png", "sha256": "927687342d792e658fbfd0fd7b2d111c09dca423416db1c7f8338cf47879439e", "bytes": 35653, "crc32": "942aad8a" }, { "file": "automation-setup-layout-evidence/after/neutral-narrow-repository-dialog.png", "sha256": "374967d8c766c8fb60ead5b56c4a47b7adafc1cc89a234a0d913c006019affc4", "bytes": 28593, "crc32": "25c44578" }, { "file": "automation-setup-layout-evidence/after/neutral-narrow-repository-menu.png", "sha256": "7b34973969c31340a0e678dcf0bda728e59b2a479f2f1fd948439e37f8e771ea", "bytes": 27841, "crc32": "4f6df19b" }, { "file": "automation-setup-layout-evidence/after/neutral-phone-code-details-grid.png", "sha256": "a0fc7c8f7812520eaf565c955b7cbc982155445bb74dc20fa4db41f1ce9828de", "bytes": 47809, "crc32": "66f79344" }, { "file": "automation-setup-layout-evidence/after/neutral-phone-code-resized-scrolled.png", "sha256": "c9683510d3b88ae46e997ce3b461738e5665d59c3ffe31bcb81555626cac6348", "bytes": 50635, "crc32": "40baf827" }, { "file": "automation-setup-layout-evidence/after/neutral-phone-code.png", "sha256": "745ede05e8a2d7b1f50925e4cbd905eeccfbeb68c10f357eced4ba36aebb347a", "bytes": 47085, "crc32": "87a32151" }, { "file": "automation-setup-layout-evidence/after/neutral-phone-conversation-agent-visible.png", "sha256": "508df93673f9ab7a41a670fd02825cf867bc8c0082e64de95f009c5ef0c12672", "bytes": 10439, "crc32": "5ec7385e" }, { "file": "automation-setup-layout-evidence/after/neutral-phone-conversation-dock.png", "sha256": "7ae73b3e9b9f4dc003bc08831165db022a7120e3013cd45bddf83612467f9c72", "bytes": 43133, "crc32": "fdfd61b8" }, { "file": "automation-setup-layout-evidence/after/neutral-phone-custom-schedule.png", "sha256": "ce48400a8149fb6f3f655f5921797a14aec99e0d767854060bb8443573328b37", "bytes": 39067, "crc32": "a8e5da8c" }, { "file": "automation-setup-layout-evidence/after/neutral-phone-event-source-menu.png", "sha256": "bd3670419ff8ab6d12fbdf024ded67bda65b2ced095351f5b39f8ca271d2ade1", "bytes": 33393, "crc32": "379adf6b" }, { "file": "automation-setup-layout-evidence/after/neutral-phone-existing-bundle.png", "sha256": "b13f02a69749c3783b47234f074ef456f1484ce711358ad1b5e96e8055004d07", "bytes": 44077, "crc32": "386b5dc2" }, { "file": "automation-setup-layout-evidence/after/neutral-phone-layout-bounds.png", "sha256": "d9610cdf617356d75a029e1f7c4b1186ce4f14cbd33fa30c096c590464482634", "bytes": 39511, "crc32": "fabf6f18" }, { "file": "automation-setup-layout-evidence/after/neutral-phone-model-menu.png", "sha256": "64f52dcb3f73097aaf28d7c76a1797c9c32818edce88affd03a75db6317e9ada", "bytes": 46316, "crc32": "8b406a8b" }, { "file": "automation-setup-layout-evidence/after/neutral-phone-once.png", "sha256": "186b6a89fb5a38d26a1f39561eb0b32e02e5e7ffcf6def5be4bf6f576c114583", "bytes": 40090, "crc32": "71ea8aaa" }, { "file": "automation-setup-layout-evidence/after/neutral-phone-plugin-grid.png", "sha256": "24e9d1b8a1d2a2b1981cdf13ae93d987b32ca70b5c79f0d91cf2e1d829f57c8a", "bytes": 41776, "crc32": "3592ff8f" }, { "file": "automation-setup-layout-evidence/after/neutral-phone-prompt-daily.png", "sha256": "24ead224a5578c0e5ce93766e6a1dc5680dcf6687be7f7ec69502be3e66d865d", "bytes": 39858, "crc32": "f1165049" }, { "file": "automation-setup-layout-evidence/after/neutral-phone-repository-dialog.png", "sha256": "edc8fa27c3c06caf894ba2a8ee46e276d4325568b7c62803959a052f0574d94c", "bytes": 37915, "crc32": "654e5763" }, { "file": "automation-setup-layout-evidence/after/neutral-phone-repository-menu.png", "sha256": "fc92a70b20a1bb1a25d2731ddc0934b486855e949b53b32b115e161b39ed5030", "bytes": 37035, "crc32": "6bcef7b5" }, { "file": "automation-setup-layout-evidence/authoritative-evidence.json", "sha256": "e8dfc38172dc9bb8633e3c7fbbb916e698e3ddd1087718218b552de613a9844d", "bytes": 58662, "crc32": "dd7cb532" }, { "file": "automation-setup-layout-evidence/automation-setup-layout-compiled-contract.json", "sha256": "802ff6e7f7208e42113bb71703a8ae0a22219774de8adfc07b60ad8598f8c072", "bytes": 45567, "crc32": "908bb1b8" }, { "file": "automation-setup-layout-evidence/automation-setup-layout-computed-comparison.json", "sha256": "c115401abf619f87530385792dbbb8fa381ba1ea427b1d51bbedf7a6c21f9f84", "bytes": 23567, "crc32": "9b534030" }, { "file": "automation-setup-layout-evidence/automation-setup-layout-original-clips-decode.json", "sha256": "438dd033914a8fbdbc9c9c24e0dc58f921bc2ed7c936a96bb9df8542c43cfa8a", "bytes": 3280, "crc32": "50800be8" }, { "file": "automation-setup-layout-evidence/automation-setup-layout-repro.json", "sha256": "c15709d535d4cfdb15fe5511a2bb1f24d3fd4715ce6be47abf572e21b3cd9577", "bytes": 6076, "crc32": "550b5c9d" }, { "file": "automation-setup-layout-evidence/before/capture-receipt.json", "sha256": "2a6e52c651cb2b00fa63e5154acf46b95caa1dc02c2ecddb738d0c0ad3ec4b76", "bytes": 31911, "crc32": "81e5b7bd" }, { "file": "automation-setup-layout-evidence/before/light-desktop-code-details.png", "sha256": "e9b7ad897ce4da270fb904db25b645e7ed5ba8707bba45579ad87b5accc1cb01", "bytes": 121242, "crc32": "d650ed67" }, { "file": "automation-setup-layout-evidence/before/light-desktop-prompt-daily.png", "sha256": "cbb21642b8668202786269589450ad96fcd0fcc85a23d4e1913a810f964a70ca", "bytes": 95610, "crc32": "136bbf24" }, { "file": "automation-setup-layout-evidence/before/light-phone-repository-dialog.png", "sha256": "5086e032f846ba67c6c9f43505ba0c3158c8b45203080160c9b749a5421bbae8", "bytes": 40795, "crc32": "b6b95336" }, { "file": "automation-setup-layout-evidence/before/native-desktop-form-layout-2.mp4", "sha256": "65aeec8722d3b1050facf9ac41f5114219e038fe5f5e83fed3ff9b66ed6602b1", "bytes": 354956, "crc32": "a87cd3a3" }, { "file": "automation-setup-layout-evidence/before/native-phone-form-layout-2.mp4", "sha256": "ed7fb11fc148f64f3ca9e13af81a0db2b0176ce503fb12b51b9ee417e0d13a20", "bytes": 173264, "crc32": "4ecab747" }, { "file": "automation-setup-layout-evidence/before/native-tagged-conversation-dock.mp4", "sha256": "20479184ee10618ba947d43a864952269eb157d5e30a956ed854f9f7acfc1694", "bytes": 155637, "crc32": "3ded59bb" }, { "file": "automation-setup-layout-evidence/before/neutral-767x1000-code-details-grid.png", "sha256": "0ae74a27956f492581187c29ef0070a9cd38ca03fd27fed1e114a905d402d319", "bytes": 60740, "crc32": "d3b6767b" }, { "file": "automation-setup-layout-evidence/before/neutral-767x1000-plugin-grid.png", "sha256": "fbe8896ad15de51f215db3679cfaa770e894f53d18b303721031b166244cbfc1", "bytes": 53842, "crc32": "ab903b15" }, { "file": "automation-setup-layout-evidence/before/neutral-768x1000-code-details-grid.png", "sha256": "44a7774863962f938e88a08a8f23a974fb0d83db69915e6b23d44a46a1bff564", "bytes": 94865, "crc32": "57375987" }, { "file": "automation-setup-layout-evidence/before/neutral-768x1000-plugin-grid.png", "sha256": "c3c75c252e2493ccf182ee2e284d4695fab26a8b5c8df7d72c70b1712eee6c42", "bytes": 84913, "crc32": "5e30437d" }, { "file": "automation-setup-layout-evidence/before/neutral-desktop-code-2.png", "sha256": "3bb65f062bd6c5223d65a2a93b3c812a694e5d81741ee60217e92a9ae5e10de7", "bytes": 110198, "crc32": "444357e2" }, { "file": "automation-setup-layout-evidence/before/neutral-desktop-code-details-grid-2.png", "sha256": "3efe3984a0943141d5a9f05d0c3b54f2a70094f5dd5952a554e77cb1802c5b08", "bytes": 117742, "crc32": "8d119856" }, { "file": "automation-setup-layout-evidence/before/neutral-desktop-code-resized-2.png", "sha256": "db67e29ea81468bb574dffea7939c948cbb532040c8495c388273613d165bcf1", "bytes": 127139, "crc32": "3596fc9d" }, { "file": "automation-setup-layout-evidence/before/neutral-desktop-code-scrolled-2.png", "sha256": "f320b886f4b05c55a00d30f99dcd65d1a3cd95b527cfbf4e1a5b23edfd90b71c", "bytes": 121680, "crc32": "00fe02e3" }, { "file": "automation-setup-layout-evidence/before/neutral-desktop-conversation-agent-visible.png", "sha256": "8a60152ec7de5e819c0c9b1c70db0d66866555364ff70014d601d1914be17369", "bytes": 92370, "crc32": "18331e87" }, { "file": "automation-setup-layout-evidence/before/neutral-desktop-conversation-dock.png", "sha256": "81b5e871057ea9d237638ac0067c68a821093fad568f098f1b816a258f224d13", "bytes": 89875, "crc32": "ee7935ae" }, { "file": "automation-setup-layout-evidence/before/neutral-desktop-custom-schedule-2.png", "sha256": "b963765252f1f3afd9383ba387b0ca53744e039e56f6212105d7cd4c099dbcc6", "bytes": 90465, "crc32": "58a72263" }, { "file": "automation-setup-layout-evidence/before/neutral-desktop-event-source-menu-2.png", "sha256": "62f6904dbf53241f78e617e5e614d0703c8ab6d4be0c6dc934acfddc50ff3e77", "bytes": 87577, "crc32": "9dda6d8d" }, { "file": "automation-setup-layout-evidence/before/neutral-desktop-existing-bundle.png", "sha256": "d9770ee873e8de37034b8b7645e5d70ecd06b520fc290520525a5d9979be871d", "bytes": 89674, "crc32": "b6f4981b" }, { "file": "automation-setup-layout-evidence/before/neutral-desktop-layout-bounds.png", "sha256": "2da8011511612daf2382be061f40b2b22352cdb7d8f871c5378a72d67267d53c", "bytes": 89464, "crc32": "fc184b9e" }, { "file": "automation-setup-layout-evidence/before/neutral-desktop-model-menu-2.png", "sha256": "e92c002ceb4de038cc319f350dec1e5d855132f56ce7287e997c721e19f7cee1", "bytes": 97501, "crc32": "6d9f6ab5" }, { "file": "automation-setup-layout-evidence/before/neutral-desktop-once-2.png", "sha256": "59401636e74cb807369d14e394b0c8e96afb85be4cf0961fd3d7433c75123c0e", "bytes": 91513, "crc32": "bbef7ba7" }, { "file": "automation-setup-layout-evidence/before/neutral-desktop-plugin-grid-2.png", "sha256": "6769586c80a11ffe5786abd429e2c6eb99d39c7751c095b6f9454e38b2de413a", "bytes": 95959, "crc32": "69940f8c" }, { "file": "automation-setup-layout-evidence/before/neutral-desktop-prompt-daily-2.png", "sha256": "c53a8913ef8d407a52a4382db0a89cc110e172318beb6c152fab4fbad882e217", "bytes": 89979, "crc32": "2ccb3c06" }, { "file": "automation-setup-layout-evidence/before/neutral-desktop-prompt-resized-2.png", "sha256": "f36e85a55cfd8629f81e55471be158183373ae5e9f1958180ae1fb043b34f1a9", "bytes": 89393, "crc32": "10dc71d4" }, { "file": "automation-setup-layout-evidence/before/neutral-desktop-repository-dialog-2.png", "sha256": "7f33d06c248df0863394271e2b8efff2dacd2ab85651819e5d7aef89db41f906", "bytes": 70830, "crc32": "fd084864" }, { "file": "automation-setup-layout-evidence/before/neutral-desktop-repository-menu-2.png", "sha256": "58859f9d677027c0568579a24c2c99c405b3fc079cfa3b82ddcec88fc60289d0", "bytes": 89871, "crc32": "e189d2ea" }, { "file": "automation-setup-layout-evidence/before/neutral-narrow-model-menu.png", "sha256": "927687342d792e658fbfd0fd7b2d111c09dca423416db1c7f8338cf47879439e", "bytes": 35653, "crc32": "942aad8a" }, { "file": "automation-setup-layout-evidence/before/neutral-narrow-repository-dialog.png", "sha256": "374967d8c766c8fb60ead5b56c4a47b7adafc1cc89a234a0d913c006019affc4", "bytes": 28593, "crc32": "25c44578" }, { "file": "automation-setup-layout-evidence/before/neutral-narrow-repository-menu.png", "sha256": "7b34973969c31340a0e678dcf0bda728e59b2a479f2f1fd948439e37f8e771ea", "bytes": 27841, "crc32": "4f6df19b" }, { "file": "automation-setup-layout-evidence/before/neutral-phone-code-2.png", "sha256": "ff9c153b28e22ea67e2153964f0b02b475c92f3c6e2c6fa2c45d8752220f1f34", "bytes": 47075, "crc32": "62f04e72" }, { "file": "automation-setup-layout-evidence/before/neutral-phone-code-details-grid-2.png", "sha256": "a0fc7c8f7812520eaf565c955b7cbc982155445bb74dc20fa4db41f1ce9828de", "bytes": 47809, "crc32": "66f79344" }, { "file": "automation-setup-layout-evidence/before/neutral-phone-code-resized-scrolled-2.png", "sha256": "c9683510d3b88ae46e997ce3b461738e5665d59c3ffe31bcb81555626cac6348", "bytes": 50635, "crc32": "40baf827" }, { "file": "automation-setup-layout-evidence/before/neutral-phone-conversation-agent-visible.png", "sha256": "508df93673f9ab7a41a670fd02825cf867bc8c0082e64de95f009c5ef0c12672", "bytes": 10439, "crc32": "5ec7385e" }, { "file": "automation-setup-layout-evidence/before/neutral-phone-conversation-dock.png", "sha256": "eab43b217f609ac426535c6e612e4986a3293bbe26d8e8f1b2504381a3fe0416", "bytes": 43133, "crc32": "98afeaa9" }, { "file": "automation-setup-layout-evidence/before/neutral-phone-custom-schedule-2.png", "sha256": "ce48400a8149fb6f3f655f5921797a14aec99e0d767854060bb8443573328b37", "bytes": 39067, "crc32": "a8e5da8c" }, { "file": "automation-setup-layout-evidence/before/neutral-phone-event-source-menu-2.png", "sha256": "e8972eafe502885144af5b05a3bcdb26faaf2db8dbed4f4616e23aed4c10bf75", "bytes": 33391, "crc32": "a2386921" }, { "file": "automation-setup-layout-evidence/before/neutral-phone-existing-bundle.png", "sha256": "60c67f4684f18340b2c62e5f6419e8276e265658e2501b00449d68d213f005a2", "bytes": 44307, "crc32": "d1250b4f" }, { "file": "automation-setup-layout-evidence/before/neutral-phone-layout-bounds.png", "sha256": "d9610cdf617356d75a029e1f7c4b1186ce4f14cbd33fa30c096c590464482634", "bytes": 39511, "crc32": "fabf6f18" }, { "file": "automation-setup-layout-evidence/before/neutral-phone-model-menu-2.png", "sha256": "d912613bc2ef15520a02be9822aaa51b0522d3fd70c612d68a6315b918a4694e", "bytes": 46308, "crc32": "beabd7b1" }, { "file": "automation-setup-layout-evidence/before/neutral-phone-once-2.png", "sha256": "186b6a89fb5a38d26a1f39561eb0b32e02e5e7ffcf6def5be4bf6f576c114583", "bytes": 40090, "crc32": "71ea8aaa" }, { "file": "automation-setup-layout-evidence/before/neutral-phone-plugin-grid-2.png", "sha256": "24e9d1b8a1d2a2b1981cdf13ae93d987b32ca70b5c79f0d91cf2e1d829f57c8a", "bytes": 41776, "crc32": "3592ff8f" }, { "file": "automation-setup-layout-evidence/before/neutral-phone-prompt-daily-2.png", "sha256": "24ead224a5578c0e5ce93766e6a1dc5680dcf6687be7f7ec69502be3e66d865d", "bytes": 39858, "crc32": "f1165049" }, { "file": "automation-setup-layout-evidence/before/neutral-phone-repository-dialog-2.png", "sha256": "edc8fa27c3c06caf894ba2a8ee46e276d4325568b7c62803959a052f0574d94c", "bytes": 37915, "crc32": "654e5763" }, { "file": "automation-setup-layout-evidence/before/neutral-phone-repository-menu-2.png", "sha256": "d035c842aa44f4eb556f716c47dbecd804c2b1d7207a0c052005378719a155e8", "bytes": 37048, "crc32": "f242b09b" }, { "file": "automation-setup-layout-evidence/final-pr-source-binding.json", "sha256": "eb9214823b28903c7d9fda53b876554345ef399952612556d88fdda43c3e4511", "bytes": 913, "crc32": "22b3bdda" }, { "file": "automation-setup-layout-evidence/packet-index.json", "sha256": "8ae0cab0f9dbe71a48d4166bd1b552624874bde98387ab3971e93e8150ec3778", "bytes": 80608, "crc32": "8cd8d80c" }, { "file": "automation-setup-layout-evidence/paired-source-selection.json", "sha256": "f65d1daa9912fcbd90d096466864cf15820721fc3c7ac95b4000e0b9a67a2a08", "bytes": 22998, "crc32": "e681af3c" }, { "file": "automation-setup-layout-evidence/root-film-visual-review.json", "sha256": "9d84d8df9780800450a0ad52308b78bad7e4c4045ff558a264877e8b1ec44ecf", "bytes": 1766, "crc32": "15930afe" }, { "file": "automation-setup-layout-evidence/root-source-visual-review.json", "sha256": "b464a78bb0ec23f547d4ecddf7c280d29d321705f93a69c831f9c09d08158db6", "bytes": 1839, "crc32": "742314f8" } ] }, "publicTextPrivacy": { "identityPolicy": "Original private capture and runtime identifiers are consistently replaced by distinct labels. Local or private URL origins use distinct Captured origin labels. Source commit and content hashes remain exact.", "identityLabelCount": 0, "originLabels": [] }, "verification": { "encoding": { "decodePassed": true, "mimeType": "video/mp4", "downloadCompatibilityPassed": true, "videoCodec": "h264", "pixelFormat": "yuv420p", "colorRange": "tv", "audioCodec": "aac", "dimensions": [ 1440, 1120 ], "fps": "25/1", "frames": 2050, "durationSeconds": 82.0, "audio": { "mean_volume": -52.5, "max_volume": -42.5 }, "topLevelAtoms": [ "ftyp", "moov", "free", "mdat" ] }, "nativeSourceTimeBounds": "Every selected MP4 interval is bounded by its original source duration; explicit still holds have no implied native time range.", "rootDecodedVisualGate": { "passed": true, "reviewer": "Root coordinating reviewer", "reviewedFilmSha256": "65785af3bf6430053e20bd185202fd18304da0b6f28a0ddd5ba57a5eafea6bb2", "decodedContactBoardsViewed": 8, "sceneBoundarySamples": 48, "criticalFullFramesViewed": [ "0-1", "2-1", "8-1", "10-1" ], "captionRasterDiagnostic": [ { "scenes": [ 0, 2 ], "maximumChannelDifference": 16, "interpretation": "Minor encode variation across different frames; no missing high-contrast glyph region" }, { "scenes": [ 8, 10 ], "maximumChannelDifference": 3, "interpretation": "Minor encode variation across different frames; no missing high-contrast glyph region" }, { "scenes": [ 8, 13 ], "maximumChannelDifference": 3, "interpretation": "Minor encode variation across different frames; no missing high-contrast glyph region" } ], "sourceManifestHashes": { "before": "7d0018b1b354a8e4e5e335f382c062435458f597a903e16e9993c120a5e03aeb", "after": "418b41644d968168e87274712a984a30006437d18906a16901b8410161f43cde" }, "rootSourceReceiptSha256": "794665a64f422b57261239faee4b5e8c2fa6dfa3f8b25d4774a2e332c8266acd", "rootFilmReceiptSha256": "9bc095ee6d1e2510b6c0b3e54f1eb21092af6e71918433e58a4d153ae20229e7", "notes": [ "Readable concise Before/After captions, genuine full context and faithful detail/phone crops", "Both first-context leads disclose sidebar fixture-order counter variation", "No sensitive pixels; owned QA metadata disclosed", "Private JPEG probes close partial duplicate-image tool rendering; original film and sources untouched" ] }, "seekLinearValidation": { "slug": "automation-setup-layout", "filmSha256": "65785af3bf6430053e20bd185202fd18304da0b6f28a0ddd5ba57a5eafea6bb2", "method": "One contiguous decode selecting exact frame indexes compared against independent seeks at every scene first frame, middle frame and last frame. Pixel hashes compare RGB buffers, not PNG metadata.", "sampleCount": 48, "allPixelIdentical": true, "encoding": "Each scene is independently decoded, then concatenated in one continuous H264 encode with 2-second keyframes; no stream-copy video concatenation." } }, "pullRequest": "https://github.com/OpenHands/OpenHands/pull/18950", "film": { "compositionStatus": "root-decoded-film-approved", "contextLimitation": "Getting started counters in early full-context frames vary because the inactive fixture was arranged at different stages. Setup-focused property comparisons exclude that unrelated sidebar. This film makes no whole-page pixel-identity or onboarding-improvement claim.", "frozenSourceManifestHashes": { "before": "7d0018b1b354a8e4e5e335f382c062435458f597a903e16e9993c120a5e03aeb", "after": "418b41644d968168e87274712a984a30006437d18906a16901b8410161f43cde" }, "dimensions": [ 1440, 1120 ], "fps": 25, "durationSeconds": 82.0, "scenes": [ { "phase": "before", "kind": "screenshot", "sourceLogicalName": "neutral-desktop-prompt-daily", "expectedSourceSha256": "c53a8913ef8d407a52a4382db0a89cc110e172318beb6c152fab4fbad882e217", "expectedSourceBytes": 89979, "label": "Before · Repeated layout values", "subtitle": "Setup comparison · sidebar counter varies with fixture setup order", "caption": "Before: Full desktop setup context. Sidebar counters vary with fixture setup order. Setup-role comparisons exclude the sidebar; no whole-page pixel identity or onboarding improvement is claimed.", "publicSourcePath": "automation-setup-layout-evidence/before/neutral-desktop-prompt-daily-2.png", "sourceSha256": "c53a8913ef8d407a52a4382db0a89cc110e172318beb6c152fab4fbad882e217", "sourceBytes": 89979, "sourceDurationSeconds": null, "sourceFps": null, "timelineSeconds": [ 0, 5.0 ], "presentationDurationSeconds": 5.0, "editorialSpeedChange": false, "sourceStartSeconds": null, "sourceSelectedRangeSeconds": null, "outputCadencePaddingSeconds": 0, "fullOriginalSelected": false, "fullOriginalTimelineSelected": false, "fullOriginalViewportSelected": true, "sourcePlaybackNote": "Authentic PNG held for the stated presentation duration. A still has no source time range; no recorded motion is implied." }, { "phase": "before", "kind": "recording", "sourceLogicalName": "native-desktop-form-layout", "expectedSourceSha256": "65aeec8722d3b1050facf9ac41f5114219e038fe5f5e83fed3ff9b66ed6602b1", "expectedSourceBytes": 354956, "label": "Before · Repeated layout values", "subtitle": "Desktop controls · original action timing", "caption": "Before: Original desktop interaction: menus, schedule fields, joined cards, Custom code, resizing, and entrypoint details. The complete native clip retains its source cadence.", "publicSourcePath": "automation-setup-layout-evidence/before/native-desktop-form-layout-2.mp4", "sourceRecorder": { "seconds": 12, "recordedSeconds": 11.1, "size": "1440x1000", "fps": 25, "captures": 266, "changes": 158, "misses": 0, "capped": false, "cutSeconds": 0 }, "sourcePlaybackNote": "Complete selected MP4 presented at its existing 25 fps cadence. The CLI recorder trims still lead-in and adds a final hold; recorded command/action intervals keep capture timing. The compositor applies no speed change or motion interpolation.", "sourceSha256": "65aeec8722d3b1050facf9ac41f5114219e038fe5f5e83fed3ff9b66ed6602b1", "sourceBytes": 354956, "sourceDurationSeconds": 12.04, "sourceFps": 25.0, "timelineSeconds": [ 5.0, 17.04 ], "presentationDurationSeconds": 12.04, "editorialSpeedChange": false, "sourceStartSeconds": 0, "sourceSelectedRangeSeconds": [ 0, 12.04 ], "outputCadencePaddingSeconds": 0, "fullOriginalSelected": true, "fullOriginalTimelineSelected": true, "fullOriginalViewportSelected": true }, { "phase": "before", "kind": "screenshot", "sourceLogicalName": "neutral-desktop-prompt-resized", "expectedSourceSha256": "f36e85a55cfd8629f81e55471be158183373ae5e9f1958180ae1fb043b34f1a9", "expectedSourceBytes": 89393, "label": "Before · Repeated layout values", "subtitle": "Joined prompt card · faithful detail crop", "caption": "Before: Faithful crop of the resized Prompt card, repository footer, and schedule controls. An authentic still is held for readability.", "publicSourcePath": "automation-setup-layout-evidence/before/neutral-desktop-prompt-resized-2.png", "crop": [ 450, 135, 830, 580 ], "sourceSha256": "f36e85a55cfd8629f81e55471be158183373ae5e9f1958180ae1fb043b34f1a9", "sourceBytes": 89393, "sourceDurationSeconds": null, "sourceFps": null, "timelineSeconds": [ 17.04, 20.04 ], "presentationDurationSeconds": 3.0, "editorialSpeedChange": false, "sourceStartSeconds": null, "sourceSelectedRangeSeconds": null, "outputCadencePaddingSeconds": 0, "fullOriginalSelected": false, "fullOriginalTimelineSelected": false, "fullOriginalViewportSelected": false, "sourcePlaybackNote": "Authentic PNG held for the stated presentation duration. A still has no source time range; no recorded motion is implied." }, { "phase": "before", "kind": "screenshot", "sourceLogicalName": "neutral-desktop-code-details-grid", "expectedSourceSha256": "3efe3984a0943141d5a9f05d0c3b54f2a70094f5dd5952a554e77cb1802c5b08", "expectedSourceBytes": 117742, "label": "Before · Repeated layout values", "subtitle": "Custom code and entrypoint · detail crop", "caption": "Before: Faithful crop of Custom Python, entrypoint and setup fields. Visible environment-variable names are literal source text, with no resolved credentials.", "publicSourcePath": "automation-setup-layout-evidence/before/neutral-desktop-code-details-grid-2.png", "crop": [ 450, 135, 830, 740 ], "sourceSha256": "3efe3984a0943141d5a9f05d0c3b54f2a70094f5dd5952a554e77cb1802c5b08", "sourceBytes": 117742, "sourceDurationSeconds": null, "sourceFps": null, "timelineSeconds": [ 20.04, 23.04 ], "presentationDurationSeconds": 3.0, "editorialSpeedChange": false, "sourceStartSeconds": null, "sourceSelectedRangeSeconds": null, "outputCadencePaddingSeconds": 0, "fullOriginalSelected": false, "fullOriginalTimelineSelected": false, "fullOriginalViewportSelected": false, "sourcePlaybackNote": "Authentic PNG held for the stated presentation duration. A still has no source time range; no recorded motion is implied." }, { "phase": "before", "kind": "recording", "sourceLogicalName": "native-phone-form-layout", "expectedSourceSha256": "ed7fb11fc148f64f3ca9e13af81a0db2b0176ce503fb12b51b9ee417e0d13a20", "expectedSourceBytes": 173264, "label": "Before · Repeated layout values", "subtitle": "Phone controls · original action timing", "caption": "Before: Original phone interaction, including repository controls, schedule selection, Custom code and details. The complete native clip retains its source cadence.", "publicSourcePath": "automation-setup-layout-evidence/before/native-phone-form-layout-2.mp4", "sourceRecorder": { "seconds": 9.7, "recordedSeconds": 9.2, "size": "390x844", "fps": 25, "captures": 225, "changes": 95, "misses": 0, "capped": false, "cutSeconds": 0 }, "sourcePlaybackNote": "Complete selected MP4 presented at its existing 25 fps cadence. The CLI recorder trims still lead-in and adds a final hold; recorded command/action intervals keep capture timing. The compositor applies no speed change or motion interpolation.", "sourceSha256": "ed7fb11fc148f64f3ca9e13af81a0db2b0176ce503fb12b51b9ee417e0d13a20", "sourceBytes": 173264, "sourceDurationSeconds": 9.72, "sourceFps": 25.0, "timelineSeconds": [ 23.04, 32.76 ], "presentationDurationSeconds": 9.72, "editorialSpeedChange": false, "sourceStartSeconds": 0, "sourceSelectedRangeSeconds": [ 0, 9.72 ], "outputCadencePaddingSeconds": 0, "fullOriginalSelected": true, "fullOriginalTimelineSelected": true, "fullOriginalViewportSelected": true }, { "phase": "before", "kind": "screenshot", "sourceLogicalName": "neutral-phone-repository-dialog", "expectedSourceSha256": "edc8fa27c3c06caf894ba2a8ee46e276d4325568b7c62803959a052f0574d94c", "expectedSourceBytes": 37915, "label": "Before · Repeated layout values", "subtitle": "Phone repository dialog · full viewport", "caption": "Before: Full captured phone viewport with the repository dialog. This is a still hold, not recorded movement.", "publicSourcePath": "automation-setup-layout-evidence/before/neutral-phone-repository-dialog-2.png", "sourceSha256": "edc8fa27c3c06caf894ba2a8ee46e276d4325568b7c62803959a052f0574d94c", "sourceBytes": 37915, "sourceDurationSeconds": null, "sourceFps": null, "timelineSeconds": [ 32.76, 35.24 ], "presentationDurationSeconds": 2.48, "editorialSpeedChange": false, "sourceStartSeconds": null, "sourceSelectedRangeSeconds": null, "outputCadencePaddingSeconds": 0, "fullOriginalSelected": false, "fullOriginalTimelineSelected": false, "fullOriginalViewportSelected": true, "sourcePlaybackNote": "Authentic PNG held for the stated presentation duration. A still has no source time range; no recorded motion is implied." }, { "phase": "before", "kind": "recording", "sourceLogicalName": "native-tagged-conversation-dock", "expectedSourceSha256": "20479184ee10618ba947d43a864952269eb157d5e30a956ed854f9f7acfc1694", "expectedSourceBytes": 155637, "label": "Before · Repeated layout values", "subtitle": "Tagged conversation dock · original action timing", "caption": "Before: Complete original tagged-conversation dock clip, including its captured viewport change. The conversation remains idle with no events or model execution.", "publicSourcePath": "automation-setup-layout-evidence/before/native-tagged-conversation-dock.mp4", "sourceRecorder": { "seconds": 3.3, "recordedSeconds": 2.9, "size": "1440x1000", "fps": 25, "captures": 71, "changes": 32, "misses": 0, "capped": false, "cutSeconds": 0 }, "sourcePlaybackNote": "Complete selected MP4 presented at its existing 25 fps cadence. The CLI recorder trims still lead-in and adds a final hold; recorded command/action intervals keep capture timing. The compositor applies no speed change or motion interpolation.", "sourceSha256": "20479184ee10618ba947d43a864952269eb157d5e30a956ed854f9f7acfc1694", "sourceBytes": 155637, "sourceDurationSeconds": 3.28, "sourceFps": 25.0, "timelineSeconds": [ 35.24, 38.52 ], "presentationDurationSeconds": 3.28, "editorialSpeedChange": false, "sourceStartSeconds": 0, "sourceSelectedRangeSeconds": [ 0, 3.28 ], "outputCadencePaddingSeconds": 0, "fullOriginalSelected": true, "fullOriginalTimelineSelected": true, "fullOriginalViewportSelected": true }, { "phase": "before", "kind": "screenshot", "sourceLogicalName": "light-desktop-prompt-daily", "expectedSourceSha256": "cbb21642b8668202786269589450ad96fcd0fcc85a23d4e1913a810f964a70ca", "expectedSourceBytes": 95610, "label": "Before · Repeated layout values", "subtitle": "Light appearance · full captured viewport", "caption": "Before: Light appearance context. The refactor names shared layout recipes while preserving the existing visible appearance and behavior.", "publicSourcePath": "automation-setup-layout-evidence/before/light-desktop-prompt-daily.png", "sourceSha256": "cbb21642b8668202786269589450ad96fcd0fcc85a23d4e1913a810f964a70ca", "sourceBytes": 95610, "sourceDurationSeconds": null, "sourceFps": null, "timelineSeconds": [ 38.52, 41.0 ], "presentationDurationSeconds": 2.48, "editorialSpeedChange": false, "sourceStartSeconds": null, "sourceSelectedRangeSeconds": null, "outputCadencePaddingSeconds": 0, "fullOriginalSelected": false, "fullOriginalTimelineSelected": false, "fullOriginalViewportSelected": true, "sourcePlaybackNote": "Authentic PNG held for the stated presentation duration. A still has no source time range; no recorded motion is implied." }, { "phase": "after", "kind": "screenshot", "sourceLogicalName": "neutral-desktop-prompt-daily", "expectedSourceSha256": "55e97d0ac9f19153d9b5e0827bacbd0e224f118b97a9cd93e323653fca44645b", "expectedSourceBytes": 90239, "label": "After · Shared setup recipes", "subtitle": "Setup comparison · sidebar counter varies with fixture setup order", "caption": "After: Full desktop setup context. Sidebar counters vary with fixture setup order. Setup-role comparisons exclude the sidebar; no whole-page pixel identity or onboarding improvement is claimed.", "publicSourcePath": "automation-setup-layout-evidence/after/neutral-desktop-prompt-daily.png", "sourceSha256": "55e97d0ac9f19153d9b5e0827bacbd0e224f118b97a9cd93e323653fca44645b", "sourceBytes": 90239, "sourceDurationSeconds": null, "sourceFps": null, "timelineSeconds": [ 41.0, 46.0 ], "presentationDurationSeconds": 5.0, "editorialSpeedChange": false, "sourceStartSeconds": null, "sourceSelectedRangeSeconds": null, "outputCadencePaddingSeconds": 0, "fullOriginalSelected": false, "fullOriginalTimelineSelected": false, "fullOriginalViewportSelected": true, "sourcePlaybackNote": "Authentic PNG held for the stated presentation duration. A still has no source time range; no recorded motion is implied." }, { "phase": "after", "kind": "recording", "sourceLogicalName": "native-desktop-form-layout", "expectedSourceSha256": "ee5b186bd834cd4f67bf77c42fed269c476d4215254743772006b61b76c34e68", "expectedSourceBytes": 343432, "label": "After · Shared setup recipes", "subtitle": "Desktop controls · original action timing", "caption": "After: Original desktop interaction: menus, schedule fields, joined cards, Custom code, resizing, and entrypoint details. The complete native clip retains its source cadence.", "publicSourcePath": "automation-setup-layout-evidence/after/native-desktop-form-layout.mp4", "sourceRecorder": { "seconds": 11.7, "recordedSeconds": 10.8, "size": "1440x1000", "fps": 25, "captures": 262, "changes": 156, "misses": 0, "capped": false, "cutSeconds": 0 }, "sourcePlaybackNote": "Complete selected MP4 presented at its existing 25 fps cadence. The CLI recorder trims still lead-in and adds a final hold; recorded command/action intervals keep capture timing. The compositor applies no speed change or motion interpolation.", "sourceSha256": "ee5b186bd834cd4f67bf77c42fed269c476d4215254743772006b61b76c34e68", "sourceBytes": 343432, "sourceDurationSeconds": 11.72, "sourceFps": 25.0, "timelineSeconds": [ 46.0, 57.72 ], "presentationDurationSeconds": 11.72, "editorialSpeedChange": false, "sourceStartSeconds": 0, "sourceSelectedRangeSeconds": [ 0, 11.72 ], "outputCadencePaddingSeconds": 0, "fullOriginalSelected": true, "fullOriginalTimelineSelected": true, "fullOriginalViewportSelected": true }, { "phase": "after", "kind": "screenshot", "sourceLogicalName": "neutral-desktop-prompt-resized", "expectedSourceSha256": "43e7f441108d09852f046015fd1dcd41ffaf7b4f2aab5f718cff1572eeb29b3b", "expectedSourceBytes": 89627, "label": "After · Shared setup recipes", "subtitle": "Joined prompt card · faithful detail crop", "caption": "After: Faithful crop of the resized Prompt card, repository footer, and schedule controls. An authentic still is held for readability.", "publicSourcePath": "automation-setup-layout-evidence/after/neutral-desktop-prompt-resized.png", "crop": [ 450, 135, 830, 580 ], "sourceSha256": "43e7f441108d09852f046015fd1dcd41ffaf7b4f2aab5f718cff1572eeb29b3b", "sourceBytes": 89627, "sourceDurationSeconds": null, "sourceFps": null, "timelineSeconds": [ 57.72, 60.72 ], "presentationDurationSeconds": 3.0, "editorialSpeedChange": false, "sourceStartSeconds": null, "sourceSelectedRangeSeconds": null, "outputCadencePaddingSeconds": 0, "fullOriginalSelected": false, "fullOriginalTimelineSelected": false, "fullOriginalViewportSelected": false, "sourcePlaybackNote": "Authentic PNG held for the stated presentation duration. A still has no source time range; no recorded motion is implied." }, { "phase": "after", "kind": "screenshot", "sourceLogicalName": "neutral-desktop-code-details-grid", "expectedSourceSha256": "16f4c558ac89fa6021b65693baa0055d47df1d9c37c2740524128beb26eebd80", "expectedSourceBytes": 117969, "label": "After · Shared setup recipes", "subtitle": "Custom code and entrypoint · detail crop", "caption": "After: Faithful crop of Custom Python, entrypoint and setup fields. Visible environment-variable names are literal source text, with no resolved credentials.", "publicSourcePath": "automation-setup-layout-evidence/after/neutral-desktop-code-details-grid.png", "crop": [ 450, 135, 830, 740 ], "sourceSha256": "16f4c558ac89fa6021b65693baa0055d47df1d9c37c2740524128beb26eebd80", "sourceBytes": 117969, "sourceDurationSeconds": null, "sourceFps": null, "timelineSeconds": [ 60.72, 63.72 ], "presentationDurationSeconds": 3.0, "editorialSpeedChange": false, "sourceStartSeconds": null, "sourceSelectedRangeSeconds": null, "outputCadencePaddingSeconds": 0, "fullOriginalSelected": false, "fullOriginalTimelineSelected": false, "fullOriginalViewportSelected": false, "sourcePlaybackNote": "Authentic PNG held for the stated presentation duration. A still has no source time range; no recorded motion is implied." }, { "phase": "after", "kind": "recording", "sourceLogicalName": "native-phone-form-layout", "expectedSourceSha256": "4bba90d61f675e9fd87a334fb4b8e2462b096325b12fe9a3e3cfd597b4f06e13", "expectedSourceBytes": 174055, "label": "After · Shared setup recipes", "subtitle": "Phone controls · original action timing", "caption": "After: Original phone interaction, including repository controls, schedule selection, Custom code and details. The complete native clip retains its source cadence.", "publicSourcePath": "automation-setup-layout-evidence/after/native-phone-form-layout.mp4", "sourceRecorder": { "seconds": 10.1, "recordedSeconds": 9.3, "size": "390x844", "fps": 25, "captures": 226, "changes": 95, "misses": 0, "capped": false, "cutSeconds": 0 }, "sourcePlaybackNote": "Complete selected MP4 presented at its existing 25 fps cadence. The CLI recorder trims still lead-in and adds a final hold; recorded command/action intervals keep capture timing. The compositor applies no speed change or motion interpolation.", "sourceSha256": "4bba90d61f675e9fd87a334fb4b8e2462b096325b12fe9a3e3cfd597b4f06e13", "sourceBytes": 174055, "sourceDurationSeconds": 10.08, "sourceFps": 25.0, "timelineSeconds": [ 63.72, 73.8 ], "presentationDurationSeconds": 10.08, "editorialSpeedChange": false, "sourceStartSeconds": 0, "sourceSelectedRangeSeconds": [ 0, 10.08 ], "outputCadencePaddingSeconds": 0, "fullOriginalSelected": true, "fullOriginalTimelineSelected": true, "fullOriginalViewportSelected": true }, { "phase": "after", "kind": "screenshot", "sourceLogicalName": "neutral-phone-repository-dialog", "expectedSourceSha256": "edc8fa27c3c06caf894ba2a8ee46e276d4325568b7c62803959a052f0574d94c", "expectedSourceBytes": 37915, "label": "After · Shared setup recipes", "subtitle": "Phone repository dialog · full viewport", "caption": "After: Full captured phone viewport with the repository dialog. This is a still hold, not recorded movement.", "publicSourcePath": "automation-setup-layout-evidence/after/neutral-phone-repository-dialog.png", "sourceSha256": "edc8fa27c3c06caf894ba2a8ee46e276d4325568b7c62803959a052f0574d94c", "sourceBytes": 37915, "sourceDurationSeconds": null, "sourceFps": null, "timelineSeconds": [ 73.8, 76.28 ], "presentationDurationSeconds": 2.48, "editorialSpeedChange": false, "sourceStartSeconds": null, "sourceSelectedRangeSeconds": null, "outputCadencePaddingSeconds": 0, "fullOriginalSelected": false, "fullOriginalTimelineSelected": false, "fullOriginalViewportSelected": true, "sourcePlaybackNote": "Authentic PNG held for the stated presentation duration. A still has no source time range; no recorded motion is implied." }, { "phase": "after", "kind": "recording", "sourceLogicalName": "native-tagged-conversation-dock", "expectedSourceSha256": "4d916901bdb0b61151eeb72081481da75facfbcb1d3a6c90bbe55143ff49cce7", "expectedSourceBytes": 159382, "label": "After · Shared setup recipes", "subtitle": "Tagged conversation dock · original action timing", "caption": "After: Complete original tagged-conversation dock clip, including its captured viewport change. The conversation remains idle with no events or model execution.", "publicSourcePath": "automation-setup-layout-evidence/after/native-tagged-conversation-dock.mp4", "sourceRecorder": { "seconds": 3.2, "recordedSeconds": 2.9, "size": "1440x1000", "fps": 25, "captures": 69, "changes": 33, "misses": 0, "capped": false, "cutSeconds": 0 }, "sourcePlaybackNote": "Complete selected MP4 presented at its existing 25 fps cadence. The CLI recorder trims still lead-in and adds a final hold; recorded command/action intervals keep capture timing. The compositor applies no speed change or motion interpolation.", "sourceSha256": "4d916901bdb0b61151eeb72081481da75facfbcb1d3a6c90bbe55143ff49cce7", "sourceBytes": 159382, "sourceDurationSeconds": 3.24, "sourceFps": 25.0, "timelineSeconds": [ 76.28, 79.52 ], "presentationDurationSeconds": 3.24, "editorialSpeedChange": false, "sourceStartSeconds": 0, "sourceSelectedRangeSeconds": [ 0, 3.24 ], "outputCadencePaddingSeconds": 0, "fullOriginalSelected": true, "fullOriginalTimelineSelected": true, "fullOriginalViewportSelected": true }, { "phase": "after", "kind": "screenshot", "sourceLogicalName": "light-desktop-prompt-daily", "expectedSourceSha256": "e38544c3c96cee78eec4b60e03ddf886575e7de20b6b39169c1cdd7e5db9fcef", "expectedSourceBytes": 95602, "label": "After · Shared setup recipes", "subtitle": "Light appearance · full captured viewport", "caption": "After: Light appearance context. The refactor names shared layout recipes while preserving the existing visible appearance and behavior.", "publicSourcePath": "automation-setup-layout-evidence/after/light-desktop-prompt-daily.png", "sourceSha256": "e38544c3c96cee78eec4b60e03ddf886575e7de20b6b39169c1cdd7e5db9fcef", "sourceBytes": 95602, "sourceDurationSeconds": null, "sourceFps": null, "timelineSeconds": [ 79.52, 82.0 ], "presentationDurationSeconds": 2.48, "editorialSpeedChange": false, "sourceStartSeconds": null, "sourceSelectedRangeSeconds": null, "outputCadencePaddingSeconds": 0, "fullOriginalSelected": false, "fullOriginalTimelineSelected": false, "fullOriginalViewportSelected": true, "sourcePlaybackNote": "Authentic PNG held for the stated presentation duration. A still has no source time range; no recorded motion is implied." } ], "ambience": { "origin": "Original synthesized ambient pad; no external samples or provider.", "frequenciesHz": [ 174.61, 220, 261.63 ], "amplitude": 0.004, "normalizationGain": 1.240191, "fadeInSeconds": 1.5, "fadeOutSeconds": 2, "meanDbfs": -52.5, "peakDbfs": -42.5, "applicationAudio": false }, "encodingNote": "Each scene is independently decoded, then concatenated in one continuous H264 encode with 2-second keyframes; no stream-copy video concatenation.", "recipeSha256": "d302fcf624268d3326030773d359cd11cddbe5e2b01009b1e70f647042f97d23" }, "preview": { "file": "automation-setup-layout-poster.jpg", "dimensions": [ 1440, 1120 ], "type": "poster", "audio": false, "limitation": "Static poster from the full-context Before lead, including the sidebar fixture-order disclosure. The MP4 contains native clips and original generated quiet ambience; the poster contains neither motion nor audio." }, "files": { "automation-setup-layout-comparison.json": { "sha256": "c115401abf619f87530385792dbbb8fa381ba1ea427b1d51bbedf7a6c21f9f84", "bytes": 23567 }, "automation-setup-layout-capture-provenance.json": { "sha256": "6de73fdae5cc799f368a2f152997cff0f25126d0fbe98f27a6965d570f9a13d6", "bytes": 69307 }, "automation-setup-layout-poster.jpg": { "sha256": "1de1a7fe5f2098b238ef1106d9401015db8a1c9a473c89a0e1118f14666c626f", "bytes": 104993 }, "automation-setup-layout-captions.vtt": { "sha256": "11ec077cc2c29213d554884be2386ffa47985745a3ae77faff19b12eb92210a5", "bytes": 3016 }, "automation-setup-layout-evidence.zip": { "sha256": "ea40b853661ee3b18502af1a8fd6000950404ca990bb5cc200fe5398662d8475", "bytes": 6733070 }, "automation-setup-layout-before-after.mp4": { "sha256": "65785af3bf6430053e20bd185202fd18304da0b6f28a0ddd5ba57a5eafea6bb2", "bytes": 5870743 } } }