{
  "formatVersion": 1,
  "product": "EnoughFactory",
  "version": "0.1.1",
  "platform": "linux",
  "arch": "arm64",
  "sourceCommit": "5252bd83a9082d7711e7e3dcbf426daef0abc165",
  "verifiedAt": "2026-10-05T22:14:38.187Z",
  "verificationScope": "desktop-archive",
  "resources": {
    "bundleProvenanceSha256": "22e896406fe51c3abb362a25c270c2a4c5864b869aebe086c08714f0c7ff81ae",
    "fileCount": 243,
    "hashesVerified": true,
    "manifest": {
      "agents/antigravity_bridge.py": "70b34f42136735fe57e63e2751505d7535cac37aae6e100fcbf55a86c1390469",
      "agents/README.md": "82267ac480de32ee8b8620e47b32ef837bd2cd9f5f93a3364b7aeec491990227",
      "device/native-provenance.json": "4bd4e99a8bd29cdc8b941824fc08a992f708ee6ef1751c4dce76d182deff9b9f",
      "device/node_modules/@node-datachannel/linux-arm64-gnu/node_datachannel.node": "aa24fb23f02aa23446b6de01aef978d463b8e0e4a498a0b747675b7244749613",
      "device/node_modules/@node-datachannel/linux-arm64-gnu/package.json": "77ee651ccb0fea7290fdef90a35be2c5a8275778a05c7dc3311cddcc2649f8c8",
      "device/node_modules/detect-libc/index.d.ts": "9500090533aafe039c41d8d368a44959f04482bb75636d96bc843c06f3d6a348",
      "device/node_modules/detect-libc/lib/detect-libc.js": "5de6a1c1abec8bba5ea1261cf819d83a73c92ebe72b879ae48c59ca12320a462",
      "device/node_modules/detect-libc/lib/elf.js": "0e8820f00ee11d179d94894d4f97a6e87c34ab59e5dd4d3a571dfabcecf043af",
      "device/node_modules/detect-libc/lib/filesystem.js": "5c98fb66b559d0b4fa82c7a3e39d9ab6840f022c4c73e6b1a73ac6d16ec13fd7",
      "device/node_modules/detect-libc/lib/process.js": "f37dd0ead9f70b50c6f5529c600e1cdf076e3c3bc8e6b4a0a9820a8d65244628",
      "device/node_modules/detect-libc/LICENSE": "b40930bbcf80744c86c46a12bc9da056641d722716c378f5659b9e555ef833e1",
      "device/node_modules/detect-libc/package.json": "ee88e5b954fdf3a8480b1d01ef767d68d8ca2c6da269f58c5cf1c5550e9aa2a7",
      "device/node_modules/detect-libc/README.md": "51a97449c443889155bc872522e6de5a91a5fa73edeffa03d749e186bf0eebca",
      "device/node_modules/node-datachannel/.clang-format": "345ec455584a6febb4bc470cd11a00746be5eb42e3a707ef42cf3aafc78988d8",
      "device/node_modules/node-datachannel/.editorconfig": "da172e38262cbcf76275ba950c004d07a3a4986cc633ff928ae22ae4f5ab098b",
      "device/node_modules/node-datachannel/.eslintignore": "8e9fc7a2f44251911f72fe8eadfc26503a1168e4ca81438fe2d342d5a58b3b45",
      "device/node_modules/node-datachannel/.eslintrc.json": "54f1bc3f2bc6c164170e68d88602b45e9d913274efc27dc246a046f976cf8f19",
      "device/node_modules/node-datachannel/.gitmodules": "0f50e9db30b744a20cabb8daa5e159b571e2ddd64b2e4e3363c2e4612d257373",
      "device/node_modules/node-datachannel/.prettierignore": "2015d4b1cef293fc4b227a9d89148b7d73e3edc8a802377476ea3edd419b2c10",
      "device/node_modules/node-datachannel/.prettierrc": "082b01ae4bef538b37425cba84c54733fe04202bf14f243f19d8cf4446fafcc5",
      "device/node_modules/node-datachannel/API.md": "4c9a5afacc1195a216ffd0097d1e3dabc25673eb5cb9d737dec3b223dd009865",
      "device/node_modules/node-datachannel/BULDING.md": "59a18ba108531b95f3a4b4cc0c0b6cd541a3c1fb15470bf890c89c0d64215a87",
      "device/node_modules/node-datachannel/CMakeLists.txt": "e35f605bee040b3ebf4a0f5298b43a3f4d4abaf874dc239b5e79f8cd67a4a41e",
      "device/node_modules/node-datachannel/dist/cjs/index.cjs": "6c6d7cef60050a588a8633c595c35d47f9d194d4b1e4b8b17e5cdc6ae3be2db4",
      "device/node_modules/node-datachannel/dist/cjs/index.cjs.map": "ce03b40a6a7702ad79d75a0920e7e3ede6ef4338f7d398edb34c68fc34a5ae3f",
      "device/node_modules/node-datachannel/dist/cjs/lib/datachannel-stream.cjs": "64cebbe1119c005a23dcdcfd6c39af0ef0c00e14f9f85c1c3475594d23a00ba9",
      "device/node_modules/node-datachannel/dist/cjs/lib/datachannel-stream.cjs.map": "5c660b11b3ae6db96158a219e3f7cce9013f68e091b0b51805bb1a1af559f93a",
      "device/node_modules/node-datachannel/dist/cjs/lib/index.cjs": "7c4e43f3d384c6809f510343c10869242dad9ea1f7bce70f3b402db65543e3f0",
      "device/node_modules/node-datachannel/dist/cjs/lib/index.cjs.map": "39bdd8bc9501ee21e90a616cfe1e7735cc443d8e2196cb43d8fb46ebb93747c4",
      "device/node_modules/node-datachannel/dist/cjs/lib/node-datachannel.cjs": "387462e3083642fe47dd2d3e3bc6af69de3df7959346e1aeb8a688eaec479df7",
      "device/node_modules/node-datachannel/dist/cjs/lib/node-datachannel.cjs.map": "b29df53b6ee6522c9bd498058115756a39bfecfb36f754c79b20c9272bb774b3",
      "device/node_modules/node-datachannel/dist/cjs/lib/websocket-server.cjs": "3ad100e50a1c66162cb0113d01ae96d774746a55ef5abb58d71aad207069b473",
      "device/node_modules/node-datachannel/dist/cjs/lib/websocket-server.cjs.map": "3786717185f792203b4fde38073aa310a60e23bcc3f3c1b90f0dee4c0b06b8bc",
      "device/node_modules/node-datachannel/dist/cjs/lib/websocket.cjs": "488727c4395486d2b2e72bd482afaae4c0263696c07f0ec97fbae332985df26d",
      "device/node_modules/node-datachannel/dist/cjs/lib/websocket.cjs.map": "0496fbff8d7a41eac6d44728d7992eb99e5ca1328b4def10d64aa55721a707f0",
      "device/node_modules/node-datachannel/dist/cjs/polyfill/Events.cjs": "0d22bd764b51fffbe5c81caca7aa0fc9dc4ac754f5d85e39513543f0c88a4bc4",
      "device/node_modules/node-datachannel/dist/cjs/polyfill/Events.cjs.map": "1d958cb7c93860c374fa09f7154ae9dcfa38f79da310199a3f5c2fc9dce2c0f6",
      "device/node_modules/node-datachannel/dist/cjs/polyfill/Exception.cjs": "f425c7834065b1c14b857f53c3a502f7e2949b57743ef4dd34dbd440904eb22c",
      "device/node_modules/node-datachannel/dist/cjs/polyfill/Exception.cjs.map": "4c5270eb56698661b849a0cb93af521e9ed8e6c3d217d45e15dfc269240741e7",
      "device/node_modules/node-datachannel/dist/cjs/polyfill/index.cjs": "a21ca50d0e77a5f801b705b348af4219eaabc3e6cc2caa2adc9a0cca95504556",
      "device/node_modules/node-datachannel/dist/cjs/polyfill/index.cjs.map": "85c1a8e83ca429adc4caeaec92a5ad74b79c6995d858db88d25ca62fda17bd30",
      "device/node_modules/node-datachannel/dist/cjs/polyfill/RTCCertificate.cjs": "01f2e0f13e2be6a79ef9b8540f2271cf427c36de804832a3832605ee9aeaeb38",
      "device/node_modules/node-datachannel/dist/cjs/polyfill/RTCCertificate.cjs.map": "748d00f108cf46936f6b0b100cc6cf6374b212ee243d1833503bc518868fece6",
      "device/node_modules/node-datachannel/dist/cjs/polyfill/RTCDataChannel.cjs": "22568662f8f58561be456859ee33f63253b5e101834365deaeaf026849193b0a",
      "device/node_modules/node-datachannel/dist/cjs/polyfill/RTCDataChannel.cjs.map": "a4cda9bd6d2a3e987d1c36ca20786848ba5474855f79814d761e88df23149e74",
      "device/node_modules/node-datachannel/dist/cjs/polyfill/RTCDtlsTransport.cjs": "f7f97b95540bee449612f8998f97b1ace4f6b776f5afd778c4f057e17c73758c",
      "device/node_modules/node-datachannel/dist/cjs/polyfill/RTCDtlsTransport.cjs.map": "1f155bed92026dbb111af37b0004184c4eabdfeadd8586cb52d618ce3269d616",
      "device/node_modules/node-datachannel/dist/cjs/polyfill/RTCError.cjs": "4b0ffa8ad058ccc2ab4f0087fd3a648b3e0ad23314676ababe629d8de86580e1",
      "device/node_modules/node-datachannel/dist/cjs/polyfill/RTCError.cjs.map": "38d03fe379fbbd7eba7d45a1e5023a908088db6388eeea6c6ea77d250b35c301",
      "device/node_modules/node-datachannel/dist/cjs/polyfill/RTCIceCandidate.cjs": "958d5ca45ded722981cd792099bdb0e430ecd4a31b89effc5780e5cd0315965c",
      "device/node_modules/node-datachannel/dist/cjs/polyfill/RTCIceCandidate.cjs.map": "7b73a5c5cb2daa0f6490212dc32c94d05a42adc94b908f780c2cad188624c29d",
      "device/node_modules/node-datachannel/dist/cjs/polyfill/RTCIceTransport.cjs": "1cb2788e16f364b4731a3dc55b3dbc2ad199573e66bcfeb2a99e4c0bd2699476",
      "device/node_modules/node-datachannel/dist/cjs/polyfill/RTCIceTransport.cjs.map": "70149a47c159c0dd92c4b2f5410eb15fd64f3a1a65a60736886977f4dab9a556",
      "device/node_modules/node-datachannel/dist/cjs/polyfill/RTCPeerConnection.cjs": "4a7200ad6454e12c0d865fea3312c9c9fccef9ae602e101955d4d8a99f1d029d",
      "device/node_modules/node-datachannel/dist/cjs/polyfill/RTCPeerConnection.cjs.map": "adee6022029c6a3b1c20cedcca3eee58ff8bc9e4264cded53af6f32131980f5a",
      "device/node_modules/node-datachannel/dist/cjs/polyfill/RTCSctpTransport.cjs": "c4640a65b23f91eef07d499d08e3d1cfcf8b1d66e810414e3be3e5b3475abab5",
      "device/node_modules/node-datachannel/dist/cjs/polyfill/RTCSctpTransport.cjs.map": "51d38b4b460f224fc34404c2221ff4166a702cacc3250ff67f5fd33524947a12",
      "device/node_modules/node-datachannel/dist/cjs/polyfill/RTCSessionDescription.cjs": "912c2ced8c9900458201ded0884ea66eab89c813a9d87c01812a91df658d109c",
      "device/node_modules/node-datachannel/dist/cjs/polyfill/RTCSessionDescription.cjs.map": "cb34d7890045036397a55f1cb6cd727021c76338e82ee78f12808dbedcc5439c",
      "device/node_modules/node-datachannel/dist/esm/index.mjs": "cd2af44be4b472039ef2db6c23394b26cdb8dd4dbdfdbaf2ebff5caa96948573",
      "device/node_modules/node-datachannel/dist/esm/index.mjs.map": "0893e5df5ea3b500a7b764104b30bf89c8c511311cb8e58db1689d5aef75f464",
      "device/node_modules/node-datachannel/dist/esm/lib/datachannel-stream.mjs": "1b4c74f3324dcdda4b4c2b2e98aba3feece8c417345a512db4eed0fb6dac3cbe",
      "device/node_modules/node-datachannel/dist/esm/lib/datachannel-stream.mjs.map": "75f8ff06cb8762e93e6d97b41a0e18deec7a76cbbd260fb7350fa90b35ad8391",
      "device/node_modules/node-datachannel/dist/esm/lib/index.mjs": "c7a7166e2eb83a1391959cb9f41ccdaf1460242af4a626575fd3c2eba64f1531",
      "device/node_modules/node-datachannel/dist/esm/lib/index.mjs.map": "c576037527a9513d36d21999d98b2bbef4ec3c0067b7446c7872ae20d386ffb1",
      "device/node_modules/node-datachannel/dist/esm/lib/node-datachannel.mjs": "2321881711bc78365d05444a183ba936644891c679460daaaad0965aff237218",
      "device/node_modules/node-datachannel/dist/esm/lib/node-datachannel.mjs.map": "95be3862dec05cca35eb0056f5488718b99ee077784402a8ec13ee45f4e88f96",
      "device/node_modules/node-datachannel/dist/esm/lib/websocket-server.mjs": "1aab6fca0e998d3b025d060a8af7ef4d5c91e6a0077f58547f7dbfb43218e96c",
      "device/node_modules/node-datachannel/dist/esm/lib/websocket-server.mjs.map": "a0b3d89c06144fd60e0d4f5fcc13b1676995761134de666e2b34ecbda6018032",
      "device/node_modules/node-datachannel/dist/esm/lib/websocket.mjs": "7d2851aa3fdc9df01e8e3e2d03fc22367b9a262ff169fd8960462f1f25270dd7",
      "device/node_modules/node-datachannel/dist/esm/lib/websocket.mjs.map": "9ef67a934df0ed0f005e8b75ff158f46e078167ae32f74de89d12bf2bc4f6c7f",
      "device/node_modules/node-datachannel/dist/esm/polyfill/Events.mjs": "0549a523e52a27e005783c83c7d9bdc195fcaab547d04398e4cb0a1dd76530b7",
      "device/node_modules/node-datachannel/dist/esm/polyfill/Events.mjs.map": "92b51269118e8dcd13dbd781900d4f906c7162b4f72420b2e1b56d37db115146",
      "device/node_modules/node-datachannel/dist/esm/polyfill/Exception.mjs": "62e2a37262ba0221538aeaa023249b18d140f8b2b5f742dbcc2a657c7efe2595",
      "device/node_modules/node-datachannel/dist/esm/polyfill/Exception.mjs.map": "61e64013c991a2a7af13b268bfd295ef1465fc24b9b4e2b9e76fbf5b56bce2e2",
      "device/node_modules/node-datachannel/dist/esm/polyfill/index.mjs": "e072ffd334d28064f4a250bb3a5e8907d837034b37683772f5c567a023da03fc",
      "device/node_modules/node-datachannel/dist/esm/polyfill/index.mjs.map": "d67701efe94832e50fffcae805eeb18f4316894b4e0588bb90f3e50cf7849e6b",
      "device/node_modules/node-datachannel/dist/esm/polyfill/RTCCertificate.mjs": "9ffb66dcac2f0d6883cebc13c4a25413661a94118250ec50306c31f2dc6e75dc",
      "device/node_modules/node-datachannel/dist/esm/polyfill/RTCCertificate.mjs.map": "486b9941ef31c534c15382ee56f14320219d92bb66c1c44d733e087874a75cb1",
      "device/node_modules/node-datachannel/dist/esm/polyfill/RTCDataChannel.mjs": "33c83318e80efe1c6338ebe3617c8eb8f4d2e511aa42bb857cc415c2ae24b739",
      "device/node_modules/node-datachannel/dist/esm/polyfill/RTCDataChannel.mjs.map": "1494eccbf9e8f752e25500dacc1d8053cde3c698de8bb4af64a7b121bb35e28c",
      "device/node_modules/node-datachannel/dist/esm/polyfill/RTCDtlsTransport.mjs": "0f9adad459ff816c8c01bb9f41e12b6397c27358c707d3a50b8a919c9d29b854",
      "device/node_modules/node-datachannel/dist/esm/polyfill/RTCDtlsTransport.mjs.map": "7019ab5f1005e3e530d0e084b85851457cd378afba5932fb44b02689078749c8",
      "device/node_modules/node-datachannel/dist/esm/polyfill/RTCError.mjs": "0b89d4594f910679d523b52af3a83fcbf8aaadc16cb54fa176a4074cf4cb13ba",
      "device/node_modules/node-datachannel/dist/esm/polyfill/RTCError.mjs.map": "6412fb76ec38d65a111e08e087a715a2bf9d6fea2095236be2e46840d6c13324",
      "device/node_modules/node-datachannel/dist/esm/polyfill/RTCIceCandidate.mjs": "648d625570b1f9e70fcde14c441505d46c236481c1e505c6997535df1c69fffd",
      "device/node_modules/node-datachannel/dist/esm/polyfill/RTCIceCandidate.mjs.map": "a5121a5e6b84f96e3eb93544037e2882e63ce347a59299a21b5fbec9212e2dfb",
      "device/node_modules/node-datachannel/dist/esm/polyfill/RTCIceTransport.mjs": "a52ea831ecb818b7ed1f4f75e6ea3cff6eb54280cba06663758218e35011a4d1",
      "device/node_modules/node-datachannel/dist/esm/polyfill/RTCIceTransport.mjs.map": "2d672fb514c7f4abebb8e1e6b2f2bc856ba3419d7caad35e88ac23acb4f762d5",
      "device/node_modules/node-datachannel/dist/esm/polyfill/RTCPeerConnection.mjs": "93ceb9c5bbdf03a6185e9cdf6f781069e6c1f2ca96dcad4ac64dd945d664de20",
      "device/node_modules/node-datachannel/dist/esm/polyfill/RTCPeerConnection.mjs.map": "90b7cb1596433732718ea46a71827017a4c68fdf81f6fdea39771c44a29bbbfc",
      "device/node_modules/node-datachannel/dist/esm/polyfill/RTCSctpTransport.mjs": "8b2e7b342889edf134bdd33b4dbe067788d6d69ccccb04f8861b8c766897961f",
      "device/node_modules/node-datachannel/dist/esm/polyfill/RTCSctpTransport.mjs.map": "1e47befe30eb257fe48b857af8a5362ecb664d07ed2025b5749a90c6e7f3a3af",
      "device/node_modules/node-datachannel/dist/esm/polyfill/RTCSessionDescription.mjs": "2f066cbf2ce3f98d840c44363f9e36e5fa9f0ce32e1a0de38849d26ea1217a40",
      "device/node_modules/node-datachannel/dist/esm/polyfill/RTCSessionDescription.mjs.map": "e2517a03cac8b132e2df2ae2cbc01eceeda3a10c73688596f1bdff7b3c1fb042",
      "device/node_modules/node-datachannel/dist/types/lib/datachannel-stream.d.ts": "4a0cd5ea9bb122e8aab3e3a1f41455ba7f0ff365d5e23c5cf6cd8c5a1b918845",
      "device/node_modules/node-datachannel/dist/types/lib/index.d.ts": "2e3e1819a6d9aa2edba43b2e5e5f44ad807c165d2da968a71a834147a31dce62",
      "device/node_modules/node-datachannel/dist/types/lib/types.d.ts": "8cb5f032d22740b6767cacc7ecc339e963af43ae99e56edf81aa31c2180b351e",
      "device/node_modules/node-datachannel/dist/types/lib/websocket-server.d.ts": "7a9e64d833e80f7aee4834071a86ab076bd563afefb6cb730941b362b26acc0e",
      "device/node_modules/node-datachannel/dist/types/lib/websocket.d.ts": "4149115d2b40450f9bc9089f934344b3b5138ded7b320ada6d3e06c3aa16c7ab",
      "device/node_modules/node-datachannel/dist/types/polyfill/Events.d.ts": "977ffe3f39f72469466c9bcc38ff596cee5d8622349a18ee7cc45e066c1a377e",
      "device/node_modules/node-datachannel/dist/types/polyfill/index.d.ts": "4d91adbd68acc8f9d6394263d6bbf2d62a32ffaab43d9d695fc1f33ebcc4aa0c",
      "device/node_modules/node-datachannel/dist/types/polyfill/RTCCertificate.d.ts": "10dbfb11d0afcd9cdc1f7469cd2327f7223b81c0c0ecd7a24f5aacfc46aa3583",
      "device/node_modules/node-datachannel/dist/types/polyfill/RTCDataChannel.d.ts": "58ba20ded3b5508fef996fa6067cf0c05327f2b014e2a5d7560e131ca6a9b597",
      "device/node_modules/node-datachannel/dist/types/polyfill/RTCDtlsTransport.d.ts": "fb51ba44b8c5dd35bd81811a3f1723fa32765a46c4a5da4900216dc21be04dc9",
      "device/node_modules/node-datachannel/dist/types/polyfill/RTCError.d.ts": "50a38f7720536ed94fca97022e8ac146a27e07c4654582b31db31424d963bc14",
      "device/node_modules/node-datachannel/dist/types/polyfill/RTCIceCandidate.d.ts": "82378e44adcb64a1767f4e055745230cbf6d0f012695881dfe2c71c168b71156",
      "device/node_modules/node-datachannel/dist/types/polyfill/RTCIceTransport.d.ts": "624c5154eab0c31f7e85b56bc5bd841644e847efc2421f1fec600ee0b10fd709",
      "device/node_modules/node-datachannel/dist/types/polyfill/RTCPeerConnection.d.ts": "b91571fb8c0ed271c5509746867681ed993eccc1bf41b7c8d3c388c32a4159e0",
      "device/node_modules/node-datachannel/dist/types/polyfill/RTCSctpTransport.d.ts": "983350587fb853ec3bdc250434a3279889308809949362d41b6dd4cfcab30aa9",
      "device/node_modules/node-datachannel/dist/types/polyfill/RTCSessionDescription.d.ts": "bca599a474aefab7532015175372c79b74a579b78359f7e198ce3d2670dee105",
      "device/node_modules/node-datachannel/jest.config.ts": "25c8c721a51804e4765378d53cb846ab6f0c077b25ef69846321e9b05bc30eda",
      "device/node_modules/node-datachannel/LICENSE": "1f256ecad192880510e84ad60474eab7589218784b9a50bc7ceee34c2b91f1d5",
      "device/node_modules/node-datachannel/package.json": "68040afba1267d20b763ef3e53abe936fade8ce24481dc2b557033f2c48b52a6",
      "device/node_modules/node-datachannel/README.md": "9224d5850828cb50ec5c62f52d2c2e6a76135c2ae374c7482186b8e6ccc9efd2",
      "device/node_modules/node-datachannel/rollup.config.mjs": "6719720786952b2265767fdfac8c43bab206d569b6052194bf8ded28337c1ebc",
      "device/node_modules/node-datachannel/src/cpp/data-channel-wrapper.cpp": "4ab4c1dc8d6977ff4b1803fedb72cbd92a2325d597aee12fe817bc0f3f9b0350",
      "device/node_modules/node-datachannel/src/cpp/data-channel-wrapper.h": "18d6dd2fccfa74c811bc63563982ce0ff1178eea26dc6597b4f71c141ce6a260",
      "device/node_modules/node-datachannel/src/cpp/ice-udp-mux-listener-wrapper.cpp": "37c132832a766e3614ac72bf1b08cd34b167f7e760871ff97085ea780178d55a",
      "device/node_modules/node-datachannel/src/cpp/ice-udp-mux-listener-wrapper.h": "4258c4cb48357b0d9299b50ab70096b685f6e5619c7f8ae3a7cd3fcb71e517f8",
      "device/node_modules/node-datachannel/src/cpp/main.cpp": "bdd4dd632f8b44c1903a3ab7721e343956a569f8739c5602e778074aae992e27",
      "device/node_modules/node-datachannel/src/cpp/media-audio-wrapper.cpp": "e73026bc3d8889a7e8cc627065ef96fa964f86ca65fad51ff34315ce61a4798e",
      "device/node_modules/node-datachannel/src/cpp/media-audio-wrapper.h": "78656c07339d6aad1506860c5f8e404f82f6c3cce02f5a313095ca8774fb4ee5",
      "device/node_modules/node-datachannel/src/cpp/media-av1packetization.cpp": "d63133adcb78415399b89e6c618bcc40d7e6c9ea60e8f21bcfee2756a01f473f",
      "device/node_modules/node-datachannel/src/cpp/media-av1packetization.h": "df16d0e107d31ad0af287916de559872ab8998837d0d04cf83807c5705b1c791",
      "device/node_modules/node-datachannel/src/cpp/media-av1rtppacketizer-wrapper.cpp": "1603d6f9c8bdea7f5a560e3d74c9513892557248d8b10a84a870cce0af2810a3",
      "device/node_modules/node-datachannel/src/cpp/media-av1rtppacketizer-wrapper.h": "1d199790b70d0e093318c9a0d0eaf96a428b472e072318582573272b6d7372d7",
      "device/node_modules/node-datachannel/src/cpp/media-direction.cpp": "37a0a8e45c52a7684506a95bac319d2a810547fb0356f9e6509c0c8ce49820f0",
      "device/node_modules/node-datachannel/src/cpp/media-direction.h": "4ac5f3b3d8fb28584a14dcc8a1af3af89984d03b318cf56f632717f8a8971771",
      "device/node_modules/node-datachannel/src/cpp/media-h264rtppacketizer-wrapper.cpp": "97544f6c9b7efb363f26eb5018fec65eda9cc51edadddc53068cb06061921bb9",
      "device/node_modules/node-datachannel/src/cpp/media-h264rtppacketizer-wrapper.h": "82352275d651582d2d10719adc452d480e07db52cd289d4598d8a6f33adb2dbe",
      "device/node_modules/node-datachannel/src/cpp/media-h265rtppacketizer-wrapper.cpp": "0d862a0877e17d7964819c0dfa5dc30ab8580a48c2d9ccef2683c97b7afeb1e2",
      "device/node_modules/node-datachannel/src/cpp/media-h265rtppacketizer-wrapper.h": "0205ebd69cbcd7264346fe3d2590c9dc8912b6ace993035dcf3e7a35212005fd",
      "device/node_modules/node-datachannel/src/cpp/media-h26xseparator.cpp": "e9b4e94ad8276131bd630e3562b29dd1637091b5c2b971fad1a04ad480113ff0",
      "device/node_modules/node-datachannel/src/cpp/media-h26xseparator.h": "700003b5588686fa62bc57cdb9cb47c2789201ce90000dec755d66d3fcea2720",
      "device/node_modules/node-datachannel/src/cpp/media-mediahandler-helper.cpp": "cf798dd9de4d94eeec1fcd225802e509c440fb48165af8a0091909caa6382267",
      "device/node_modules/node-datachannel/src/cpp/media-mediahandler-helper.h": "0729e471dbf2133ad3508291080512a448cef50431b19b07009a846d61dd2e59",
      "device/node_modules/node-datachannel/src/cpp/media-pacinghandler-wrapper.cpp": "dabfac2e85ce25b157ff27b428dbbed4a0ffd06a06e525785d338d4d4c133064",
      "device/node_modules/node-datachannel/src/cpp/media-pacinghandler-wrapper.h": "16f7d7d93790d0a533a13575bb0d5e7332a2b1009ad274c285033b0fea42a80b",
      "device/node_modules/node-datachannel/src/cpp/media-rtcpnackresponder-wrapper.cpp": "fae9940e86ff0d1b65eed10f366f5d40d2836fd8633a2d1facf5acaedaefa31e",
      "device/node_modules/node-datachannel/src/cpp/media-rtcpnackresponder-wrapper.h": "e0c723aef0f6f69b9cf33e8bf8eb93425515e7875313dbce0778ff6d91168849",
      "device/node_modules/node-datachannel/src/cpp/media-rtcpreceivingsession-wrapper.cpp": "792506ddd8697ba5e4e3363bd58f26e538a22306977c363062ccec2f2f34564a",
      "device/node_modules/node-datachannel/src/cpp/media-rtcpreceivingsession-wrapper.h": "1c27f944061179f7dd8f52f8022de5dae113277bc6b804016d024c0a6006b5ff",
      "device/node_modules/node-datachannel/src/cpp/media-rtcpsrreporter-wrapper.cpp": "2aa0de24f0b9733d334f074a9b64c83341c492e6d793cf54e694ecbb1d79b579",
      "device/node_modules/node-datachannel/src/cpp/media-rtcpsrreporter-wrapper.h": "9d4c60e8c787772e030259f79772952c62852682a158df362fa4baf9d85c58c2",
      "device/node_modules/node-datachannel/src/cpp/media-rtppacketizationconfig-wrapper.cpp": "a419c01b1941953c18da395b99b72c207920dea7bf907db745f580014e2a4dd1",
      "device/node_modules/node-datachannel/src/cpp/media-rtppacketizationconfig-wrapper.h": "3c2bf5da3e2a3a7763d919e2b2c263c9d544dc793823cfab754c3b1dee3a1d00",
      "device/node_modules/node-datachannel/src/cpp/media-rtppacketizer-wrapper.cpp": "e87d9d80e581ba6833781d98c7b3341c3e790cd2cdb6697b473c14723c0427f9",
      "device/node_modules/node-datachannel/src/cpp/media-rtppacketizer-wrapper.h": "c7d440873a0217b26ace4497f4826781c8508dca5f6a983df6d6ef1cfddde8bd",
      "device/node_modules/node-datachannel/src/cpp/media-track-wrapper.cpp": "3775a2dd6e705c686c8cdd1a3d641f9dbd8110a24fce33c27a16a43d2396c0f7",
      "device/node_modules/node-datachannel/src/cpp/media-track-wrapper.h": "1b4d56635d4f9586c84be7dc34060c559528ffbaa3e627b125dc2673ca39ea2f",
      "device/node_modules/node-datachannel/src/cpp/media-video-wrapper.cpp": "65b2eb4485caa7ed867560d6569bdc7796991e24a6cb53693ff337188f139c4d",
      "device/node_modules/node-datachannel/src/cpp/media-video-wrapper.h": "35734547fbaea71de5e76302a059576e1e078621ab573ba074883ab79b4b2fcf",
      "device/node_modules/node-datachannel/src/cpp/peer-connection-wrapper.cpp": "86b9b1239377af40f082d0835208c10ba23c2a19860584001f4c82afd2318430",
      "device/node_modules/node-datachannel/src/cpp/peer-connection-wrapper.h": "55cff760e2509c313bf9b68523fd56be70458442e3f2ca40d87c7afef7fde881",
      "device/node_modules/node-datachannel/src/cpp/rtc-wrapper.cpp": "98ffd78fa9ddce2b4ea03c1058f0f0046c32c65fd3a3d06ef4126a508177d102",
      "device/node_modules/node-datachannel/src/cpp/rtc-wrapper.h": "15209e8676c4ffc96e586484d5b7ac0ea2bef7e4338ddca2f63c7f9fe4d49662",
      "device/node_modules/node-datachannel/src/cpp/thread-safe-callback.cpp": "a108ff61240d343a221cc0ce0e2e09f3064fe5df587d698e3e0004beb31ff774",
      "device/node_modules/node-datachannel/src/cpp/thread-safe-callback.h": "3310508f45bd1f51b95d57e116b4e9b8b0acac12190def593eed45e1252fa581",
      "device/node_modules/node-datachannel/src/cpp/web-socket-server-wrapper.cpp": "0f932cdef747e455b663e0c18517bd2d224b664302527a83d62d91e01555d939",
      "device/node_modules/node-datachannel/src/cpp/web-socket-server-wrapper.h": "ab5635a196eb255a76e5a20abb74b182e76126813bcc0cd0d929520259ccc7fb",
      "device/node_modules/node-datachannel/src/cpp/web-socket-wrapper.cpp": "b9fc077ef63e3b5dd21ecd060e8dea5fd6795f4ff41efdefe765901ed93379ad",
      "device/node_modules/node-datachannel/src/cpp/web-socket-wrapper.h": "a800a0acf3106adfd5ef4acdc7bea9d82e27eb60883f04a8408172be120b9355",
      "device/node_modules/node-datachannel/src/index.ts": "70fd7b149f2161c3295e377d2e7eb778be1417907e76efa7f7445a66b6bd3e8b",
      "device/node_modules/node-datachannel/src/lib/datachannel-stream.ts": "95b3e5527d5e28ab1be11fe9703f21921eea06aab27d5ab9821491c506b20bfd",
      "device/node_modules/node-datachannel/src/lib/index.ts": "0040d18db2dd8c5e03824d8a6dcb675c03b64f4af8431af11eebffbe808ccca4",
      "device/node_modules/node-datachannel/src/lib/node-datachannel.ts": "5bf83397a0b77f54b01b4ea3de9b1a73633c18e80b406c94ec333fdb09ccb374",
      "device/node_modules/node-datachannel/src/lib/types.ts": "44f05b3ccee8119e266d22b181744e1af39918fb532db0f91d5de8a187366588",
      "device/node_modules/node-datachannel/src/lib/websocket-server.ts": "cda9d455e61ed63f91f06310ae115534ee85c860a52f1aa3f8b9814e1ed89671",
      "device/node_modules/node-datachannel/src/lib/websocket.ts": "2dd20b77162865d1a50e5f4efae3bac625650b254acb01e827341bf418ca23b9",
      "device/node_modules/node-datachannel/src/polyfill/Events.ts": "4c518b011de98b5b6c79383a04ad1cbbc22e1178997e0a3d2158500b7c3e66a4",
      "device/node_modules/node-datachannel/src/polyfill/Exception.ts": "4489ff0d369312ca9797758b569836d4548d0afa2ab63b3e89e57ef25b18203f",
      "device/node_modules/node-datachannel/src/polyfill/index.ts": "423224062c11cd21577358915ee88630d6a508e04b0c744cec48ade791cc37b0",
      "device/node_modules/node-datachannel/src/polyfill/README.md": "3e8e323767a328224d9623d0d9e09429fe899927b6aa78ea86622136db0053c5",
      "device/node_modules/node-datachannel/src/polyfill/RTCCertificate.ts": "c375f3650949d93103a60352a721782cc80df85c690968c9e7d95ea57fdee898",
      "device/node_modules/node-datachannel/src/polyfill/RTCDataChannel.ts": "068b122fcdadcb8998e1d1279ec7ae6cacf4300cdbb88745e3043c5f5f19705d",
      "device/node_modules/node-datachannel/src/polyfill/RTCDtlsTransport.ts": "f4819eafa74c7c8d3f634b227cda5dd88ed941c7194440b98857c18739cd056d",
      "device/node_modules/node-datachannel/src/polyfill/RTCError.ts": "720d24cdbbb69bffd3eb0b5fa33d755b457e477ec5ea58ea30d8d771eeae92cd",
      "device/node_modules/node-datachannel/src/polyfill/RTCIceCandidate.ts": "e66034b36f2250c10be08d3f0dca90c3302b775d4b564de61700cff0df56a32d",
      "device/node_modules/node-datachannel/src/polyfill/RTCIceTransport.ts": "e2fa77006690d1982eaa97468b0052ab7bbb2251fdc523683d8a9140bea1490c",
      "device/node_modules/node-datachannel/src/polyfill/RTCPeerConnection.ts": "14743c66b76a9a07fc10fc34be1b5b7273fbead90e73e43ecf9940492f14254b",
      "device/node_modules/node-datachannel/src/polyfill/RTCSctpTransport.ts": "83943bcc6d7556cab3088226d2d3e216129519110363e3eb9b1a358410347407",
      "device/node_modules/node-datachannel/src/polyfill/RTCSessionDescription.ts": "6117d606ed24111f03e887e691a54e8def9c6b646a6096fbefc7225af881b2de",
      "device/node_modules/node-datachannel/tsconfig.json": "963a569dc9be0aba681112c4e9f574c9d3b87fc20f58b5dc50abb41082cd3a02",
      "device/service.cjs": "c6480c9da9f3b43dd08649351a97a37686c8fd4c61cdd3e09c97109e30c7f81b",
      "device/service.cjs.map": "652ab64a24adf110e8a6741e88a52eae8541714c1371d91a551b48fa6165301b",
      "envmux/envmux": "0b135e3615f39a35c7a2544e542fbf62325f3f4aed4baecc9ec9176ec6199235",
      "envmux/LICENSE": "5b708f09c4914feffa2acc35da6a50956b2bf1d7be162b8ad481cf6166918288",
      "icon.png": "0cf599a19eeb2a5129172c3975d9fb38370b9d7d501b39c62bfc129564e2bbc1",
      "install/configure-linux-desktop-sandbox.mjs": "4e045e453dfa553736bcdc2c5b197cf2a890b0fd521d351c7baf60273990c6b2",
      "install/install-device-service.mjs": "82376a7cb7340395b477dd9bcc4abf8f89efcc790b7ce8a5e62ea58c90f91d56",
      "install/uninstall-device-service.mjs": "5d3ef9dfcde0e8e31c1e315ddd48e8ecb6a6c16584505ec7a07933a0e25f813a",
      "notices/detect-libc-LICENSE": "b40930bbcf80744c86c46a12bc9da056641d722716c378f5659b9e555ef833e1",
      "notices/Electron-LICENSE": "5154e165bd6c2cc0cfbcd8916498c7abab0497923bafcd5cb07673fe8480087d",
      "notices/Enough-brand-LICENSE": "06fe011a50d44cd30023efb013ab77376c52faef6c0edcdb9f606924286015ea",
      "notices/EnoughUI-LICENSE": "ed1a92039144af128924417c81925ecfe4ca24da2f8e0b329d3366859ddae05a",
      "notices/EnoughUI-THIRD_PARTY_NOTICES.md": "26253b23973e682c3ea5e3318ff52cfbfc82c62b112cba6acfcf3a2d88d1ed94",
      "notices/LICENSE": "06fe011a50d44cd30023efb013ab77376c52faef6c0edcdb9f606924286015ea",
      "notices/LICENSES.chromium.html": "a62dabd1c6ef1327365b2a3fdffb806222684a746dcb8f4afd1c1f690eba5535",
      "notices/node-datachannel-LICENSE": "1f256ecad192880510e84ad60474eab7589218784b9a50bc7ceee34c2b91f1d5",
      "notices/THIRD_PARTY_NOTICES.md": "574a0671f4628e09ea6f47d50c477601af72cfdb42a7d605a0fb4470b081b4ac",
      "runtime/container/docker/bin/containerd": "7af56dd284b4498039116623d88653d12d7d662c3ccd8128d8d070781dea7f8f",
      "runtime/container/docker/bin/containerd-shim-runc-v2": "88dcef3e509d113f2194619e0d4f32dc511ec75434ac495170f84743523abbee",
      "runtime/container/docker/bin/ctr": "e4916d6d68fc48ba849c4bc460d2e44595f920da6d1e403c63769bc898b1bb7d",
      "runtime/container/docker/bin/docker": "37a53fed3445028a49443fd6f9338ccedeeeda9776de5d7fd4d7e7c936b789cc",
      "runtime/container/docker/bin/docker-init": "36adf84effc52ae7067c6d7ed9ed59cc8d0359d03aa2c08277bed633525e3c72",
      "runtime/container/docker/bin/docker-proxy": "aea8d2084d20ef6269cb4733f4c2ffee6292cd74d65c06ef6115fea0cbc852fe",
      "runtime/container/docker/bin/dockerd": "eb017f167a597267a70474c66c2ce0972f8bac1891d2bb9e470f57dfbf4db87d",
      "runtime/container/docker/bin/dockerd-rootless-setuptool.sh": "1c9f0dc93ebb3d75255254ec760d26a912affba7f329ab8abffe8e25eb0b3f94",
      "runtime/container/docker/bin/dockerd-rootless.sh": "200203633806081a401e60aefdf68a8fa73fc7dc80aa854c52a69d47710a3488",
      "runtime/container/docker/bin/rootlesskit": "3ab8171914e002fa522f9f95bf678f8f8833cd68464652c5d7bed744677cf3b1",
      "runtime/container/docker/bin/runc": "1a5db3c010e7cb59e4470d43f8b8a26d1db4692cd4b9dbeea58f296727ce8afb",
      "runtime/container/engine-provenance.json": "c65bd5d2d430fed87d8835cc674d55d36b8d2ead502bc30252bcc4fd203c6d8d",
      "runtime/container/pins.json": "81df5a72048fc35a2bd6379ee3c0ece04e75e37b5636e583da04c5337c85f28f",
      "runtime/container/provenance.json": "e68c4e047960868f56193964b9d4625f382d9a3aea349cf7b3c7567f3dad1c05",
      "runtime/container/sources/EnoughFactory-0.1.1-linux-arm64-container-sources.tar.gz": "7faa0b0711f97f8c6e837f9e7d3c94fc0e3820db8c3f9f1c0a9d5ff3cd3941c1",
      "runtime/container/sources/EnoughFactory-0.1.1-linux-arm64-container-sources.tar.gz.json": "34c5bc8455de1b8ebcd07679933e1bb7ceecff4fe04ea1f471d8d21e2018776e",
      "runtime/LICENSE": "e991d81497a85bb24fc6bffae0a3637a6accd6c6bc5ce1f2c5698bd555cf9d49",
      "runtime/node": "8eeefcacdf48f58541a651016e604055d14a992e39df98636b76495bc7244395",
      "runtime/provenance.json": "bf9f64c1cea4e86eeaeb304d3bd7b365d697d4b59ff510c8300ea3fd9f2259c4",
      "web/assets/browser-6ucCS1FG.js": "233ba10fe2d91b599c9858c78ea698f3b16824da23776728d6dca6bda321a931",
      "web/assets/index-CSAHMVgN.css": "37031a3147f3d6c399530c59773bce385d1cc2641227961118f85e0e2a3124b0",
      "web/assets/index-CVkY9_13.js": "b9e5bffafc5386e3acc31a9c40f2dc9bc9423b80d5eb616bf3b1003950189aca",
      "web/assets/TerminalPane-CzkRz93U.js": "1996bd51975647ccbe75616c2fb6b8b9367b3d3c6d94a19399342552233f4bac",
      "web/factory.svg": "e25dc054b61725d3c8f8a8b7776cb326a1d74fa22318beeb57ed3d4a604f4ca5",
      "web/fonts/LibreCaslonText-OFL.txt": "a294245c822c5aa9fd9a9f3189418e99415428be5fecadf797793d5d8f6a3ad3",
      "web/fonts/LibreCaslonText-Variable.woff2": "36156fefa054d392b2d519d7a7f4ceae6722cee6ce1d6cee5ccd755acfc0c027",
      "web/fonts/SpaceGrotesk-OFL.txt": "564ce565c371c5e5bbf286006565a7c9aa55a9f56e7ca58d56e05d649dd61a72",
      "web/fonts/SpaceGrotesk-Variable.woff2": "8e085aa438094f11487a836652edd5c054fa6a96f63fc7c282105ee3a4b08c07",
      "web/index.html": "70b7815a7ae04108927de6144ed9eb88624503660c3144336a92bb34e175b50a",
      "web/LICENSE": "06fe011a50d44cd30023efb013ab77376c52faef6c0edcdb9f606924286015ea",
      "web/THIRD_PARTY_NOTICES.md": "574a0671f4628e09ea6f47d50c477601af72cfdb42a7d605a0fb4470b081b4ac",
      "workspaces/allow-other.patch": "7ffb8e6471895fd5233194bfb35bfa3c5ac4e14c919d8890cdbd8255ababa8db",
      "workspaces/build.sh": "0fc9ac8e6b15602ed2c26aeb8e460ad5def511f55611a3a1b6444c52f9bda118",
      "workspaces/Dockerfile": "fd4808d5537c2b8963a48b92b03a0b5f21b7001b39af8420f924b4cdc7663d8b",
      "workspaces/envmux-verify.mts": "7e3cfae4231157e55e24f02e43393ad79f7f5a46b76695d48b486200fe847c69",
      "workspaces/license-notices.go": "a16c98d422fb383586c44725e87e584b68e77847a4ef95b24e6fde79b263cd9d",
      "workspaces/manager.sh": "b3c701fe7da1e8a4e05395acd1230cfd1ef39a1a836ce0079749cfa6cd546016",
      "workspaces/NOTICE.md": "92208c22bde11e0f1e826487f568c50f7dfb70e53c9a4de08ae9ed8835d4de9c",
      "workspaces/README.md": "25a7d6f0f4767ce60435e47eba2959b47877affe18648fc7a6cdfd5f51363cd9",
      "workspaces/shared-mount.sh": "d0421ae7ba86304f7d8f897fc359100eb74389e31710826b8db1dcb329a84d39",
      "workspaces/source.json": "7be780fc068327b9d7e9a55edccad5bf75e41565c84b72bd4f33910b95aa85b7",
      "workspaces/verify.mts": "a6976b5648c4a516b33f51dafccdfb11f7f67298f7160d8c56db8d64ccf71b0e"
    }
  },
  "native": {
    "node": {
      "platform": "linux",
      "arch": "arm64",
      "version": "v22.22.0"
    },
    "webRtc": "loaded-from-installed-tree",
    "envmux": "native-executable",
    "service": "authenticated-health-and-catalog",
    "unauthenticatedStateStatus": 401
  },
  "containerRuntime": {
    "dockerVersion": "29.8.2",
    "archivePins": [
      {
        "component": "docker-linux-arm64",
        "url": "https://download.docker.com/linux/static/stable/aarch64/docker-29.8.2.tgz",
        "sha256": "76a624e4a8e5da654d1150e808175125efb5a6f1b6aa1cbd9caee18f51047a50"
      },
      {
        "component": "rootless-linux-arm64",
        "url": "https://download.docker.com/linux/static/stable/aarch64/docker-rootless-extras-29.8.2.tgz",
        "sha256": "f8f759dfeecb5bbe2c963232a1b9380e133f677dc0579263e4ca04c69f40aa47"
      }
    ],
    "assetsVerified": true,
    "dedicatedSocket": "inside-isolated-device-state",
    "startupState": "stopped",
    "engineSourceBuild": {
      "provenanceSha256": "c65bd5d2d430fed87d8835cc674d55d36b8d2ead502bc30252bcc4fd203c6d8d",
      "components": [
        {
          "name": "dockerd",
          "sha256": "eb017f167a597267a70474c66c2ce0972f8bac1891d2bb9e470f57dfbf4db87d",
          "source": "moby",
          "buildMode": "CGO_ENABLED=0"
        },
        {
          "name": "docker-proxy",
          "sha256": "aea8d2084d20ef6269cb4733f4c2ffee6292cd74d65c06ef6115fea0cbc852fe",
          "source": "moby",
          "buildMode": "CGO_ENABLED=0"
        },
        {
          "name": "runc",
          "sha256": "1a5db3c010e7cb59e4470d43f8b8a26d1db4692cd4b9dbeea58f296727ce8afb",
          "source": "runc/libseccomp",
          "buildMode": "static musl, seccomp enabled"
        },
        {
          "name": "docker-init",
          "sha256": "36adf84effc52ae7067c6d7ed9ed59cc8d0359d03aa2c08277bed633525e3c72",
          "source": "tini",
          "buildMode": "static musl"
        }
      ],
      "sourceCompanion": {
        "file": "sources/EnoughFactory-0.1.1-linux-arm64-container-sources.tar.gz",
        "sha256": "7faa0b0711f97f8c6e837f9e7d3c94fc0e3820db8c3f9f1c0a9d5ff3cd3941c1",
        "receiptFile": "sources/EnoughFactory-0.1.1-linux-arm64-container-sources.tar.gz.json"
      }
    }
  },
  "artifact": {
    "filename": "EnoughFactory-0.1.1-linux-arm64.AppImage",
    "sha256": "335903b52ae50dcccbf701ada83905b1995860ebdaba3ac83b867aa360f0816d",
    "bytes": 361670425
  },
  "extraction": {
    "format": "AppImage"
  },
  "runtimeJourney": {
    "formatVersion": 1,
    "product": "EnoughFactory",
    "suite": "private-linux-runtime",
    "status": "passed",
    "startedAt": "2026-10-05T22:13:50.824Z",
    "completedAt": "2026-10-05T22:14:32.539Z",
    "platform": "linux",
    "arch": "arm64",
    "nodeVersion": "v22.22.0",
    "dockerVersion": "29.8.2",
    "bundle": {
      "manifestSha256": "22e896406fe51c3abb362a25c270c2a4c5864b869aebe086c08714f0c7ff81ae",
      "sourceCommit": "5252bd83a9082d7711e7e3dcbf426daef0abc165",
      "version": "0.1.1",
      "platform": "linux",
      "arch": "arm64"
    },
    "runtimeProvenanceSha256": "e68c4e047960868f56193964b9d4625f382d9a3aea349cf7b3c7567f3dad1c05",
    "envmuxSha256": "0b135e3615f39a35c7a2544e542fbf62325f3f4aed4baecc9ec9176ec6199235",
    "checks": [
      "installed resource hashes match bundle provenance",
      "private socket, labeled daemon and data root",
      "rootless Engine 29.8.2",
      "container uid0 and root filesystem writes",
      "container reaches the device service host loopback bridge",
      "container HTTP port forwarding",
      "service reconnect adopts the existing owned engine",
      "native envmux workbench readiness",
      "native envmux full root execution",
      "native envmux stop returns exact source commit",
      "private engine stop and restart retain named volume contents",
      "inherited user Docker context and TLS settings ignored",
      "user Docker configuration unchanged"
    ]
  }
}
