diff --git a/docs/validation/extensions-marketplace-theme-20260923.json b/docs/validation/extensions-marketplace-theme-20260923.json new file mode 100644 index 000000000..ee9146adf --- /dev/null +++ b/docs/validation/extensions-marketplace-theme-20260923.json @@ -0,0 +1,4796 @@ +{ + "generatedAt": "2026-09-23T05:01:26.711164+00:00", + "workspaceSourceHashes": { + "run-check.py": "c73fdd11d3e02f4ab300923628b1061200fe7b1c1b3a426194dcf4847963e9c6", + "cf-check.py": "13b5fdf4ef983c9ddca036e1a7f86aa10f016ef90c12071f9f0d568de9ace9a5", + "theme-live-readback.cjs": "3f374043b3bcf56d4e7396d591bcc25e18dabe0ccb0c2a4835861ed0f6b29959", + "theme-predeploy-check.py": "28772da0e981e8c789eec04bd0df857c4de3ad0dfaf21a2119fbafd256396560", + "build-theme-evidence.py": "121b676efe1cf19bee124700a84289f66facca576176b10a52a1911b4c433682" + }, + "testedSource": "b4dcb40d92f9ea19bd5098b58c1115296d65eb60", + "priorAccepted": "7bbce09f4b65d7a17b4c44932a061b1738c28903", + "pr": "https://github.com/colbymchenry/codegraph/pull/1911", + "sourceHashes": { + "__tests__/extension-marketplace.test.ts": "bf473adc3d2485d10b010d5ca3606b62ca05991b06523a05923f6e3ef90d3f30", + "docs/validation/extensions-marketplace-theme-20260923.md": "13e2e01e5418964ea0f0785e418229735e819ce54e46fcf93e96a800ddb6cc6d", + "docs/validation/images/marketplace-theme-20260923/desktop-catalog.png": "39522af1ff28defbde80aa74a6215171574ccc461f71ad5bf9696ed4fd9e5025", + "docs/validation/images/marketplace-theme-20260923/desktop-connection.png": "d8ea91458f0bb27dacee256d35ee869c4dab6bd3e1c5ae7fc365dcc4e45643b1", + "docs/validation/images/marketplace-theme-20260923/desktop-publisher.png": "6806ff372c061678ebf1638a2d2934d935601ac5472d11802be3dd502b8c61c7", + "docs/validation/images/marketplace-theme-20260923/desktop-source.png": "edbb1eccc24e14de2c69a5dc9d9bef7d065d26749284fd1be00a2726ce3caa07", + "docs/validation/images/marketplace-theme-20260923/mobile-catalog.png": "6fa1bc4a1ffc0b4f7794713966c0bb47cfd238e9b4a08ce51ae57bc9fdc85a67", + "docs/validation/images/marketplace-theme-20260923/mobile-connection.png": "dc8e13abfa6690f4df6ecacb86b7873e510ffcc694e8608d2d514444864684f6", + "docs/validation/images/marketplace-theme-20260923/mobile-publisher.png": "131f2ddfb55b5f4b2ab2f49c9d1af4f88638a1682800a0c4edc9122acc1db98a", + "docs/validation/images/marketplace-theme-20260923/mobile-source.png": "467e23f2d4f3f6fdac50ca2ff0d6eca09c9f6404ad0d0054f0b751044f261629", + "marketplace/cloudflare/local.mjs": "bc0e5befe2704b39b084e7ea8c49d15dd3409f18320c84bfd7b88a781e6bf455", + "marketplace/cloudflare/worker.ts": "d49fafb07abccdb98cffc653fc7a26ef9ae42d85a220d01fcbe80768998ae9d2", + "marketplace/public/_headers": "7b2fb8fc7fc84e6968ab54a3e200df400b7af1fcb68bcf6aec44a6248a1aeb4e", + "marketplace/public/app.js": "1db3931a8c0e6ea7b84b53736577174cd44f91b44819f91e94025497947014f4", + "marketplace/public/asset-manifest.json": "fac623a846b987d0ae1f3b689397e6d36656d43aab8401f714e44cec99807008", + "marketplace/public/brand/codegraph.svg": "aa3a740796afecb1a2d9613ca7852aeb089cfc215672fae077b6354d40330c11", + "marketplace/public/brand/drupal.svg": "4507e60490d810f0accdd83efdd6eaace834fe15b210d40ee69fd9ded288ebd8", + "marketplace/public/fonts.css": "406d1608eab9daccfeae30aa8c463860be88062453f77084fcf60212cfdc6c1a", + "marketplace/public/fonts/archivo-latin-wght-normal.woff2": "8f704806dbedeaaeca334b11ec348bc3ac3a439d6431544b3afb54f534ee4967", + "marketplace/public/fonts/ibm-plex-mono-latin-400-normal.woff2": "08949f728dc52d528e69b1667d15c89a5686a4ee9a296ff90983985f99c380f7", + "marketplace/public/fonts/ibm-plex-mono-latin-500-normal.woff2": "01d285447409c8a588692162439a038b8cbd7871309ee20267b0d2d91c6e8e22", + "marketplace/public/fonts/ibm-plex-mono-latin-600-normal.woff2": "0d1f0b8d0722224e32e9f28261bdc86c79115be73444ae5eceb73976a1bcdf83", + "marketplace/public/icons.js": "00cbaf094ebd45cac3fa118db73e90124e0bfa13e2a76f6c5fb44be6ae1be962", + "marketplace/public/index.html": "fd93aefbe827fd654d8182309b9b4c23ffd193f336ea933e842772ec5792bf9b", + "marketplace/public/licenses/archivo.txt": "c3c8402eec0e31dc9a76851235b1c02a0bb821488b2db8e35bcc2ab60ca8fc2b", + "marketplace/public/licenses/drupal.txt": "87d7c32e09f941ff3815cd9eb6989506a652c18fd9620cb0e7e3ef7c979592ed", + "marketplace/public/licenses/feather.txt": "a2528528d53d609c02376d8efc8d00ea0e1cc48c387198880000b9d6ba9ae1a8", + "marketplace/public/licenses/ibm-plex-mono.txt": "23b0a9d0c6d3f140a0b77e483c5cfa6bba574325ef5cb189ed9f2fec4884533f", + "marketplace/public/licenses/lucide.txt": "1e7290b35280a048667bbf0ebabac1c7fd52a75300e8b2946ac165715997f2bc", + "marketplace/public/style.css": "bb511e2333019662eba3c6b1d940df1dc4bc940dd6269edfaf2adaa3b1db0b4d", + "marketplace/ui-assets/README.md": "19e3264fbd174ef8e263f1b9db4a9bd3f5d2fe6558b7fc656391350e0e7b7722", + "marketplace/ui-assets/build.cjs": "ee784e707fba709c6c33bfa2b93e47a19a1a3462b468b3aebb4fe3da1a34a6e8", + "marketplace/ui-assets/package-lock.json": "f8600f1691900273cf8e333426879de1cf461b50de5601cda54d2537599f9261", + "marketplace/ui-assets/package.json": "b1217d6785fec62dd3d50277b358ec091976c17716ab78e56f4dc469ca7669a6", + "scripts/validation/extensions-compatibility.cjs": "e467d150fb9dfdb36d89174545c68347c1f4c4d99c7543c55730e2d770a1788e", + "scripts/validation/marketplace-browser.cjs": "e7dfc872f89936ee85dc90c9ffa40fa3bec8d27c247ce1f4c8b6b4ae9437c618", + "scripts/validation/marketplace-source-browser.cjs": "fcce53f0e6768c40aabb89b0f6a28192df6bf6a77b75895098c05af4b3d8e5b6", + "scripts/validation/marketplace-theme-browser.cjs": "c0289904554c34a314672411bed22cb0ad022110ac02b2bd5e09aaa2e19fb3bb", + "src/plugins/marketplace.ts": "7a03c3ce4e5b356133c05e97e668e5c10ce5755bc74f1c64cefd85daa37ea246" + }, + "compiledHashes": { + "dist/index.js": "e66d30aaa728ca54cd419af1f50aa0ca22a6409efd58bb71b97ec5564de56ae5", + "dist/index.d.ts": "7a4d7d0e8829e1ebe74e387b1e2503ebd1d798f8174e1af81a72c1d62fc61d09", + "dist/db/index.js": "84832b6b622bbf40b2beed2824e6d020b18e55ddfa2d16458dcb8d638d102966", + "dist/plugins/recovery.js": "49ed19a5a386273a17d21b823b620be312dc58533e5a5dc8c451e97e39d39774", + "dist/extraction/index.js": "66dd378d44e82bbaf23df3b54a28aeaaa3e8bf6dea000eaa11d5d6aef6ea6b86", + "dist/extraction/core-reuse.js": "2c2883ef6a465edae6bf07fc02574eb975d6d2e2cd1d31ace49d9b87fed137c7", + "dist/extraction/parse-pool.js": "94cc18e2c14241f665641c174e9d882f5c893cfb825d6d13744d6a094fe929d6", + "dist/extraction/parse-worker.js": "85fa539597a610eb97c5738f9cfaaecf8b17cf7944519e2b95fb81a334daddc2", + "dist/extraction/tree-sitter.js": "87bfc4cd6cdc3cbc8406a531edc127ec84cacf770c9251a5bcfeaaf78b61883c", + "dist/extensions/drupal.cgext": "e5ed73bee51524585e4f4da1d5017fdee3037a3fa71d8f08edab6c318fedc59a", + "dist/extensions/drupal-0.1.0.cgext": "e5015747d02fe50d6af607b6c44f1db9cf7969a0070866ed03c7643377a459c8", + "dist/extensions/drupal-0.1.1.cgext": "e5ed73bee51524585e4f4da1d5017fdee3037a3fa71d8f08edab6c318fedc59a", + "marketplace/cloudflare/.build/worker.js": "7d4cf7fcebec3d6a78ea1dc7a139b74adf400a318dbf7374149359e4b14825f1", + "marketplace/cloudflare/.build/test-worker.js": "78ca7bc25b7b9f43bc06a7442a40aa6031ba6387a1621fb665f875f41100e463", + ".qa/source-budget/ui-dryrun/worker.js": "43dc01b6bd20160381d409c80ecd4f447ab6539a34890110e6dcad6684060561", + "dist/plugins/marketplace.js": "620c365dbdffc355a69c0b2ec6020ba8c66aaba6fae8cd74ab0b0aad254664d9", + "dist/plugins/marketplace.d.ts": "05f09a482242037d075112df5e4208c9e32cef7dfb178b1373ce995e7629c0a1", + ".qa/theme/ui-dryrun/worker.js": "43dc01b6bd20160381d409c80ecd4f447ab6539a34890110e6dcad6684060561" + }, + "immutableArtifacts": { + "extensions/drupal/releases/drupal-0.1.0.cgext": "e5015747d02fe50d6af607b6c44f1db9cf7969a0070866ed03c7643377a459c8", + "dist/extensions/drupal.cgext": "e5ed73bee51524585e4f4da1d5017fdee3037a3fa71d8f08edab6c318fedc59a" + }, + "acceptedReuse": { + "sourceHashes": { + "matched": { + "CHANGELOG.md": { + "accepted": "dce3f0762d5952ad80063fe54897045712f425124a8985dbae081e904d9ef385", + "current": "dce3f0762d5952ad80063fe54897045712f425124a8985dbae081e904d9ef385" + }, + "docs/extensions/marketplace-budget-and-source.md": { + "accepted": "8ada69cb520ec7ab0d66694511ab4210de45bd00bb0d81c3b5fa453d035078ea", + "current": "8ada69cb520ec7ab0d66694511ab4210de45bd00bb0d81c3b5fa453d035078ea" + }, + "docs/validation/extensions-budget-source-20260923.md": { + "accepted": "61fef5ae75a134cb0f31f1f61b0d91777c1fd7507e38ff6a407b7b751406dde2", + "current": "61fef5ae75a134cb0f31f1f61b0d91777c1fd7507e38ff6a407b7b751406dde2" + }, + "docs/validation/images/budget-source-20260923/local-desktop.png": { + "accepted": "146296358501c20edbf37d0ffce8af99a5e67be042552d3095ccb07202455d2e", + "current": "146296358501c20edbf37d0ffce8af99a5e67be042552d3095ccb07202455d2e" + }, + "docs/validation/images/budget-source-20260923/local-mobile.png": { + "accepted": "89c10d7d8292c901cc0e6248f0235d65d9f02964a3c71584e386a4bbd90d8e20", + "current": "89c10d7d8292c901cc0e6248f0235d65d9f02964a3c71584e386a4bbd90d8e20" + }, + "docs/validation/images/budget-source-20260923/readonly-overlay-desktop.png": { + "accepted": "6aeec4a2e2cb05d009e3d065881e790b9890bc1c6a0fd8fa6734feea35241365", + "current": "6aeec4a2e2cb05d009e3d065881e790b9890bc1c6a0fd8fa6734feea35241365" + }, + "docs/validation/images/budget-source-20260923/readonly-overlay-mobile.png": { + "accepted": "8d59ba0cc7287212baeda5abae330817d1bb55e863430355ee3a5841281205c8", + "current": "8d59ba0cc7287212baeda5abae330817d1bb55e863430355ee3a5841281205c8" + }, + "marketplace/cloudflare/.gitignore": { + "accepted": "b0b03865851368853903bf79cfabe0476c8825c93208cfe65ced3416748e1ede", + "current": "b0b03865851368853903bf79cfabe0476c8825c93208cfe65ced3416748e1ede" + }, + "marketplace/cloudflare/build.mjs": { + "accepted": "928ac6fb72ff1cab5c9742b127839524ccd81d28057bf7dbda18e2eded407678", + "current": "928ac6fb72ff1cab5c9742b127839524ccd81d28057bf7dbda18e2eded407678" + }, + "marketplace/cloudflare/hosted-ops-test.mjs": { + "accepted": "657bfc17b4f6247368b1f8fa847609935e0ed9ab89a1e1abe36bd2049c8c97f5", + "current": "657bfc17b4f6247368b1f8fa847609935e0ed9ab89a1e1abe36bd2049c8c97f5" + }, + "marketplace/cloudflare/hosted-ops.mjs": { + "accepted": "9ef0b18bb0d83f73c119667a07d2510edb6df1966498e4af14ea62de02647061", + "current": "9ef0b18bb0d83f73c119667a07d2510edb6df1966498e4af14ea62de02647061" + }, + "marketplace/cloudflare/official-policy.json": { + "accepted": "9246028741797088c5ddb34079090fe73d6d111ed639a9d35a172d8416c3b8f1", + "current": "9246028741797088c5ddb34079090fe73d6d111ed639a9d35a172d8416c3b8f1" + }, + "marketplace/cloudflare/official-test.mjs": { + "accepted": "4feca219b6a48dbfb33a420cbad11f9d15695b630d87f1cdea92248ac2ef05ec", + "current": "4feca219b6a48dbfb33a420cbad11f9d15695b630d87f1cdea92248ac2ef05ec" + }, + "marketplace/cloudflare/official.mjs": { + "accepted": "b49b31a99c5c163ef964e6870889aa3f910b0301bcf4e4122450d15d8eab69e6", + "current": "b49b31a99c5c163ef964e6870889aa3f910b0301bcf4e4122450d15d8eab69e6" + }, + "marketplace/cloudflare/package-lock.json": { + "accepted": "50e94ebca41788619b4f9b97a79dfffd60392b09cbae8e88869768d7d4f0a4f7", + "current": "50e94ebca41788619b4f9b97a79dfffd60392b09cbae8e88869768d7d4f0a4f7" + }, + "marketplace/cloudflare/package.json": { + "accepted": "97470c687f45a99b5e987ba7bd2cfd7208692ad41a308aab2f3a03ededeb06fc", + "current": "97470c687f45a99b5e987ba7bd2cfd7208692ad41a308aab2f3a03ededeb06fc" + }, + "marketplace/cloudflare/publication-window-test.mjs": { + "accepted": "d09ffabe3acf12c93484a9649628d4df29424f055ea5750f5cafe20fe901137c", + "current": "d09ffabe3acf12c93484a9649628d4df29424f055ea5750f5cafe20fe901137c" + }, + "marketplace/cloudflare/review-source.mjs": { + "accepted": "4ff2eeb3741e9db055cf6bd59a85fd04571e6651251f79ddf82c85d9239304f0", + "current": "4ff2eeb3741e9db055cf6bd59a85fd04571e6651251f79ddf82c85d9239304f0" + }, + "marketplace/cloudflare/source-test.mjs": { + "accepted": "fa96dd770788d9d5060e9724bca941c63c1642ecc86ed6b9519be5d8389fcef5", + "current": "fa96dd770788d9d5060e9724bca941c63c1642ecc86ed6b9519be5d8389fcef5" + }, + "marketplace/cloudflare/test-child.mjs": { + "accepted": "76e3fc10579e9ef73121eb8480217275b9a9358478a266c8dfc9e51924be4711", + "current": "76e3fc10579e9ef73121eb8480217275b9a9358478a266c8dfc9e51924be4711" + }, + "marketplace/cloudflare/test-worker.ts": { + "accepted": "1401c06250c83d02108ded9ca2d322ccb0ce8c9f07e14bae637e6e0209775ca9", + "current": "1401c06250c83d02108ded9ca2d322ccb0ce8c9f07e14bae637e6e0209775ca9" + }, + "marketplace/cloudflare/test.mjs": { + "accepted": "49f2076270d7671c9ff43d1580ebfc5ebe535046a70b5bb960ec1721a59aad41", + "current": "49f2076270d7671c9ff43d1580ebfc5ebe535046a70b5bb960ec1721a59aad41" + }, + "marketplace/cloudflare/worker.ts": { + "accepted": "d49fafb07abccdb98cffc653fc7a26ef9ae42d85a220d01fcbe80768998ae9d2", + "current": "d49fafb07abccdb98cffc653fc7a26ef9ae42d85a220d01fcbe80768998ae9d2" + }, + "marketplace/public/_headers": { + "accepted": "7b2fb8fc7fc84e6968ab54a3e200df400b7af1fcb68bcf6aec44a6248a1aeb4e", + "current": "7b2fb8fc7fc84e6968ab54a3e200df400b7af1fcb68bcf6aec44a6248a1aeb4e" + }, + "marketplace/source-review.cjs": { + "accepted": "c4f9cab7a242547b1bb64ace3ca5231e0bb815cd9c1fc0951f9ae3991525b1e7", + "current": "c4f9cab7a242547b1bb64ace3ca5231e0bb815cd9c1fc0951f9ae3991525b1e7" + }, + "marketplace/source-reviews.json": { + "accepted": "dc4a75c737fff1e1aca351cb3ff3f549b24964cd780dc2f6219107895800d5f8", + "current": "dc4a75c737fff1e1aca351cb3ff3f549b24964cd780dc2f6219107895800d5f8" + }, + "scripts/validation/cloudflare-registry.cjs": { + "accepted": "b6acba301944ab0fc4f00e79dbcdc139271f90eb77ec267318582e3e6b75cc96", + "current": "b6acba301944ab0fc4f00e79dbcdc139271f90eb77ec267318582e3e6b75cc96" + }, + "scripts/validation/extensions-compatibility.cjs": { + "accepted": "e467d150fb9dfdb36d89174545c68347c1f4c4d99c7543c55730e2d770a1788e", + "current": "e467d150fb9dfdb36d89174545c68347c1f4c4d99c7543c55730e2d770a1788e" + }, + "scripts/validation/marketplace-browser.cjs": { + "accepted": "e7dfc872f89936ee85dc90c9ffa40fa3bec8d27c247ce1f4c8b6b4ae9437c618", + "current": "e7dfc872f89936ee85dc90c9ffa40fa3bec8d27c247ce1f4c8b6b4ae9437c618" + }, + "scripts/validation/marketplace-budget.cjs": { + "accepted": "7556a078556d19fc5f087ef45dacb1938df157ff2a5220fe91fe6904c2bea876", + "current": "7556a078556d19fc5f087ef45dacb1938df157ff2a5220fe91fe6904c2bea876" + }, + "scripts/validation/marketplace-source-hosted-readonly.cjs": { + "accepted": "921f78c65a4aee9e2e8d36374280be5b0815274398e64b29745bdf90b87fceee", + "current": "921f78c65a4aee9e2e8d36374280be5b0815274398e64b29745bdf90b87fceee" + }, + "src/plugins/package-validation.ts": { + "accepted": "22edaf08c9531c6169ca0abf8f80c5b3536e29b049a2c387393ba2af4e003bf9", + "current": "22edaf08c9531c6169ca0abf8f80c5b3536e29b049a2c387393ba2af4e003bf9" + }, + "src/plugins/package.ts": { + "accepted": "98fb111460d5a2ef5e1f1dc367768e7b44cc44bb51549b4a4f93c9f5a6694fbc", + "current": "98fb111460d5a2ef5e1f1dc367768e7b44cc44bb51549b4a4f93c9f5a6694fbc" + } + }, + "changed": { + "marketplace/cloudflare/local.mjs": { + "accepted": "b71d3c77265a40076cbf4b3bd0eb7128702f590c3281444cfada4d978ae1a751", + "current": "bc0e5befe2704b39b084e7ea8c49d15dd3409f18320c84bfd7b88a781e6bf455" + }, + "marketplace/public/app.js": { + "accepted": "daee5b464f885a30313ec41951d23c74cb922d32bd6e98487c1f5492946b0efc", + "current": "1db3931a8c0e6ea7b84b53736577174cd44f91b44819f91e94025497947014f4" + }, + "marketplace/public/index.html": { + "accepted": "f21a48f085163669974fa8967bb1651a5289c2395840136811e12ed2a799403d", + "current": "fd93aefbe827fd654d8182309b9b4c23ffd193f336ea933e842772ec5792bf9b" + }, + "marketplace/public/style.css": { + "accepted": "54a868bb567596233dfbcbd98583d8593f38ce7c77100f9d0836e94f87d1a8ae", + "current": "bb511e2333019662eba3c6b1d940df1dc4bc940dd6269edfaf2adaa3b1db0b4d" + }, + "scripts/validation/marketplace-source-browser.cjs": { + "accepted": "51213b4c45a555cd2c3daa612053ea968ad27921812501299747a09f0b55442b", + "current": "fcce53f0e6768c40aabb89b0f6a28192df6bf6a77b75895098c05af4b3d8e5b6" + }, + "src/plugins/marketplace.ts": { + "accepted": "8f9a09fecbece38c380a0e1c296aa85ce2bf3cfb341fcf9b035c57bd3354ac22", + "current": "7a03c3ce4e5b356133c05e97e668e5c10ce5755bc74f1c64cefd85daa37ea246" + } + } + }, + "compiledHashes": { + "matched": { + "dist/index.js": { + "accepted": "e66d30aaa728ca54cd419af1f50aa0ca22a6409efd58bb71b97ec5564de56ae5", + "current": "e66d30aaa728ca54cd419af1f50aa0ca22a6409efd58bb71b97ec5564de56ae5" + }, + "dist/index.d.ts": { + "accepted": "7a4d7d0e8829e1ebe74e387b1e2503ebd1d798f8174e1af81a72c1d62fc61d09", + "current": "7a4d7d0e8829e1ebe74e387b1e2503ebd1d798f8174e1af81a72c1d62fc61d09" + }, + "dist/db/index.js": { + "accepted": "84832b6b622bbf40b2beed2824e6d020b18e55ddfa2d16458dcb8d638d102966", + "current": "84832b6b622bbf40b2beed2824e6d020b18e55ddfa2d16458dcb8d638d102966" + }, + "dist/plugins/recovery.js": { + "accepted": "49ed19a5a386273a17d21b823b620be312dc58533e5a5dc8c451e97e39d39774", + "current": "49ed19a5a386273a17d21b823b620be312dc58533e5a5dc8c451e97e39d39774" + }, + "dist/extraction/index.js": { + "accepted": "66dd378d44e82bbaf23df3b54a28aeaaa3e8bf6dea000eaa11d5d6aef6ea6b86", + "current": "66dd378d44e82bbaf23df3b54a28aeaaa3e8bf6dea000eaa11d5d6aef6ea6b86" + }, + "dist/extraction/core-reuse.js": { + "accepted": "2c2883ef6a465edae6bf07fc02574eb975d6d2e2cd1d31ace49d9b87fed137c7", + "current": "2c2883ef6a465edae6bf07fc02574eb975d6d2e2cd1d31ace49d9b87fed137c7" + }, + "dist/extraction/parse-pool.js": { + "accepted": "94cc18e2c14241f665641c174e9d882f5c893cfb825d6d13744d6a094fe929d6", + "current": "94cc18e2c14241f665641c174e9d882f5c893cfb825d6d13744d6a094fe929d6" + }, + "dist/extraction/parse-worker.js": { + "accepted": "85fa539597a610eb97c5738f9cfaaecf8b17cf7944519e2b95fb81a334daddc2", + "current": "85fa539597a610eb97c5738f9cfaaecf8b17cf7944519e2b95fb81a334daddc2" + }, + "dist/extraction/tree-sitter.js": { + "accepted": "87bfc4cd6cdc3cbc8406a531edc127ec84cacf770c9251a5bcfeaaf78b61883c", + "current": "87bfc4cd6cdc3cbc8406a531edc127ec84cacf770c9251a5bcfeaaf78b61883c" + }, + "dist/extensions/drupal.cgext": { + "accepted": "e5ed73bee51524585e4f4da1d5017fdee3037a3fa71d8f08edab6c318fedc59a", + "current": "e5ed73bee51524585e4f4da1d5017fdee3037a3fa71d8f08edab6c318fedc59a" + }, + "dist/extensions/drupal-0.1.0.cgext": { + "accepted": "e5015747d02fe50d6af607b6c44f1db9cf7969a0070866ed03c7643377a459c8", + "current": "e5015747d02fe50d6af607b6c44f1db9cf7969a0070866ed03c7643377a459c8" + }, + "dist/extensions/drupal-0.1.1.cgext": { + "accepted": "e5ed73bee51524585e4f4da1d5017fdee3037a3fa71d8f08edab6c318fedc59a", + "current": "e5ed73bee51524585e4f4da1d5017fdee3037a3fa71d8f08edab6c318fedc59a" + }, + "marketplace/cloudflare/.build/worker.js": { + "accepted": "7d4cf7fcebec3d6a78ea1dc7a139b74adf400a318dbf7374149359e4b14825f1", + "current": "7d4cf7fcebec3d6a78ea1dc7a139b74adf400a318dbf7374149359e4b14825f1" + }, + "marketplace/cloudflare/.build/test-worker.js": { + "accepted": "78ca7bc25b7b9f43bc06a7442a40aa6031ba6387a1621fb665f875f41100e463", + "current": "78ca7bc25b7b9f43bc06a7442a40aa6031ba6387a1621fb665f875f41100e463" + }, + ".qa/source-budget/ui-dryrun/worker.js": { + "accepted": "43dc01b6bd20160381d409c80ecd4f447ab6539a34890110e6dcad6684060561", + "current": "43dc01b6bd20160381d409c80ecd4f447ab6539a34890110e6dcad6684060561" + } + }, + "changed": {} + } + }, + "commands": [ + { + "name": "theme-assets-build", + "receipt": ".qa/recovery/theme-assets-build.json", + "receiptSha256": "9264d76770832abbcc2a19c0ceecb7e187df029c67d4dc8be50010a04e86db46", + "log": ".qa/recovery/theme-assets-build.log", + "logSha256": "28c8d2a480ee1f00dac2709882303cf6245e44e124115c3e9706d1709bd73575", + "body": { + "command": [ + "npm", + "run", + "build", + "--prefix", + "marketplace/ui-assets" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:28:56.158769+00:00", + "revision": "7bbce09f4b65d7a17b4c44932a061b1738c28903", + "working_tree": "?? marketplace/public/brand/\n?? marketplace/public/licenses/\n?? marketplace/ui-assets/\n", + "exit_code": 0, + "seconds": 0.795, + "finished_at": "2026-09-23T04:28:56.952896+00:00", + "summary": [] + } + }, + { + "name": "theme-assets-check", + "receipt": ".qa/recovery/theme-assets-check.json", + "receiptSha256": "def9cf78a685b7402486775acf5e6fe1e37016fc6147dd7dc1e293043bde0cfd", + "log": ".qa/recovery/theme-assets-check.log", + "logSha256": "b6f8221d4d64b29ef371f88d7ca20451bd1b928d0260bf734a136d9a81e56520", + "body": { + "command": [ + "npm", + "run", + "check", + "--prefix", + "marketplace/ui-assets" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:48:32.063599+00:00", + "revision": "7bbce09f4b65d7a17b4c44932a061b1738c28903", + "working_tree": " M __tests__/extension-marketplace.test.ts\n M marketplace/cloudflare/local.mjs\n M marketplace/public/app.js\n M marketplace/public/index.html\n M marketplace/public/style.css\n M scripts/validation/marketplace-source-browser.cjs\n M src/plugins/marketplace.ts\n?? marketplace/public/asset-manifest.json\n?? marketplace/public/brand/\n?? marketplace/public/fonts.css\n?? marketplace/public/fonts/\n?? marketplace/public/icons.js\n?? marketplace/public/licenses/\n?? marketplace/ui-assets/\n?? scripts/validation/marketplace-theme-browser.cjs\n", + "exit_code": 0, + "seconds": 0.401, + "finished_at": "2026-09-23T04:48:32.464593+00:00", + "summary": [] + } + }, + { + "name": "theme-assets-final", + "receipt": ".qa/recovery/theme-assets-final.json", + "receiptSha256": "6218fc69a8140832a77fed5a29ca17f8cd6afb6d683e8c4e1403d1d3197baaac", + "log": ".qa/recovery/theme-assets-final.log", + "logSha256": "b6f8221d4d64b29ef371f88d7ca20451bd1b928d0260bf734a136d9a81e56520", + "body": { + "command": [ + "npm", + "run", + "check", + "--prefix", + "marketplace/ui-assets" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:50:48.235304+00:00", + "revision": "b4dcb40d92f9ea19bd5098b58c1115296d65eb60", + "working_tree": "", + "exit_code": 0, + "seconds": 22.735, + "finished_at": "2026-09-23T04:51:10.978724+00:00", + "summary": [] + } + }, + { + "name": "theme-assets-install-cached", + "receipt": ".qa/recovery/theme-assets-install-cached.json", + "receiptSha256": "d1e1c8e919eac39c671b017b8bfaad8d008ea32d70d2a289a85402de7a49c22f", + "log": ".qa/recovery/theme-assets-install-cached.log", + "logSha256": "e285c6a615d801333332c139feedc97d7ab7f782783eee45e346e49d0b4ab26b", + "body": { + "command": [ + "npm", + "install", + "--prefix", + "marketplace/ui-assets", + "--cache", + ".qa/theme/npm-cache", + "--ignore-scripts", + "--no-audit", + "--no-fund" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:26:59.991409+00:00", + "revision": "7bbce09f4b65d7a17b4c44932a061b1738c28903", + "working_tree": "?? marketplace/ui-assets/\n", + "exit_code": 0, + "seconds": 5.402, + "finished_at": "2026-09-23T04:27:05.393781+00:00", + "summary": [] + } + }, + { + "name": "theme-assets-install", + "receipt": ".qa/recovery/theme-assets-install.json", + "receiptSha256": "04d7de56cab2ff0c27b0cb09f802140b4e35dfad0daca56706a502e8d0a97618", + "log": ".qa/recovery/theme-assets-install.log", + "logSha256": "24a58a817d90b86d4f9f71f2cccbf064d156fe103763be585a6a7a6c91cad118", + "body": { + "command": [ + "npm", + "install", + "--prefix", + "marketplace/ui-assets", + "--ignore-scripts", + "--no-audit", + "--no-fund" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:23:55.934482+00:00", + "revision": "7bbce09f4b65d7a17b4c44932a061b1738c28903", + "working_tree": "?? marketplace/ui-assets/\n", + "exit_code": 1, + "seconds": 1.211, + "finished_at": "2026-09-23T04:23:57.145075+00:00", + "summary": [] + } + }, + { + "name": "theme-browser-live", + "receipt": ".qa/recovery/theme-browser-live.json", + "receiptSha256": "6485610638c4a7325a1c1c72f80a34bfa170017604fc329722c4c42fc79994f4", + "log": ".qa/recovery/theme-browser-live.log", + "logSha256": "698587b2dc7f1eb628ec798dc4f296547d8d48630312229fcc85d52a2b7bd590", + "body": { + "command": [ + "env", + "PLAYWRIGHT_MODULE=/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/browser-tools/node_modules/playwright", + "THEME_ORIGIN=https://codegraph-marketplace-preview.colby-7d9.workers.dev", + "THEME_OUTPUT=.qa/theme/browser-live", + "node", + "scripts/validation/marketplace-theme-browser.cjs" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:57:41.502960+00:00", + "revision": "b4dcb40d92f9ea19bd5098b58c1115296d65eb60", + "working_tree": "", + "exit_code": 0, + "seconds": 7.633, + "finished_at": "2026-09-23T04:57:49.137373+00:00", + "summary": [] + } + }, + { + "name": "theme-compatibility-final", + "receipt": ".qa/recovery/theme-compatibility-final.json", + "receiptSha256": "ceb31b535701b7c28c038f8c574060a9a7b19c4c6b690a0ef76042ca9d2a728f", + "log": ".qa/recovery/theme-compatibility-final.log", + "logSha256": "d4686feaa42e9254089e6ae63af6f1bef1f2d870d367d45d064285d8eda71e8b", + "body": { + "command": [ + "env", + "PLAYWRIGHT_MODULE=/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/browser-tools/node_modules/playwright", + "COMPAT_OUTPUT=.qa/theme/compatibility-final", + "node", + "scripts/validation/extensions-compatibility.cjs" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:54:55.306292+00:00", + "revision": "b4dcb40d92f9ea19bd5098b58c1115296d65eb60", + "working_tree": "", + "exit_code": 0, + "seconds": 54.238, + "finished_at": "2026-09-23T04:55:49.545509+00:00", + "summary": [] + } + }, + { + "name": "theme-deployments-after", + "receipt": ".qa/recovery/theme-deployments-after.json", + "receiptSha256": "41f7c559de3013a0a580b037a66afbd00cf106e4d91c2a8224184350cc63d01b", + "log": ".qa/recovery/theme-deployments-after.log", + "logSha256": "8e87cc294f8da3a6a841ea2e3d0914e6685c33e85db27b2cb702df8ddabfe712", + "body": { + "command": [ + "env", + "CLOUDFLARE_ACCOUNT_ID=7d98d729ba8b090125fe2d6aab88135a", + "WRANGLER_LOG_PATH=/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph/.qa/hosted/wrangler", + "node", + "marketplace/cloudflare/node_modules/wrangler/bin/wrangler.js", + "deployments", + "list", + "--config", + "marketplace/cloudflare/wrangler.source-ui.json", + "--json" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:57:20.212942+00:00", + "revision": "b4dcb40d92f9ea19bd5098b58c1115296d65eb60", + "working_tree": "", + "exit_code": 0, + "seconds": 2.486, + "finished_at": "2026-09-23T04:57:22.699822+00:00", + "summary": [] + } + }, + { + "name": "theme-deployments-before", + "receipt": ".qa/recovery/theme-deployments-before.json", + "receiptSha256": "4da22d860ed869d8fe1daa74a0bcfddadbb0010097a74fc55507682e1248a1a3", + "log": ".qa/recovery/theme-deployments-before.log", + "logSha256": "018fd2c8675fbd9aa05331323c3802f0c06c7e429a774a544a348b9221f94ff3", + "body": { + "command": [ + "env", + "CLOUDFLARE_ACCOUNT_ID=7d98d729ba8b090125fe2d6aab88135a", + "WRANGLER_LOG_PATH=/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph/.qa/hosted/wrangler", + "node", + "marketplace/cloudflare/node_modules/wrangler/bin/wrangler.js", + "deployments", + "list", + "--config", + "marketplace/cloudflare/wrangler.source-ui.json", + "--json" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:52:47.731495+00:00", + "revision": "b4dcb40d92f9ea19bd5098b58c1115296d65eb60", + "working_tree": "", + "exit_code": 0, + "seconds": 2.455, + "finished_at": "2026-09-23T04:52:50.187571+00:00", + "summary": [] + } + }, + { + "name": "theme-live-after", + "receipt": ".qa/recovery/theme-live-after.json", + "receiptSha256": "6910b16d175b742b3652452f95b3de770fa928422a8665e6d20b3b65662158cd", + "log": ".qa/recovery/theme-live-after.log", + "logSha256": "bff08db4ccd79f039b82c1be918430bb23dac57631f30c40feecc090b19ba7b9", + "body": { + "command": [ + "node", + "../theme-live-readback.cjs", + "after" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:57:22.784690+00:00", + "revision": "b4dcb40d92f9ea19bd5098b58c1115296d65eb60", + "working_tree": "", + "exit_code": 0, + "seconds": 2.952, + "finished_at": "2026-09-23T04:57:25.736233+00:00", + "summary": [] + } + }, + { + "name": "theme-live-before", + "receipt": ".qa/recovery/theme-live-before.json", + "receiptSha256": "016b32e5566315a554a331ec09fffe93220d993f3022406161eb4edef05b5755", + "log": ".qa/recovery/theme-live-before.log", + "logSha256": "dc4d7b4e0d45d1576876c5c8d87f03f19f6d3dfb781150cff269aadaa832d1bb", + "body": { + "command": [ + "node", + "../theme-live-readback.cjs", + "before" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:54:16.976174+00:00", + "revision": "b4dcb40d92f9ea19bd5098b58c1115296d65eb60", + "working_tree": "", + "exit_code": 0, + "seconds": 1.208, + "finished_at": "2026-09-23T04:54:18.184228+00:00", + "summary": [] + } + }, + { + "name": "theme-predeploy-check-normalized", + "receipt": ".qa/recovery/theme-predeploy-check-normalized.json", + "receiptSha256": "d81cf908594a4e25b8e273a7d8f9f308a8dd6efec3acd0938e4c564fb930c7e8", + "log": ".qa/recovery/theme-predeploy-check-normalized.log", + "logSha256": "211b558061e44af81a24ed488efa6be8598ff6b03929d3f9eba2a7072b1e3917", + "body": { + "command": [ + "python3", + "../theme-predeploy-check.py" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:56:31.870875+00:00", + "revision": "b4dcb40d92f9ea19bd5098b58c1115296d65eb60", + "working_tree": "", + "exit_code": 0, + "seconds": 0.091, + "finished_at": "2026-09-23T04:56:31.961598+00:00", + "summary": [] + } + }, + { + "name": "theme-predeploy-check", + "receipt": ".qa/recovery/theme-predeploy-check.json", + "receiptSha256": "43d34deae2f7c7586a93ec6cd230f7e0656e1cb9adaf07e56e90a7f9290ca0f3", + "log": ".qa/recovery/theme-predeploy-check.log", + "logSha256": "360e9a080fffe324c8bf167c2fe2ce20410ef29b7d05103554ff6c3badd1a7a5", + "body": { + "command": [ + "python3", + "../theme-predeploy-check.py" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:56:19.329112+00:00", + "revision": "b4dcb40d92f9ea19bd5098b58c1115296d65eb60", + "working_tree": "", + "exit_code": 1, + "seconds": 0.236, + "finished_at": "2026-09-23T04:56:19.565135+00:00", + "summary": [] + } + }, + { + "name": "theme-publisher-final-serial", + "receipt": ".qa/recovery/theme-publisher-final-serial.json", + "receiptSha256": "4c8a51331d5d6b4606aa28f70a07d9579a8f99b94e3324555a8f1cd71f36e0a4", + "log": ".qa/recovery/theme-publisher-final-serial.log", + "logSha256": "76608fcc219a5b6f3972163a2e1583ae1019c75dae7294c003ec88aca1c580d8", + "body": { + "command": [ + "env", + "PLAYWRIGHT_MODULE=/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/browser-tools/node_modules/playwright", + "BROWSER_OUTPUT=.qa/theme/publisher-final-serial", + "node", + "scripts/validation/marketplace-browser.cjs" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:53:31.504312+00:00", + "revision": "b4dcb40d92f9ea19bd5098b58c1115296d65eb60", + "working_tree": "", + "exit_code": 0, + "seconds": 21.833, + "finished_at": "2026-09-23T04:53:53.338002+00:00", + "summary": [] + } + }, + { + "name": "theme-publisher-final", + "receipt": ".qa/recovery/theme-publisher-final.json", + "receiptSha256": "65e1596b984c3a04ce9e832173a9c1ebaf96612b23f0a502e32a7c84ca20c9c4", + "log": ".qa/recovery/theme-publisher-final.log", + "logSha256": "017f41d30994ec311d3d49733d3fa3b96498047d49d5d9464c3683efdede49c6", + "body": { + "command": [ + "env", + "PLAYWRIGHT_MODULE=/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/browser-tools/node_modules/playwright", + "BROWSER_OUTPUT=.qa/theme/publisher-final", + "node", + "scripts/validation/marketplace-browser.cjs" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:50:28.513973+00:00", + "revision": "b4dcb40d92f9ea19bd5098b58c1115296d65eb60", + "working_tree": "", + "exit_code": 1, + "seconds": 52.133, + "finished_at": "2026-09-23T04:51:20.647320+00:00", + "summary": [] + } + }, + { + "name": "theme-source-browser-assets", + "receipt": ".qa/recovery/theme-source-browser-assets.json", + "receiptSha256": "9389e2a57eacd143378e1113cdcd9c751b617136d372f53d3e5c56d1a8355a75", + "log": ".qa/recovery/theme-source-browser-assets.log", + "logSha256": "88f2723b0862b36eadb647f848e3573f09e908589d1ec1b0a178407ac12c8103", + "body": { + "command": [ + "env", + "PLAYWRIGHT_MODULE=/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/browser-tools/node_modules/playwright", + "SOURCE_BROWSER_OUTPUT=.qa/theme/source-browser-assets", + "node", + "scripts/validation/marketplace-source-browser.cjs" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:42:50.310837+00:00", + "revision": "7bbce09f4b65d7a17b4c44932a061b1738c28903", + "working_tree": " M __tests__/extension-marketplace.test.ts\n M marketplace/cloudflare/local.mjs\n M marketplace/public/app.js\n M marketplace/public/index.html\n M marketplace/public/style.css\n M src/plugins/marketplace.ts\n?? marketplace/public/asset-manifest.json\n?? marketplace/public/brand/\n?? marketplace/public/fonts.css\n?? marketplace/public/fonts/\n?? marketplace/public/icons.js\n?? marketplace/public/licenses/\n?? marketplace/ui-assets/\n", + "exit_code": 0, + "seconds": 16.784, + "finished_at": "2026-09-23T04:43:07.094389+00:00", + "summary": [] + } + }, + { + "name": "theme-source-browser-routing", + "receipt": ".qa/recovery/theme-source-browser-routing.json", + "receiptSha256": "3a3f9e155302c09d7db7cc903ec910c3457edfa6870c511589b717cb5a8b5dcf", + "log": ".qa/recovery/theme-source-browser-routing.log", + "logSha256": "a1b851477b5ecea5034a4032a0baf86ba001f9e6d6634775a6f1da8d7abfad5a", + "body": { + "command": [ + "env", + "PLAYWRIGHT_MODULE=/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/browser-tools/node_modules/playwright", + "SOURCE_BROWSER_OUTPUT=.qa/theme/source-browser-routing", + "node", + "scripts/validation/marketplace-source-browser.cjs" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:41:19.487869+00:00", + "revision": "7bbce09f4b65d7a17b4c44932a061b1738c28903", + "working_tree": " M marketplace/cloudflare/local.mjs\n M marketplace/public/app.js\n M marketplace/public/index.html\n M marketplace/public/style.css\n?? marketplace/public/asset-manifest.json\n?? marketplace/public/brand/\n?? marketplace/public/fonts.css\n?? marketplace/public/fonts/\n?? marketplace/public/icons.js\n?? marketplace/public/licenses/\n?? marketplace/ui-assets/\n", + "exit_code": 1, + "seconds": 3.282, + "finished_at": "2026-09-23T04:41:22.769675+00:00", + "summary": [] + } + }, + { + "name": "theme-source-final-serial", + "receipt": ".qa/recovery/theme-source-final-serial.json", + "receiptSha256": "11eb695a703f64394b798d11d0dcf131e8085d010bff83ae586d216b6b10cc1e", + "log": ".qa/recovery/theme-source-final-serial.log", + "logSha256": "3a4d147b22d06e1d9c8d5a52c70e7a0e68ae0708165e2edf2296aa72ae9dea4c", + "body": { + "command": [ + "env", + "PLAYWRIGHT_MODULE=/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/browser-tools/node_modules/playwright", + "SOURCE_BROWSER_OUTPUT=.qa/theme/source-final-serial", + "node", + "scripts/validation/marketplace-source-browser.cjs" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:53:07.108632+00:00", + "revision": "b4dcb40d92f9ea19bd5098b58c1115296d65eb60", + "working_tree": "", + "exit_code": 0, + "seconds": 16.732, + "finished_at": "2026-09-23T04:53:23.841731+00:00", + "summary": [] + } + }, + { + "name": "theme-source-final", + "receipt": ".qa/recovery/theme-source-final.json", + "receiptSha256": "8031e85275049d39c08483afb1defe96f8ca69cb344655685316022b1866c7d3", + "log": ".qa/recovery/theme-source-final.log", + "logSha256": "2dcdb2e477f4733d5fb41ce5b5a7e2ed38fb89de2e1edfdb38355c61ef4a1382", + "body": { + "command": [ + "env", + "PLAYWRIGHT_MODULE=/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/browser-tools/node_modules/playwright", + "SOURCE_BROWSER_OUTPUT=.qa/theme/source-final", + "node", + "scripts/validation/marketplace-source-browser.cjs" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:50:28.509989+00:00", + "revision": "b4dcb40d92f9ea19bd5098b58c1115296d65eb60", + "working_tree": "", + "exit_code": 1, + "seconds": 130.115, + "finished_at": "2026-09-23T04:52:38.631257+00:00", + "summary": [] + } + }, + { + "name": "theme-static-final", + "receipt": ".qa/recovery/theme-static-final.json", + "receiptSha256": "5f641a7bc9422abc30168e8d7994484f1ca02bdc5f75ff54ec802901c30d0269", + "log": ".qa/recovery/theme-static-final.log", + "logSha256": "cae31c529b2e6da3d273d4ccba52f11caddb7130a7cdaf7b736eef1be34fe73d", + "body": { + "command": [ + "node", + "node_modules/vitest/vitest.mjs", + "run", + "__tests__/extension-marketplace.test.ts", + "--maxWorkers=1", + "--minWorkers=1" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:51:12.254909+00:00", + "revision": "b4dcb40d92f9ea19bd5098b58c1115296d65eb60", + "working_tree": "", + "exit_code": 0, + "seconds": 87.515, + "finished_at": "2026-09-23T04:52:39.767706+00:00", + "summary": [ + "Test Files 1 passed (1)", + "Tests 5 passed (5)", + "Duration 73.33s (transform 19.24s, setup 0ms, collect 60.32s, tests 584ms, environment 78ms, prepare 7.43s)" + ] + } + }, + { + "name": "theme-static-test", + "receipt": ".qa/recovery/theme-static-test.json", + "receiptSha256": "caf089a7755f30d689577536fd5b850bb0e4c2b702cd1a6c45f8a9b0f84ca92b", + "log": ".qa/recovery/theme-static-test.log", + "logSha256": "d3120aa7824c5147b72371204d9c5870518e72f466969d4eda487a0f1c19d698", + "body": { + "command": [ + "node", + "node_modules/vitest/vitest.mjs", + "run", + "__tests__/extension-marketplace.test.ts", + "--maxWorkers=1", + "--minWorkers=1" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:48:32.591592+00:00", + "revision": "7bbce09f4b65d7a17b4c44932a061b1738c28903", + "working_tree": " M __tests__/extension-marketplace.test.ts\n M marketplace/cloudflare/local.mjs\n M marketplace/public/app.js\n M marketplace/public/index.html\n M marketplace/public/style.css\n M scripts/validation/marketplace-source-browser.cjs\n M src/plugins/marketplace.ts\n?? marketplace/public/asset-manifest.json\n?? marketplace/public/brand/\n?? marketplace/public/fonts.css\n?? marketplace/public/fonts/\n?? marketplace/public/icons.js\n?? marketplace/public/licenses/\n?? marketplace/ui-assets/\n?? scripts/validation/marketplace-theme-browser.cjs\n", + "exit_code": 0, + "seconds": 3.36, + "finished_at": "2026-09-23T04:48:35.951192+00:00", + "summary": [ + "Test Files 1 passed (1)", + "Tests 5 passed (5)", + "Duration 1.38s (transform 289ms, setup 0ms, collect 459ms, tests 492ms, environment 0ms, prepare 149ms)" + ] + } + }, + { + "name": "theme-typescript-build", + "receipt": ".qa/recovery/theme-typescript-build.json", + "receiptSha256": "047c469a4f49eab5a91dc0ee500b056817e94f77bb9ab6ab4d1210a05b20b4af", + "log": ".qa/recovery/theme-typescript-build.log", + "logSha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "body": { + "command": [ + "node", + "node_modules/typescript/bin/tsc" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:42:49.054491+00:00", + "revision": "7bbce09f4b65d7a17b4c44932a061b1738c28903", + "working_tree": " M __tests__/extension-marketplace.test.ts\n M marketplace/cloudflare/local.mjs\n M marketplace/public/app.js\n M marketplace/public/index.html\n M marketplace/public/style.css\n M src/plugins/marketplace.ts\n?? marketplace/public/asset-manifest.json\n?? marketplace/public/brand/\n?? marketplace/public/fonts.css\n?? marketplace/public/fonts/\n?? marketplace/public/icons.js\n?? marketplace/public/licenses/\n?? marketplace/ui-assets/\n", + "exit_code": 0, + "seconds": 27.876, + "finished_at": "2026-09-23T04:43:16.930911+00:00", + "summary": [] + } + }, + { + "name": "theme-ui-deploy", + "receipt": ".qa/recovery/theme-ui-deploy.json", + "receiptSha256": "96ff5769df14f391ee5fd1ab4988ebf95e16a97fae5a057f2b8cf2abf1b32650", + "log": ".qa/recovery/theme-ui-deploy.log", + "logSha256": "27a855ad3925e966dfd37862aab0b367ff12e3642eabc0cec41700867435a402", + "body": { + "command": [ + "env", + "CLOUDFLARE_ACCOUNT_ID=7d98d729ba8b090125fe2d6aab88135a", + "WRANGLER_LOG_PATH=/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph/.qa/hosted/wrangler", + "node", + "marketplace/cloudflare/node_modules/wrangler/bin/wrangler.js", + "deploy", + "--config", + "marketplace/cloudflare/wrangler.source-ui.json" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:56:36.623940+00:00", + "revision": "b4dcb40d92f9ea19bd5098b58c1115296d65eb60", + "working_tree": "", + "exit_code": 0, + "seconds": 7.569, + "finished_at": "2026-09-23T04:56:44.194843+00:00", + "summary": [] + } + }, + { + "name": "theme-ui-dryrun", + "receipt": ".qa/recovery/theme-ui-dryrun.json", + "receiptSha256": "43819e6bcd19cd49c047a11e11f4e393a4b536ae9fe1b81c2ed3d009055e64e2", + "log": ".qa/recovery/theme-ui-dryrun.log", + "logSha256": "c3ab7ab235b2a3bfdf035f5d481ca0087e26b294a0dea535505101090743b4b5", + "body": { + "command": [ + "env", + "CLOUDFLARE_ACCOUNT_ID=7d98d729ba8b090125fe2d6aab88135a", + "WRANGLER_LOG_PATH=/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph/.qa/hosted/wrangler", + "node", + "marketplace/cloudflare/node_modules/wrangler/bin/wrangler.js", + "deploy", + "--config", + "marketplace/cloudflare/wrangler.source-ui.json", + "--dry-run", + "--outdir", + ".qa/theme/ui-dryrun" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:54:18.270151+00:00", + "revision": "b4dcb40d92f9ea19bd5098b58c1115296d65eb60", + "working_tree": "", + "exit_code": 0, + "seconds": 2.548, + "finished_at": "2026-09-23T04:54:20.818300+00:00", + "summary": [] + } + }, + { + "name": "theme-version-after", + "receipt": ".qa/recovery/theme-version-after.json", + "receiptSha256": "de35d8cd48e42e3d777b3176a8e019fe36287518e814202b26a9be1678d28a3f", + "log": ".qa/recovery/theme-version-after.log", + "logSha256": "5f178ad1158f2044bd0f51f402b69aa286559adbc57e43ef5b0e17e57fb3990c", + "body": { + "command": [ + "env", + "CLOUDFLARE_ACCOUNT_ID=7d98d729ba8b090125fe2d6aab88135a", + "WRANGLER_LOG_PATH=/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph/.qa/hosted/wrangler", + "node", + "marketplace/cloudflare/node_modules/wrangler/bin/wrangler.js", + "versions", + "view", + "d87a4fa0-165e-4fb5-a6c7-96c4e0dd000a", + "--config", + "marketplace/cloudflare/wrangler.source-ui.json", + "--json" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:57:17.185423+00:00", + "revision": "b4dcb40d92f9ea19bd5098b58c1115296d65eb60", + "working_tree": "", + "exit_code": 0, + "seconds": 2.883, + "finished_at": "2026-09-23T04:57:20.070127+00:00", + "summary": [] + } + }, + { + "name": "theme-version-before", + "receipt": ".qa/recovery/theme-version-before.json", + "receiptSha256": "86372efc58ac6a58e248d2be3d2733162334d8df878fa388a58f6ba5c127d933", + "log": ".qa/recovery/theme-version-before.log", + "logSha256": "4dd4ee4c1dc1f27f15ee02a480278b50af9e56a6856b0c821a1da162bd388401", + "body": { + "command": [ + "env", + "CLOUDFLARE_ACCOUNT_ID=7d98d729ba8b090125fe2d6aab88135a", + "WRANGLER_LOG_PATH=/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph/.qa/hosted/wrangler", + "node", + "marketplace/cloudflare/node_modules/wrangler/bin/wrangler.js", + "versions", + "view", + "c0bdbbac-adcf-4609-aaf3-a69a380f3422", + "--config", + "marketplace/cloudflare/wrangler.source-ui.json", + "--json" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:53:21.091020+00:00", + "revision": "b4dcb40d92f9ea19bd5098b58c1115296d65eb60", + "working_tree": "", + "exit_code": 0, + "seconds": 3.235, + "finished_at": "2026-09-23T04:53:24.325533+00:00", + "summary": [] + } + }, + { + "name": "theme-visual-fifth", + "receipt": ".qa/recovery/theme-visual-fifth.json", + "receiptSha256": "8d73c39530f68c27ead2103a9f101df480c698c646ae5b9b9980be90b10587b2", + "log": ".qa/recovery/theme-visual-fifth.log", + "logSha256": "8e72482cae1b6bef042eb80e45ef519dd1dcf46931ae514c92e6fdd6b15b18fc", + "body": { + "command": [ + "env", + "PLAYWRIGHT_MODULE=/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/browser-tools/node_modules/playwright", + "THEME_OUTPUT=.qa/theme/visual-fifth", + "node", + "scripts/validation/marketplace-theme-browser.cjs" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:49:50.202980+00:00", + "revision": "7bbce09f4b65d7a17b4c44932a061b1738c28903", + "working_tree": " M __tests__/extension-marketplace.test.ts\n M marketplace/cloudflare/local.mjs\n M marketplace/public/app.js\n M marketplace/public/index.html\n M marketplace/public/style.css\n M scripts/validation/marketplace-source-browser.cjs\n M src/plugins/marketplace.ts\n?? marketplace/public/asset-manifest.json\n?? marketplace/public/brand/\n?? marketplace/public/fonts.css\n?? marketplace/public/fonts/\n?? marketplace/public/icons.js\n?? marketplace/public/licenses/\n?? marketplace/ui-assets/\n?? scripts/validation/marketplace-theme-browser.cjs\n", + "exit_code": 0, + "seconds": 5.554, + "finished_at": "2026-09-23T04:49:55.756729+00:00", + "summary": [] + } + }, + { + "name": "theme-visual-final-serial", + "receipt": ".qa/recovery/theme-visual-final-serial.json", + "receiptSha256": "ddebcb4811a0843876e0f72aea895c0d7956aa0d50a083523b656d5c48d36f88", + "log": ".qa/recovery/theme-visual-final-serial.log", + "logSha256": "5035cebdfa9b3f4cb2546fba69aa42a7e8d68bda4f589fdeb227148f22a3bca2", + "body": { + "command": [ + "env", + "PLAYWRIGHT_MODULE=/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/browser-tools/node_modules/playwright", + "THEME_OUTPUT=.qa/theme/visual-final-serial", + "node", + "scripts/validation/marketplace-theme-browser.cjs" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:54:31.128247+00:00", + "revision": "b4dcb40d92f9ea19bd5098b58c1115296d65eb60", + "working_tree": "", + "exit_code": 0, + "seconds": 7.397, + "finished_at": "2026-09-23T04:54:38.525806+00:00", + "summary": [] + } + }, + { + "name": "theme-visual-final", + "receipt": ".qa/recovery/theme-visual-final.json", + "receiptSha256": "518718b2f67b05b9fc57f4b912666063204c09aff70ef90866fd2c112e844444", + "log": ".qa/recovery/theme-visual-final.log", + "logSha256": "46881e5c9ba253ee5e0bdaa81437f539a04c1ae834a70a49883268b8c9abfb3e", + "body": { + "command": [ + "env", + "PLAYWRIGHT_MODULE=/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/browser-tools/node_modules/playwright", + "THEME_OUTPUT=.qa/theme/visual-final", + "node", + "scripts/validation/marketplace-theme-browser.cjs" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:50:28.543198+00:00", + "revision": "b4dcb40d92f9ea19bd5098b58c1115296d65eb60", + "working_tree": "", + "exit_code": 1, + "seconds": 130.376, + "finished_at": "2026-09-23T04:52:38.919346+00:00", + "summary": [] + } + }, + { + "name": "theme-visual-first", + "receipt": ".qa/recovery/theme-visual-first.json", + "receiptSha256": "21a359f27ed55d0b11d47855d18ef4b56a5e901af7044ef93ecabe24645b927b", + "log": ".qa/recovery/theme-visual-first.log", + "logSha256": "e35194b81885268da1dbfcc302c9f768a1da76d9eb688ed5c09d0a07541814e7", + "body": { + "command": [ + "env", + "PLAYWRIGHT_MODULE=/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/browser-tools/node_modules/playwright", + "THEME_OUTPUT=.qa/theme/visual-first", + "node", + "scripts/validation/marketplace-theme-browser.cjs" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:47:35.557721+00:00", + "revision": "7bbce09f4b65d7a17b4c44932a061b1738c28903", + "working_tree": " M __tests__/extension-marketplace.test.ts\n M marketplace/cloudflare/local.mjs\n M marketplace/public/app.js\n M marketplace/public/index.html\n M marketplace/public/style.css\n M scripts/validation/marketplace-source-browser.cjs\n M src/plugins/marketplace.ts\n?? marketplace/public/asset-manifest.json\n?? marketplace/public/brand/\n?? marketplace/public/fonts.css\n?? marketplace/public/fonts/\n?? marketplace/public/icons.js\n?? marketplace/public/licenses/\n?? marketplace/ui-assets/\n?? scripts/validation/marketplace-theme-browser.cjs\n", + "exit_code": 1, + "seconds": 2.794, + "finished_at": "2026-09-23T04:47:38.351537+00:00", + "summary": [] + } + }, + { + "name": "theme-visual-fourth", + "receipt": ".qa/recovery/theme-visual-fourth.json", + "receiptSha256": "185912776196af0789a5ad8e71e736f502e1c64877d06814aed2690ec6a8e13e", + "log": ".qa/recovery/theme-visual-fourth.log", + "logSha256": "b0ece8551841bf5354539a47daa1f7b5436d15be3986258c8d63eff35e3f89ff", + "body": { + "command": [ + "env", + "PLAYWRIGHT_MODULE=/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/browser-tools/node_modules/playwright", + "THEME_OUTPUT=.qa/theme/visual-fourth", + "node", + "scripts/validation/marketplace-theme-browser.cjs" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:49:14.241433+00:00", + "revision": "7bbce09f4b65d7a17b4c44932a061b1738c28903", + "working_tree": " M __tests__/extension-marketplace.test.ts\n M marketplace/cloudflare/local.mjs\n M marketplace/public/app.js\n M marketplace/public/index.html\n M marketplace/public/style.css\n M scripts/validation/marketplace-source-browser.cjs\n M src/plugins/marketplace.ts\n?? marketplace/public/asset-manifest.json\n?? marketplace/public/brand/\n?? marketplace/public/fonts.css\n?? marketplace/public/fonts/\n?? marketplace/public/icons.js\n?? marketplace/public/licenses/\n?? marketplace/ui-assets/\n?? scripts/validation/marketplace-theme-browser.cjs\n", + "exit_code": 1, + "seconds": 24.227, + "finished_at": "2026-09-23T04:49:38.468339+00:00", + "summary": [] + } + }, + { + "name": "theme-visual-second", + "receipt": ".qa/recovery/theme-visual-second.json", + "receiptSha256": "879065d5e5c69a03ccf0bf1591e0820fc9f09a963ec121d11e37a754e36ef65f", + "log": ".qa/recovery/theme-visual-second.log", + "logSha256": "3cff789962c18e81a7ef24510d62ea5914e7fe299480e908a2561f651f52f0f7", + "body": { + "command": [ + "env", + "PLAYWRIGHT_MODULE=/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/browser-tools/node_modules/playwright", + "THEME_OUTPUT=.qa/theme/visual-second", + "node", + "scripts/validation/marketplace-theme-browser.cjs" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:48:19.652244+00:00", + "revision": "7bbce09f4b65d7a17b4c44932a061b1738c28903", + "working_tree": " M __tests__/extension-marketplace.test.ts\n M marketplace/cloudflare/local.mjs\n M marketplace/public/app.js\n M marketplace/public/index.html\n M marketplace/public/style.css\n M scripts/validation/marketplace-source-browser.cjs\n M src/plugins/marketplace.ts\n?? marketplace/public/asset-manifest.json\n?? marketplace/public/brand/\n?? marketplace/public/fonts.css\n?? marketplace/public/fonts/\n?? marketplace/public/icons.js\n?? marketplace/public/licenses/\n?? marketplace/ui-assets/\n?? scripts/validation/marketplace-theme-browser.cjs\n", + "exit_code": 1, + "seconds": 2.588, + "finished_at": "2026-09-23T04:48:22.240290+00:00", + "summary": [] + } + }, + { + "name": "theme-visual-third", + "receipt": ".qa/recovery/theme-visual-third.json", + "receiptSha256": "c6940eb0a48b3cbbc90057cbc0522c98123413ee2843f180477122e1742049dd", + "log": ".qa/recovery/theme-visual-third.log", + "logSha256": "1747cc489b9540fc578ff3e12b156fd4cc2995dfc9d7271437c31136aff3e923", + "body": { + "command": [ + "env", + "PLAYWRIGHT_MODULE=/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/browser-tools/node_modules/playwright", + "THEME_OUTPUT=.qa/theme/visual-third", + "node", + "scripts/validation/marketplace-theme-browser.cjs" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:48:54.210007+00:00", + "revision": "7bbce09f4b65d7a17b4c44932a061b1738c28903", + "working_tree": " M __tests__/extension-marketplace.test.ts\n M marketplace/cloudflare/local.mjs\n M marketplace/public/app.js\n M marketplace/public/index.html\n M marketplace/public/style.css\n M scripts/validation/marketplace-source-browser.cjs\n M src/plugins/marketplace.ts\n?? marketplace/public/asset-manifest.json\n?? marketplace/public/brand/\n?? marketplace/public/fonts.css\n?? marketplace/public/fonts/\n?? marketplace/public/icons.js\n?? marketplace/public/licenses/\n?? marketplace/ui-assets/\n?? scripts/validation/marketplace-theme-browser.cjs\n", + "exit_code": 1, + "seconds": 3.296, + "finished_at": "2026-09-23T04:48:57.505874+00:00", + "summary": [] + } + }, + { + "name": "theme-whoami", + "receipt": ".qa/recovery/theme-whoami.json", + "receiptSha256": "79cc5b99c1acd63b87029d7bd3a39c6aa75bb0761a7a89f8b05cfadf09e0da67", + "log": ".qa/recovery/theme-whoami.log", + "logSha256": "ffb25ba5ed0fd917d0b75f64f94f40be32eacbfcf0a7d85fd114a407d7e73566", + "body": { + "command": [ + "env", + "CLOUDFLARE_ACCOUNT_ID=7d98d729ba8b090125fe2d6aab88135a", + "WRANGLER_LOG_PATH=/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph/.qa/hosted/wrangler", + "node", + "marketplace/cloudflare/node_modules/wrangler/bin/wrangler.js", + "whoami" + ], + "cwd": "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph", + "started_at": "2026-09-23T04:50:28.650859+00:00", + "revision": "b4dcb40d92f9ea19bd5098b58c1115296d65eb60", + "working_tree": "", + "exit_code": 0, + "seconds": 51.618, + "finished_at": "2026-09-23T04:51:20.272422+00:00", + "summary": [] + } + } + ], + "incompleteCommands": [ + { + "name": "theme-source-browser-first", + "started": ".qa/recovery/theme-source-browser-first.started.json", + "log": ".qa/recovery/theme-source-browser-first.log" + } + ], + "raw": { + ".qa/recovery/theme-assets-build.json": { + "sha256": "9264d76770832abbcc2a19c0ceecb7e187df029c67d4dc8be50010a04e86db46", + "bytes": 517 + }, + ".qa/recovery/theme-assets-build.log": { + "sha256": "28c8d2a480ee1f00dac2709882303cf6245e44e124115c3e9706d1709bd73575", + "bytes": 232 + }, + ".qa/recovery/theme-assets-build.started.json": { + "sha256": "91aaa1003d225461a4806bed74ec97a67cdd5303011be1987fec704a6ad74b86", + "bytes": 409 + }, + ".qa/recovery/theme-assets-check.json": { + "sha256": "def9cf78a685b7402486775acf5e6fe1e37016fc6147dd7dc1e293043bde0cfd", + "bytes": 971 + }, + ".qa/recovery/theme-assets-check.log": { + "sha256": "b6f8221d4d64b29ef371f88d7ca20451bd1b928d0260bf734a136d9a81e56520", + "bytes": 239 + }, + ".qa/recovery/theme-assets-check.started.json": { + "sha256": "0b22cbfb772159bf16444d493c2357907b6ebb7a002b43eb5b2517712fb84f55", + "bytes": 863 + }, + ".qa/recovery/theme-assets-final.json": { + "sha256": "6218fc69a8140832a77fed5a29ca17f8cd6afb6d683e8c4e1403d1d3197baaac", + "bytes": 428 + }, + ".qa/recovery/theme-assets-final.log": { + "sha256": "b6f8221d4d64b29ef371f88d7ca20451bd1b928d0260bf734a136d9a81e56520", + "bytes": 239 + }, + ".qa/recovery/theme-assets-final.started.json": { + "sha256": "26b256ff0eee9201fe9653c7bbfc856d2be41750c73211e7c885353ca7994067", + "bytes": 319 + }, + ".qa/recovery/theme-assets-install-cached.json": { + "sha256": "d1e1c8e919eac39c671b017b8bfaad8d008ea32d70d2a289a85402de7a49c22f", + "bytes": 546 + }, + ".qa/recovery/theme-assets-install-cached.log": { + "sha256": "e285c6a615d801333332c139feedc97d7ab7f782783eee45e346e49d0b4ab26b", + "bytes": 232 + }, + ".qa/recovery/theme-assets-install-cached.started.json": { + "sha256": "604806b3a14d9e85f2d4ff6d5b8e2ff08bfa793cd1d9a63fbc381ff8d8b9f80f", + "bytes": 438 + }, + ".qa/recovery/theme-assets-install.json": { + "sha256": "04d7de56cab2ff0c27b0cb09f802140b4e35dfad0daca56706a502e8d0a97618", + "bytes": 504 + }, + ".qa/recovery/theme-assets-install.log": { + "sha256": "24a58a817d90b86d4f9f71f2cccbf064d156fe103763be585a6a7a6c91cad118", + "bytes": 584 + }, + ".qa/recovery/theme-assets-install.started.json": { + "sha256": "239bee3b8a034b89dac3a810600bc40b81a36ae0da1392154893478a9e63a42d", + "bytes": 396 + }, + ".qa/recovery/theme-browser-live.json": { + "sha256": "6485610638c4a7325a1c1c72f80a34bfa170017604fc329722c4c42fc79994f4", + "bytes": 675 + }, + ".qa/recovery/theme-browser-live.log": { + "sha256": "698587b2dc7f1eb628ec798dc4f296547d8d48630312229fcc85d52a2b7bd590", + "bytes": 767 + }, + ".qa/recovery/theme-browser-live.started.json": { + "sha256": "79082396e01938bfd13cc81799969a05c9727b64f37afbb75bc6b641359b21fa", + "bytes": 567 + }, + ".qa/recovery/theme-compatibility-final.json": { + "sha256": "ceb31b535701b7c28c038f8c574060a9a7b19c4c6b690a0ef76042ca9d2a728f", + "bytes": 603 + }, + ".qa/recovery/theme-compatibility-final.log": { + "sha256": "d4686feaa42e9254089e6ae63af6f1bef1f2d870d367d45d064285d8eda71e8b", + "bytes": 3255 + }, + ".qa/recovery/theme-compatibility-final.started.json": { + "sha256": "96f45e5848d209a28290626f43a878546b8baf945830e263c07847181f0f11bf", + "bytes": 494 + }, + ".qa/recovery/theme-deployments-after.json": { + "sha256": "41f7c559de3013a0a580b037a66afbd00cf106e4d91c2a8224184350cc63d01b", + "bytes": 733 + }, + ".qa/recovery/theme-deployments-after.log": { + "sha256": "8e87cc294f8da3a6a841ea2e3d0914e6685c33e85db27b2cb702df8ddabfe712", + "bytes": 2104 + }, + ".qa/recovery/theme-deployments-after.started.json": { + "sha256": "b4e08f0f83d30e71a2d8a31561c65f41d7f588e431440dc6abebe2f241949119", + "bytes": 625 + }, + ".qa/recovery/theme-deployments-before.json": { + "sha256": "4da22d860ed869d8fe1daa74a0bcfddadbb0010097a74fc55507682e1248a1a3", + "bytes": 733 + }, + ".qa/recovery/theme-deployments-before.log": { + "sha256": "018fd2c8675fbd9aa05331323c3802f0c06c7e429a774a544a348b9221f94ff3", + "bytes": 1695 + }, + ".qa/recovery/theme-deployments-before.started.json": { + "sha256": "72fc2a95ebd3ce4d2d5fb6f55abe8f3d0ef1eedb0dcbd84869d0726fba858b1f", + "bytes": 625 + }, + ".qa/recovery/theme-live-after.json": { + "sha256": "6910b16d175b742b3652452f95b3de770fa928422a8665e6d20b3b65662158cd", + "bytes": 406 + }, + ".qa/recovery/theme-live-after.log": { + "sha256": "bff08db4ccd79f039b82c1be918430bb23dac57631f30c40feecc090b19ba7b9", + "bytes": 281 + }, + ".qa/recovery/theme-live-after.started.json": { + "sha256": "2f4fcf6544fb9576c6d20b771c2d1edc8d91500edb894f8d8534bf519c2c5cc3", + "bytes": 298 + }, + ".qa/recovery/theme-live-before.json": { + "sha256": "016b32e5566315a554a331ec09fffe93220d993f3022406161eb4edef05b5755", + "bytes": 407 + }, + ".qa/recovery/theme-live-before.log": { + "sha256": "dc4d7b4e0d45d1576876c5c8d87f03f19f6d3dfb781150cff269aadaa832d1bb", + "bytes": 196 + }, + ".qa/recovery/theme-live-before.started.json": { + "sha256": "b38ea3e117d0c6570a7eb993309771cb5341e82325665948789f93f9c4accab3", + "bytes": 299 + }, + ".qa/recovery/theme-predeploy-check-normalized.json": { + "sha256": "d81cf908594a4e25b8e273a7d8f9f308a8dd6efec3acd0938e4c564fb930c7e8", + "bytes": 397 + }, + ".qa/recovery/theme-predeploy-check-normalized.log": { + "sha256": "211b558061e44af81a24ed488efa6be8598ff6b03929d3f9eba2a7072b1e3917", + "bytes": 195 + }, + ".qa/recovery/theme-predeploy-check-normalized.started.json": { + "sha256": "f23f3ebe74189b26f4b535ae58a9ad1dc3406d4e827810361bcaa18ec3b66d71", + "bytes": 289 + }, + ".qa/recovery/theme-predeploy-check.json": { + "sha256": "43d34deae2f7c7586a93ec6cd230f7e0656e1cb9adaf07e56e90a7f9290ca0f3", + "bytes": 397 + }, + ".qa/recovery/theme-predeploy-check.log": { + "sha256": "360e9a080fffe324c8bf167c2fe2ce20410ef29b7d05103554ff6c3badd1a7a5", + "bytes": 568 + }, + ".qa/recovery/theme-predeploy-check.started.json": { + "sha256": "1b8d8a06a1cdf103cc320198e18500afbaeeaa44d74766ed63d26ce9341085ef", + "bytes": 289 + }, + ".qa/recovery/theme-publisher-final-serial.json": { + "sha256": "4c8a51331d5d6b4606aa28f70a07d9579a8f99b94e3324555a8f1cd71f36e0a4", + "bytes": 602 + }, + ".qa/recovery/theme-publisher-final-serial.log": { + "sha256": "76608fcc219a5b6f3972163a2e1583ae1019c75dae7294c003ec88aca1c580d8", + "bytes": 2592 + }, + ".qa/recovery/theme-publisher-final-serial.started.json": { + "sha256": "73e03fe107d019db0cd5bb15e474035390bfeb79eba51bd7f9869b2948a3bd77", + "bytes": 493 + }, + ".qa/recovery/theme-publisher-final.json": { + "sha256": "65e1596b984c3a04ce9e832173a9c1ebaf96612b23f0a502e32a7c84ca20c9c4", + "bytes": 595 + }, + ".qa/recovery/theme-publisher-final.log": { + "sha256": "017f41d30994ec311d3d49733d3fa3b96498047d49d5d9464c3683efdede49c6", + "bytes": 705 + }, + ".qa/recovery/theme-publisher-final.started.json": { + "sha256": "fd76d8261af5c00731966a0169c75b8fd04e26c667fce70de011f739761aee03", + "bytes": 486 + }, + ".qa/recovery/theme-source-browser-assets.json": { + "sha256": "9389e2a57eacd143378e1113cdcd9c751b617136d372f53d3e5c56d1a8355a75", + "bytes": 1052 + }, + ".qa/recovery/theme-source-browser-assets.log": { + "sha256": "88f2723b0862b36eadb647f848e3573f09e908589d1ec1b0a178407ac12c8103", + "bytes": 2090 + }, + ".qa/recovery/theme-source-browser-assets.started.json": { + "sha256": "d40415b298ce7791d98cb87fc1bb04db9dc058d005757f27efa4dbd2c6aebc5b", + "bytes": 943 + }, + ".qa/recovery/theme-source-browser-first.log": { + "sha256": "f1bd60025e4498acb0ac1c09916a3c70a60cccee175a9cedc666de75dbe130ec", + "bytes": 166 + }, + ".qa/recovery/theme-source-browser-first.started.json": { + "sha256": "5e2fccd04c4cda0cc9fe6af77b0cb9a97a9f83e230c9a58035f1b4df1670c273", + "bytes": 830 + }, + ".qa/recovery/theme-source-browser-routing.json": { + "sha256": "3a3f9e155302c09d7db7cc903ec910c3457edfa6870c511589b717cb5a8b5dcf", + "bytes": 977 + }, + ".qa/recovery/theme-source-browser-routing.log": { + "sha256": "a1b851477b5ecea5034a4032a0baf86ba001f9e6d6634775a6f1da8d7abfad5a", + "bytes": 980 + }, + ".qa/recovery/theme-source-browser-routing.started.json": { + "sha256": "3436955fb03b06a95a9e4934de09d1cd1f23c0df4d3595f8da6f4aa6d1a3b129", + "bytes": 869 + }, + ".qa/recovery/theme-source-final-serial.json": { + "sha256": "11eb695a703f64394b798d11d0dcf131e8085d010bff83ae586d216b6b10cc1e", + "bytes": 613 + }, + ".qa/recovery/theme-source-final-serial.log": { + "sha256": "3a4d147b22d06e1d9c8d5a52c70e7a0e68ae0708165e2edf2296aa72ae9dea4c", + "bytes": 1946 + }, + ".qa/recovery/theme-source-final-serial.started.json": { + "sha256": "93d30334a6388269a6a93663373841d48bc03f2bb2b13f4659d9fcd13492e9ab", + "bytes": 504 + }, + ".qa/recovery/theme-source-final.json": { + "sha256": "8031e85275049d39c08483afb1defe96f8ca69cb344655685316022b1866c7d3", + "bytes": 607 + }, + ".qa/recovery/theme-source-final.log": { + "sha256": "2dcdb2e477f4733d5fb41ce5b5a7e2ed38fb89de2e1edfdb38355c61ef4a1382", + "bytes": 587 + }, + ".qa/recovery/theme-source-final.started.json": { + "sha256": "d8ff57a284bd4bb4c081231908f214973e08e02d5abde11304d975e4b32b895f", + "bytes": 497 + }, + ".qa/recovery/theme-static-final.json": { + "sha256": "5f641a7bc9422abc30168e8d7994484f1ca02bdc5f75ff54ec802901c30d0269", + "bytes": 677 + }, + ".qa/recovery/theme-static-final.log": { + "sha256": "cae31c529b2e6da3d273d4ccba52f11caddb7130a7cdaf7b736eef1be34fe73d", + "bytes": 647 + }, + ".qa/recovery/theme-static-final.started.json": { + "sha256": "7ee594ebc1b2d96d4124e0433e0e11bc2ce18a8f5ae57af9069e22e61a64b13b", + "bytes": 391 + }, + ".qa/recovery/theme-static-test.json": { + "sha256": "caf089a7755f30d689577536fd5b850bb0e4c2b702cd1a6c45f8a9b0f84ca92b", + "bytes": 1215 + }, + ".qa/recovery/theme-static-test.log": { + "sha256": "d3120aa7824c5147b72371204d9c5870518e72f466969d4eda487a0f1c19d698", + "bytes": 643 + }, + ".qa/recovery/theme-static-test.started.json": { + "sha256": "18959c7d3db477ba383430285117ad3046ceb8eed1993873ca665a6b19ec474d", + "bytes": 935 + }, + ".qa/recovery/theme-typescript-build.json": { + "sha256": "047c469a4f49eab5a91dc0ee500b056817e94f77bb9ab6ab4d1210a05b20b4af", + "bytes": 836 + }, + ".qa/recovery/theme-typescript-build.log": { + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "bytes": 0 + }, + ".qa/recovery/theme-typescript-build.started.json": { + "sha256": "892dd6e6db01a44f6280058f5cb55f493a3c505eb11ea8ee9f71e2e0ae0c370d", + "bytes": 727 + }, + ".qa/recovery/theme-ui-deploy.json": { + "sha256": "96ff5769df14f391ee5fd1ab4988ebf95e16a97fae5a057f2b8cf2abf1b32650", + "bytes": 702 + }, + ".qa/recovery/theme-ui-deploy.log": { + "sha256": "27a855ad3925e966dfd37862aab0b367ff12e3642eabc0cec41700867435a402", + "bytes": 2187 + }, + ".qa/recovery/theme-ui-deploy.started.json": { + "sha256": "0e00ed9960d7d0dbd828d19e81bf8d4c50019a65487296a11ccc6eb75101931d", + "bytes": 594 + }, + ".qa/recovery/theme-ui-dryrun.json": { + "sha256": "43819e6bcd19cd49c047a11e11f4e393a4b536ae9fe1b81c2ed3d009055e64e2", + "bytes": 762 + }, + ".qa/recovery/theme-ui-dryrun.log": { + "sha256": "c3ab7ab235b2a3bfdf035f5d481ca0087e26b294a0dea535505101090743b4b5", + "bytes": 1265 + }, + ".qa/recovery/theme-ui-dryrun.started.json": { + "sha256": "43fd2a0c302c0dfd7c173c55b595f211a4dfd9058916b6a6e593808c9d994e5e", + "bytes": 654 + }, + ".qa/recovery/theme-version-after.json": { + "sha256": "de35d8cd48e42e3d777b3176a8e019fe36287518e814202b26a9be1678d28a3f", + "bytes": 774 + }, + ".qa/recovery/theme-version-after.log": { + "sha256": "5f178ad1158f2044bd0f51f402b69aa286559adbc57e43ef5b0e17e57fb3990c", + "bytes": 2796 + }, + ".qa/recovery/theme-version-after.started.json": { + "sha256": "4406033741dd7e4dbfa875d4b58e740898ba22d1c890d6361e64172f84a4c85c", + "bytes": 666 + }, + ".qa/recovery/theme-version-before.json": { + "sha256": "86372efc58ac6a58e248d2be3d2733162334d8df878fa388a58f6ba5c127d933", + "bytes": 774 + }, + ".qa/recovery/theme-version-before.log": { + "sha256": "4dd4ee4c1dc1f27f15ee02a480278b50af9e56a6856b0c821a1da162bd388401", + "bytes": 2796 + }, + ".qa/recovery/theme-version-before.started.json": { + "sha256": "f41ee32bb1cf8312acee87ae812440822398dee333c417dc7dadbd1bd1bfb83e", + "bytes": 666 + }, + ".qa/recovery/theme-visual-fifth.json": { + "sha256": "8d73c39530f68c27ead2103a9f101df480c698c646ae5b9b9980be90b10587b2", + "bytes": 1139 + }, + ".qa/recovery/theme-visual-fifth.log": { + "sha256": "8e72482cae1b6bef042eb80e45ef519dd1dcf46931ae514c92e6fdd6b15b18fc", + "bytes": 932 + }, + ".qa/recovery/theme-visual-fifth.started.json": { + "sha256": "225a24b0ea5fd67fcf6068523aee8aa2f114e815a470637247b7fe2bac683b58", + "bytes": 1031 + }, + ".qa/recovery/theme-visual-final-serial.json": { + "sha256": "ddebcb4811a0843876e0f72aea895c0d7956aa0d50a083523b656d5c48d36f88", + "bytes": 602 + }, + ".qa/recovery/theme-visual-final-serial.log": { + "sha256": "5035cebdfa9b3f4cb2546fba69aa42a7e8d68bda4f589fdeb227148f22a3bca2", + "bytes": 932 + }, + ".qa/recovery/theme-visual-final-serial.started.json": { + "sha256": "f2442d4c38a71033decc9b3e8ab3fa526e61b6f310605b91e5b377ed50efaac1", + "bytes": 494 + }, + ".qa/recovery/theme-visual-final.json": { + "sha256": "518718b2f67b05b9fc57f4b912666063204c09aff70ef90866fd2c112e844444", + "bytes": 597 + }, + ".qa/recovery/theme-visual-final.log": { + "sha256": "46881e5c9ba253ee5e0bdaa81437f539a04c1ae834a70a49883268b8c9abfb3e", + "bytes": 1066 + }, + ".qa/recovery/theme-visual-final.started.json": { + "sha256": "ce6af4bc71a25eafe7dc259660dbf32219ca170ccdf3c7a6818136726a2d9926", + "bytes": 487 + }, + ".qa/recovery/theme-visual-first.json": { + "sha256": "21a359f27ed55d0b11d47855d18ef4b56a5e901af7044ef93ecabe24645b927b", + "bytes": 1139 + }, + ".qa/recovery/theme-visual-first.log": { + "sha256": "e35194b81885268da1dbfcc302c9f768a1da76d9eb688ed5c09d0a07541814e7", + "bytes": 700 + }, + ".qa/recovery/theme-visual-first.started.json": { + "sha256": "a9e00e0f06d4e545cba9fecc980a3e58ca79ef7bb8d7fd47b3d549cc99b01f75", + "bytes": 1031 + }, + ".qa/recovery/theme-visual-fourth.json": { + "sha256": "185912776196af0789a5ad8e71e736f502e1c64877d06814aed2690ec6a8e13e", + "bytes": 1141 + }, + ".qa/recovery/theme-visual-fourth.log": { + "sha256": "b0ece8551841bf5354539a47daa1f7b5436d15be3986258c8d63eff35e3f89ff", + "bytes": 1002 + }, + ".qa/recovery/theme-visual-fourth.started.json": { + "sha256": "19c7bc40ab3e46c53f52804a57dc351503997f5941d58d06e4b962f4ba4b0b74", + "bytes": 1032 + }, + ".qa/recovery/theme-visual-second.json": { + "sha256": "879065d5e5c69a03ccf0bf1591e0820fc9f09a963ec121d11e37a754e36ef65f", + "bytes": 1140 + }, + ".qa/recovery/theme-visual-second.log": { + "sha256": "3cff789962c18e81a7ef24510d62ea5914e7fe299480e908a2561f651f52f0f7", + "bytes": 896 + }, + ".qa/recovery/theme-visual-second.started.json": { + "sha256": "133b2d7d3a3af46703c0a53a82fc464667deb8bb3c6d85e0a8deead76e834a99", + "bytes": 1032 + }, + ".qa/recovery/theme-visual-third.json": { + "sha256": "c6940eb0a48b3cbbc90057cbc0522c98123413ee2843f180477122e1742049dd", + "bytes": 1139 + }, + ".qa/recovery/theme-visual-third.log": { + "sha256": "1747cc489b9540fc578ff3e12b156fd4cc2995dfc9d7271437c31136aff3e923", + "bytes": 1019 + }, + ".qa/recovery/theme-visual-third.started.json": { + "sha256": "e1c556f24621f11473a4eccb77ed67d2be0675c4544932ccc424df256edcad2c", + "bytes": 1031 + }, + ".qa/recovery/theme-whoami.json": { + "sha256": "79cc5b99c1acd63b87029d7bd3a39c6aa75bb0761a7a89f8b05cfadf09e0da67", + "bytes": 633 + }, + ".qa/recovery/theme-whoami.log": { + "sha256": "ffb25ba5ed0fd917d0b75f64f94f40be32eacbfcf0a7d85fd114a407d7e73566", + "bytes": 1872 + }, + ".qa/recovery/theme-whoami.started.json": { + "sha256": "3ed8a05463fb14ccaaf70c5623685b9b0c6666e9f1c9566aced689cbd4bf5631", + "bytes": 524 + }, + ".qa/theme/browser-live/desktop-catalog.png": { + "sha256": "39522af1ff28defbde80aa74a6215171574ccc461f71ad5bf9696ed4fd9e5025", + "bytes": 143675 + }, + ".qa/theme/browser-live/desktop-connection.png": { + "sha256": "d8ea91458f0bb27dacee256d35ee869c4dab6bd3e1c5ae7fc365dcc4e45643b1", + "bytes": 326228 + }, + ".qa/theme/browser-live/desktop-publisher.png": { + "sha256": "6806ff372c061678ebf1638a2d2934d935601ac5472d11802be3dd502b8c61c7", + "bytes": 152715 + }, + ".qa/theme/browser-live/desktop-source.png": { + "sha256": "edbb1eccc24e14de2c69a5dc9d9bef7d065d26749284fd1be00a2726ce3caa07", + "bytes": 266113 + }, + ".qa/theme/browser-live/inspected-drupal.cgext": { + "sha256": "e5ed73bee51524585e4f4da1d5017fdee3037a3fa71d8f08edab6c318fedc59a", + "bytes": 291889 + }, + ".qa/theme/browser-live/inspected-source.txt": { + "sha256": "17aa1ea7feed33cb42e010d9eae15f4a07035987ced3b9cd0f6f39a2ee6adc91", + "bytes": 279739 + }, + ".qa/theme/browser-live/mobile-catalog.png": { + "sha256": "6fa1bc4a1ffc0b4f7794713966c0bb47cfd238e9b4a08ce51ae57bc9fdc85a67", + "bytes": 120005 + }, + ".qa/theme/browser-live/mobile-connection.png": { + "sha256": "dc8e13abfa6690f4df6ecacb86b7873e510ffcc694e8608d2d514444864684f6", + "bytes": 130246 + }, + ".qa/theme/browser-live/mobile-publisher.png": { + "sha256": "131f2ddfb55b5f4b2ab2f49c9d1af4f88638a1682800a0c4edc9122acc1db98a", + "bytes": 131475 + }, + ".qa/theme/browser-live/mobile-source.png": { + "sha256": "467e23f2d4f3f6fdac50ca2ff0d6eca09c9f6404ad0d0054f0b751044f261629", + "bytes": 222020 + }, + ".qa/theme/browser-live/progress.json": { + "sha256": "011b8fe6d05c46d0fc839628e37e5ecbd5332441b87d18bc4067fc88415f9870", + "bytes": 805 + }, + ".qa/theme/browser-live/summary.json": { + "sha256": "a00492ab00921e2643d9cc857d848e7e56fc04652328d16ee348be25ea188ffc", + "bytes": 27201 + }, + ".qa/theme/compatibility-final/command-1.log": { + "sha256": "64f1ac60c8ad25f6569563d24914759b70acf1b73e5cffeef4feb12ce4c226b9", + "bytes": 243 + }, + ".qa/theme/compatibility-final/command-10.log": { + "sha256": "f03135c33691b92a8cd0834b0ab07175f81eb68d071d2e495c7ef96f6cbb5e69", + "bytes": 143 + }, + ".qa/theme/compatibility-final/command-11.log": { + "sha256": "08588ddba0b05a3667ca2e4858c6625aaa7cfdd4b248283e284b36ca7bfd3b0f", + "bytes": 263 + }, + ".qa/theme/compatibility-final/command-12.log": { + "sha256": "303e141e174839575e69f0ae0ddf92ead0470e6dca049ac1edd45fb64b607bde", + "bytes": 95 + }, + ".qa/theme/compatibility-final/command-2.log": { + "sha256": "d93afb7d84337fce0fb443fb79883800bb478b4c94635140b8f67f9734ed2b26", + "bytes": 293 + }, + ".qa/theme/compatibility-final/command-3.log": { + "sha256": "78fff926f4f8969d8e1705c0a1271cbd63b822579f81d715c2042ad94c80ad45", + "bytes": 122 + }, + ".qa/theme/compatibility-final/command-4.log": { + "sha256": "83a7b90bfd2c211c6fb4afcf72e261ef7b42bfd6dc21cfb72d530fb970aef44a", + "bytes": 290 + }, + ".qa/theme/compatibility-final/command-5.log": { + "sha256": "5a0ae6eb30e6659515338894feeb98ebeabbcd4f66e01f425110e75e83d7986d", + "bytes": 257 + }, + ".qa/theme/compatibility-final/command-6.log": { + "sha256": "38c1d85e306b15c18732c81df087390b3dfbd3873bc8836e36be492a1fb8a7fa", + "bytes": 530 + }, + ".qa/theme/compatibility-final/command-7.log": { + "sha256": "74798a107028fa391113eb0b6fa7efac8bfee9c644dbb121892993443666f2f0", + "bytes": 241 + }, + ".qa/theme/compatibility-final/command-8.log": { + "sha256": "be1f77d7dd153abaab34b2a75bdd5c2d036b406fc11da38ee8d4362bd4c26387", + "bytes": 241 + }, + ".qa/theme/compatibility-final/command-9.log": { + "sha256": "fec96b4acb520e5ee4d8a42660e9a876f54f08d60c1fc98bcc7b1dcfd2ba6748", + "bytes": 142 + }, + ".qa/theme/compatibility-final/commands.json": { + "sha256": "3642a6b23620e7b3d037eb8ccab857f14e3c4a1c04eaeaed27d64d941dfe9642", + "bytes": 4741 + }, + ".qa/theme/compatibility-final/desktop-installed.png": { + "sha256": "b299d3ae996ea2cd5e52c43c49c4c1e70f1bc42768c052c27d4c33928f4b9a44", + "bytes": 123134 + }, + ".qa/theme/compatibility-final/desktop-selected.png": { + "sha256": "a51927b9644745086d95a809783bacd3651fd9b88e452651ee0c93800649e189", + "bytes": 125259 + }, + ".qa/theme/compatibility-final/metadata-pending.png": { + "sha256": "790870a2e12d4d1fb99e8dd0e16adc12bc6255ff5022c583644bf2844e32be66", + "bytes": 97779 + }, + ".qa/theme/compatibility-final/mobile-selected.png": { + "sha256": "8acc7d331b8376f18216563f0217e27d52c520ba2f81f226ec17d9e4f63ba8df", + "bytes": 104399 + }, + ".qa/theme/compatibility-final/result.json": { + "sha256": "55c4ae4f0b484640f5d2cc7a461a7f9523385015434e9ac177eb400f09ee905a", + "bytes": 7986 + }, + ".qa/theme/deployment-plan.json": { + "sha256": "6ea1fb02262e2bf978c280fd16bb597ad054beaa623bb94bfcb330022de17f04", + "bytes": 3130 + }, + ".qa/theme/latest-before.json": { + "sha256": "c4b06c9595ae8f8f61da63131fce72c2646515b88221700f612933785c569bce", + "bytes": 375 + }, + ".qa/theme/live-after.json": { + "sha256": "0c5f9a5a88afd95127fb06f547ac41f5d721cf17d512bc31d1aff19642e27ec4", + "bytes": 22065 + }, + ".qa/theme/live-before.json": { + "sha256": "35b5fb121828b693dcffc20d1da6ef6382bed16ed6831fb19054714a4d69143a", + "bytes": 18923 + }, + ".qa/theme/publisher-final/failure.json": { + "sha256": "79f83818b4cbb962380114364624a867027189c4b11788cacabb48f21fe8fd70", + "bytes": 890 + }, + ".qa/theme/publisher-final/failure.png": { + "sha256": "47608df2c6fc32f0a9a05e827e802103c5c7a5cfe3bd4252c1c07367d1af725c", + "bytes": 28977 + }, + ".qa/theme/publisher-final-serial/desktop-installed.png": { + "sha256": "fe3a7c9ae0de64bba9844d76378659e69b496653d49a62abe1e4f43c42aaa018", + "bytes": 157652 + }, + ".qa/theme/publisher-final-serial/mobile-detail.png": { + "sha256": "bbdd11613d51fd8ca769994b4b401233654d25abe3a91bd1f906fdd0baf4bca1", + "bytes": 109816 + }, + ".qa/theme/publisher-final-serial/result.json": { + "sha256": "9e89a9a5702660630f3f4946a76a9766d9502d5f3857a9c7a38bfab18fe1685d", + "bytes": 966 + }, + ".qa/theme/reference-website.json": { + "sha256": "b6ecf59a746845535f8bc04f56442629edcff228bc9a42ee874ed8389c54c00a", + "bytes": 16260 + }, + ".qa/theme/source-browser-assets/desktop-source.png": { + "sha256": "454d8273ad33503b6a3eee8ce7a43ee0fed3e3d60404a5e602fcf30ce663da4f", + "bytes": 158471 + }, + ".qa/theme/source-browser-assets/mobile-source.png": { + "sha256": "ffd6f647d13c952cf3d4d9bea6ba437c0ebf0cf183b4134ec2e8d528fa6acd45", + "bytes": 158323 + }, + ".qa/theme/source-browser-assets/progress.json": { + "sha256": "e8e9002964af8d87ba85d8c5452059ad1f09410385305b900b3e89c89522e485", + "bytes": 1070 + }, + ".qa/theme/source-browser-assets/summary.json": { + "sha256": "d706784789319a9d00b0fb4453f6666f89d355bc8516f0d684b08f558c351c7c", + "bytes": 1514 + }, + ".qa/theme/source-browser-assets/verified-download.cgext": { + "sha256": "732be8ef075f0188020a2f92e9522ab5db8bf173849f3bb18b84dfaff8297582", + "bytes": 117825 + }, + ".qa/theme/source-browser-first/failure.json": { + "sha256": "53fc611953fd02432da1aa79dc0297be7b498f7dfe0022aeb15042c16a67c9d2", + "bytes": 289 + }, + ".qa/theme/source-browser-routing/failure.json": { + "sha256": "fa1139b9bceb6cdec87865a1b4a72a0e171f2c68d99f82faa5c93495a04f62f8", + "bytes": 722 + }, + ".qa/theme/source-final/failure.json": { + "sha256": "f3a5d1b880f489c4f20349190f0b29b035e955886526a5dc49c1dcc7d29ec419", + "bytes": 334 + }, + ".qa/theme/source-final-serial/desktop-source.png": { + "sha256": "a5cbde2e4f57d29e382b63cab317c03cf6e50d9c4913d55c2c96f97529a0517f", + "bytes": 158709 + }, + ".qa/theme/source-final-serial/mobile-source.png": { + "sha256": "6e0b849e1e13235908d84ce2a7128de0bc61cfbab6f2ab8e2ac8766553e28460", + "bytes": 158430 + }, + ".qa/theme/source-final-serial/progress.json": { + "sha256": "976bb5b3e0878fe27d2355b9fa8ab3392f13db2037a5c62e34eba2f6d2228c1b", + "bytes": 1091 + }, + ".qa/theme/source-final-serial/summary.json": { + "sha256": "ccf1e6cabedbdcd005a7afe4dde699c7cebb261de1c74003fd0051eb98d9a225", + "bytes": 1535 + }, + ".qa/theme/source-final-serial/verified-download.cgext": { + "sha256": "732be8ef075f0188020a2f92e9522ab5db8bf173849f3bb18b84dfaff8297582", + "bytes": 117825 + }, + ".qa/theme/ui-dryrun/README.md": { + "sha256": "ed6817535e5eb5eab184dd99f67d1a991d836ac664852dfad0ca5503f88fe61b", + "bytes": 130 + }, + ".qa/theme/ui-dryrun/worker.js": { + "sha256": "43dc01b6bd20160381d409c80ecd4f447ab6539a34890110e6dcad6684060561", + "bytes": 151512 + }, + ".qa/theme/version-comparison.json": { + "sha256": "fda788b6b4eb03ac2706eeecb5fad9e491cb84059a42430e925aa0efcb52edf5", + "bytes": 2580 + }, + ".qa/theme/visual-fifth/desktop-catalog.png": { + "sha256": "4a72c8f1fbfe29b4538e2d2b1f2513a73ac5e4db65bb349eea73c78d815eb7df", + "bytes": 143602 + }, + ".qa/theme/visual-fifth/desktop-connection.png": { + "sha256": "113d7189ea43700579a23b34db2451c9b3b539c82eb56a8a176516d77ef43ba6", + "bytes": 163226 + }, + ".qa/theme/visual-fifth/desktop-publisher.png": { + "sha256": "6806ff372c061678ebf1638a2d2934d935601ac5472d11802be3dd502b8c61c7", + "bytes": 152715 + }, + ".qa/theme/visual-fifth/desktop-source.png": { + "sha256": "1633998f63e1341de1ebb0a3179630911461ef3c28ead98b623c5f17b9e0894a", + "bytes": 265503 + }, + ".qa/theme/visual-fifth/inspected-drupal.cgext": { + "sha256": "e5ed73bee51524585e4f4da1d5017fdee3037a3fa71d8f08edab6c318fedc59a", + "bytes": 291889 + }, + ".qa/theme/visual-fifth/inspected-source.txt": { + "sha256": "17aa1ea7feed33cb42e010d9eae15f4a07035987ced3b9cd0f6f39a2ee6adc91", + "bytes": 279739 + }, + ".qa/theme/visual-fifth/mobile-catalog.png": { + "sha256": "25eabb426e5f06030a0c19c17accfc3464ca17160ca6bc933caea3730fac7bdf", + "bytes": 119158 + }, + ".qa/theme/visual-fifth/mobile-connection.png": { + "sha256": "3882085f0f0d6a43d3d81f5b3075a7291afc3a7a15e78af34a6e573c495c4b52", + "bytes": 129832 + }, + ".qa/theme/visual-fifth/mobile-publisher.png": { + "sha256": "131f2ddfb55b5f4b2ab2f49c9d1af4f88638a1682800a0c4edc9122acc1db98a", + "bytes": 131475 + }, + ".qa/theme/visual-fifth/mobile-source.png": { + "sha256": "191b6ed2481a5f16d5a28d6cc8279684a8a9648bb8b851d8bc9d32ebc9941a1d", + "bytes": 220625 + }, + ".qa/theme/visual-fifth/progress.json": { + "sha256": "011b8fe6d05c46d0fc839628e37e5ecbd5332441b87d18bc4067fc88415f9870", + "bytes": 805 + }, + ".qa/theme/visual-fifth/summary.json": { + "sha256": "8bd2c75a44edd6f396b54dd22fb79389834c964763549920d5ebcabce1ab76aa", + "bytes": 20654 + }, + ".qa/theme/visual-final/desktop-catalog.png": { + "sha256": "4a72c8f1fbfe29b4538e2d2b1f2513a73ac5e4db65bb349eea73c78d815eb7df", + "bytes": 143602 + }, + ".qa/theme/visual-final/desktop-connection.png": { + "sha256": "014b84932d73df8f929c355d4537efbac1e18550eabe7ca404470d1caa0d3588", + "bytes": 163140 + }, + ".qa/theme/visual-final/desktop-source.png": { + "sha256": "1633998f63e1341de1ebb0a3179630911461ef3c28ead98b623c5f17b9e0894a", + "bytes": 265503 + }, + ".qa/theme/visual-final/failure.json": { + "sha256": "33ac1706a9ff9296f2a50a99085097e36e50db0a45dacd625312773ec00d92ef", + "bytes": 12818 + }, + ".qa/theme/visual-final/failure.png": { + "sha256": "87bd839bda30894fca222872a9e6fbaf7c2ce01ce2b4ff0f263b80e3cecfa925", + "bytes": 140463 + }, + ".qa/theme/visual-final/inspected-drupal.cgext": { + "sha256": "e5ed73bee51524585e4f4da1d5017fdee3037a3fa71d8f08edab6c318fedc59a", + "bytes": 291889 + }, + ".qa/theme/visual-final/inspected-source.txt": { + "sha256": "17aa1ea7feed33cb42e010d9eae15f4a07035987ced3b9cd0f6f39a2ee6adc91", + "bytes": 279739 + }, + ".qa/theme/visual-final/mobile-catalog.png": { + "sha256": "dc36afa08f806169b0a03947fe88f761681e104c3087db3898ef251cae5c6e1b", + "bytes": 119924 + }, + ".qa/theme/visual-final/mobile-connection.png": { + "sha256": "4ad52dfd785f0ebf17533b8940de009e39e3117b834ad441415d670e36d0e2e4", + "bytes": 130520 + }, + ".qa/theme/visual-final/mobile-source.png": { + "sha256": "191b6ed2481a5f16d5a28d6cc8279684a8a9648bb8b851d8bc9d32ebc9941a1d", + "bytes": 220625 + }, + ".qa/theme/visual-final/progress.json": { + "sha256": "9e073ac5fe88cc0a42042a159e39d6237e0591106f066a30dd7c226521821087", + "bytes": 528 + }, + ".qa/theme/visual-final-serial/desktop-catalog.png": { + "sha256": "4a72c8f1fbfe29b4538e2d2b1f2513a73ac5e4db65bb349eea73c78d815eb7df", + "bytes": 143602 + }, + ".qa/theme/visual-final-serial/desktop-connection.png": { + "sha256": "f5a6064e5cf130e84f6890ebc5bc2dc3187366ce39e1ef743e07d1276b4a8c27", + "bytes": 163189 + }, + ".qa/theme/visual-final-serial/desktop-publisher.png": { + "sha256": "6806ff372c061678ebf1638a2d2934d935601ac5472d11802be3dd502b8c61c7", + "bytes": 152715 + }, + ".qa/theme/visual-final-serial/desktop-source.png": { + "sha256": "1633998f63e1341de1ebb0a3179630911461ef3c28ead98b623c5f17b9e0894a", + "bytes": 265503 + }, + ".qa/theme/visual-final-serial/inspected-drupal.cgext": { + "sha256": "e5ed73bee51524585e4f4da1d5017fdee3037a3fa71d8f08edab6c318fedc59a", + "bytes": 291889 + }, + ".qa/theme/visual-final-serial/inspected-source.txt": { + "sha256": "17aa1ea7feed33cb42e010d9eae15f4a07035987ced3b9cd0f6f39a2ee6adc91", + "bytes": 279739 + }, + ".qa/theme/visual-final-serial/mobile-catalog.png": { + "sha256": "dc36afa08f806169b0a03947fe88f761681e104c3087db3898ef251cae5c6e1b", + "bytes": 119924 + }, + ".qa/theme/visual-final-serial/mobile-connection.png": { + "sha256": "4c96e971cdb734bb4fb97cb6ba47f6d076578dadc0ff2bc3acf12035c9ca405c", + "bytes": 130598 + }, + ".qa/theme/visual-final-serial/mobile-publisher.png": { + "sha256": "131f2ddfb55b5f4b2ab2f49c9d1af4f88638a1682800a0c4edc9122acc1db98a", + "bytes": 131475 + }, + ".qa/theme/visual-final-serial/mobile-source.png": { + "sha256": "191b6ed2481a5f16d5a28d6cc8279684a8a9648bb8b851d8bc9d32ebc9941a1d", + "bytes": 220625 + }, + ".qa/theme/visual-final-serial/progress.json": { + "sha256": "011b8fe6d05c46d0fc839628e37e5ecbd5332441b87d18bc4067fc88415f9870", + "bytes": 805 + }, + ".qa/theme/visual-final-serial/summary.json": { + "sha256": "1cec939dde8885bdb0bfdbfa39713d40ca296654898f25c30fe350299238e7c6", + "bytes": 20654 + }, + ".qa/theme/visual-first/desktop-catalog.png": { + "sha256": "4a72c8f1fbfe29b4538e2d2b1f2513a73ac5e4db65bb349eea73c78d815eb7df", + "bytes": 143602 + }, + ".qa/theme/visual-first/failure.json": { + "sha256": "2c5da3646d9f3f4ba44d8f029fcbe28e0722fe7046e0332491ddf9844df3fe3e", + "bytes": 2724 + }, + ".qa/theme/visual-first/failure.png": { + "sha256": "4a72c8f1fbfe29b4538e2d2b1f2513a73ac5e4db65bb349eea73c78d815eb7df", + "bytes": 143602 + }, + ".qa/theme/visual-first/progress.json": { + "sha256": "ae1f53ac8f9dd9997c28b9b0ccc00dd7a780ded34fdc9ed05470df3f7d8ea677", + "bytes": 110 + }, + ".qa/theme/visual-fourth/desktop-catalog.png": { + "sha256": "4a72c8f1fbfe29b4538e2d2b1f2513a73ac5e4db65bb349eea73c78d815eb7df", + "bytes": 143602 + }, + ".qa/theme/visual-fourth/desktop-connection.png": { + "sha256": "c2ad66f45d71dce329b89061e00442ac701d3a637de15a41ff331aab368e993d", + "bytes": 163262 + }, + ".qa/theme/visual-fourth/desktop-source.png": { + "sha256": "1633998f63e1341de1ebb0a3179630911461ef3c28ead98b623c5f17b9e0894a", + "bytes": 265503 + }, + ".qa/theme/visual-fourth/failure.json": { + "sha256": "d35119379fc8ef16f7acfbf3686841ae89998be43104889f70e5c139ed002287", + "bytes": 8094 + }, + ".qa/theme/visual-fourth/failure.png": { + "sha256": "f3038b6f686144e9840496da0b55db319288014f9b4317126cc5ef60cc1d79a7", + "bytes": 115498 + }, + ".qa/theme/visual-fourth/inspected-drupal.cgext": { + "sha256": "e5ed73bee51524585e4f4da1d5017fdee3037a3fa71d8f08edab6c318fedc59a", + "bytes": 291889 + }, + ".qa/theme/visual-fourth/inspected-source.txt": { + "sha256": "17aa1ea7feed33cb42e010d9eae15f4a07035987ced3b9cd0f6f39a2ee6adc91", + "bytes": 279739 + }, + ".qa/theme/visual-fourth/mobile-catalog.png": { + "sha256": "25eabb426e5f06030a0c19c17accfc3464ca17160ca6bc933caea3730fac7bdf", + "bytes": 119158 + }, + ".qa/theme/visual-fourth/mobile-connection.png": { + "sha256": "96dd7a6a0a9faca52cb0c6b3d0c8374814118f0ac16cfd808eb8cc045c65f864", + "bytes": 129925 + }, + ".qa/theme/visual-fourth/mobile-source.png": { + "sha256": "191b6ed2481a5f16d5a28d6cc8279684a8a9648bb8b851d8bc9d32ebc9941a1d", + "bytes": 220625 + }, + ".qa/theme/visual-fourth/progress.json": { + "sha256": "9e073ac5fe88cc0a42042a159e39d6237e0591106f066a30dd7c226521821087", + "bytes": 528 + }, + ".qa/theme/visual-second/desktop-catalog.png": { + "sha256": "4a72c8f1fbfe29b4538e2d2b1f2513a73ac5e4db65bb349eea73c78d815eb7df", + "bytes": 143602 + }, + ".qa/theme/visual-second/failure.json": { + "sha256": "714f3585486a15e7c6bbb1ed6b7e39099366669c39fcb05968bab1f465a3cf27", + "bytes": 2916 + }, + ".qa/theme/visual-second/failure.png": { + "sha256": "cc000cbf095169a392fea6c04d968773024f1d528d39c750e74cd93aa160328c", + "bytes": 145358 + }, + ".qa/theme/visual-second/progress.json": { + "sha256": "2731ce2ec8523876ac1d363c6c1ab14545248c83cedcde3d5fc6ffbe88480ab5", + "bytes": 205 + }, + ".qa/theme/visual-third/desktop-catalog.png": { + "sha256": "4a72c8f1fbfe29b4538e2d2b1f2513a73ac5e4db65bb349eea73c78d815eb7df", + "bytes": 143602 + }, + ".qa/theme/visual-third/desktop-connection.png": { + "sha256": "e2ef9361fdc8eb7fe04fbff114b0f51fb68f23b820527f6870a229c79d94577d", + "bytes": 163065 + }, + ".qa/theme/visual-third/failure.json": { + "sha256": "ec76ac647cdff7c505d7bf4e6be7ba3d645a73ed61d19af281166f92d6c8c1c3", + "bytes": 5832 + }, + ".qa/theme/visual-third/failure.png": { + "sha256": "1633998f63e1341de1ebb0a3179630911461ef3c28ead98b623c5f17b9e0894a", + "bytes": 265503 + }, + ".qa/theme/visual-third/inspected-drupal.cgext": { + "sha256": "e5ed73bee51524585e4f4da1d5017fdee3037a3fa71d8f08edab6c318fedc59a", + "bytes": 291889 + }, + ".qa/theme/visual-third/inspected-source.txt": { + "sha256": "17aa1ea7feed33cb42e010d9eae15f4a07035987ced3b9cd0f6f39a2ee6adc91", + "bytes": 279739 + }, + ".qa/theme/visual-third/progress.json": { + "sha256": "9e073ac5fe88cc0a42042a159e39d6237e0591106f066a30dd7c226521821087", + "bytes": 528 + }, + "marketplace/cloudflare/wrangler.source-ui.json": { + "sha256": "f7d7c7dc0d6825a7f8b64682344dbe76b4bce2acfbf516af21be604f01f9e5dc", + "bytes": 1204 + } + }, + "results": { + "source": { + "success": true, + "checks": [ + "unconnected browser lists every runtime dependency and manifest before any install", + "HTML and executable extension source render inertly as literal text", + "large source content is paged by nested SVG clicks without truncating downloadable files", + "source download uses the same verified immutable bytes", + "connecting a destination cannot substitute its compatible version for previously reviewed catalog bytes", + "catalog selection changing after inspection blocks install rather than switching versions", + "in-flight source selection race cannot certify stale bytes", + "download corruption hides content and blocks review-dependent installation", + "reviewed exact version installs once and produces actual SQLite graph", + "mobile file inspection fits viewport and preserves literal source", + "review required for changed update; actual throwing update preserves working graph", + "disable and removal retain managed lifecycle behavior", + "browser verifier rejects identity traversal NUL excessive files and size violations" + ], + "browser": "153.0.8010.36", + "sourcePolicy": "explicit test records, no public provider verification claim", + "packageHashes": [ + "0f8be1b329a4c63f1fea0d1b928b4f20cd3ca7335d8b68074ae8acb879f11d7f", + "732be8ef075f0188020a2f92e9522ab5db8bf173849f3bb18b84dfaff8297582", + "d16096e8c1789ba1d9d490e88a81f11717ac2c40bc38fbea3df90b563fe8c0c2", + "263c807f2173ee8be17e304fa68009a81ae0e8d6a674c4f03690471341f2b988" + ] + }, + "publisher": { + "browser": "153.0.8010.36", + "platform": "linux", + "checks": [ + "late catalog response preserves the entered publisher form and package", + "real browser signed publisher upload", + "slow package metadata preserves typed publisher fields", + "browser publisher ownership rejection", + "browser invalid-signature failure state", + "browser malformed-package rejection without publication", + "one-click selected-project install verified in SQLite", + "real postMessage wrong-window command ignored", + "failed browser update preserves working version and graph", + "browser update replaces stale graph contributions", + "browser disable/enable/remove verified in SQLite", + "mobile detail fits viewport", + "real postMessage wrong-origin command ignored", + "closed local companion expires the connection visibly", + "real stopped registry shows actionable publisher failure without changing local graph" + ], + "pageErrors": [] + }, + "compatibility": { + "checks": [ + "signed immutable versions; semantic catalog order independent of publication order", + "one browser Install selects 1.10.0 over incompatible 9.0.0 and preview; actual Python graph refreshed only in chosen destination", + "pending compatibility refresh never shows incompatible catalog version as selected; installed and selected versions remain distinct", + "no-compatible browser selection/command fails usefully and preserves existing config/graph", + "headless automatic selection agrees; exact incompatible pin/no-compatible/missing update fail without mutation", + "prerelease requires explicit exact pin; automatic update refuses downgrade; explicit lower pin remains exact", + "compatible but broken update retains previous version and graph", + "browser and headless update to highest compatible stable; stale graph labels removed", + "exact artifact URL/file semantics and build-metadata pin identity preserved", + "removal cleans contributions; desktop/mobile display actual destination compatibility; no page errors" + ], + "releases": [ + { + "id": "compatible-demo", + "version": "1.10.0", + "engines": ">=1.6.0 <2", + "integrity": "d59f9b1e9bd7d027081de45ab004aefe3236708ddeb4fc7135c92502ce0866d8" + }, + { + "id": "compatible-demo", + "version": "1.9.0", + "engines": ">=1.6.0 <2", + "integrity": "07e64445b8c7205ec9a1d76c9e29affbd55d45e0817e9c3d92572b9f00486fcd" + }, + { + "id": "compatible-demo", + "version": "0.5.0", + "engines": ">=1.6.0 <2", + "integrity": "ad3c944ff2bea24feb81cb25839746b72e4845b9dae3cba3a4e2ce872855114d" + }, + { + "id": "compatible-demo", + "version": "20.0.0-beta.1", + "engines": ">=1.6.0 <2", + "integrity": "1a24723ecad51739315c4a6439227ff0a884700647ac505db74a12949fa99c82" + }, + { + "id": "compatible-demo", + "version": "9.0.0", + "engines": ">=9", + "integrity": "c3f802635737b02d15f6fe3e82cde56c41a1c83c8a9cc0858ef964b49be206c9" + }, + { + "id": "unavailable-demo", + "version": "1.0.0", + "engines": ">=9", + "integrity": "bc25c179402f994d59e586491cc0921d01ddc6dcf12bea9274982df745f42ef0" + }, + { + "id": "compatible-demo", + "version": "2.0.0", + "engines": ">=1.6.0 <2", + "integrity": "5b2f2099fbe51f94a4242f8e81570bacf3a7c16625e8439af3853adab1de65f1" + }, + { + "id": "compatible-demo", + "version": "3.0.0", + "engines": ">=1.6.0 <2", + "integrity": "e9f0eecbf6621e6f0ba7fc139d1eb91ffa2899548e0b5e615e3443a0496c8081" + }, + { + "id": "compatible-demo", + "version": "1.10.0+fixture.1", + "engines": ">=1.6.0 <2", + "integrity": "b78efa83378ef1de9e79e8f6e4c18f0470382d8946481c4680fd0cbe2c6c349f" + } + ], + "commands": [ + { + "command": [ + "/usr/local/bin/node", + "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph/dist/bin/codegraph.js", + "extensions", + "install", + "compatible-demo", + "--registry", + "http://127.0.0.1:39953", + "--path", + "/tmp/cg-compatible-EAoRLw/headless-python-project" + ], + "exit": 0, + "seconds": 2.562 + }, + { + "command": [ + "/usr/local/bin/node", + "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph/dist/bin/codegraph.js", + "extensions", + "install", + "compatible-demo", + "--registry", + "http://127.0.0.1:39953", + "--version", + "9.0.0", + "--path", + "/tmp/cg-compatible-EAoRLw/headless-python-project" + ], + "exit": 1, + "seconds": 0.575 + }, + { + "command": [ + "/usr/local/bin/node", + "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph/dist/bin/codegraph.js", + "extensions", + "update", + "unavailable-demo", + "--registry", + "http://127.0.0.1:39953", + "--path", + "/tmp/cg-compatible-EAoRLw/headless-python-project" + ], + "exit": 1, + "seconds": 0.34 + }, + { + "command": [ + "/usr/local/bin/node", + "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph/dist/bin/codegraph.js", + "extensions", + "install", + "unavailable-demo", + "--registry", + "http://127.0.0.1:39953", + "--path", + "/tmp/cg-compatible-EAoRLw/headless-python-project" + ], + "exit": 1, + "seconds": 0.409 + }, + { + "command": [ + "/usr/local/bin/node", + "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph/dist/bin/codegraph.js", + "extensions", + "install", + "compatible-demo", + "--registry", + "http://127.0.0.1:39953", + "--version", + "20.0.0-beta.1", + "--path", + "/tmp/cg-compatible-EAoRLw/headless-python-project" + ], + "exit": 0, + "seconds": 1.9 + }, + { + "command": [ + "/usr/local/bin/node", + "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph/dist/bin/codegraph.js", + "extensions", + "update", + "compatible-demo", + "--registry", + "http://127.0.0.1:39953", + "--path", + "/tmp/cg-compatible-EAoRLw/headless-python-project" + ], + "exit": 1, + "seconds": 0.424 + }, + { + "command": [ + "/usr/local/bin/node", + "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph/dist/bin/codegraph.js", + "extensions", + "install", + "compatible-demo", + "--registry", + "http://127.0.0.1:39953", + "--version", + "1.9.0", + "--path", + "/tmp/cg-compatible-EAoRLw/headless-python-project" + ], + "exit": 0, + "seconds": 1.765 + }, + { + "command": [ + "/usr/local/bin/node", + "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph/dist/bin/codegraph.js", + "extensions", + "update", + "compatible-demo", + "--registry", + "http://127.0.0.1:39953", + "--path", + "/tmp/cg-compatible-EAoRLw/headless-python-project" + ], + "exit": 0, + "seconds": 2.424 + }, + { + "command": [ + "/usr/local/bin/node", + "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph/dist/bin/codegraph.js", + "extensions", + "install", + "http://127.0.0.1:39953/api/download/compatible-demo/1.9.0", + "--path", + "/tmp/cg-compatible-EAoRLw/headless-python-project" + ], + "exit": 0, + "seconds": 2.133 + }, + { + "command": [ + "/usr/local/bin/node", + "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph/dist/bin/codegraph.js", + "extensions", + "install", + "/tmp/cg-compatible-EAoRLw/pinned.cgext", + "--path", + "/tmp/cg-compatible-EAoRLw/headless-python-project" + ], + "exit": 0, + "seconds": 1.915 + }, + { + "command": [ + "/usr/local/bin/node", + "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph/dist/bin/codegraph.js", + "extensions", + "install", + "compatible-demo", + "--registry", + "http://127.0.0.1:39953", + "--version", + "1.10.0+fixture.1", + "--path", + "/tmp/cg-compatible-EAoRLw/headless-python-project" + ], + "exit": 0, + "seconds": 2.044 + }, + { + "command": [ + "/usr/local/bin/node", + "/data/workspace/Chats/109197f0a288be0afa6b7f8902925630f5a0bfde/codegraph/dist/bin/codegraph.js", + "extensions", + "remove", + "compatible-demo", + "--path", + "/tmp/cg-compatible-EAoRLw/headless-python-project" + ], + "exit": 0, + "seconds": 1.879 + } + ], + "engineVersion": "1.6.0", + "platform": "linux", + "browser": "153.0.8010.36" + }, + "visualLocal": { + "success": true, + "mode": "local-Node-real-package", + "origin": "http://127.0.0.1:34785", + "checks": [ + "actual local fonts, shared paper/ink tokens, heavy heading and square ruled layout", + "locally bundled decorative Lucide SVGs render with currentColor and named text controls", + "visible keyboard focus and working skip-to-content link", + "nested SVG paths activate connection and close buttons", + "nested SVG source action verifies immutable Drupal bytes with truthful legacy provenance and inert text", + "nested SVG download actions preserve full text and exact verified package bytes", + "catalog, detail, source and connection layouts fit 390px and 320px viewports", + "publisher form matches theme; nested SVG key-backup action works without publishing or retaining credentials", + "same-origin assets only, no mutations, no browser/CSP/resource errors" + ], + "computed": { + "font": "\"Archivo Variable\", -apple-system, BlinkMacSystemFont, \"Helvetica Neue\", Arial, sans-serif", + "mono": "\"IBM Plex Mono\", ui-monospace, monospace", + "paper": "rgb(247, 246, 242)", + "ink": "rgb(22, 21, 15)", + "muted": "rgb(86, 84, 74)", + "weight": "800", + "radius": "0px", + "loaded": [ + { + "family": "Archivo Variable", + "weight": "100 900" + }, + { + "family": "IBM Plex Mono", + "weight": "400" + }, + { + "family": "IBM Plex Mono", + "weight": "500" + } + ] + }, + "icons": [ + { + "name": "arrow-up-right", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 18 + }, + { + "name": "plug", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 18 + }, + { + "name": "plug", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 18 + }, + { + "name": "monitor", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 18 + }, + { + "name": "search", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 18 + }, + { + "name": "badge-check", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 13 + }, + { + "name": "arrow-right", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 17 + }, + { + "name": "arrow-right", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 17 + }, + { + "name": "arrow-up-right", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 18 + }, + { + "name": "download", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 18 + }, + { + "name": "code-xml", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 56 + }, + { + "name": "arrow-up-right", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 18 + }, + { + "name": "shield-check", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 18 + }, + { + "name": "refresh-cw", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 18 + }, + { + "name": "code-xml", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 18 + }, + { + "name": "arrow-up-right", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 18 + }, + { + "name": "x", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 0 + }, + { + "name": "copy", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 0 + }, + { + "name": "plug", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 0 + } + ], + "browser": "153.0.8010.36", + "requests": [ + { + "url": "http://127.0.0.1:34785/", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/fonts/archivo-latin-wght-normal.woff2", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/fonts.css", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/style.css", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/icons.js", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/app.js", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/brand/codegraph.svg", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/fonts/ibm-plex-mono-latin-400-normal.woff2", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/api/extensions", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/brand/drupal.svg", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/brand/codegraph.svg", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/fonts/ibm-plex-mono-latin-500-normal.woff2", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/fonts/archivo-latin-wght-normal.woff2", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/fonts.css", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/style.css", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/icons.js", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/app.js", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/brand/codegraph.svg", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/fonts/ibm-plex-mono-latin-400-normal.woff2", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/api/extensions", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/brand/drupal.svg", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/brand/codegraph.svg", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/fonts/ibm-plex-mono-latin-500-normal.woff2", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/brand/codegraph.svg", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/brand/codegraph.svg", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/api/download/drupal/0.1.1", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/extensions/drupal", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/fonts/archivo-latin-wght-normal.woff2", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/fonts.css", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/style.css", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/icons.js", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/app.js", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/brand/codegraph.svg", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/fonts/ibm-plex-mono-latin-400-normal.woff2", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/api/extensions", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/brand/drupal.svg", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/brand/codegraph.svg", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/fonts/ibm-plex-mono-latin-500-normal.woff2", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/api/download/drupal/0.1.1", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/fonts/archivo-latin-wght-normal.woff2", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/fonts.css", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/style.css", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/icons.js", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/app.js", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/brand/codegraph.svg", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/api/extensions", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/fonts/ibm-plex-mono-latin-400-normal.woff2", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/brand/drupal.svg", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/fonts/ibm-plex-mono-latin-500-normal.woff2", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/brand/codegraph.svg", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/extensions/drupal", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/fonts/archivo-latin-wght-normal.woff2", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/fonts.css", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/style.css", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/icons.js", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/app.js", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/brand/codegraph.svg", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/fonts/ibm-plex-mono-latin-400-normal.woff2", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/api/extensions", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/brand/drupal.svg", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/brand/codegraph.svg", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/fonts/ibm-plex-mono-latin-500-normal.woff2", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/api/download/drupal/0.1.1", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/fonts/archivo-latin-wght-normal.woff2", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/fonts.css", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/style.css", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/icons.js", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/app.js", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/brand/codegraph.svg", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/fonts/ibm-plex-mono-latin-400-normal.woff2", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/api/extensions", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/brand/drupal.svg", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/fonts/ibm-plex-mono-latin-500-normal.woff2", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/brand/codegraph.svg", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/publish", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/fonts/archivo-latin-wght-normal.woff2", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/fonts.css", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/style.css", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/icons.js", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/app.js", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/brand/codegraph.svg", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/fonts/ibm-plex-mono-latin-400-normal.woff2", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/api/extensions", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/fonts/ibm-plex-mono-latin-500-normal.woff2", + "method": "GET" + }, + { + "url": "http://127.0.0.1:34785/brand/codegraph.svg", + "method": "GET" + } + ], + "responses": [ + { + "url": "http://127.0.0.1:34785/", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/fonts.css", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/fonts/archivo-latin-wght-normal.woff2", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/style.css", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/brand/codegraph.svg", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/icons.js", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/fonts/ibm-plex-mono-latin-400-normal.woff2", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/app.js", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/api/extensions", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/brand/drupal.svg", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/brand/codegraph.svg", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/fonts/ibm-plex-mono-latin-500-normal.woff2", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/fonts.css", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/fonts/archivo-latin-wght-normal.woff2", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/style.css", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/brand/codegraph.svg", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/icons.js", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/app.js", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/fonts/ibm-plex-mono-latin-400-normal.woff2", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/api/extensions", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/brand/drupal.svg", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/brand/codegraph.svg", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/fonts/ibm-plex-mono-latin-500-normal.woff2", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/brand/codegraph.svg", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/brand/codegraph.svg", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/api/download/drupal/0.1.1", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/extensions/drupal", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/fonts.css", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/style.css", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/fonts/archivo-latin-wght-normal.woff2", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/icons.js", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/brand/codegraph.svg", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/app.js", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/fonts/ibm-plex-mono-latin-400-normal.woff2", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/api/extensions", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/brand/drupal.svg", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/brand/codegraph.svg", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/fonts/ibm-plex-mono-latin-500-normal.woff2", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/api/download/drupal/0.1.1", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/fonts.css", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/style.css", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/fonts/archivo-latin-wght-normal.woff2", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/icons.js", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/brand/codegraph.svg", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/app.js", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/api/extensions", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/fonts/ibm-plex-mono-latin-400-normal.woff2", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/brand/drupal.svg", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/fonts/ibm-plex-mono-latin-500-normal.woff2", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/brand/codegraph.svg", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/extensions/drupal", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/fonts.css", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/style.css", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/fonts/archivo-latin-wght-normal.woff2", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/icons.js", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/brand/codegraph.svg", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/fonts/ibm-plex-mono-latin-400-normal.woff2", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/app.js", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/api/extensions", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/brand/drupal.svg", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/brand/codegraph.svg", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/fonts/ibm-plex-mono-latin-500-normal.woff2", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/api/download/drupal/0.1.1", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/fonts.css", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/style.css", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/fonts/archivo-latin-wght-normal.woff2", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/icons.js", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/brand/codegraph.svg", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/app.js", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/fonts/ibm-plex-mono-latin-400-normal.woff2", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/api/extensions", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/brand/drupal.svg", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/fonts/ibm-plex-mono-latin-500-normal.woff2", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/brand/codegraph.svg", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/publish", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/fonts.css", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/fonts/archivo-latin-wght-normal.woff2", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/style.css", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/brand/codegraph.svg", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/icons.js", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/app.js", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/fonts/ibm-plex-mono-latin-400-normal.woff2", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/api/extensions", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/fonts/ibm-plex-mono-latin-500-normal.woff2", + "status": 200 + }, + { + "url": "http://127.0.0.1:34785/brand/codegraph.svg", + "status": 200 + } + ] + }, + "visualLive": { + "success": true, + "mode": "actual-live-read-only", + "origin": "https://codegraph-marketplace-preview.colby-7d9.workers.dev", + "checks": [ + "actual local fonts, shared paper/ink tokens, heavy heading and square ruled layout", + "locally bundled decorative Lucide SVGs render with currentColor and named text controls", + "visible keyboard focus and working skip-to-content link", + "nested SVG paths activate connection and close buttons", + "nested SVG source action verifies immutable Drupal bytes with truthful legacy provenance and inert text", + "nested SVG download actions preserve full text and exact verified package bytes", + "catalog, detail, source and connection layouts fit 390px and 320px viewports", + "publisher form matches theme; nested SVG key-backup action works without publishing or retaining credentials", + "same-origin assets only, no mutations, no browser/CSP/resource errors" + ], + "computed": { + "font": "\"Archivo Variable\", -apple-system, BlinkMacSystemFont, \"Helvetica Neue\", Arial, sans-serif", + "mono": "\"IBM Plex Mono\", ui-monospace, monospace", + "paper": "rgb(247, 246, 242)", + "ink": "rgb(22, 21, 15)", + "muted": "rgb(86, 84, 74)", + "weight": "800", + "radius": "0px", + "loaded": [ + { + "family": "Archivo Variable", + "weight": "100 900" + }, + { + "family": "IBM Plex Mono", + "weight": "400" + }, + { + "family": "IBM Plex Mono", + "weight": "500" + } + ] + }, + "icons": [ + { + "name": "arrow-up-right", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 18 + }, + { + "name": "plug", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 18 + }, + { + "name": "plug", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 18 + }, + { + "name": "monitor", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 18 + }, + { + "name": "search", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 18 + }, + { + "name": "badge-check", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 13 + }, + { + "name": "arrow-right", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 17 + }, + { + "name": "arrow-right", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 17 + }, + { + "name": "arrow-up-right", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 18 + }, + { + "name": "download", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 18 + }, + { + "name": "code-xml", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 56 + }, + { + "name": "arrow-up-right", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 18 + }, + { + "name": "shield-check", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 18 + }, + { + "name": "refresh-cw", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 18 + }, + { + "name": "code-xml", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 18 + }, + { + "name": "arrow-up-right", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 18 + }, + { + "name": "x", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 0 + }, + { + "name": "copy", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 0 + }, + { + "name": "plug", + "hidden": "true", + "focusable": "false", + "stroke": "currentColor", + "width": 0 + } + ], + "browser": "153.0.8010.36", + "requests": [ + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/archivo-latin-wght-normal.woff2", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts.css", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/style.css", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/icons.js", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/app.js", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/codegraph.svg", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/ibm-plex-mono-latin-400-normal.woff2", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/api/extensions", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/codegraph.svg", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/drupal.svg", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/ibm-plex-mono-latin-500-normal.woff2", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/archivo-latin-wght-normal.woff2", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts.css", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/style.css", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/icons.js", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/app.js", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/codegraph.svg", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/api/extensions", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/ibm-plex-mono-latin-400-normal.woff2", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/ibm-plex-mono-latin-500-normal.woff2", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/codegraph.svg", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/drupal.svg", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/codegraph.svg", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/codegraph.svg", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/api/download/drupal/0.1.1", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/extensions/drupal", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/archivo-latin-wght-normal.woff2", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts.css", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/style.css", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/icons.js", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/app.js", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/codegraph.svg", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/ibm-plex-mono-latin-400-normal.woff2", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/ibm-plex-mono-latin-500-normal.woff2", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/api/extensions", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/codegraph.svg", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/drupal.svg", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/api/download/drupal/0.1.1", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/archivo-latin-wght-normal.woff2", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts.css", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/style.css", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/icons.js", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/app.js", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/codegraph.svg", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/ibm-plex-mono-latin-400-normal.woff2", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/ibm-plex-mono-latin-500-normal.woff2", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/api/extensions", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/codegraph.svg", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/drupal.svg", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/extensions/drupal", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/archivo-latin-wght-normal.woff2", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts.css", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/style.css", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/icons.js", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/app.js", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/codegraph.svg", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/ibm-plex-mono-latin-400-normal.woff2", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/ibm-plex-mono-latin-500-normal.woff2", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/api/extensions", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/codegraph.svg", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/drupal.svg", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/api/download/drupal/0.1.1", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/archivo-latin-wght-normal.woff2", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts.css", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/style.css", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/icons.js", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/app.js", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/codegraph.svg", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/api/extensions", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/ibm-plex-mono-latin-400-normal.woff2", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/ibm-plex-mono-latin-500-normal.woff2", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/codegraph.svg", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/drupal.svg", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/publish", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/archivo-latin-wght-normal.woff2", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts.css", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/style.css", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/icons.js", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/app.js", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/codegraph.svg", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/api/extensions", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/ibm-plex-mono-latin-400-normal.woff2", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/ibm-plex-mono-latin-500-normal.woff2", + "method": "GET" + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/codegraph.svg", + "method": "GET" + } + ], + "responses": [ + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/style.css", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/archivo-latin-wght-normal.woff2", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/icons.js", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/codegraph.svg", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts.css", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/app.js", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/ibm-plex-mono-latin-400-normal.woff2", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/codegraph.svg", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/api/extensions", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/drupal.svg", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/ibm-plex-mono-latin-500-normal.woff2", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/archivo-latin-wght-normal.woff2", + "status": 304 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/style.css", + "status": 304 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/icons.js", + "status": 304 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/app.js", + "status": 304 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/codegraph.svg", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts.css", + "status": 304 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/ibm-plex-mono-latin-400-normal.woff2", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/ibm-plex-mono-latin-500-normal.woff2", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/codegraph.svg", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/api/extensions", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/drupal.svg", + "status": 304 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/codegraph.svg", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/codegraph.svg", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/api/download/drupal/0.1.1", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/extensions/drupal", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/archivo-latin-wght-normal.woff2", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/style.css", + "status": 304 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/icons.js", + "status": 304 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/app.js", + "status": 304 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/codegraph.svg", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts.css", + "status": 304 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/ibm-plex-mono-latin-400-normal.woff2", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/ibm-plex-mono-latin-500-normal.woff2", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/codegraph.svg", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/api/extensions", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/api/download/drupal/0.1.1", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/drupal.svg", + "status": 304 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/style.css", + "status": 304 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts.css", + "status": 304 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/archivo-latin-wght-normal.woff2", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/ibm-plex-mono-latin-400-normal.woff2", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/ibm-plex-mono-latin-500-normal.woff2", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/codegraph.svg", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/app.js", + "status": 304 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/icons.js", + "status": 304 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/codegraph.svg", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/api/extensions", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/drupal.svg", + "status": 304 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/extensions/drupal", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/archivo-latin-wght-normal.woff2", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/style.css", + "status": 304 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts.css", + "status": 304 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/icons.js", + "status": 304 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/ibm-plex-mono-latin-400-normal.woff2", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/ibm-plex-mono-latin-500-normal.woff2", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/codegraph.svg", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/app.js", + "status": 304 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/codegraph.svg", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/api/extensions", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/drupal.svg", + "status": 304 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/api/download/drupal/0.1.1", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts.css", + "status": 304 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/icons.js", + "status": 304 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/style.css", + "status": 304 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/codegraph.svg", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/archivo-latin-wght-normal.woff2", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/app.js", + "status": 304 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/ibm-plex-mono-latin-400-normal.woff2", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/ibm-plex-mono-latin-500-normal.woff2", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/api/extensions", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/codegraph.svg", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/drupal.svg", + "status": 304 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/publish", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/style.css", + "status": 304 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/codegraph.svg", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/archivo-latin-wght-normal.woff2", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts.css", + "status": 304 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/icons.js", + "status": 304 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/app.js", + "status": 304 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/ibm-plex-mono-latin-400-normal.woff2", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/fonts/ibm-plex-mono-latin-500-normal.woff2", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/brand/codegraph.svg", + "status": 200 + }, + { + "url": "https://codegraph-marketplace-preview.colby-7d9.workers.dev/api/extensions", + "status": 200 + } + ] + } + }, + "deployment": { + "performed": true, + "count": 1, + "version": "d87a4fa0-165e-4fb5-a6c7-96c4e0dd000a", + "plan": { + "baseCommit": "7bbce09f4b65d7a17b4c44932a061b1738c28903", + "uiCommit": "b4dcb40d92f9ea19bd5098b58c1115296d65eb60", + "workerBundle": ".qa/hosted/restore-dryrun/worker.js", + "workerSha256": "43dc01b6bd20160381d409c80ecd4f447ab6539a34890110e6dcad6684060561", + "config": "marketplace/cloudflare/wrangler.source-ui.json", + "configSha256": "f7d7c7dc0d6825a7f8b64682344dbe76b4bce2acfbf516af21be604f01f9e5dc", + "assets": { + "_headers": { + "sha256": "7b2fb8fc7fc84e6968ab54a3e200df400b7af1fcb68bcf6aec44a6248a1aeb4e", + "bytes": 254 + }, + "app.js": { + "sha256": "1db3931a8c0e6ea7b84b53736577174cd44f91b44819f91e94025497947014f4", + "bytes": 35699 + }, + "asset-manifest.json": { + "sha256": "fac623a846b987d0ae1f3b689397e6d36656d43aab8401f714e44cec99807008", + "bytes": 6027 + }, + "brand/codegraph.svg": { + "sha256": "aa3a740796afecb1a2d9613ca7852aeb089cfc215672fae077b6354d40330c11", + "bytes": 446 + }, + "brand/drupal.svg": { + "sha256": "4507e60490d810f0accdd83efdd6eaace834fe15b210d40ee69fd9ded288ebd8", + "bytes": 1605 + }, + "fonts.css": { + "sha256": "406d1608eab9daccfeae30aa8c463860be88062453f77084fcf60212cfdc6c1a", + "bytes": 743 + }, + "fonts/archivo-latin-wght-normal.woff2": { + "sha256": "8f704806dbedeaaeca334b11ec348bc3ac3a439d6431544b3afb54f534ee4967", + "bytes": 34928 + }, + "fonts/ibm-plex-mono-latin-400-normal.woff2": { + "sha256": "08949f728dc52d528e69b1667d15c89a5686a4ee9a296ff90983985f99c380f7", + "bytes": 14708 + }, + "fonts/ibm-plex-mono-latin-500-normal.woff2": { + "sha256": "01d285447409c8a588692162439a038b8cbd7871309ee20267b0d2d91c6e8e22", + "bytes": 14888 + }, + "fonts/ibm-plex-mono-latin-600-normal.woff2": { + "sha256": "0d1f0b8d0722224e32e9f28261bdc86c79115be73444ae5eceb73976a1bcdf83", + "bytes": 15620 + }, + "icons.js": { + "sha256": "00cbaf094ebd45cac3fa118db73e90124e0bfa13e2a76f6c5fb44be6ae1be962", + "bytes": 4385 + }, + "index.html": { + "sha256": "fd93aefbe827fd654d8182309b9b4c23ffd193f336ea933e842772ec5792bf9b", + "bytes": 2679 + }, + "licenses/archivo.txt": { + "sha256": "c3c8402eec0e31dc9a76851235b1c02a0bb821488b2db8e35bcc2ab60ca8fc2b", + "bytes": 4503 + }, + "licenses/drupal.txt": { + "sha256": "87d7c32e09f941ff3815cd9eb6989506a652c18fd9620cb0e7e3ef7c979592ed", + "bytes": 18002 + }, + "licenses/feather.txt": { + "sha256": "a2528528d53d609c02376d8efc8d00ea0e1cc48c387198880000b9d6ba9ae1a8", + "bytes": 1085 + }, + "licenses/ibm-plex-mono.txt": { + "sha256": "23b0a9d0c6d3f140a0b77e483c5cfa6bba574325ef5cb189ed9f2fec4884533f", + "bytes": 5299 + }, + "licenses/lucide.txt": { + "sha256": "1e7290b35280a048667bbf0ebabac1c7fd52a75300e8b2946ac165715997f2bc", + "bytes": 880 + }, + "style.css": { + "sha256": "bb511e2333019662eba3c6b1d940df1dc4bc940dd6269edfaf2adaa3b1db0b4d", + "bytes": 15066 + } + }, + "scope": "Static UI only; accepted Worker unchanged; same bindings/CPU/observability/publishing=false. Staged source-admission backend excluded." + }, + "resourcesUnchanged": { + "script": { + "etag": "2aa343f6d3cb5675e807cb91fa0e6d42aa71d8e6e0dfbf814ad038a24c395ea0", + "handlers": [ + "fetch" + ], + "named_handlers": [ + { + "name": "createHandler", + "handlers": [ + "class" + ] + }, + { + "name": "digest", + "handlers": [ + "class" + ] + }, + { + "name": "objectKey", + "handlers": [ + "class" + ] + }, + { + "name": "validateSubmission", + "handlers": [ + "class" + ] + } + ], + "last_deployed_from": "wrangler" + }, + "script_runtime": { + "assets": { + "not_found_handling": "single-page-application", + "headers": { + "version": 2, + "rules": { + "/*": { + "set": { + "content-security-policy": "default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:; connect-src 'self'; frame-ancestors 'none'; base-uri 'none'; form-action 'self'", + "referrer-policy": "no-referrer", + "x-content-type-options": "nosniff" + }, + "unset": [] + } + } + }, + "raw_headers": "/*\n X-Content-Type-Options: nosniff\n Referrer-Policy: no-referrer\n Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:; connect-src 'self'; frame-ancestors 'none'; base-uri 'none'; form-action 'self'\n", + "static_routing": { + "user_worker": [ + "/api/*" + ] + }, + "serve_directly": true, + "raw_run_worker_first": [ + "/api/*" + ], + "base_path": "/" + }, + "compatibility_date": "2026-09-21", + "usage_model": "standard", + "limits": { + "cpu_ms": 1000 + } + }, + "bindings": [ + { + "name": "ASSETS", + "type": "assets" + }, + { + "database_id": "1eb958b0-69c0-4a98-880e-1e787ce7a9b5", + "id": "1eb958b0-69c0-4a98-880e-1e787ce7a9b5", + "name": "DB", + "type": "d1" + }, + { + "bucket_name": "codegraph-marketplace-preview-packages", + "name": "PACKAGES", + "type": "r2_bucket" + }, + { + "name": "PUBLISHING_ENABLED", + "text": "false", + "type": "plain_text" + } + ] + }, + "readback": { + "phase": "after", + "at": "2026-09-23T04:57:22.959Z", + "endpoints": { + "https://codegraph-marketplace-preview.colby-7d9.workers.dev": { + "health": { + "ok": true, + "publishing": false, + "protocol": 1, + "storage": "d1-r2", + "schema": 1 + }, + "catalog": [ + { + "id": "hosted-compatible-20260922", + "version": "9.0.0", + "name": "hosted-compatible-20260922", + "description": "Compatible generated Python event extension", + "publisher": "Compatibility validation", + "publisherId": "92cea32424907ef35904b591f22d38e35939a96833dd60d7d0c4fc3591a22697", + "official": false, + "readme": "Generated author template; local release selection acceptance.", + "source": "https://example.com/extension-source", + "apiVersion": 1, + "engines": ">=9", + "capabilities": [ + "frameworks" + ], + "integrity": "b59b91c3c2a8f8bcbaae2a505d118cc6a242894f264f82f702baf8dbb84ff6b2", + "publishedAt": "2026-09-22T21:17:22.816Z" + }, + { + "id": "hosted-browser-20260922c", + "version": "3.0.0", + "name": "Browser example", + "description": "A second framework used for end-to-end validation.", + "publisher": "Recovery publisher", + "publisherId": "af8401b6d183ccc8e468bf71c9bb182984aeb9038d4320881509b59dc03473c0", + "official": false, + "readme": "Validation-only extension. Adds one explicit route to each TypeScript file.", + "source": "https://example.com/recovery-source", + "apiVersion": 1, + "engines": "*", + "capabilities": [ + "frameworks" + ], + "integrity": "6b6ccd347b81a80d14666ff01eaf1bc935e248ea5b55332c8b683c9c7d38ff95", + "publishedAt": "2026-09-22T21:21:02.959Z" + }, + { + "id": "hosted-unavailable-20260922", + "version": "1.0.0", + "name": "hosted-unavailable-20260922", + "description": "Compatible generated Python event extension", + "publisher": "Compatibility validation", + "publisherId": "92cea32424907ef35904b591f22d38e35939a96833dd60d7d0c4fc3591a22697", + "official": false, + "readme": "Generated author template; local release selection acceptance.", + "source": "https://example.com/extension-source", + "apiVersion": 1, + "engines": ">=9", + "capabilities": [ + "frameworks" + ], + "integrity": "52757753d7a6a93bae00cda5ab49d5a5aafee29c4aa642d66be67bb4aaa99f1f", + "publishedAt": "2026-09-22T21:17:30.309Z" + }, + { + "id": "hosted-browser-20260922", + "version": "1.0.0", + "name": "Browser example", + "description": "A second framework used for end-to-end validation.", + "publisher": "Recovery publisher", + "publisherId": "885aa5c7877339b8f99862f37fba08dbd343286e75a5be9c707e1ea7ae0bed45", + "official": false, + "readme": "Validation-only extension. Adds one explicit route to each TypeScript file.", + "source": "https://example.com/recovery-source", + "apiVersion": 1, + "engines": "*", + "capabilities": [ + "frameworks" + ], + "integrity": "77cf52134eb562786c5d2bf4acf2217282bf64268ded6a5d41985a991241374e", + "publishedAt": "2026-09-22T21:18:38.219Z" + }, + { + "id": "hosted-browser-20260922b", + "version": "1.0.0", + "name": "Browser example", + "description": "A second framework used for end-to-end validation.", + "publisher": "Recovery publisher", + "publisherId": "6624ef2aea1a2a069b2f45c592cf338ffea8ef40b213b7036bec4bc0fb23925a", + "official": false, + "readme": "Validation-only extension. Adds one explicit route to each TypeScript file.", + "source": "https://example.com/recovery-source", + "apiVersion": 1, + "engines": "*", + "capabilities": [ + "frameworks" + ], + "integrity": "c9e8388f85200aeb250fa390f72f1abf6c360b74afbcde54264a7ee07a6f46e2", + "publishedAt": "2026-09-22T21:19:53.974Z" + }, + { + "id": "hosted-max-mud6jh8d", + "version": "1.0.0", + "name": "Hosted acceptance fixture", + "description": "Disposable preview contract check", + "publisher": "Preview validation", + "publisherId": "69552fa8da12bb0f49449efb46cbff44f0125b3190d8c3b3fb0138753ca2101a", + "official": false, + "readme": "Test fixture. Not a recommended extension.", + "source": "https://github.com/colbymchenry/codegraph", + "apiVersion": 1, + "engines": "*", + "capabilities": [ + "frameworks" + ], + "integrity": "82f34553a322af2e6aea5e193254d614fdde364289794a245a22b3ac9f116af6", + "publishedAt": "2026-09-22T21:22:08.302Z" + }, + { + "id": "race-resume-mud6mb5z", + "version": "1.0.0", + "name": "Hosted race fixture", + "description": "Disposable concurrency acceptance", + "publisher": "Preview validation", + "publisherId": "e1c50f04f34839df6d27b20984062f4e3c92e584ba9d17d555047b7ce776f9fb", + "official": false, + "readme": "Test fixture. Not a recommended extension.", + "source": "https://github.com/colbymchenry/codegraph", + "apiVersion": 1, + "engines": "*", + "capabilities": [ + "frameworks" + ], + "integrity": "cd71eb3915466c39f9c6099d1c35c81138fadd095d865a955d8e4ee081134bab", + "publishedAt": "2026-09-22T21:24:19.444Z" + }, + { + "id": "drupal", + "version": "0.1.1", + "name": "Drupal", + "description": "Follow Drupal routes, services, hooks, plugins and events through your codebase.", + "publisher": "CodeGraph", + "publisherId": "codegraph", + "official": true, + "readme": "Official CodeGraph Drupal extension 0.1.1 preview. Rejects commented/quoted declarations and handles explicit legacy and modern Symfony event argument order. Routes and forms connect to their handlers; services connect to implementations and explicit injections; literal hooks and events connect to declared implementations.\n\nInstalling replaces the built-in Drupal resolver for this project. Requires CodeGraph >=1.6.0 <2 with extension support.\n\nComputed identifiers, missing external dependencies, ambiguous classes and unknown entity handlers remain unresolved. Broader Drupal coverage and performance review remain open.", + "source": "https://github.com/colbymchenry/codegraph/tree/b27bf875c95d3b82a0df411f68d0d8497993667b/extensions/drupal", + "apiVersion": 1, + "engines": ">=1.6.0 <2", + "capabilities": [ + "frameworks", + "synthPasses" + ], + "integrity": "e5ed73bee51524585e4f4da1d5017fdee3037a3fa71d8f08edab6c318fedc59a", + "publishedAt": "2026-09-22T21:05:56.339Z", + "provenance": { + "repository": "https://github.com/colbymchenry/codegraph", + "revision": "b27bf875c95d3b82a0df411f68d0d8497993667b", + "path": "extensions/drupal/index.cjs", + "sourceSha256": "e9a5f13baaf0ba53ab17f0e348edd73ba91c80a11034746372c808eda8e3714d", + "entrySha256": "17aa1ea7feed33cb42e010d9eae15f4a07035987ced3b9cd0f6f39a2ee6adc91" + } + } + ], + "drupal": [ + { + "id": "drupal", + "version": "0.1.1", + "name": "Drupal", + "description": "Follow Drupal routes, services, hooks, plugins and events through your codebase.", + "publisher": "CodeGraph", + "publisherId": "codegraph", + "official": true, + "readme": "Official CodeGraph Drupal extension 0.1.1 preview. Rejects commented/quoted declarations and handles explicit legacy and modern Symfony event argument order. Routes and forms connect to their handlers; services connect to implementations and explicit injections; literal hooks and events connect to declared implementations.\n\nInstalling replaces the built-in Drupal resolver for this project. Requires CodeGraph >=1.6.0 <2 with extension support.\n\nComputed identifiers, missing external dependencies, ambiguous classes and unknown entity handlers remain unresolved. Broader Drupal coverage and performance review remain open.", + "source": "https://github.com/colbymchenry/codegraph/tree/b27bf875c95d3b82a0df411f68d0d8497993667b/extensions/drupal", + "apiVersion": 1, + "engines": ">=1.6.0 <2", + "capabilities": [ + "frameworks", + "synthPasses" + ], + "integrity": "e5ed73bee51524585e4f4da1d5017fdee3037a3fa71d8f08edab6c318fedc59a", + "publishedAt": "2026-09-22T21:05:56.339Z", + "provenance": { + "repository": "https://github.com/colbymchenry/codegraph", + "revision": "b27bf875c95d3b82a0df411f68d0d8497993667b", + "path": "extensions/drupal/index.cjs", + "sourceSha256": "e9a5f13baaf0ba53ab17f0e348edd73ba91c80a11034746372c808eda8e3714d", + "entrySha256": "17aa1ea7feed33cb42e010d9eae15f4a07035987ced3b9cd0f6f39a2ee6adc91" + } + } + ] + }, + "https://codegraph-marketplace-preview-restore-20260922.colby-7d9.workers.dev": { + "health": { + "ok": true, + "publishing": false, + "protocol": 1, + "storage": "d1-r2", + "schema": 1 + }, + "catalog": [ + { + "id": "hosted-compatible-20260922", + "version": "9.0.0", + "name": "hosted-compatible-20260922", + "description": "Compatible generated Python event extension", + "publisher": "Compatibility validation", + "publisherId": "92cea32424907ef35904b591f22d38e35939a96833dd60d7d0c4fc3591a22697", + "official": false, + "readme": "Generated author template; local release selection acceptance.", + "source": "https://example.com/extension-source", + "apiVersion": 1, + "engines": ">=9", + "capabilities": [ + "frameworks" + ], + "integrity": "b59b91c3c2a8f8bcbaae2a505d118cc6a242894f264f82f702baf8dbb84ff6b2", + "publishedAt": "2026-09-22T21:17:22.816Z" + }, + { + "id": "hosted-browser-20260922c", + "version": "3.0.0", + "name": "Browser example", + "description": "A second framework used for end-to-end validation.", + "publisher": "Recovery publisher", + "publisherId": "af8401b6d183ccc8e468bf71c9bb182984aeb9038d4320881509b59dc03473c0", + "official": false, + "readme": "Validation-only extension. Adds one explicit route to each TypeScript file.", + "source": "https://example.com/recovery-source", + "apiVersion": 1, + "engines": "*", + "capabilities": [ + "frameworks" + ], + "integrity": "6b6ccd347b81a80d14666ff01eaf1bc935e248ea5b55332c8b683c9c7d38ff95", + "publishedAt": "2026-09-22T21:21:02.959Z" + }, + { + "id": "hosted-unavailable-20260922", + "version": "1.0.0", + "name": "hosted-unavailable-20260922", + "description": "Compatible generated Python event extension", + "publisher": "Compatibility validation", + "publisherId": "92cea32424907ef35904b591f22d38e35939a96833dd60d7d0c4fc3591a22697", + "official": false, + "readme": "Generated author template; local release selection acceptance.", + "source": "https://example.com/extension-source", + "apiVersion": 1, + "engines": ">=9", + "capabilities": [ + "frameworks" + ], + "integrity": "52757753d7a6a93bae00cda5ab49d5a5aafee29c4aa642d66be67bb4aaa99f1f", + "publishedAt": "2026-09-22T21:17:30.309Z" + }, + { + "id": "hosted-browser-20260922", + "version": "1.0.0", + "name": "Browser example", + "description": "A second framework used for end-to-end validation.", + "publisher": "Recovery publisher", + "publisherId": "885aa5c7877339b8f99862f37fba08dbd343286e75a5be9c707e1ea7ae0bed45", + "official": false, + "readme": "Validation-only extension. Adds one explicit route to each TypeScript file.", + "source": "https://example.com/recovery-source", + "apiVersion": 1, + "engines": "*", + "capabilities": [ + "frameworks" + ], + "integrity": "77cf52134eb562786c5d2bf4acf2217282bf64268ded6a5d41985a991241374e", + "publishedAt": "2026-09-22T21:18:38.219Z" + }, + { + "id": "hosted-browser-20260922b", + "version": "1.0.0", + "name": "Browser example", + "description": "A second framework used for end-to-end validation.", + "publisher": "Recovery publisher", + "publisherId": "6624ef2aea1a2a069b2f45c592cf338ffea8ef40b213b7036bec4bc0fb23925a", + "official": false, + "readme": "Validation-only extension. Adds one explicit route to each TypeScript file.", + "source": "https://example.com/recovery-source", + "apiVersion": 1, + "engines": "*", + "capabilities": [ + "frameworks" + ], + "integrity": "c9e8388f85200aeb250fa390f72f1abf6c360b74afbcde54264a7ee07a6f46e2", + "publishedAt": "2026-09-22T21:19:53.974Z" + }, + { + "id": "hosted-max-mud6jh8d", + "version": "1.0.0", + "name": "Hosted acceptance fixture", + "description": "Disposable preview contract check", + "publisher": "Preview validation", + "publisherId": "69552fa8da12bb0f49449efb46cbff44f0125b3190d8c3b3fb0138753ca2101a", + "official": false, + "readme": "Test fixture. Not a recommended extension.", + "source": "https://github.com/colbymchenry/codegraph", + "apiVersion": 1, + "engines": "*", + "capabilities": [ + "frameworks" + ], + "integrity": "82f34553a322af2e6aea5e193254d614fdde364289794a245a22b3ac9f116af6", + "publishedAt": "2026-09-22T21:22:08.302Z" + }, + { + "id": "race-resume-mud6mb5z", + "version": "1.0.0", + "name": "Hosted race fixture", + "description": "Disposable concurrency acceptance", + "publisher": "Preview validation", + "publisherId": "e1c50f04f34839df6d27b20984062f4e3c92e584ba9d17d555047b7ce776f9fb", + "official": false, + "readme": "Test fixture. Not a recommended extension.", + "source": "https://github.com/colbymchenry/codegraph", + "apiVersion": 1, + "engines": "*", + "capabilities": [ + "frameworks" + ], + "integrity": "cd71eb3915466c39f9c6099d1c35c81138fadd095d865a955d8e4ee081134bab", + "publishedAt": "2026-09-22T21:24:19.444Z" + }, + { + "id": "drupal", + "version": "0.1.1", + "name": "Drupal", + "description": "Follow Drupal routes, services, hooks, plugins and events through your codebase.", + "publisher": "CodeGraph", + "publisherId": "codegraph", + "official": true, + "readme": "Official CodeGraph Drupal extension 0.1.1 preview. Rejects commented/quoted declarations and handles explicit legacy and modern Symfony event argument order. Routes and forms connect to their handlers; services connect to implementations and explicit injections; literal hooks and events connect to declared implementations.\n\nInstalling replaces the built-in Drupal resolver for this project. Requires CodeGraph >=1.6.0 <2 with extension support.\n\nComputed identifiers, missing external dependencies, ambiguous classes and unknown entity handlers remain unresolved. Broader Drupal coverage and performance review remain open.", + "source": "https://github.com/colbymchenry/codegraph/tree/b27bf875c95d3b82a0df411f68d0d8497993667b/extensions/drupal", + "apiVersion": 1, + "engines": ">=1.6.0 <2", + "capabilities": [ + "frameworks", + "synthPasses" + ], + "integrity": "e5ed73bee51524585e4f4da1d5017fdee3037a3fa71d8f08edab6c318fedc59a", + "publishedAt": "2026-09-22T21:05:56.339Z", + "provenance": { + "repository": "https://github.com/colbymchenry/codegraph", + "revision": "b27bf875c95d3b82a0df411f68d0d8497993667b", + "path": "extensions/drupal/index.cjs", + "sourceSha256": "e9a5f13baaf0ba53ab17f0e348edd73ba91c80a11034746372c808eda8e3714d", + "entrySha256": "17aa1ea7feed33cb42e010d9eae15f4a07035987ced3b9cd0f6f39a2ee6adc91" + } + } + ], + "drupal": [ + { + "id": "drupal", + "version": "0.1.1", + "name": "Drupal", + "description": "Follow Drupal routes, services, hooks, plugins and events through your codebase.", + "publisher": "CodeGraph", + "publisherId": "codegraph", + "official": true, + "readme": "Official CodeGraph Drupal extension 0.1.1 preview. Rejects commented/quoted declarations and handles explicit legacy and modern Symfony event argument order. Routes and forms connect to their handlers; services connect to implementations and explicit injections; literal hooks and events connect to declared implementations.\n\nInstalling replaces the built-in Drupal resolver for this project. Requires CodeGraph >=1.6.0 <2 with extension support.\n\nComputed identifiers, missing external dependencies, ambiguous classes and unknown entity handlers remain unresolved. Broader Drupal coverage and performance review remain open.", + "source": "https://github.com/colbymchenry/codegraph/tree/b27bf875c95d3b82a0df411f68d0d8497993667b/extensions/drupal", + "apiVersion": 1, + "engines": ">=1.6.0 <2", + "capabilities": [ + "frameworks", + "synthPasses" + ], + "integrity": "e5ed73bee51524585e4f4da1d5017fdee3037a3fa71d8f08edab6c318fedc59a", + "publishedAt": "2026-09-22T21:05:56.339Z", + "provenance": { + "repository": "https://github.com/colbymchenry/codegraph", + "revision": "b27bf875c95d3b82a0df411f68d0d8497993667b", + "path": "extensions/drupal/index.cjs", + "sourceSha256": "e9a5f13baaf0ba53ab17f0e348edd73ba91c80a11034746372c808eda8e3714d", + "entrySha256": "17aa1ea7feed33cb42e010d9eae15f4a07035987ced3b9cd0f6f39a2ee6adc91" + } + } + ] + } + }, + "assets": { + "app.js": { + "sha256": "1db3931a8c0e6ea7b84b53736577174cd44f91b44819f91e94025497947014f4", + "bytes": 35699, + "contentType": "text/javascript" + }, + "asset-manifest.json": { + "sha256": "fac623a846b987d0ae1f3b689397e6d36656d43aab8401f714e44cec99807008", + "bytes": 6027, + "contentType": "application/json" + }, + "brand/codegraph.svg": { + "sha256": "aa3a740796afecb1a2d9613ca7852aeb089cfc215672fae077b6354d40330c11", + "bytes": 446, + "contentType": "image/svg+xml" + }, + "brand/drupal.svg": { + "sha256": "4507e60490d810f0accdd83efdd6eaace834fe15b210d40ee69fd9ded288ebd8", + "bytes": 1605, + "contentType": "image/svg+xml" + }, + "fonts.css": { + "sha256": "406d1608eab9daccfeae30aa8c463860be88062453f77084fcf60212cfdc6c1a", + "bytes": 743, + "contentType": "text/css" + }, + "fonts/archivo-latin-wght-normal.woff2": { + "sha256": "8f704806dbedeaaeca334b11ec348bc3ac3a439d6431544b3afb54f534ee4967", + "bytes": 34928, + "contentType": "font/woff2" + }, + "fonts/ibm-plex-mono-latin-400-normal.woff2": { + "sha256": "08949f728dc52d528e69b1667d15c89a5686a4ee9a296ff90983985f99c380f7", + "bytes": 14708, + "contentType": "font/woff2" + }, + "fonts/ibm-plex-mono-latin-500-normal.woff2": { + "sha256": "01d285447409c8a588692162439a038b8cbd7871309ee20267b0d2d91c6e8e22", + "bytes": 14888, + "contentType": "font/woff2" + }, + "fonts/ibm-plex-mono-latin-600-normal.woff2": { + "sha256": "0d1f0b8d0722224e32e9f28261bdc86c79115be73444ae5eceb73976a1bcdf83", + "bytes": 15620, + "contentType": "font/woff2" + }, + "icons.js": { + "sha256": "00cbaf094ebd45cac3fa118db73e90124e0bfa13e2a76f6c5fb44be6ae1be962", + "bytes": 4385, + "contentType": "text/javascript" + }, + "index.html": { + "sha256": "fd93aefbe827fd654d8182309b9b4c23ffd193f336ea933e842772ec5792bf9b", + "bytes": 2679, + "contentType": "text/html" + }, + "licenses/archivo.txt": { + "sha256": "c3c8402eec0e31dc9a76851235b1c02a0bb821488b2db8e35bcc2ab60ca8fc2b", + "bytes": 4503, + "contentType": "text/plain" + }, + "licenses/drupal.txt": { + "sha256": "87d7c32e09f941ff3815cd9eb6989506a652c18fd9620cb0e7e3ef7c979592ed", + "bytes": 18002, + "contentType": "text/plain" + }, + "licenses/feather.txt": { + "sha256": "a2528528d53d609c02376d8efc8d00ea0e1cc48c387198880000b9d6ba9ae1a8", + "bytes": 1085, + "contentType": "text/plain" + }, + "licenses/ibm-plex-mono.txt": { + "sha256": "23b0a9d0c6d3f140a0b77e483c5cfa6bba574325ef5cb189ed9f2fec4884533f", + "bytes": 5299, + "contentType": "text/plain" + }, + "licenses/lucide.txt": { + "sha256": "1e7290b35280a048667bbf0ebabac1c7fd52a75300e8b2946ac165715997f2bc", + "bytes": 880, + "contentType": "text/plain" + }, + "style.css": { + "sha256": "bb511e2333019662eba3c6b1d940df1dc4bc940dd6269edfaf2adaa3b1db0b4d", + "bytes": 15066, + "contentType": "text/css" + } + }, + "drupalIntegrity": "e5ed73bee51524585e4f4da1d5017fdee3037a3fa71d8f08edab6c318fedc59a" + }, + "sourceAdmissionBackendDeployed": false, + "publishing": false + }, + "limits": [ + "Only static assets deployed; portable Node static route is committed but not deployed as Worker.", + "Prior backend/provider/core/native evidence reused at original source; no broad reruns.", + "Read-only live UI test has no graph installation/publication; current local managed installation and prior hosted graph evidence are separate.", + "The shared $5 account allowance model remains conditional; no new billing/resources.", + "Full Latin fonts only, other glyphs fall back; existing light-only UI retained.", + "Source availability and public package correspondence are not malware or reproducible-build certification." + ] +} diff --git a/docs/validation/extensions-marketplace-theme-20260923.md b/docs/validation/extensions-marketplace-theme-20260923.md new file mode 100644 index 000000000..cbb996a07 --- /dev/null +++ b/docs/validation/extensions-marketplace-theme-20260923.md @@ -0,0 +1,69 @@ +# Marketplace theme and live source UI — 2026-09-23 + +The [existing Cloudflare preview](https://codegraph-marketplace-preview.colby-7d9.workers.dev) now serves the checked CodeGraph theme, locally bundled Lucide icons/fonts and exact-package source viewer. The rollout changed static assets only. Publishing remains disabled; the new source-admission Worker remains staged and **was not deployed**. + +Tested UI / portable static-delivery source: `b4dcb40d92f9ea19bd5098b58c1115296d65eb60`. Parent accepted milestone: `7bbce09f4b65d7a17b4c44932a061b1738c28903`. Later report/image/ledger changes do not alter tested code. Same draft [PR #1911](https://github.com/colbymchenry/codegraph/pull/1911); final verified remote SHA is recorded in the recovery checkpoint and completion receipt. + +## Implementation + +Catalog, detail, publisher, connection dialog and source viewer share Archivo Variable, IBM Plex Mono, `#f7f6f2` paper, `#16150f` ink, `#56544a` secondary text, thin rules and square corners. Heading weights are 700–800. The existing light-only behavior remains; no marketing/docs-site changes or new theme switch. + +The pinned build uses Lucide Static **0.468.0**, Archivo Variable **5.2.8** and IBM Plex Mono **5.2.7**. Only the **26 used SVG icons** and four WOFF2 Latin subsets are bundled. Icon SVGs use `currentColor`, `aria-hidden` and `focusable=false`; containing controls retain names. The actual CodeGraph and Drupal brand marks are separate assets. Licensing and provenance are in [the asset build guide](../../marketplace/ui-assets/README.md), the committed lockfile, generated manifest and shipped license files. No CDN, runtime dependency download or icon service is required. Other glyphs use system fallbacks. + +SVG descendants now resolve to their action buttons for source paging/download and key backup. Managed actions and source opening retain delegated `closest` handling. The code viewer still uses inert text and checks exact selected version/digest; HTML and bundled JavaScript are never rendered or executed by inspection. Historical Drupal repository correspondence remains explicitly unverified under the staged source policy. + +The previous local Miniflare asset mock served only HTML, app.js and CSS; icons.js returned 404 and prevented rendering. It now uses native asset-first routing matching the deployed `/api/*` boundary. The portable Node server adds a bounded asset-path allowlist and proper font/SVG/text MIME types. This is the sole `src/` change, covered by real HTTP byte/MIME and traversal/unrelated-path rejection checks. Graph engine, installer, published packages, Cloudflare production Worker, registry storage and source-admission rules were not changed in this milestone. + +## Current checks + +All final commands below completed at clean `b4dcb40`; exact argument arrays, exits, durations, raw paths and hashes are in [the ledger](extensions-marketplace-theme-20260923.json). + +| Check | Result / boundary | +| --- | --- | +| Deterministic asset build/check | 26 icons; 10 generated files, 101,981 bytes | +| TypeScript compile | Exit 0; same source bytes before commit | +| Marketplace HTTP tests | 5 passed, including new bounded asset/MIME test | +| Workerd source browser | 13 passed: real D1/R2, managed install/SQLite, inert display, tamper/selection races, paging by nested SVG, failure preservation, disable/remove | +| Portable publisher browser | 15 passed: publisher form, signing/ownership and browser/companion boundaries, updates and graph cleanup | +| Compatibility browser / CLI | 10 passed / 12 command receipts, including delayed installed/selected metadata | +| Local theme browser | 9 grouped checks; computed fonts/colors/weight/radius, keyboard focus/skip link, SVG child actions, 320/390px layout, read-only package inspection | +| Actual live HTTPS theme browser | Same 9 grouped checks against the deployed page; **no UI overlay** | +| Deployment readbacks | All 17 served static files match local SHA-256; both health/catalog/Drupal-metadata responses unchanged; Drupal 0.1.1 digest exact | + +The live theme browser uses GET requests only, never installs or publishes. It generates an ephemeral browser-local signing key solely to test the backup button, deletes the download without reading its contents and closes that browser. Live installation/graph proof remains the earlier accepted hosted milestone; current managed graph regression runs locally. These are separate evidence boundaries. + +The final theme test inspected loaded Archivo and IBM Plex Mono font faces and actual computed colors. No external asset requests, resource errors, CSP errors, browser errors or horizontal overflow at 320/390px occurred. Desktop/mobile catalog and source captures were inspected, along with the local desktop publisher. The harness also saved connection and publisher captures at both sizes. Representative **actual deployed** screenshots: + +![Live desktop catalog](images/marketplace-theme-20260923/desktop-catalog.png) + +![Live mobile source inspection](images/marketplace-theme-20260923/mobile-source.png) + +[Desktop source](images/marketplace-theme-20260923/desktop-source.png) · [Mobile catalog](images/marketplace-theme-20260923/mobile-catalog.png) · [Publisher](images/marketplace-theme-20260923/desktop-publisher.png) · [Mobile connection](images/marketplace-theme-20260923/mobile-connection.png) + +## Exact deployment boundary + +One authorized deploy, from original `c0bdbbac-adcf-4609-aaf3-a69a380f3422` to **`d87a4fa0-165e-4fb5-a6c7-96c4e0dd000a`**, with the exact archived accepted Worker: + +`43dc01b6bd20160381d409c80ecd4f447ab6539a34890110e6dcad6684060561` + +Its dry-run bytes match. Before/after version `resources` objects match exactly, including script ETag `2aa343f6d3cb5675e807cb91fa0e6d42aa71d8e6e0dfbf814ad038a24c395ea0`, D1/R2 bindings, `PUBLISHING_ENABLED=false`, CPU limit 1,000 ms, compatibility date and asset routing/CSP. The prepared config also preserves existing observability, workers.dev/no custom routes and all original settings; only its Worker entrypoint points to the accepted archived bundle and its asset directory is expressed as an equivalent absolute path. + +The final asset inventory is **18 files / 176,817 bytes**, including `_headers`; all **17 publicly served assets** match over actual HTTPS. The main and detached restore health/catalog/release metadata bodies remain identical to their pre-rollout snapshots. There were no remote imports, package writes, catalog edits or resource creations. The detached restore was not deployed. No repeat 8 MiB, provider persistence or backup-restore matrix was necessary. + +Immutable Drupal 0.1.0 stays `e5015747d02fe50d6af607b6c44f1db9cf7969a0070866ed03c7643377a459c8`; 0.1.1 stays `e5ed73bee51524585e4f4da1d5017fdee3037a3fa71d8f08edab6c318fedc59a`. The latter was also rechecked from the actual live download and browser verified-package download. + +## Retained unsuccessful attempts + +The pre-restart `theme-source-browser-first` timed out before any check; its failure file, log and start record remain, with **no fabricated completion receipt**. The first corrected asset-routing attempt missed Miniflare's `has_user_worker` flag and returned 500. Neither was a pass. + +Four new visual-harness attempts failed on harness assumptions: measuring hidden-dialog SVG widths; requiring exactly 2px focus outlines when Chrome provided a visible 3px outline (twice); then trying to inspect a source element after navigation back to the catalog. Final checks exercise real keyboard focus and require a visible outline of at least 2px. The fifth preliminary visual run passed. A missing mobile sentence space was then corrected before the final commit. + +Three simultaneous final browser runs hit initial/later navigation timeouts. Their exact failures remain. Sequential runs at identical committed source and unchanged timeouts/assertions passed; contention is suspected, not proven. The first asset install also failed on the default npm cache path; its approved retry used a task-local cache. A predeploy assertion first compared relative and absolute directory strings, then correctly resolved both to the same directory before the successful guarded deploy. All failed/incomplete attempts remain in the ledger. + +## Reuse and remaining limits + +Accepted source-budget/provider/core/native evidence is reused at its original source; no claim of a new full Linux/native suite is made. All 15 prior compiled ledger hashes still match (that ledger did not include the portable marketplace server, whose newly compiled hash is included here). Six prior source entries changed, explicitly listed in the ledger. Both Drupal artifacts and the full graph engine remain unchanged. + +The previously accepted **$5 target for 500–1,000 daily downloads plus source views and few uploads remains conditional on shared account allowances**, not a hard cap or account-total guarantee. This rollout adds only self-hosted static files served before the Worker; no services, paid activation, resources, plan/logging change or scheduler was added. Budget assumptions and Free fallback stay in [the source/budget guide](../extensions/marketplace-budget-and-source.md). The earlier 379 ms 8 MiB publication and Free-plan limitation remain historical evidence, not a fresh load test. + +Future source-policy activation requires its separately reviewed rollout; general publication stays closed. Inspectable source is not malware certification, and exact committed package correspondence is not reproducible-build verification. Prior memory/concurrency/independent backup retention and semantic-shadow no-go limits remain. No DNS/custom domain, merge, release or npm publication occurred. diff --git a/docs/validation/images/marketplace-theme-20260923/desktop-catalog.png b/docs/validation/images/marketplace-theme-20260923/desktop-catalog.png new file mode 100644 index 000000000..959959761 Binary files /dev/null and b/docs/validation/images/marketplace-theme-20260923/desktop-catalog.png differ diff --git a/docs/validation/images/marketplace-theme-20260923/desktop-connection.png b/docs/validation/images/marketplace-theme-20260923/desktop-connection.png new file mode 100644 index 000000000..8dc0dc002 Binary files /dev/null and b/docs/validation/images/marketplace-theme-20260923/desktop-connection.png differ diff --git a/docs/validation/images/marketplace-theme-20260923/desktop-publisher.png b/docs/validation/images/marketplace-theme-20260923/desktop-publisher.png new file mode 100644 index 000000000..a5b80d7d4 Binary files /dev/null and b/docs/validation/images/marketplace-theme-20260923/desktop-publisher.png differ diff --git a/docs/validation/images/marketplace-theme-20260923/desktop-source.png b/docs/validation/images/marketplace-theme-20260923/desktop-source.png new file mode 100644 index 000000000..8181d21bd Binary files /dev/null and b/docs/validation/images/marketplace-theme-20260923/desktop-source.png differ diff --git a/docs/validation/images/marketplace-theme-20260923/mobile-catalog.png b/docs/validation/images/marketplace-theme-20260923/mobile-catalog.png new file mode 100644 index 000000000..6eaf05119 Binary files /dev/null and b/docs/validation/images/marketplace-theme-20260923/mobile-catalog.png differ diff --git a/docs/validation/images/marketplace-theme-20260923/mobile-connection.png b/docs/validation/images/marketplace-theme-20260923/mobile-connection.png new file mode 100644 index 000000000..1a3b1e832 Binary files /dev/null and b/docs/validation/images/marketplace-theme-20260923/mobile-connection.png differ diff --git a/docs/validation/images/marketplace-theme-20260923/mobile-publisher.png b/docs/validation/images/marketplace-theme-20260923/mobile-publisher.png new file mode 100644 index 000000000..b0efcc9b5 Binary files /dev/null and b/docs/validation/images/marketplace-theme-20260923/mobile-publisher.png differ diff --git a/docs/validation/images/marketplace-theme-20260923/mobile-source.png b/docs/validation/images/marketplace-theme-20260923/mobile-source.png new file mode 100644 index 000000000..ed57ac045 Binary files /dev/null and b/docs/validation/images/marketplace-theme-20260923/mobile-source.png differ