@wenathlan/saddle 1.8.17 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1005) hide show
  1. package/Dockerfile +1339 -0
  2. package/README.md +68 -22
  3. package/alternatives.ts +1218 -0
  4. package/biome.json +153 -0
  5. package/boards.json +1517 -0
  6. package/compute.ts +3144 -0
  7. package/cores.json +1801 -0
  8. package/dist/acquisition.d.ts +359 -0
  9. package/dist/acquisition.d.ts.map +1 -0
  10. package/dist/acquisition.js +629 -0
  11. package/dist/acquisition.js.map +1 -0
  12. package/dist/alternatives.d.ts +509 -0
  13. package/dist/alternatives.d.ts.map +1 -0
  14. package/dist/alternatives.js +951 -0
  15. package/dist/alternatives.js.map +1 -0
  16. package/dist/automation.d.ts +426 -0
  17. package/dist/automation.d.ts.map +1 -0
  18. package/dist/automation.js +561 -0
  19. package/dist/automation.js.map +1 -0
  20. package/dist/browser.d.ts +562 -0
  21. package/dist/browser.d.ts.map +1 -0
  22. package/dist/browser.js +1057 -0
  23. package/dist/browser.js.map +1 -0
  24. package/dist/capacitor.config.d.ts +13 -0
  25. package/dist/capacitor.config.d.ts.map +1 -0
  26. package/dist/capacitor.config.js +26 -0
  27. package/dist/capacitor.config.js.map +1 -0
  28. package/dist/cli.d.ts +17 -0
  29. package/dist/cli.d.ts.map +1 -0
  30. package/dist/cli.js +111 -0
  31. package/dist/cli.js.map +1 -0
  32. package/dist/communication.d.ts +192 -0
  33. package/dist/communication.d.ts.map +1 -0
  34. package/dist/communication.js +418 -0
  35. package/dist/communication.js.map +1 -0
  36. package/dist/compute.d.ts +1161 -0
  37. package/dist/compute.d.ts.map +1 -0
  38. package/dist/compute.js +2273 -0
  39. package/dist/compute.js.map +1 -0
  40. package/dist/distribution.d.ts +529 -0
  41. package/dist/distribution.d.ts.map +1 -0
  42. package/dist/distribution.js +811 -0
  43. package/dist/distribution.js.map +1 -0
  44. package/dist/execution.d.ts +530 -0
  45. package/dist/execution.d.ts.map +1 -0
  46. package/dist/execution.js +761 -0
  47. package/dist/execution.js.map +1 -0
  48. package/dist/format.d.ts +19 -0
  49. package/dist/format.d.ts.map +1 -0
  50. package/dist/format.js +60 -0
  51. package/dist/format.js.map +1 -0
  52. package/dist/foundation.d.ts +176 -0
  53. package/dist/foundation.d.ts.map +1 -0
  54. package/dist/foundation.js +309 -0
  55. package/dist/foundation.js.map +1 -0
  56. package/dist/index.d.ts +733 -122
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +1018 -122
  59. package/dist/index.js.map +1 -1
  60. package/dist/integration.d.ts +236 -0
  61. package/dist/integration.d.ts.map +1 -0
  62. package/dist/integration.js +236 -0
  63. package/dist/integration.js.map +1 -0
  64. package/dist/intelligence.d.ts +94 -0
  65. package/dist/intelligence.d.ts.map +1 -0
  66. package/dist/intelligence.js +145 -0
  67. package/dist/intelligence.js.map +1 -0
  68. package/dist/isolation.d.ts +129 -0
  69. package/dist/isolation.d.ts.map +1 -0
  70. package/dist/isolation.js +96 -0
  71. package/dist/isolation.js.map +1 -0
  72. package/dist/media.d.ts +344 -0
  73. package/dist/media.d.ts.map +1 -0
  74. package/dist/media.js +986 -0
  75. package/dist/media.js.map +1 -0
  76. package/dist/modes.d.ts +359 -0
  77. package/dist/modes.d.ts.map +1 -0
  78. package/dist/modes.js +134 -0
  79. package/dist/modes.js.map +1 -0
  80. package/dist/{library/public.d.ts → operations.d.ts} +15 -1
  81. package/dist/operations.d.ts.map +1 -0
  82. package/dist/{library/public.js → operations.js} +18 -7
  83. package/dist/operations.js.map +1 -0
  84. package/dist/orchestrator.d.ts +1339 -0
  85. package/dist/orchestrator.d.ts.map +1 -0
  86. package/dist/orchestrator.js +4308 -0
  87. package/dist/orchestrator.js.map +1 -0
  88. package/dist/performance.d.ts +416 -0
  89. package/dist/performance.d.ts.map +1 -0
  90. package/dist/performance.js +827 -0
  91. package/dist/performance.js.map +1 -0
  92. package/dist/quantum.d.ts +810 -0
  93. package/dist/quantum.d.ts.map +1 -0
  94. package/dist/quantum.js +2073 -0
  95. package/dist/quantum.js.map +1 -0
  96. package/dist/render.d.ts +381 -0
  97. package/dist/render.d.ts.map +1 -0
  98. package/dist/render.js +1073 -0
  99. package/dist/render.js.map +1 -0
  100. package/dist/scheduler.d.ts +596 -0
  101. package/dist/scheduler.d.ts.map +1 -0
  102. package/dist/scheduler.js +1259 -0
  103. package/dist/scheduler.js.map +1 -0
  104. package/dist/security.d.ts +501 -0
  105. package/dist/security.d.ts.map +1 -0
  106. package/dist/security.js +1170 -0
  107. package/dist/security.js.map +1 -0
  108. package/dist/server.d.ts +21 -0
  109. package/dist/server.d.ts.map +1 -0
  110. package/dist/{server/node.js → server.js} +16 -2
  111. package/dist/server.js.map +1 -0
  112. package/dist/tiers.d.ts +1002 -0
  113. package/dist/tiers.d.ts.map +1 -0
  114. package/dist/tiers.js +2165 -0
  115. package/dist/tiers.js.map +1 -0
  116. package/dist/virtual.d.ts +641 -0
  117. package/dist/virtual.d.ts.map +1 -0
  118. package/dist/virtual.js +1285 -0
  119. package/dist/virtual.js.map +1 -0
  120. package/dist/virtualcpu.d.ts +316 -0
  121. package/dist/virtualcpu.d.ts.map +1 -0
  122. package/dist/virtualcpu.js +1180 -0
  123. package/dist/virtualcpu.js.map +1 -0
  124. package/dist/virtualgpu.d.ts +345 -0
  125. package/dist/virtualgpu.d.ts.map +1 -0
  126. package/dist/virtualgpu.js +1000 -0
  127. package/dist/virtualgpu.js.map +1 -0
  128. package/dist/virtualization.d.ts +607 -0
  129. package/dist/virtualization.d.ts.map +1 -0
  130. package/dist/virtualization.js +1187 -0
  131. package/dist/virtualization.js.map +1 -0
  132. package/dist/virtualmemory.d.ts +818 -0
  133. package/dist/virtualmemory.d.ts.map +1 -0
  134. package/dist/virtualmemory.js +1796 -0
  135. package/dist/virtualmemory.js.map +1 -0
  136. package/dist/webscrape.d.ts +720 -0
  137. package/dist/webscrape.d.ts.map +1 -0
  138. package/dist/webscrape.js +2697 -0
  139. package/dist/webscrape.js.map +1 -0
  140. package/docker.config +769 -0
  141. package/docs/CONVERSA.txt +1523 -0
  142. package/docs/alternatives.md +499 -0
  143. package/docs/architecture-1.8.19.md +76 -0
  144. package/docs/architecture-1.8.19.mmd +33 -0
  145. package/docs/architecture-1.8.19.png +0 -0
  146. package/docs/architecture.md +355 -0
  147. package/docs/artifactavailability.md +6 -0
  148. package/docs/brancharchive-2026-08-18.md +18 -0
  149. package/docs/browser.md +7 -0
  150. package/docs/consolidation.md +70 -0
  151. package/docs/e2ugh-engine.md +528 -0
  152. package/{dist/examples/localjob.js → docs/example-localjob.ts} +3 -3
  153. package/{dist/examples/publicapi.js → docs/example-publicapi.ts} +2 -2
  154. package/docs/hardware.md +342 -0
  155. package/docs/optimization.md +126 -0
  156. package/docs/performance.md +499 -0
  157. package/docs/planning.1.8.18.md +94 -0
  158. package/docs/planning.1.8.19.md +49 -0
  159. package/docs/releasenotes-1.8.17.md +6 -0
  160. package/docs/releasenotes-1.8.18.md +32 -0
  161. package/docs/releasenotes-1.8.19.md +35 -0
  162. package/docs/research-1.8.18-isolation.md +43 -0
  163. package/docs/research-1.8.19-virtual-browser.md +27 -0
  164. package/docs/saddle.archive.1.8.17.tar.gz.gpg +0 -0
  165. package/docs/security.md +454 -0
  166. package/docs/todo-1.8.16.md +56 -1
  167. package/docs/todo-1.8.18.md +164 -0
  168. package/docs/todo-1.8.19.md +241 -0
  169. package/docs/viability.md +777 -0
  170. package/docs/virtualization.md +335 -0
  171. package/docs/web-duplicatecleanup.md +9 -0
  172. package/docs/web-ideas.md +106 -0
  173. package/docs/workflowimprovements-2026-08-19.md +70 -0
  174. package/gpumonitor.cpp +1543 -0
  175. package/gpus.json +2408 -0
  176. package/index.ts +1478 -0
  177. package/media.ts +1337 -0
  178. package/mttg.config +1549 -0
  179. package/orchestrator.ts +5462 -0
  180. package/package.json +304 -55
  181. package/passage.config +1331 -0
  182. package/performance.ts +1049 -0
  183. package/processors.json +2217 -0
  184. package/qemu.config +1062 -0
  185. package/qemubridge.py +1340 -0
  186. package/quantum.ts +2393 -0
  187. package/render.ts +1325 -0
  188. package/scheduler.ts +1600 -0
  189. package/security.ts +1449 -0
  190. package/tiers.ts +2871 -0
  191. package/tsconfig.json +29 -0
  192. package/virtualcpu.ts +1273 -0
  193. package/virtualgpu.ts +1181 -0
  194. package/virtualhardware.c +1011 -0
  195. package/virtualhardware.json +739 -0
  196. package/virtualization.ts +1628 -0
  197. package/virtualizationcore.cpp +4635 -0
  198. package/virtualmemory.ts +2303 -0
  199. package/vm.config.json +1910 -0
  200. package/{extension → web/extension}/manifest.json +1 -1
  201. package/web/readme.md +382 -0
  202. package/web/tsconfig.json +25 -0
  203. package/dist/adapters/forge.d.ts +0 -17
  204. package/dist/adapters/forge.d.ts.map +0 -1
  205. package/dist/adapters/forge.js +0 -19
  206. package/dist/adapters/forge.js.map +0 -1
  207. package/dist/adapters/forgejo.d.ts +0 -49
  208. package/dist/adapters/forgejo.d.ts.map +0 -1
  209. package/dist/adapters/forgejo.js +0 -8
  210. package/dist/adapters/forgejo.js.map +0 -1
  211. package/dist/adapters/github.d.ts +0 -12
  212. package/dist/adapters/github.d.ts.map +0 -1
  213. package/dist/adapters/github.js +0 -20
  214. package/dist/adapters/github.js.map +0 -1
  215. package/dist/adapters/gitlab.d.ts +0 -17
  216. package/dist/adapters/gitlab.d.ts.map +0 -1
  217. package/dist/adapters/gitlab.js +0 -10
  218. package/dist/adapters/gitlab.js.map +0 -1
  219. package/dist/adapters/huggingface.d.ts +0 -17
  220. package/dist/adapters/huggingface.d.ts.map +0 -1
  221. package/dist/adapters/huggingface.js +0 -6
  222. package/dist/adapters/huggingface.js.map +0 -1
  223. package/dist/adapters/socket.d.ts +0 -11
  224. package/dist/adapters/socket.d.ts.map +0 -1
  225. package/dist/adapters/socket.js +0 -17
  226. package/dist/adapters/socket.js.map +0 -1
  227. package/dist/adapters/transport.d.ts +0 -7
  228. package/dist/adapters/transport.d.ts.map +0 -1
  229. package/dist/adapters/transport.js +0 -36
  230. package/dist/adapters/transport.js.map +0 -1
  231. package/dist/ai/chunk.d.ts +0 -2
  232. package/dist/ai/chunk.d.ts.map +0 -1
  233. package/dist/ai/chunk.js +0 -36
  234. package/dist/ai/chunk.js.map +0 -1
  235. package/dist/ai/llmstxt.d.ts +0 -6
  236. package/dist/ai/llmstxt.d.ts.map +0 -1
  237. package/dist/ai/llmstxt.js +0 -12
  238. package/dist/ai/llmstxt.js.map +0 -1
  239. package/dist/ai/provenance.d.ts +0 -22
  240. package/dist/ai/provenance.d.ts.map +0 -1
  241. package/dist/ai/provenance.js +0 -25
  242. package/dist/ai/provenance.js.map +0 -1
  243. package/dist/ai/rag.d.ts +0 -26
  244. package/dist/ai/rag.d.ts.map +0 -1
  245. package/dist/ai/rag.js +0 -22
  246. package/dist/ai/rag.js.map +0 -1
  247. package/dist/ai/tokens.d.ts +0 -15
  248. package/dist/ai/tokens.d.ts.map +0 -1
  249. package/dist/ai/tokens.js +0 -9
  250. package/dist/ai/tokens.js.map +0 -1
  251. package/dist/api/auth.d.ts +0 -16
  252. package/dist/api/auth.d.ts.map +0 -1
  253. package/dist/api/auth.js +0 -19
  254. package/dist/api/auth.js.map +0 -1
  255. package/dist/api/contracts.d.ts +0 -28
  256. package/dist/api/contracts.d.ts.map +0 -1
  257. package/dist/api/contracts.js +0 -14
  258. package/dist/api/contracts.js.map +0 -1
  259. package/dist/api/control.d.ts +0 -10
  260. package/dist/api/control.d.ts.map +0 -1
  261. package/dist/api/control.js +0 -35
  262. package/dist/api/control.js.map +0 -1
  263. package/dist/api/http.d.ts +0 -7
  264. package/dist/api/http.d.ts.map +0 -1
  265. package/dist/api/http.js +0 -12
  266. package/dist/api/http.js.map +0 -1
  267. package/dist/api/rate.d.ts +0 -28
  268. package/dist/api/rate.d.ts.map +0 -1
  269. package/dist/api/rate.js +0 -36
  270. package/dist/api/rate.js.map +0 -1
  271. package/dist/api/security.d.ts +0 -12
  272. package/dist/api/security.d.ts.map +0 -1
  273. package/dist/api/security.js +0 -56
  274. package/dist/api/security.js.map +0 -1
  275. package/dist/api/service.d.ts +0 -5
  276. package/dist/api/service.d.ts.map +0 -1
  277. package/dist/api/service.js +0 -70
  278. package/dist/api/service.js.map +0 -1
  279. package/dist/apps/registry.d.ts +0 -33
  280. package/dist/apps/registry.d.ts.map +0 -1
  281. package/dist/apps/registry.js +0 -24
  282. package/dist/apps/registry.js.map +0 -1
  283. package/dist/binary/archive.d.ts +0 -27
  284. package/dist/binary/archive.d.ts.map +0 -1
  285. package/dist/binary/archive.js +0 -46
  286. package/dist/binary/archive.js.map +0 -1
  287. package/dist/binary/build.d.ts +0 -29
  288. package/dist/binary/build.d.ts.map +0 -1
  289. package/dist/binary/build.js +0 -17
  290. package/dist/binary/build.js.map +0 -1
  291. package/dist/binary/transform.d.ts +0 -70
  292. package/dist/binary/transform.d.ts.map +0 -1
  293. package/dist/binary/transform.js +0 -105
  294. package/dist/binary/transform.js.map +0 -1
  295. package/dist/bot/adapter.d.ts +0 -5
  296. package/dist/bot/adapter.d.ts.map +0 -1
  297. package/dist/bot/adapter.js +0 -11
  298. package/dist/bot/adapter.js.map +0 -1
  299. package/dist/bot/bot.d.ts +0 -28
  300. package/dist/bot/bot.d.ts.map +0 -1
  301. package/dist/bot/bot.js +0 -52
  302. package/dist/bot/bot.js.map +0 -1
  303. package/dist/bot/commands.d.ts +0 -8
  304. package/dist/bot/commands.d.ts.map +0 -1
  305. package/dist/bot/commands.js +0 -19
  306. package/dist/bot/commands.js.map +0 -1
  307. package/dist/bot/permissions.d.ts +0 -13
  308. package/dist/bot/permissions.d.ts.map +0 -1
  309. package/dist/bot/permissions.js +0 -16
  310. package/dist/bot/permissions.js.map +0 -1
  311. package/dist/browser/actions.d.ts +0 -33
  312. package/dist/browser/actions.d.ts.map +0 -1
  313. package/dist/browser/actions.js +0 -44
  314. package/dist/browser/actions.js.map +0 -1
  315. package/dist/browser/agent.d.ts +0 -21
  316. package/dist/browser/agent.d.ts.map +0 -1
  317. package/dist/browser/agent.js +0 -13
  318. package/dist/browser/agent.js.map +0 -1
  319. package/dist/browser/context.d.ts +0 -43
  320. package/dist/browser/context.d.ts.map +0 -1
  321. package/dist/browser/context.js +0 -54
  322. package/dist/browser/context.js.map +0 -1
  323. package/dist/browser/fingerprint.d.ts +0 -4
  324. package/dist/browser/fingerprint.d.ts.map +0 -1
  325. package/dist/browser/fingerprint.js +0 -12
  326. package/dist/browser/fingerprint.js.map +0 -1
  327. package/dist/browser/index.d.ts +0 -11
  328. package/dist/browser/index.d.ts.map +0 -1
  329. package/dist/browser/index.js +0 -11
  330. package/dist/browser/index.js.map +0 -1
  331. package/dist/browser/playwright.d.ts +0 -11
  332. package/dist/browser/playwright.d.ts.map +0 -1
  333. package/dist/browser/playwright.js +0 -24
  334. package/dist/browser/playwright.js.map +0 -1
  335. package/dist/browser/recorder.d.ts +0 -21
  336. package/dist/browser/recorder.d.ts.map +0 -1
  337. package/dist/browser/recorder.js +0 -58
  338. package/dist/browser/recorder.js.map +0 -1
  339. package/dist/browser/session.d.ts +0 -14
  340. package/dist/browser/session.d.ts.map +0 -1
  341. package/dist/browser/session.js +0 -21
  342. package/dist/browser/session.js.map +0 -1
  343. package/dist/browser/snapshot.d.ts +0 -69
  344. package/dist/browser/snapshot.d.ts.map +0 -1
  345. package/dist/browser/snapshot.js +0 -133
  346. package/dist/browser/snapshot.js.map +0 -1
  347. package/dist/captcha/contract.d.ts +0 -35
  348. package/dist/captcha/contract.d.ts.map +0 -1
  349. package/dist/captcha/contract.js +0 -17
  350. package/dist/captcha/contract.js.map +0 -1
  351. package/dist/captcha/evidence.d.ts +0 -10
  352. package/dist/captcha/evidence.d.ts.map +0 -1
  353. package/dist/captcha/evidence.js +0 -9
  354. package/dist/captcha/evidence.js.map +0 -1
  355. package/dist/captcha/guard.d.ts +0 -23
  356. package/dist/captcha/guard.d.ts.map +0 -1
  357. package/dist/captcha/guard.js +0 -12
  358. package/dist/captcha/guard.js.map +0 -1
  359. package/dist/cli/main.d.ts +0 -4
  360. package/dist/cli/main.d.ts.map +0 -1
  361. package/dist/cli/main.js +0 -46
  362. package/dist/cli/main.js.map +0 -1
  363. package/dist/core/errors.d.ts +0 -84
  364. package/dist/core/errors.d.ts.map +0 -1
  365. package/dist/core/errors.js +0 -54
  366. package/dist/core/errors.js.map +0 -1
  367. package/dist/core/events.d.ts +0 -9
  368. package/dist/core/events.d.ts.map +0 -1
  369. package/dist/core/events.js +0 -21
  370. package/dist/core/events.js.map +0 -1
  371. package/dist/core/hash.d.ts +0 -10
  372. package/dist/core/hash.d.ts.map +0 -1
  373. package/dist/core/hash.js +0 -82
  374. package/dist/core/hash.js.map +0 -1
  375. package/dist/core/ids.d.ts +0 -10
  376. package/dist/core/ids.d.ts.map +0 -1
  377. package/dist/core/ids.js +0 -15
  378. package/dist/core/ids.js.map +0 -1
  379. package/dist/delivery/manifest.d.ts +0 -35
  380. package/dist/delivery/manifest.d.ts.map +0 -1
  381. package/dist/delivery/manifest.js +0 -68
  382. package/dist/delivery/manifest.js.map +0 -1
  383. package/dist/deploy/index.d.ts +0 -6
  384. package/dist/deploy/index.d.ts.map +0 -1
  385. package/dist/deploy/index.js +0 -6
  386. package/dist/deploy/index.js.map +0 -1
  387. package/dist/dispatch/resumable.d.ts +0 -102
  388. package/dist/dispatch/resumable.d.ts.map +0 -1
  389. package/dist/dispatch/resumable.js +0 -64
  390. package/dist/dispatch/resumable.js.map +0 -1
  391. package/dist/dispatch/workflow.d.ts +0 -6
  392. package/dist/dispatch/workflow.d.ts.map +0 -1
  393. package/dist/dispatch/workflow.js +0 -37
  394. package/dist/dispatch/workflow.js.map +0 -1
  395. package/dist/domain/artifacts.d.ts +0 -12
  396. package/dist/domain/artifacts.d.ts.map +0 -1
  397. package/dist/domain/artifacts.js +0 -14
  398. package/dist/domain/artifacts.js.map +0 -1
  399. package/dist/domain/jobs.d.ts +0 -12
  400. package/dist/domain/jobs.d.ts.map +0 -1
  401. package/dist/domain/jobs.js +0 -20
  402. package/dist/domain/jobs.js.map +0 -1
  403. package/dist/domain/providers.d.ts +0 -10
  404. package/dist/domain/providers.d.ts.map +0 -1
  405. package/dist/domain/providers.js +0 -8
  406. package/dist/domain/providers.js.map +0 -1
  407. package/dist/domain/runtime.d.ts +0 -14
  408. package/dist/domain/runtime.d.ts.map +0 -1
  409. package/dist/domain/runtime.js +0 -10
  410. package/dist/domain/runtime.js.map +0 -1
  411. package/dist/domain/sessions.d.ts +0 -12
  412. package/dist/domain/sessions.d.ts.map +0 -1
  413. package/dist/domain/sessions.js +0 -57
  414. package/dist/domain/sessions.js.map +0 -1
  415. package/dist/examples/localjob.d.ts +0 -2
  416. package/dist/examples/localjob.d.ts.map +0 -1
  417. package/dist/examples/localjob.js.map +0 -1
  418. package/dist/examples/publicapi.d.ts +0 -2
  419. package/dist/examples/publicapi.d.ts.map +0 -1
  420. package/dist/examples/publicapi.js.map +0 -1
  421. package/dist/extension/build.d.ts +0 -9
  422. package/dist/extension/build.d.ts.map +0 -1
  423. package/dist/extension/build.js +0 -85
  424. package/dist/extension/build.js.map +0 -1
  425. package/dist/extension/content.d.ts +0 -6
  426. package/dist/extension/content.d.ts.map +0 -1
  427. package/dist/extension/content.js +0 -135
  428. package/dist/extension/content.js.map +0 -1
  429. package/dist/extension/index.d.ts +0 -7
  430. package/dist/extension/index.d.ts.map +0 -1
  431. package/dist/extension/index.js +0 -7
  432. package/dist/extension/index.js.map +0 -1
  433. package/dist/extension/pagebridge.d.ts +0 -6
  434. package/dist/extension/pagebridge.d.ts.map +0 -1
  435. package/dist/extension/pagebridge.js +0 -42
  436. package/dist/extension/pagebridge.js.map +0 -1
  437. package/dist/extension/permissions.d.ts +0 -26
  438. package/dist/extension/permissions.d.ts.map +0 -1
  439. package/dist/extension/permissions.js +0 -28
  440. package/dist/extension/permissions.js.map +0 -1
  441. package/dist/extension/popup.d.ts +0 -5
  442. package/dist/extension/popup.d.ts.map +0 -1
  443. package/dist/extension/popup.js +0 -26
  444. package/dist/extension/popup.js.map +0 -1
  445. package/dist/extension/protocol.d.ts +0 -58
  446. package/dist/extension/protocol.d.ts.map +0 -1
  447. package/dist/extension/protocol.js +0 -101
  448. package/dist/extension/protocol.js.map +0 -1
  449. package/dist/extension/serviceworker.d.ts +0 -25
  450. package/dist/extension/serviceworker.d.ts.map +0 -1
  451. package/dist/extension/serviceworker.js +0 -102
  452. package/dist/extension/serviceworker.js.map +0 -1
  453. package/dist/extension/worker.d.ts +0 -28
  454. package/dist/extension/worker.d.ts.map +0 -1
  455. package/dist/extension/worker.js +0 -22
  456. package/dist/extension/worker.js.map +0 -1
  457. package/dist/format/check.d.ts +0 -8
  458. package/dist/format/check.d.ts.map +0 -1
  459. package/dist/format/check.js +0 -38
  460. package/dist/format/check.js.map +0 -1
  461. package/dist/library/public.d.ts.map +0 -1
  462. package/dist/library/public.js.map +0 -1
  463. package/dist/mcp/browser.d.ts +0 -9
  464. package/dist/mcp/browser.d.ts.map +0 -1
  465. package/dist/mcp/browser.js +0 -13
  466. package/dist/mcp/browser.js.map +0 -1
  467. package/dist/mcp/server.d.ts +0 -35
  468. package/dist/mcp/server.d.ts.map +0 -1
  469. package/dist/mcp/server.js +0 -40
  470. package/dist/mcp/server.js.map +0 -1
  471. package/dist/mcp/transport.d.ts +0 -7
  472. package/dist/mcp/transport.d.ts.map +0 -1
  473. package/dist/mcp/transport.js +0 -17
  474. package/dist/mcp/transport.js.map +0 -1
  475. package/dist/memory/bridge.d.ts +0 -14
  476. package/dist/memory/bridge.d.ts.map +0 -1
  477. package/dist/memory/bridge.js +0 -16
  478. package/dist/memory/bridge.js.map +0 -1
  479. package/dist/memory/engine.d.ts +0 -38
  480. package/dist/memory/engine.d.ts.map +0 -1
  481. package/dist/memory/engine.js +0 -109
  482. package/dist/memory/engine.js.map +0 -1
  483. package/dist/memory/modes.d.ts +0 -43
  484. package/dist/memory/modes.d.ts.map +0 -1
  485. package/dist/memory/modes.js +0 -66
  486. package/dist/memory/modes.js.map +0 -1
  487. package/dist/memory/objects.d.ts +0 -21
  488. package/dist/memory/objects.d.ts.map +0 -1
  489. package/dist/memory/objects.js +0 -20
  490. package/dist/memory/objects.js.map +0 -1
  491. package/dist/memory/planner.d.ts +0 -66
  492. package/dist/memory/planner.d.ts.map +0 -1
  493. package/dist/memory/planner.js +0 -108
  494. package/dist/memory/planner.js.map +0 -1
  495. package/dist/memory/targets.d.ts +0 -78
  496. package/dist/memory/targets.d.ts.map +0 -1
  497. package/dist/memory/targets.js +0 -29
  498. package/dist/memory/targets.js.map +0 -1
  499. package/dist/memory/transforms.d.ts +0 -19
  500. package/dist/memory/transforms.d.ts.map +0 -1
  501. package/dist/memory/transforms.js +0 -14
  502. package/dist/memory/transforms.js.map +0 -1
  503. package/dist/modes/matrix.d.ts +0 -23
  504. package/dist/modes/matrix.d.ts.map +0 -1
  505. package/dist/modes/matrix.js +0 -18
  506. package/dist/modes/matrix.js.map +0 -1
  507. package/dist/modes/modes.d.ts +0 -33
  508. package/dist/modes/modes.d.ts.map +0 -1
  509. package/dist/modes/modes.js +0 -15
  510. package/dist/modes/modes.js.map +0 -1
  511. package/dist/modes/resolve.d.ts +0 -96
  512. package/dist/modes/resolve.d.ts.map +0 -1
  513. package/dist/modes/resolve.js +0 -48
  514. package/dist/modes/resolve.js.map +0 -1
  515. package/dist/observability/metrics.d.ts +0 -14
  516. package/dist/observability/metrics.d.ts.map +0 -1
  517. package/dist/observability/metrics.js +0 -18
  518. package/dist/observability/metrics.js.map +0 -1
  519. package/dist/packager/manifest.d.ts +0 -66
  520. package/dist/packager/manifest.d.ts.map +0 -1
  521. package/dist/packager/manifest.js +0 -94
  522. package/dist/packager/manifest.js.map +0 -1
  523. package/dist/packager/publish.d.ts +0 -51
  524. package/dist/packager/publish.d.ts.map +0 -1
  525. package/dist/packager/publish.js +0 -18
  526. package/dist/packager/publish.js.map +0 -1
  527. package/dist/packager/targetcli.d.ts +0 -7
  528. package/dist/packager/targetcli.d.ts.map +0 -1
  529. package/dist/packager/targetcli.js +0 -22
  530. package/dist/packager/targetcli.js.map +0 -1
  531. package/dist/persistence/adapter.d.ts +0 -5
  532. package/dist/persistence/adapter.d.ts.map +0 -1
  533. package/dist/persistence/adapter.js +0 -11
  534. package/dist/persistence/adapter.js.map +0 -1
  535. package/dist/persistence/drizzle.d.ts +0 -2
  536. package/dist/persistence/drizzle.d.ts.map +0 -1
  537. package/dist/persistence/drizzle.js +0 -12
  538. package/dist/persistence/drizzle.js.map +0 -1
  539. package/dist/persistence/memory.d.ts +0 -2
  540. package/dist/persistence/memory.d.ts.map +0 -1
  541. package/dist/persistence/memory.js +0 -27
  542. package/dist/persistence/memory.js.map +0 -1
  543. package/dist/persistence/migrations.d.ts +0 -19
  544. package/dist/persistence/migrations.d.ts.map +0 -1
  545. package/dist/persistence/migrations.js +0 -13
  546. package/dist/persistence/migrations.js.map +0 -1
  547. package/dist/persistence/prisma.d.ts +0 -2
  548. package/dist/persistence/prisma.d.ts.map +0 -1
  549. package/dist/persistence/prisma.js +0 -25
  550. package/dist/persistence/prisma.js.map +0 -1
  551. package/dist/persistence/schema.d.ts +0 -63
  552. package/dist/persistence/schema.d.ts.map +0 -1
  553. package/dist/persistence/schema.js +0 -28
  554. package/dist/persistence/schema.js.map +0 -1
  555. package/dist/persistence/sql.d.ts +0 -3
  556. package/dist/persistence/sql.d.ts.map +0 -1
  557. package/dist/persistence/sql.js +0 -37
  558. package/dist/persistence/sql.js.map +0 -1
  559. package/dist/protocol/blocks.d.ts +0 -10
  560. package/dist/protocol/blocks.d.ts.map +0 -1
  561. package/dist/protocol/blocks.js +0 -26
  562. package/dist/protocol/blocks.js.map +0 -1
  563. package/dist/protocol/json.d.ts +0 -6
  564. package/dist/protocol/json.d.ts.map +0 -1
  565. package/dist/protocol/json.js +0 -6
  566. package/dist/protocol/json.js.map +0 -1
  567. package/dist/protocol/ndjson.d.ts +0 -3
  568. package/dist/protocol/ndjson.d.ts.map +0 -1
  569. package/dist/protocol/ndjson.js +0 -20
  570. package/dist/protocol/ndjson.js.map +0 -1
  571. package/dist/protocol/sse.d.ts +0 -7
  572. package/dist/protocol/sse.d.ts.map +0 -1
  573. package/dist/protocol/sse.js +0 -25
  574. package/dist/protocol/sse.js.map +0 -1
  575. package/dist/proxy/pool.d.ts +0 -9
  576. package/dist/proxy/pool.d.ts.map +0 -1
  577. package/dist/proxy/pool.js +0 -27
  578. package/dist/proxy/pool.js.map +0 -1
  579. package/dist/queue/idempotency.d.ts +0 -10
  580. package/dist/queue/idempotency.d.ts.map +0 -1
  581. package/dist/queue/idempotency.js +0 -13
  582. package/dist/queue/idempotency.js.map +0 -1
  583. package/dist/queue/persistent.d.ts +0 -14
  584. package/dist/queue/persistent.d.ts.map +0 -1
  585. package/dist/queue/persistent.js +0 -66
  586. package/dist/queue/persistent.js.map +0 -1
  587. package/dist/queue/queue.d.ts +0 -7
  588. package/dist/queue/queue.d.ts.map +0 -1
  589. package/dist/queue/queue.js +0 -55
  590. package/dist/queue/queue.js.map +0 -1
  591. package/dist/queue/saga.d.ts +0 -5
  592. package/dist/queue/saga.d.ts.map +0 -1
  593. package/dist/queue/saga.js +0 -20
  594. package/dist/queue/saga.js.map +0 -1
  595. package/dist/release/assets.d.ts +0 -144
  596. package/dist/release/assets.d.ts.map +0 -1
  597. package/dist/release/assets.js +0 -157
  598. package/dist/release/assets.js.map +0 -1
  599. package/dist/release/evidence.d.ts +0 -92
  600. package/dist/release/evidence.d.ts.map +0 -1
  601. package/dist/release/evidence.js +0 -148
  602. package/dist/release/evidence.js.map +0 -1
  603. package/dist/release/verify.d.ts +0 -12
  604. package/dist/release/verify.d.ts.map +0 -1
  605. package/dist/release/verify.js +0 -112
  606. package/dist/release/verify.js.map +0 -1
  607. package/dist/runners/chain.d.ts +0 -125
  608. package/dist/runners/chain.d.ts.map +0 -1
  609. package/dist/runners/chain.js +0 -95
  610. package/dist/runners/chain.js.map +0 -1
  611. package/dist/runners/health.d.ts +0 -36
  612. package/dist/runners/health.d.ts.map +0 -1
  613. package/dist/runners/health.js +0 -26
  614. package/dist/runners/health.js.map +0 -1
  615. package/dist/runners/heartbeat.d.ts +0 -23
  616. package/dist/runners/heartbeat.d.ts.map +0 -1
  617. package/dist/runners/heartbeat.js +0 -29
  618. package/dist/runners/heartbeat.js.map +0 -1
  619. package/dist/runners/inprocess.d.ts +0 -17
  620. package/dist/runners/inprocess.d.ts.map +0 -1
  621. package/dist/runners/inprocess.js +0 -20
  622. package/dist/runners/inprocess.js.map +0 -1
  623. package/dist/runners/scheduler.d.ts +0 -5
  624. package/dist/runners/scheduler.d.ts.map +0 -1
  625. package/dist/runners/scheduler.js +0 -19
  626. package/dist/runners/scheduler.js.map +0 -1
  627. package/dist/runtime/abort.d.ts +0 -8
  628. package/dist/runtime/abort.d.ts.map +0 -1
  629. package/dist/runtime/abort.js +0 -13
  630. package/dist/runtime/abort.js.map +0 -1
  631. package/dist/runtime/compatibility.d.ts +0 -37
  632. package/dist/runtime/compatibility.d.ts.map +0 -1
  633. package/dist/runtime/compatibility.js +0 -10
  634. package/dist/runtime/compatibility.js.map +0 -1
  635. package/dist/runtime/detect.d.ts +0 -13
  636. package/dist/runtime/detect.d.ts.map +0 -1
  637. package/dist/runtime/detect.js +0 -18
  638. package/dist/runtime/detect.js.map +0 -1
  639. package/dist/runtime/engine.d.ts +0 -20
  640. package/dist/runtime/engine.d.ts.map +0 -1
  641. package/dist/runtime/engine.js +0 -61
  642. package/dist/runtime/engine.js.map +0 -1
  643. package/dist/runtime/retry.d.ts +0 -19
  644. package/dist/runtime/retry.d.ts.map +0 -1
  645. package/dist/runtime/retry.js +0 -54
  646. package/dist/runtime/retry.js.map +0 -1
  647. package/dist/runtime/worker.d.ts +0 -10
  648. package/dist/runtime/worker.d.ts.map +0 -1
  649. package/dist/runtime/worker.js +0 -25
  650. package/dist/runtime/worker.js.map +0 -1
  651. package/dist/scrape/cache.d.ts +0 -45
  652. package/dist/scrape/cache.d.ts.map +0 -1
  653. package/dist/scrape/cache.js +0 -45
  654. package/dist/scrape/cache.js.map +0 -1
  655. package/dist/scrape/crawl.d.ts +0 -47
  656. package/dist/scrape/crawl.d.ts.map +0 -1
  657. package/dist/scrape/crawl.js +0 -114
  658. package/dist/scrape/crawl.js.map +0 -1
  659. package/dist/scrape/extract.d.ts +0 -63
  660. package/dist/scrape/extract.d.ts.map +0 -1
  661. package/dist/scrape/extract.js +0 -47
  662. package/dist/scrape/extract.js.map +0 -1
  663. package/dist/scrape/normalize.d.ts +0 -52
  664. package/dist/scrape/normalize.d.ts.map +0 -1
  665. package/dist/scrape/normalize.js +0 -102
  666. package/dist/scrape/normalize.js.map +0 -1
  667. package/dist/scrape/robots.d.ts +0 -37
  668. package/dist/scrape/robots.d.ts.map +0 -1
  669. package/dist/scrape/robots.js +0 -71
  670. package/dist/scrape/robots.js.map +0 -1
  671. package/dist/scrape/schema.d.ts +0 -23
  672. package/dist/scrape/schema.d.ts.map +0 -1
  673. package/dist/scrape/schema.js +0 -92
  674. package/dist/scrape/schema.js.map +0 -1
  675. package/dist/scrape/scraper.d.ts +0 -6
  676. package/dist/scrape/scraper.d.ts.map +0 -1
  677. package/dist/scrape/scraper.js +0 -46
  678. package/dist/scrape/scraper.js.map +0 -1
  679. package/dist/scrape/semantic.d.ts +0 -25
  680. package/dist/scrape/semantic.d.ts.map +0 -1
  681. package/dist/scrape/semantic.js +0 -27
  682. package/dist/scrape/semantic.js.map +0 -1
  683. package/dist/server/node.d.ts +0 -7
  684. package/dist/server/node.d.ts.map +0 -1
  685. package/dist/server/node.js.map +0 -1
  686. package/dist/sessions/file.d.ts +0 -25
  687. package/dist/sessions/file.d.ts.map +0 -1
  688. package/dist/sessions/file.js +0 -13
  689. package/dist/sessions/file.js.map +0 -1
  690. package/dist/sessions/replay.d.ts +0 -9
  691. package/dist/sessions/replay.d.ts.map +0 -1
  692. package/dist/sessions/replay.js +0 -70
  693. package/dist/sessions/replay.js.map +0 -1
  694. package/dist/sessions/store.d.ts +0 -25
  695. package/dist/sessions/store.d.ts.map +0 -1
  696. package/dist/sessions/store.js +0 -13
  697. package/dist/sessions/store.js.map +0 -1
  698. package/dist/storage/adapter.d.ts +0 -5
  699. package/dist/storage/adapter.d.ts.map +0 -1
  700. package/dist/storage/adapter.js +0 -11
  701. package/dist/storage/adapter.js.map +0 -1
  702. package/dist/storage/cache.d.ts +0 -23
  703. package/dist/storage/cache.d.ts.map +0 -1
  704. package/dist/storage/cache.js +0 -79
  705. package/dist/storage/cache.js.map +0 -1
  706. package/dist/storage/checksum.d.ts +0 -3
  707. package/dist/storage/checksum.d.ts.map +0 -1
  708. package/dist/storage/checksum.js +0 -19
  709. package/dist/storage/checksum.js.map +0 -1
  710. package/dist/storage/chunked.d.ts +0 -21
  711. package/dist/storage/chunked.d.ts.map +0 -1
  712. package/dist/storage/chunked.js +0 -67
  713. package/dist/storage/chunked.js.map +0 -1
  714. package/dist/storage/content.d.ts +0 -24
  715. package/dist/storage/content.d.ts.map +0 -1
  716. package/dist/storage/content.js +0 -44
  717. package/dist/storage/content.js.map +0 -1
  718. package/dist/storage/filehosting.d.ts +0 -2
  719. package/dist/storage/filehosting.d.ts.map +0 -1
  720. package/dist/storage/filehosting.js +0 -24
  721. package/dist/storage/filehosting.js.map +0 -1
  722. package/dist/storage/githubcontents.d.ts +0 -2
  723. package/dist/storage/githubcontents.d.ts.map +0 -1
  724. package/dist/storage/githubcontents.js +0 -29
  725. package/dist/storage/githubcontents.js.map +0 -1
  726. package/dist/storage/index.d.ts +0 -12
  727. package/dist/storage/index.d.ts.map +0 -1
  728. package/dist/storage/index.js +0 -12
  729. package/dist/storage/index.js.map +0 -1
  730. package/dist/storage/local.d.ts +0 -2
  731. package/dist/storage/local.d.ts.map +0 -1
  732. package/dist/storage/local.js +0 -72
  733. package/dist/storage/local.js.map +0 -1
  734. package/dist/storage/memory.d.ts +0 -6
  735. package/dist/storage/memory.d.ts.map +0 -1
  736. package/dist/storage/memory.js +0 -36
  737. package/dist/storage/memory.js.map +0 -1
  738. package/dist/storage/pool.d.ts +0 -95
  739. package/dist/storage/pool.d.ts.map +0 -1
  740. package/dist/storage/pool.js +0 -202
  741. package/dist/storage/pool.js.map +0 -1
  742. package/dist/storage/s3compatible.d.ts +0 -3
  743. package/dist/storage/s3compatible.d.ts.map +0 -1
  744. package/dist/storage/s3compatible.js +0 -70
  745. package/dist/storage/s3compatible.js.map +0 -1
  746. package/dist/storage/sync.d.ts +0 -47
  747. package/dist/storage/sync.d.ts.map +0 -1
  748. package/dist/storage/sync.js +0 -75
  749. package/dist/storage/sync.js.map +0 -1
  750. package/dist/surfaces/adapters.d.ts +0 -97
  751. package/dist/surfaces/adapters.d.ts.map +0 -1
  752. package/dist/surfaces/adapters.js +0 -50
  753. package/dist/surfaces/adapters.js.map +0 -1
  754. package/dist/surfaces/controls.d.ts +0 -18
  755. package/dist/surfaces/controls.d.ts.map +0 -1
  756. package/dist/surfaces/controls.js +0 -45
  757. package/dist/surfaces/controls.js.map +0 -1
  758. package/dist/surfaces/manifest.d.ts +0 -68
  759. package/dist/surfaces/manifest.d.ts.map +0 -1
  760. package/dist/surfaces/manifest.js +0 -42
  761. package/dist/surfaces/manifest.js.map +0 -1
  762. package/dist/surfaces/n8n.d.ts +0 -25
  763. package/dist/surfaces/n8n.d.ts.map +0 -1
  764. package/dist/surfaces/n8n.js +0 -31
  765. package/dist/surfaces/n8n.js.map +0 -1
  766. package/dist/surfaces/operations.d.ts +0 -32
  767. package/dist/surfaces/operations.d.ts.map +0 -1
  768. package/dist/surfaces/operations.js +0 -53
  769. package/dist/surfaces/operations.js.map +0 -1
  770. package/dist/surfaces/requirements.d.ts +0 -29
  771. package/dist/surfaces/requirements.d.ts.map +0 -1
  772. package/dist/surfaces/requirements.js +0 -50
  773. package/dist/surfaces/requirements.js.map +0 -1
  774. package/dist/surfaces/targets.d.ts +0 -196
  775. package/dist/surfaces/targets.d.ts.map +0 -1
  776. package/dist/surfaces/targets.js +0 -27
  777. package/dist/surfaces/targets.js.map +0 -1
  778. package/dist/webhook/delivery.d.ts +0 -18
  779. package/dist/webhook/delivery.d.ts.map +0 -1
  780. package/dist/webhook/delivery.js +0 -36
  781. package/dist/webhook/delivery.js.map +0 -1
  782. package/dist/webhook/receiver.d.ts +0 -26
  783. package/dist/webhook/receiver.d.ts.map +0 -1
  784. package/dist/webhook/receiver.js +0 -24
  785. package/dist/webhook/receiver.js.map +0 -1
  786. package/dist/webhook/signature.d.ts +0 -3
  787. package/dist/webhook/signature.d.ts.map +0 -1
  788. package/dist/webhook/signature.js +0 -7
  789. package/dist/webhook/signature.js.map +0 -1
  790. package/dist/workflow/manifest.d.ts +0 -22
  791. package/dist/workflow/manifest.d.ts.map +0 -1
  792. package/dist/workflow/manifest.js +0 -21
  793. package/dist/workflow/manifest.js.map +0 -1
  794. package/dist/workflow/registry.d.ts +0 -7
  795. package/dist/workflow/registry.d.ts.map +0 -1
  796. package/dist/workflow/registry.js +0 -18
  797. package/dist/workflow/registry.js.map +0 -1
  798. package/dist/workflow/templates.d.ts +0 -6
  799. package/dist/workflow/templates.d.ts.map +0 -1
  800. package/dist/workflow/templates.js +0 -18
  801. package/dist/workflow/templates.js.map +0 -1
  802. package/dist/workflow/triggers.d.ts +0 -64
  803. package/dist/workflow/triggers.d.ts.map +0 -1
  804. package/dist/workflow/triggers.js +0 -99
  805. package/dist/workflow/triggers.js.map +0 -1
  806. package/docs/logs/.gitkeep +0 -0
  807. package/docs/plans/00.index.md +0 -50
  808. package/docs/plans/01.architecture.md +0 -86
  809. package/docs/plans/02.research.computer.use.md +0 -58
  810. package/docs/plans/03.research.captcha.bypass.md +0 -68
  811. package/docs/plans/04.research.sandbox.ai.md +0 -52
  812. package/docs/plans/05.capture.platform.md +0 -57
  813. package/docs/plans/06.dependencies.md +0 -97
  814. package/docs/plans/07.captcha.test.page.md +0 -41
  815. package/docs/plans/08.production.infra.md +0 -70
  816. package/docs/plans/09.database.schema.md +0 -121
  817. package/docs/plans/10.cloudinary.storage.md +0 -57
  818. package/docs/plans/11.movement.logs.json.md +0 -72
  819. package/docs/plans/12.research.atlas.agent.browser.md +0 -79
  820. package/docs/plans/13.research.anti.detection.md +0 -898
  821. package/docs/plans/14.research.proxy.md +0 -1495
  822. package/docs/plans/15.research.retry.rate.limit.md +0 -1958
  823. package/docs/plans/16.research.crawling.md +0 -1417
  824. package/docs/plans/17.research.caching.md +0 -1610
  825. package/docs/plans/18.research.content.extraction.md +0 -1952
  826. package/docs/plans/19.research.errors.events.md +0 -1523
  827. package/docs/plans/20.research.zod.validation.md +0 -1350
  828. package/docs/plans/21.research.batch.concurrency.md +0 -1888
  829. package/docs/plans/22.research.universal.runtime.md +0 -944
  830. package/docs/plans/23.research.ai.integration.md +0 -1465
  831. package/docs/plans/24.research.memory.persistence.md +0 -1979
  832. package/docs/plans/25.research.server.api.md +0 -342
  833. package/docs/plans/26.research.compilation.md +0 -249
  834. package/docs/plans/27.research.html.parsing.md +0 -251
  835. package/docs/plans/28.action.plan.md +0 -50
  836. package/docs/plans/29.api.reference.md +0 -174
  837. package/docs/plans/30.architecture.plan.md +0 -94
  838. package/docs/plans/31.auditoria.dados.md +0 -163
  839. package/docs/plans/32.bots.automacao.computacional.md +0 -214
  840. package/docs/plans/33.bots.codigo.revisao.md +0 -220
  841. package/docs/plans/34.bots.seguranca.cicd.md +0 -366
  842. package/docs/plans/35.comparativo.concorrencia.md +0 -464
  843. package/docs/plans/36.computational.memory.md +0 -340
  844. package/docs/plans/37.deploystrategy.md +0 -394
  845. package/docs/plans/38.flow.md +0 -155
  846. package/docs/plans/39.multi.platform.bot.md +0 -252
  847. package/docs/plans/40.npm.publish.md +0 -250
  848. package/docs/plans/41.o.que.falta.md +0 -407
  849. package/docs/plans/42.pesquisa.concorrencia.md +0 -721
  850. package/docs/plans/43.plan.universal.architecture.md +0 -496
  851. package/docs/plans/44.reference.md +0 -100
  852. package/docs/plans/45.robotarchitecture.md +0 -237
  853. package/docs/plans/46.scdnintegration.md +0 -284
  854. package/docs/plans/47.multiforge.readme.md +0 -129
  855. package/docs/plans/48.theory.v4.repo.os.md +0 -152
  856. package/docs/plans/49.third.party.infra.md +0 -12
  857. package/docs/plans/50.file.as.compute.md +0 -39
  858. package/docs/plans/51.architecture.virtual.processor.md +0 -80
  859. package/docs/plans/52.manifesto.v8.md +0 -11
  860. package/docs/plans/58.cdn.list.md +0 -23
  861. package/docs/plans/59.sql.frameworks.md +0 -33
  862. package/docs/plans/60.sql.thirdparty.md +0 -26
  863. package/docs/plans/61.objective.multiforge.md +0 -63
  864. package/docs/plans/62.huggingface.upload.md +0 -26
  865. package/docs/plans/63.kaggle.upload.md +0 -24
  866. package/docs/plans/64.npm.storage.md +0 -30
  867. package/docs/plans/65.rclone.terabox.md +0 -32
  868. package/docs/plans/66.buckets.and.models.todo.md +0 -14
  869. package/docs/plans/67.database.todo.md +0 -13
  870. package/docs/plans/68.deploy.packages.todo.md +0 -12
  871. package/docs/plans/69.report.human.operator.md +0 -133
  872. package/docs/plans/70.report.brain2qwerty.ems.md +0 -135
  873. package/docs/plans/71.report.hd.infinito.vram.md +0 -155
  874. package/docs/plans/72.plan.hd.infinito.node.md +0 -146
  875. package/docs/plans/73.plan.scifi.repos.md +0 -125
  876. package/docs/plans/74.000.manifesto.v8.flat.2..md +0 -11
  877. package/docs/plans/README.md +0 -489
  878. package/docs/plans/aggregate_platforms.mjs +0 -146
  879. package/docs/plans/examplesession.json +0 -36
  880. package/docs/plans/missing-facts.md +0 -192
  881. package/docs/plans/models.md +0 -64
  882. package/docs/plans/organize.cjs +0 -270
  883. package/docs/plans/platforms.md +0 -2887
  884. package/docs/plans/sites.md +0 -31322
  885. package/docs/sources/farm.py +0 -117
  886. package/docs/sources/html/saddle1.html +0 -132
  887. package/docs/sources/html/saddle2.html +0 -157
  888. package/docs/sources/html/saddle3.html +0 -119
  889. package/docs/sources/html/saddle4.html +0 -144
  890. package/docs/sources/html/saddle5.html +0 -72
  891. package/docs/sources/html/saddle6.html +0 -171
  892. package/docs/sources/html/saddle7.html +0 -236
  893. package/docs/sources/saddle.ts +0 -74
  894. package/docs/sources/schema.prisma +0 -88
  895. package/docs/sources/script.sh +0 -64
  896. package/docs/sources/workflows.yml +0 -458
  897. package/docs/talks1/_body.txt +0 -14
  898. package/docs/talks1/_index.md +0 -15
  899. package/docs/talks1/_screenshot.png +0 -0
  900. package/docs/talks1/assistant-01.md +0 -5
  901. package/docs/talks1/assistant-02.md +0 -5
  902. package/docs/talks1/assistant-03.md +0 -531
  903. package/docs/talks1/assistant-04.md +0 -26
  904. package/docs/talks1/assistant-05.md +0 -774
  905. package/docs/talks1/assistant-06.md +0 -1718
  906. package/docs/talks1/scrape-share.cjs +0 -185
  907. package/docs/talks1/scrape-share.ts +0 -183
  908. package/docs/talks1/user-01.md +0 -3
  909. package/docs/talks1/user-02.md +0 -3
  910. package/docs/talks1/user-03.md +0 -88
  911. package/docs/talks1/user-04.md +0 -3
  912. package/docs/talks1/user-05.md +0 -3
  913. package/docs/talks1/user-06.md +0 -88
  914. package/docs/talks1/user-07.md +0 -88
  915. package/docs/talks2/_body.txt +0 -14
  916. package/docs/talks2/_index.md +0 -16
  917. package/docs/talks2/_screenshot.png +0 -0
  918. package/docs/talks2/assistant-01.md +0 -5
  919. package/docs/talks2/assistant-02.md +0 -5
  920. package/docs/talks2/assistant-03.md +0 -424
  921. package/docs/talks2/assistant-04.md +0 -598
  922. package/docs/talks2/assistant-05.md +0 -1280
  923. package/docs/talks2/assistant-06.md +0 -1227
  924. package/docs/talks2/assistant-07.md +0 -1252
  925. package/docs/talks2/user-01.md +0 -3
  926. package/docs/talks2/user-02.md +0 -3
  927. package/docs/talks2/user-03.md +0 -88
  928. package/docs/talks2/user-04.md +0 -88
  929. package/docs/talks2/user-05.md +0 -88
  930. package/docs/talks2/user-06.md +0 -88
  931. package/docs/talks2/user-07.md +0 -3
  932. package/docs/talks3/_body.txt +0 -467
  933. package/docs/talks3/_index.md +0 -10
  934. package/docs/talks3/_screenshot.png +0 -0
  935. package/docs/talks3/assistant-01.md +0 -417
  936. package/docs/talks3/assistant-02.md +0 -417
  937. package/docs/talks3/assistant-03.md +0 -29
  938. package/docs/talks3/assistant-04.md +0 -727
  939. package/docs/talks3/user-01.md +0 -88
  940. package/docs/talks3/user-02.md +0 -88
  941. package/docs/talks3/user-03.md +0 -3
  942. package/docs/talks3/user-04.md +0 -3
  943. package/docs/talks4/_body.txt +0 -14
  944. package/docs/talks4/_index.md +0 -12
  945. package/docs/talks4/_screenshot.png +0 -0
  946. package/docs/talks4/assistant-01.md +0 -5
  947. package/docs/talks4/assistant-02.md +0 -5
  948. package/docs/talks4/assistant-03.md +0 -35
  949. package/docs/talks4/assistant-04.md +0 -512
  950. package/docs/talks4/assistant-05.md +0 -599
  951. package/docs/talks4/user-01.md +0 -3
  952. package/docs/talks4/user-02.md +0 -3
  953. package/docs/talks4/user-03.md +0 -88
  954. package/docs/talks4/user-04.md +0 -88
  955. package/docs/talks4/user-05.md +0 -7
  956. package/docs/talks5/_body.txt +0 -14
  957. package/docs/talks5/_index.md +0 -13
  958. package/docs/talks5/_screenshot.png +0 -0
  959. package/docs/talks5/assistant-01.md +0 -5
  960. package/docs/talks5/assistant-02.md +0 -5
  961. package/docs/talks5/assistant-03.md +0 -690
  962. package/docs/talks5/assistant-04.md +0 -758
  963. package/docs/talks5/assistant-05.md +0 -974
  964. package/docs/talks5/user-01.md +0 -3
  965. package/docs/talks5/user-02.md +0 -3
  966. package/docs/talks5/user-03.md +0 -105
  967. package/docs/talks5/user-04.md +0 -105
  968. package/docs/talks5/user-05.md +0 -63
  969. package/docs/talks5/user-06.md +0 -105
  970. package/docs/talks6/_body.txt +0 -14
  971. package/docs/talks6/_index.md +0 -9
  972. package/docs/talks6/_screenshot.png +0 -0
  973. package/docs/talks6/assistant-01.md +0 -5
  974. package/docs/talks6/assistant-02.md +0 -5
  975. package/docs/talks6/assistant-03.md +0 -1499
  976. package/docs/talks6/user-01.md +0 -3
  977. package/docs/talks6/user-02.md +0 -3
  978. package/docs/talks6/user-03.md +0 -88
  979. package/docs/talks6/user-04.md +0 -88
  980. package/docs/talks7/_body.txt +0 -14
  981. package/docs/talks7/_index.md +0 -10
  982. package/docs/talks7/_screenshot.png +0 -0
  983. package/docs/talks7/assistant-01.md +0 -5
  984. package/docs/talks7/assistant-02.md +0 -5
  985. package/docs/talks7/assistant-03.md +0 -523
  986. package/docs/talks7/assistant-04.md +0 -617
  987. package/docs/talks7/user-01.md +0 -3
  988. package/docs/talks7/user-02.md +0 -3
  989. package/docs/talks7/user-03.md +0 -105
  990. package/docs/talks7/user-04.md +0 -67
  991. package/docs/talks8/conversa1.txt +0 -1322
  992. package/docs/talks8/conversa2.txt +0 -237
  993. package/docs/talks9/Beyond the Obvious_ 50 Plataformas Auto-Hospedadas de Forja de C/303/263digo para Al/303/251m de Gitea e GitLab.md" +0 -174
  994. package/docs/talks9/De NPM a Multi-Linguagem_ Uma Arquitetura T/303/251cnica para a Execu/303/247/303/243o Integrada de C/303/263digo no Ecossistema Node.js.md" +0 -59
  995. package/docs/talks9/De NPM a VMs Virtuais_ Uma An/303/241lise Arquitet/303/264nica para a Realiza/303/247/303/243o do Ciclo de Vida do Projeto SADDLE.md" +0 -91
  996. package/docs/talks9/Mapeamento da Engrenagem Computacional_ Uma Arquitetura para Execu/303/247/303/243o Isolada e Persist/303/252ncia em Ambientes Distribu/303/255dos.md" +0 -116
  997. package/docs/talks9/O Cen/303/241rio Pr/303/241tico do SADDLE_ Uma An/303/241lise de Viabilidade e Modelo de Ciclo de Vida Integrado.md" +0 -128
  998. package/docs/talks9/README (2).md +0 -489
  999. package/docs/talks9/README.md +0 -198
  1000. package/docs/talks9/Viabilidade do Saddle_ Uma An/303/241lise T/303/251cnica da Transforma/303/247/303/243o de Armazenamento Remoto em Mem/303/263ria Computacional.md" +0 -80
  1001. package/docs/talks9/conversa.txt +0 -544
  1002. package/docs/talks9/other (2).md +0 -39
  1003. package/docs/talks9/other.md +0 -57
  1004. package/docs/talks9/outro.txt +0 -24
  1005. /package/{extension/README.md → docs/extension.md} +0 -0
package/vm.config.json ADDED
@@ -0,0 +1,1910 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "meta": {
4
+ "name": "vm.config.json",
5
+ "title": "e2ugh v6 - VM Profiles and Orchestrator Configuration (canonical schema)",
6
+ "version": "2.0.0",
7
+ "date": "2026-08-22",
8
+ "language": "en",
9
+ "description": "22 VM profiles consumed by the VHE orchestrator. Each profile binds a CPU identity (cpu.json), core count (cores.json), board (boards.json), GPU profile (gpu.json) and runtime (qemu.json, docker.json, mesa.json). Accel policy: KVM preferred when /dev/kvm exists, TCG multi-thread fallback on GitHub-hosted runners (see passage.json).",
10
+ "sources": [
11
+ "https://www.qemu.org/docs/master/system/invocation.html",
12
+ "https://www.qemu.org/docs/master/system/i386/microvm.html",
13
+ "https://docs.docker.com/reference/cli/docker/container/run/",
14
+ "https://docs.mesa3d.org/envvars.html",
15
+ "pool:vm.config [S6 TOML contract, 48 sections]",
16
+ "pool:vm.config.toml [OMNI production example]",
17
+ "pool:nested_vm.config.json [hypervisors + orchestration]",
18
+ "pool:firecracker.json (subset of nested numbers)",
19
+ "pool:vm.config [SADDLE v5 INI — performance/migration/network named defaults — UNIQUE]",
20
+ "pool:vm.config.toml [OmniHyperCore v5 — nominal qemu feature flags + sched_alt — UNIQUE]"
21
+ ],
22
+ "mergeReport": {
23
+ "v5Profiles": 22,
24
+ "s6CpuPresets": 7,
25
+ "s6MemoryPresets": 8,
26
+ "networkModes": 6,
27
+ "gpuDevicesProduction": 3,
28
+ "hypervisors": ["firecracker", "cloud_hypervisor", "kata_containers", "gvisor"],
29
+ "maxVmsPerHost": 3000,
30
+ "conflictResolution": "3 schemas fused into 1 canonical JSON: v5 JSON profiles (base) + S6 TOML contract (odd presets 1/13/37/137, pinning, personalization.matrix) + OMNI TOML production example (zero-trust/overlay_vxlan/latency_optimization network modes, EEVDF+BORE+sched_ext, Looking Glass B7, romfile+SR-IOV GPUs). qemu 11.1.0 -> 11.1.0; firecracker 1.16.1 -> 1.16.1; buildx/compose -> 0.36.1/5.5.0; MTTCG single reference to qemu.config + mttg.config.",
31
+ "legacyPinsKeptForProvenance": ["vm.config S6 meta stack", "nested firecracker 1.9.0 note"],
32
+ "pinPatch": "embedded active config values re-pinned date-first 2026-08-22 (9.1.2->11.1.0, 27.3.1->29.7.2, 22.12.3->24.19.0, 5.6.3->7.0.2, 25.2.7->26.2.1, 19.1.7->22.1.8, 1.9.0->1.16.1, libvirt 10.10.0->12.5.0, checkout v4.2.2->v5); originals preserved under *_legacy*/source_value keys"
33
+ }
34
+ },
35
+ "orchestratorDefaults": {
36
+ "accelPolicy": {
37
+ "preferred": "kvm",
38
+ "fallback": "tcg,thread=multi",
39
+ "ciDefault": "tcg,thread=multi",
40
+ "detection": "test -e /dev/kvm (passage.json kvm section)"
41
+ },
42
+ "machineDefault": "q35",
43
+ "diskFormatDefault": "qcow2",
44
+ "networkDefault": {
45
+ "device": "virtio-net",
46
+ "backend": "user (slirp)",
47
+ "hostfwdExample": "hostfwd=tcp::2222-:22"
48
+ },
49
+ "firmwareDefault": "direct kernel boot (-kernel/-initrd/-append) for speed; OVMF only when UEFI is required",
50
+ "displayDefault": "none; headless via Xvfb :99 when GL is required (mesa.json)",
51
+ "tbSizeDefaultMib": 1024,
52
+ "profileCount": 22
53
+ },
54
+ "profiles": [
55
+ {
56
+ "id": "dev",
57
+ "name": "General development sandbox",
58
+ "category": "dev",
59
+ "cpu": {
60
+ "identity": "core-ultra-9-285k",
61
+ "vcpus": 4,
62
+ "smp": "-smp 4,sockets=1,cores=4,threads=1"
63
+ },
64
+ "ramGb": 8,
65
+ "gpu": {
66
+ "profile": "llvmpipe",
67
+ "count": 0,
68
+ "vramGb": 0
69
+ },
70
+ "disk": {
71
+ "sizeGb": 32,
72
+ "format": "qcow2",
73
+ "driver": "virtio-blk",
74
+ "tmpfsGb": 2
75
+ },
76
+ "network": {
77
+ "mode": "user",
78
+ "device": "virtio-net"
79
+ },
80
+ "accel": {
81
+ "preferred": "kvm",
82
+ "fallback": "tcg,thread=multi"
83
+ },
84
+ "machine": "q35",
85
+ "os": "debian-12 / ubuntu-24.04 cloud image",
86
+ "lifecycle": {
87
+ "timeoutS": 3600,
88
+ "snapshot": true,
89
+ "ephemeral": true,
90
+ "bootTargetMs": 4000
91
+ },
92
+ "tags": ["default", "fast-boot", "cheap"]
93
+ },
94
+ {
95
+ "id": "dev-large",
96
+ "name": "Heavy development sandbox",
97
+ "category": "dev",
98
+ "cpu": {
99
+ "identity": "ryzen-9-9950x3d",
100
+ "vcpus": 8,
101
+ "smp": "-smp 8,sockets=1,cores=4,threads=2"
102
+ },
103
+ "ramGb": 16,
104
+ "gpu": {
105
+ "profile": "llvmpipe",
106
+ "count": 0,
107
+ "vramGb": 0
108
+ },
109
+ "disk": {
110
+ "sizeGb": 64,
111
+ "format": "qcow2",
112
+ "driver": "virtio-blk",
113
+ "tmpfsGb": 4
114
+ },
115
+ "network": {
116
+ "mode": "user",
117
+ "device": "virtio-net"
118
+ },
119
+ "accel": {
120
+ "preferred": "kvm",
121
+ "fallback": "tcg,thread=multi"
122
+ },
123
+ "machine": "q35",
124
+ "os": "ubuntu-24.04",
125
+ "lifecycle": {
126
+ "timeoutS": 7200,
127
+ "snapshot": true,
128
+ "ephemeral": true,
129
+ "bootTargetMs": 5000
130
+ },
131
+ "tags": ["dev", "medium"]
132
+ },
133
+ {
134
+ "id": "build",
135
+ "name": "Parallel build node",
136
+ "category": "build",
137
+ "cpu": {
138
+ "identity": "ryzen-9-9950x3d",
139
+ "vcpus": 16,
140
+ "smp": "-smp 16,sockets=1,cores=8,threads=2"
141
+ },
142
+ "ramGb": 32,
143
+ "gpu": {
144
+ "profile": "none",
145
+ "count": 0,
146
+ "vramGb": 0
147
+ },
148
+ "disk": {
149
+ "sizeGb": 128,
150
+ "format": "qcow2",
151
+ "driver": "virtio-blk",
152
+ "tmpfsGb": 20
153
+ },
154
+ "network": {
155
+ "mode": "user",
156
+ "device": "virtio-net"
157
+ },
158
+ "accel": {
159
+ "preferred": "kvm",
160
+ "fallback": "tcg,thread=multi,tb-size=1024"
161
+ },
162
+ "machine": "q35",
163
+ "os": "ubuntu-24.04 + build-essential",
164
+ "lifecycle": {
165
+ "timeoutS": 10800,
166
+ "snapshot": true,
167
+ "ephemeral": true,
168
+ "bootTargetMs": 8000
169
+ },
170
+ "tags": ["build", "make", "tb-size-1024"]
171
+ },
172
+ {
173
+ "id": "build-large",
174
+ "name": "Large build node (LLVM/kernel-class builds)",
175
+ "category": "build",
176
+ "cpu": {
177
+ "identity": "threadripper-pro-9995wx",
178
+ "vcpus": 32,
179
+ "smp": "-smp 32,sockets=1,cores=16,threads=2"
180
+ },
181
+ "ramGb": 64,
182
+ "gpu": {
183
+ "profile": "none",
184
+ "count": 0,
185
+ "vramGb": 0
186
+ },
187
+ "disk": {
188
+ "sizeGb": 256,
189
+ "format": "qcow2",
190
+ "driver": "virtio-blk",
191
+ "tmpfsGb": 20
192
+ },
193
+ "network": {
194
+ "mode": "user",
195
+ "device": "virtio-net"
196
+ },
197
+ "accel": {
198
+ "preferred": "kvm",
199
+ "fallback": "tcg,thread=multi,tb-size=1024"
200
+ },
201
+ "machine": "q35",
202
+ "os": "ubuntu-24.04",
203
+ "lifecycle": {
204
+ "timeoutS": 14400,
205
+ "snapshot": true,
206
+ "ephemeral": true,
207
+ "bootTargetMs": 12000
208
+ },
209
+ "tags": ["build", "llvm", "kernel"]
210
+ },
211
+ {
212
+ "id": "buildfarm",
213
+ "name": "Buildfarm runner",
214
+ "category": "build",
215
+ "cpu": {
216
+ "identity": "threadripper-7980x",
217
+ "vcpus": 64,
218
+ "smp": "-smp 64,sockets=1,cores=32,threads=2"
219
+ },
220
+ "ramGb": 128,
221
+ "gpu": {
222
+ "profile": "none",
223
+ "count": 0,
224
+ "vramGb": 0
225
+ },
226
+ "disk": {
227
+ "sizeGb": 256,
228
+ "format": "qcow2",
229
+ "driver": "virtio-blk",
230
+ "tmpfsGb": 20
231
+ },
232
+ "network": {
233
+ "mode": "user",
234
+ "device": "virtio-net",
235
+ "mtu": 1500
236
+ },
237
+ "accel": {
238
+ "preferred": "kvm",
239
+ "fallback": "tcg,thread=multi,tb-size=1024"
240
+ },
241
+ "machine": "q35",
242
+ "os": "ubuntu-24.04",
243
+ "lifecycle": {
244
+ "timeoutS": 21600,
245
+ "snapshot": false,
246
+ "ephemeral": true,
247
+ "bootTargetMs": 15000
248
+ },
249
+ "tags": ["buildfarm", "distributed"]
250
+ },
251
+ {
252
+ "id": "buildfarm-max",
253
+ "name": "Maximum-density buildfarm node (EPYC 9965 identity)",
254
+ "category": "build",
255
+ "cpu": {
256
+ "identity": "epyc-9965",
257
+ "vcpus": 192,
258
+ "smp": "-smp 192,sockets=1,cores=96,threads=2"
259
+ },
260
+ "ramGb": 512,
261
+ "gpu": {
262
+ "profile": "none",
263
+ "count": 0,
264
+ "vramGb": 0
265
+ },
266
+ "disk": {
267
+ "sizeGb": 512,
268
+ "format": "qcow2",
269
+ "driver": "virtio-blk",
270
+ "tmpfsGb": 20
271
+ },
272
+ "network": {
273
+ "mode": "user",
274
+ "device": "virtio-net"
275
+ },
276
+ "accel": {
277
+ "preferred": "kvm",
278
+ "fallback": "tcg,thread=multi,tb-size=1024",
279
+ "note": "192 host threads under MTTCG; requires large bare-metal host, TCG fallback is 10-30x slower"
280
+ },
281
+ "machine": "q35",
282
+ "os": "ubuntu-24.04",
283
+ "lifecycle": {
284
+ "timeoutS": 43200,
285
+ "snapshot": false,
286
+ "ephemeral": true,
287
+ "bootTargetMs": 60000
288
+ },
289
+ "tags": ["buildfarm", "max", "epyc-9965", "bare-metal-recommended"]
290
+ },
291
+ {
292
+ "id": "ai",
293
+ "name": "AI development sandbox (single consumer GPU)",
294
+ "category": "ai",
295
+ "cpu": {
296
+ "identity": "ryzen-9-9950x3d",
297
+ "vcpus": 16,
298
+ "smp": "-smp 16,sockets=1,cores=8,threads=2"
299
+ },
300
+ "ramGb": 64,
301
+ "gpu": {
302
+ "profile": "rtx-5090",
303
+ "count": 1,
304
+ "vramGb": 32
305
+ },
306
+ "disk": {
307
+ "sizeGb": 256,
308
+ "format": "qcow2",
309
+ "driver": "virtio-blk",
310
+ "tmpfsGb": 20
311
+ },
312
+ "network": {
313
+ "mode": "user",
314
+ "device": "virtio-net"
315
+ },
316
+ "accel": {
317
+ "preferred": "kvm",
318
+ "fallback": "tcg,thread=multi,tb-size=1024"
319
+ },
320
+ "machine": "q35",
321
+ "gpuRuntime": {
322
+ "virtual identity": "fake-nvidia-smi + NVML shim (gpu.json)",
323
+ "cuda": "12.9",
324
+ "driver": "575.57.08"
325
+ },
326
+ "os": "ubuntu-24.04 + CUDA toolkit",
327
+ "lifecycle": {
328
+ "timeoutS": 14400,
329
+ "snapshot": true,
330
+ "ephemeral": true,
331
+ "bootTargetMs": 15000
332
+ },
333
+ "tags": ["ai", "cuda", "pytorch"]
334
+ },
335
+ {
336
+ "id": "ai-training",
337
+ "name": "AI training node (single professional GPU)",
338
+ "category": "ai",
339
+ "cpu": {
340
+ "identity": "threadripper-pro-9995wx",
341
+ "vcpus": 32,
342
+ "smp": "-smp 32,sockets=1,cores=16,threads=2"
343
+ },
344
+ "ramGb": 128,
345
+ "gpu": {
346
+ "profile": "rtx-pro-6000-blackwell",
347
+ "count": 1,
348
+ "vramGb": 96
349
+ },
350
+ "disk": {
351
+ "sizeGb": 512,
352
+ "format": "qcow2",
353
+ "driver": "virtio-blk",
354
+ "tmpfsGb": 20
355
+ },
356
+ "network": {
357
+ "mode": "user",
358
+ "device": "virtio-net"
359
+ },
360
+ "accel": {
361
+ "preferred": "kvm",
362
+ "fallback": "tcg,thread=multi,tb-size=1024"
363
+ },
364
+ "machine": "q35",
365
+ "gpuRuntime": {
366
+ "virtual identity": "fake-nvidia-smi + NVML shim",
367
+ "cuda": "12.9",
368
+ "driver": "575.57.08"
369
+ },
370
+ "os": "ubuntu-24.04 + CUDA toolkit",
371
+ "lifecycle": {
372
+ "timeoutS": 86400,
373
+ "snapshot": false,
374
+ "ephemeral": true,
375
+ "bootTargetMs": 20000
376
+ },
377
+ "tags": ["ai", "training", "96gb"]
378
+ },
379
+ {
380
+ "id": "ai-cluster",
381
+ "name": "DGX-class 8-GPU cluster node (B200)",
382
+ "category": "ai",
383
+ "cpu": {
384
+ "identity": "epyc-9965",
385
+ "vcpus": 192,
386
+ "smp": "-smp 192,sockets=1,cores=96,threads=2"
387
+ },
388
+ "ramGb": 1024,
389
+ "gpu": {
390
+ "profile": "b200",
391
+ "count": 8,
392
+ "vramGb": 1536
393
+ },
394
+ "disk": {
395
+ "sizeGb": 1024,
396
+ "format": "qcow2",
397
+ "driver": "virtio-blk",
398
+ "tmpfsGb": 20
399
+ },
400
+ "network": {
401
+ "mode": "user",
402
+ "device": "virtio-net",
403
+ "extra": "nvlink virtual identity via smi-adapter nvlink section"
404
+ },
405
+ "accel": {
406
+ "preferred": "kvm",
407
+ "fallback": "tcg,thread=multi,tb-size=1024"
408
+ },
409
+ "machine": "q35",
410
+ "gpuRuntime": {
411
+ "virtual identity": "fake-nvidia-smi (gpu_num=8) + NVML shim + GpuAdapter --devices",
412
+ "cuda": "12.9",
413
+ "driver": "575.57.08"
414
+ },
415
+ "os": "ubuntu-24.04 + CUDA toolkit + NCCL",
416
+ "lifecycle": {
417
+ "timeoutS": 86400,
418
+ "snapshot": false,
419
+ "ephemeral": true,
420
+ "bootTargetMs": 60000
421
+ },
422
+ "tags": ["ai", "cluster", "dgx-b200", "max"]
423
+ },
424
+ {
425
+ "id": "llm",
426
+ "name": "CPU LLM inference node (large RAM)",
427
+ "category": "ai",
428
+ "cpu": {
429
+ "identity": "threadripper-pro-9995wx",
430
+ "vcpus": 64,
431
+ "smp": "-smp 64,sockets=1,cores=32,threads=2"
432
+ },
433
+ "ramGb": 512,
434
+ "gpu": {
435
+ "profile": "none",
436
+ "count": 0,
437
+ "vramGb": 0
438
+ },
439
+ "disk": {
440
+ "sizeGb": 512,
441
+ "format": "qcow2",
442
+ "driver": "virtio-blk",
443
+ "tmpfsGb": 20
444
+ },
445
+ "network": {
446
+ "mode": "user",
447
+ "device": "virtio-net"
448
+ },
449
+ "accel": {
450
+ "preferred": "kvm",
451
+ "fallback": "tcg,thread=multi,tb-size=1024"
452
+ },
453
+ "machine": "q35",
454
+ "runtimeNote": "llama.cpp/vLLM CPU mode; AVX-512 identity via cpu.json zen5 flags (execution is host SSE/AVX under TCG)",
455
+ "os": "ubuntu-24.04",
456
+ "lifecycle": {
457
+ "timeoutS": 86400,
458
+ "snapshot": true,
459
+ "ephemeral": false,
460
+ "bootTargetMs": 30000
461
+ },
462
+ "tags": ["llm", "cpu-inference", "ram-heavy"]
463
+ },
464
+ {
465
+ "id": "llm-inference",
466
+ "name": "GPU LLM inference node (MI350X)",
467
+ "category": "ai",
468
+ "cpu": {
469
+ "identity": "epyc-9955",
470
+ "vcpus": 32,
471
+ "smp": "-smp 32,sockets=1,cores=16,threads=2"
472
+ },
473
+ "ramGb": 128,
474
+ "gpu": {
475
+ "profile": "mi350x",
476
+ "count": 1,
477
+ "vramGb": 288
478
+ },
479
+ "disk": {
480
+ "sizeGb": 512,
481
+ "format": "qcow2",
482
+ "driver": "virtio-blk",
483
+ "tmpfsGb": 20
484
+ },
485
+ "network": {
486
+ "mode": "user",
487
+ "device": "virtio-net"
488
+ },
489
+ "accel": {
490
+ "preferred": "kvm",
491
+ "fallback": "tcg,thread=multi,tb-size=1024"
492
+ },
493
+ "machine": "q35",
494
+ "gpuRuntime": {
495
+ "virtual identity": "virtual rocm-smi + gfx950 target",
496
+ "rocm": "7.x"
497
+ },
498
+ "os": "ubuntu-24.04 + ROCm",
499
+ "lifecycle": {
500
+ "timeoutS": 86400,
501
+ "snapshot": false,
502
+ "ephemeral": true,
503
+ "bootTargetMs": 30000
504
+ },
505
+ "tags": ["llm", "rocm", "288gb"]
506
+ },
507
+ {
508
+ "id": "inference-mig",
509
+ "name": "MIG-sliced inference node (RTX PRO 6000 Server)",
510
+ "category": "ai",
511
+ "cpu": {
512
+ "identity": "ryzen-9-9950x3d",
513
+ "vcpus": 16,
514
+ "smp": "-smp 16,sockets=1,cores=8,threads=2"
515
+ },
516
+ "ramGb": 64,
517
+ "gpu": {
518
+ "profile": "rtx-pro-6000-blackwell",
519
+ "count": 1,
520
+ "vramGb": 48,
521
+ "migProfile": "2g.48gb",
522
+ "migInstances": 2
523
+ },
524
+ "disk": {
525
+ "sizeGb": 256,
526
+ "format": "qcow2",
527
+ "driver": "virtio-blk",
528
+ "tmpfsGb": 20
529
+ },
530
+ "network": {
531
+ "mode": "user",
532
+ "device": "virtio-net"
533
+ },
534
+ "accel": {
535
+ "preferred": "kvm",
536
+ "fallback": "tcg,thread=multi,tb-size=1024"
537
+ },
538
+ "machine": "q35",
539
+ "gpuRuntime": {
540
+ "virtual identity": "fake-nvidia-smi MIG mode 1 + CUDA_VISIBLE_DEVICES=MIG-<uuid>",
541
+ "cuda": "12.9"
542
+ },
543
+ "os": "ubuntu-24.04 + CUDA toolkit",
544
+ "lifecycle": {
545
+ "timeoutS": 14400,
546
+ "snapshot": false,
547
+ "ephemeral": true,
548
+ "bootTargetMs": 15000
549
+ },
550
+ "tags": ["ai", "mig", "multi-tenant"]
551
+ },
552
+ {
553
+ "id": "render",
554
+ "name": "3D render node (Blender/Maya class)",
555
+ "category": "render",
556
+ "cpu": {
557
+ "identity": "threadripper-7980x",
558
+ "vcpus": 16,
559
+ "smp": "-smp 16,sockets=1,cores=8,threads=2"
560
+ },
561
+ "ramGb": 32,
562
+ "gpu": {
563
+ "profile": "rtx-5090",
564
+ "count": 1,
565
+ "vramGb": 32
566
+ },
567
+ "disk": {
568
+ "sizeGb": 256,
569
+ "format": "qcow2",
570
+ "driver": "virtio-blk",
571
+ "tmpfsGb": 20
572
+ },
573
+ "network": {
574
+ "mode": "user",
575
+ "device": "virtio-net"
576
+ },
577
+ "accel": {
578
+ "preferred": "kvm",
579
+ "fallback": "tcg,thread=multi,tb-size=1024"
580
+ },
581
+ "machine": "q35",
582
+ "display": "Xvfb :99 -ac -screen 0 1920x1080x24 +extension GLX (mesa.json)",
583
+ "os": "ubuntu-24.04 + Mesa 26.2.1 (llvmpipe GL 4.6 / lavapipe Vulkan 1.4)",
584
+ "lifecycle": {
585
+ "timeoutS": 14400,
586
+ "snapshot": true,
587
+ "ephemeral": true,
588
+ "bootTargetMs": 15000
589
+ },
590
+ "tags": ["render", "opengl", "vulkan"]
591
+ },
592
+ {
593
+ "id": "render-pro",
594
+ "name": "Studio render node (96GB VRAM)",
595
+ "category": "render",
596
+ "cpu": {
597
+ "identity": "threadripper-pro-9995wx",
598
+ "vcpus": 32,
599
+ "smp": "-smp 32,sockets=1,cores=16,threads=2"
600
+ },
601
+ "ramGb": 64,
602
+ "gpu": {
603
+ "profile": "rtx-pro-6000-blackwell",
604
+ "count": 1,
605
+ "vramGb": 96
606
+ },
607
+ "disk": {
608
+ "sizeGb": 512,
609
+ "format": "qcow2",
610
+ "driver": "virtio-blk",
611
+ "tmpfsGb": 20
612
+ },
613
+ "network": {
614
+ "mode": "user",
615
+ "device": "virtio-net"
616
+ },
617
+ "accel": {
618
+ "preferred": "kvm",
619
+ "fallback": "tcg,thread=multi,tb-size=1024"
620
+ },
621
+ "machine": "q35",
622
+ "display": "Xvfb :99 -ac -screen 0 3840x2160x24 +extension GLX",
623
+ "os": "ubuntu-24.04 + Mesa 26.2.1",
624
+ "lifecycle": {
625
+ "timeoutS": 28800,
626
+ "snapshot": true,
627
+ "ephemeral": true,
628
+ "bootTargetMs": 20000
629
+ },
630
+ "tags": ["render", "8k", "96gb"]
631
+ },
632
+ {
633
+ "id": "gaming",
634
+ "name": "Cloud gaming sandbox (RX 9070 XT)",
635
+ "category": "gaming",
636
+ "cpu": {
637
+ "identity": "ryzen-9-9950x3d",
638
+ "vcpus": 8,
639
+ "smp": "-smp 8,sockets=1,cores=4,threads=2"
640
+ },
641
+ "ramGb": 16,
642
+ "gpu": {
643
+ "profile": "rx-9070-xt",
644
+ "count": 1,
645
+ "vramGb": 16
646
+ },
647
+ "disk": {
648
+ "sizeGb": 128,
649
+ "format": "qcow2",
650
+ "driver": "virtio-blk",
651
+ "tmpfsGb": 4
652
+ },
653
+ "network": {
654
+ "mode": "user",
655
+ "device": "virtio-net",
656
+ "lowLatency": true
657
+ },
658
+ "accel": {
659
+ "preferred": "kvm",
660
+ "fallback": "tcg,thread=multi,tb-size=512"
661
+ },
662
+ "machine": "q35",
663
+ "display": "Xvfb :99 1920x1080x24; optional Sunshinemoonshine-style streaming",
664
+ "os": "ubuntu-24.04 + Mesa 26.2.1 (RADV/lavapipe virtual identity to gfx1201)",
665
+ "lifecycle": {
666
+ "timeoutS": 7200,
667
+ "snapshot": true,
668
+ "ephemeral": true,
669
+ "bootTargetMs": 8000
670
+ },
671
+ "tags": ["gaming", "rdna4", "1080p"]
672
+ },
673
+ {
674
+ "id": "gaming-max",
675
+ "name": "Cloud gaming sandbox (RTX 5090)",
676
+ "category": "gaming",
677
+ "cpu": {
678
+ "identity": "ryzen-9-9950x3d",
679
+ "vcpus": 16,
680
+ "smp": "-smp 16,sockets=1,cores=8,threads=2"
681
+ },
682
+ "ramGb": 32,
683
+ "gpu": {
684
+ "profile": "rtx-5090",
685
+ "count": 1,
686
+ "vramGb": 32
687
+ },
688
+ "disk": {
689
+ "sizeGb": 256,
690
+ "format": "qcow2",
691
+ "driver": "virtio-blk",
692
+ "tmpfsGb": 8
693
+ },
694
+ "network": {
695
+ "mode": "user",
696
+ "device": "virtio-net",
697
+ "lowLatency": true
698
+ },
699
+ "accel": {
700
+ "preferred": "kvm",
701
+ "fallback": "tcg,thread=multi,tb-size=512"
702
+ },
703
+ "machine": "q35",
704
+ "gpuRuntime": {
705
+ "virtual identity": "fake-nvidia-smi + NVML shim + GpuAdapter",
706
+ "cuda": "12.9",
707
+ "driver": "575.57.08"
708
+ },
709
+ "display": "Xvfb :99 2560x1440x24",
710
+ "os": "ubuntu-24.04 + Mesa 26.2.1 (GL via llvmpipe, CUDA via shim)",
711
+ "lifecycle": {
712
+ "timeoutS": 10800,
713
+ "snapshot": true,
714
+ "ephemeral": true,
715
+ "bootTargetMs": 10000
716
+ },
717
+ "tags": ["gaming", "1440p", "blackwell"]
718
+ },
719
+ {
720
+ "id": "trading",
721
+ "name": "Low-latency trading / quant research node",
722
+ "category": "trading",
723
+ "cpu": {
724
+ "identity": "ryzen-9-9950x3d",
725
+ "vcpus": 8,
726
+ "smp": "-smp 8,sockets=1,cores=4,threads=2"
727
+ },
728
+ "ramGb": 32,
729
+ "gpu": {
730
+ "profile": "h100",
731
+ "count": 1,
732
+ "vramGb": 80
733
+ },
734
+ "disk": {
735
+ "sizeGb": 128,
736
+ "format": "qcow2",
737
+ "driver": "virtio-blk",
738
+ "tmpfsGb": 8
739
+ },
740
+ "network": {
741
+ "mode": "user",
742
+ "device": "virtio-net",
743
+ "note": "pin vCPU threads to host cores; avoid -icount (mttcg.json)"
744
+ },
745
+ "accel": {
746
+ "preferred": "kvm",
747
+ "fallback": "tcg,thread=multi,tb-size=512"
748
+ },
749
+ "machine": "q35",
750
+ "gpuRuntime": {
751
+ "virtual identity": "fake-nvidia-smi h100 profile (81559 MiB / 700 W)",
752
+ "cuda": "12.9",
753
+ "driver": "575.57.08"
754
+ },
755
+ "os": "ubuntu-24.04 minimal + pinned NUMA (CCD0 3D V-Cache affinity)",
756
+ "lifecycle": {
757
+ "timeoutS": 86400,
758
+ "snapshot": true,
759
+ "ephemeral": false,
760
+ "bootTargetMs": 8000
761
+ },
762
+ "tags": ["trading", "latency", "h100"]
763
+ },
764
+ {
765
+ "id": "mobile",
766
+ "name": "Mobile development sandbox (Android emulator)",
767
+ "category": "mobile",
768
+ "cpu": {
769
+ "identity": "core-ultra-9-285k",
770
+ "vcpus": 4,
771
+ "smp": "-smp 4,sockets=1,cores=4,threads=1"
772
+ },
773
+ "ramGb": 8,
774
+ "gpu": {
775
+ "profile": "llvmpipe",
776
+ "count": 0,
777
+ "vramGb": 0,
778
+ "note": "SwiftShader/ANGLE fallback inside guest for emulator rendering"
779
+ },
780
+ "disk": {
781
+ "sizeGb": 64,
782
+ "format": "qcow2",
783
+ "driver": "virtio-blk",
784
+ "tmpfsGb": 2
785
+ },
786
+ "network": {
787
+ "mode": "user",
788
+ "device": "virtio-net"
789
+ },
790
+ "accel": {
791
+ "preferred": "kvm",
792
+ "fallback": "tcg,thread=multi"
793
+ },
794
+ "machine": "q35",
795
+ "display": "headless emulator -no-window; Xvfb for screenshots",
796
+ "os": "android-sdk image / ubuntu-24.04 host of emulator",
797
+ "lifecycle": {
798
+ "timeoutS": 7200,
799
+ "snapshot": true,
800
+ "ephemeral": true,
801
+ "bootTargetMs": 20000
802
+ },
803
+ "tags": ["mobile", "android", "emulator"]
804
+ },
805
+ {
806
+ "id": "edge",
807
+ "name": "Edge microVM (fast boot)",
808
+ "category": "edge",
809
+ "cpu": {
810
+ "identity": "core-ultra-9-285k",
811
+ "vcpus": 2,
812
+ "smp": "-smp 2,sockets=1,cores=2,threads=1"
813
+ },
814
+ "ramGb": 4,
815
+ "gpu": {
816
+ "profile": "none",
817
+ "count": 0,
818
+ "vramGb": 0
819
+ },
820
+ "disk": {
821
+ "sizeGb": 8,
822
+ "format": "raw",
823
+ "driver": "virtio-blk (virtio-mmio under microvm)",
824
+ "tmpfsGb": 0
825
+ },
826
+ "network": {
827
+ "mode": "user",
828
+ "device": "virtio-net"
829
+ },
830
+ "accel": {
831
+ "preferred": "kvm",
832
+ "fallback": "tcg,thread=multi"
833
+ },
834
+ "machine": "microvm",
835
+ "qemuFlags": "-machine microvm -nodefaults -no-reboot -kernel bzImage -initrd initrd -append 'console=ttyS0 reboot=t panic=-1'",
836
+ "os": "alpine / minimal linux (direct kernel boot)",
837
+ "lifecycle": {
838
+ "timeoutS": 1800,
839
+ "snapshot": false,
840
+ "ephemeral": true,
841
+ "bootTargetMs": 1000
842
+ },
843
+ "tags": ["edge", "microvm", "fast-boot"]
844
+ },
845
+ {
846
+ "id": "edge-tiny",
847
+ "name": "Tiny edge microVM (1 vCPU)",
848
+ "category": "edge",
849
+ "cpu": {
850
+ "identity": "core-ultra-9-285k",
851
+ "vcpus": 1,
852
+ "smp": "-smp 1,sockets=1,cores=1,threads=1"
853
+ },
854
+ "ramGb": 2,
855
+ "gpu": {
856
+ "profile": "none",
857
+ "count": 0,
858
+ "vramGb": 0
859
+ },
860
+ "disk": {
861
+ "sizeGb": 4,
862
+ "format": "raw",
863
+ "driver": "virtio-blk (virtio-mmio)",
864
+ "tmpfsGb": 0
865
+ },
866
+ "network": {
867
+ "mode": "user",
868
+ "device": "virtio-net"
869
+ },
870
+ "accel": {
871
+ "preferred": "kvm",
872
+ "fallback": "tcg"
873
+ },
874
+ "machine": "microvm",
875
+ "os": "alpine (direct kernel boot)",
876
+ "lifecycle": {
877
+ "timeoutS": 900,
878
+ "snapshot": false,
879
+ "ephemeral": true,
880
+ "bootTargetMs": 600
881
+ },
882
+ "tags": ["edge", "tiny", "firecracker-class"],
883
+ "note": "Firecracker 1.16.1 equivalent (125 ms cold boot) requires KVM; on GH-hosted runners this profile uses QEMU microvm+TCG"
884
+ },
885
+ {
886
+ "id": "database",
887
+ "name": "Database / stateful node",
888
+ "category": "data",
889
+ "cpu": {
890
+ "identity": "epyc-9955",
891
+ "vcpus": 16,
892
+ "smp": "-smp 16,sockets=1,cores=8,threads=2"
893
+ },
894
+ "ramGb": 128,
895
+ "gpu": {
896
+ "profile": "none",
897
+ "count": 0,
898
+ "vramGb": 0
899
+ },
900
+ "disk": {
901
+ "sizeGb": 512,
902
+ "format": "qcow2",
903
+ "driver": "virtio-blk",
904
+ "cache": "writeback",
905
+ "tmpfsGb": 0
906
+ },
907
+ "network": {
908
+ "mode": "user",
909
+ "device": "virtio-net"
910
+ },
911
+ "accel": {
912
+ "preferred": "kvm",
913
+ "fallback": "tcg,thread=multi,tb-size=512"
914
+ },
915
+ "machine": "q35",
916
+ "memoryBackend": "memory-backend-ram with pc-dimm slots for hotplug (passage.json)",
917
+ "os": "debian-12 + postgres-17",
918
+ "lifecycle": {
919
+ "timeoutS": 86400,
920
+ "snapshot": true,
921
+ "ephemeral": false,
922
+ "bootTargetMs": 20000
923
+ },
924
+ "tags": ["database", "stateful", "ram-heavy"]
925
+ },
926
+ {
927
+ "id": "e2e-browser",
928
+ "name": "Browser E2E test runner (headless Chromium/Playwright)",
929
+ "category": "ci",
930
+ "cpu": {
931
+ "identity": "core-ultra-9-285k",
932
+ "vcpus": 8,
933
+ "smp": "-smp 8,sockets=1,cores=8,threads=1"
934
+ },
935
+ "ramGb": 16,
936
+ "gpu": {
937
+ "profile": "llvmpipe",
938
+ "count": 0,
939
+ "vramGb": 0
940
+ },
941
+ "disk": {
942
+ "sizeGb": 64,
943
+ "format": "qcow2",
944
+ "driver": "virtio-blk",
945
+ "tmpfsGb": 8
946
+ },
947
+ "network": {
948
+ "mode": "user",
949
+ "device": "virtio-net"
950
+ },
951
+ "accel": {
952
+ "preferred": "kvm",
953
+ "fallback": "tcg,thread=multi"
954
+ },
955
+ "machine": "q35",
956
+ "display": "Xvfb :99 -ac -screen 0 1920x1080x24 +extension GLX +render -noreset; LIBGL_ALWAYS_SOFTWARE=true",
957
+ "os": "ubuntu-24.04 + node 24.19.0 LTS",
958
+ "lifecycle": {
959
+ "timeoutS": 3600,
960
+ "snapshot": true,
961
+ "ephemeral": true,
962
+ "bootTargetMs": 10000
963
+ },
964
+ "tags": ["ci", "browser", "playwright"]
965
+ }
966
+ ],
967
+ "profileIndex": {
968
+ "byCategory": {
969
+ "dev": ["dev", "dev-large"],
970
+ "build": ["build", "build-large", "buildfarm", "buildfarm-max"],
971
+ "ai": ["ai", "ai-training", "ai-cluster", "llm", "llm-inference", "inference-mig"],
972
+ "render": ["render", "render-pro"],
973
+ "gaming": ["gaming", "gaming-max"],
974
+ "trading": ["trading"],
975
+ "mobile": ["mobile"],
976
+ "edge": ["edge", "edge-tiny"],
977
+ "data": ["database"],
978
+ "ci": ["e2e-browser"]
979
+ },
980
+ "maxVcpus": 192,
981
+ "maxRamGb": 1024,
982
+ "maxVramGb": 1536,
983
+ "migVramSlicesGb": [24, 48, 96]
984
+ },
985
+ "cpuPresets": {
986
+ "tiny1": {
987
+ "vcpu": 1,
988
+ "topology": "1x1x1x1",
989
+ "ramMb": 512,
990
+ "note": "Observer reports 1 vCPU / 512 MiB minimal CI, GitHub Actions checkout@v7.0.1 compatible, setup-node@v7.0.0 44px button ready",
991
+ "useCase": "ci-smoke"
992
+ },
993
+ "odd13": {
994
+ "vcpu": 13,
995
+ "topology": "1x1x13x1",
996
+ "note": "Prime 13 validates modular step=1, exposes scheduler imbalance detection",
997
+ "useCase": "scheduler-fuzzer"
998
+ },
999
+ "odd37": {
1000
+ "vcpu": 37,
1001
+ "topology": "1x1x37x1",
1002
+ "numaNodes": 1,
1003
+ "note": "Prime 37 for qemu 11.1.0 max_cpus handling validation",
1004
+ "useCase": "topology-edge"
1005
+ },
1006
+ "odd137": {
1007
+ "vcpu": 137,
1008
+ "topology": "1x1x137x1",
1009
+ "numaNodes": 2,
1010
+ "note": "Large prime 137 requires 2 NUMA nodes, tests hmatEnabled + distance 22",
1011
+ "useCase": "large-prime-numa"
1012
+ },
1013
+ "workstation192": {
1014
+ "vcpu": 192,
1015
+ "topology": "2x1x48x2",
1016
+ "numaNodes": 2,
1017
+ "ramMb": 262144,
1018
+ "note": "2 socket x 48 cores x 2 threads maps to EPYC 9654 96C192T host for feeding 8x NVIDIA B200 Blackwell",
1019
+ "useCase": "ml-dataloader"
1020
+ },
1021
+ "hyperscale1024": {
1022
+ "vcpu": 1024,
1023
+ "topology": "8x2x64x1",
1024
+ "numaNodes": 8,
1025
+ "ramMb": 2097152,
1026
+ "note": "1024 vCPU requires OVMF 2025.08 + qemu 11.1.0 -machine q35,hmat=on, host 2TB+ RAM, observer flags error catcher on boot",
1027
+ "useCase": "hyperscale-db"
1028
+ },
1029
+ "creatorX3D": {
1030
+ "vcpu": 32,
1031
+ "topology": "1x1x16x2",
1032
+ "note": "1:1 mapping Ryzen 9 9950X3D 16C32T, topoext flag on, 44px ui orchestration",
1033
+ "useCase": "creator"
1034
+ }
1035
+ },
1036
+ "cpuTopologyPinning": {
1037
+ "mode": "modular-unlimited",
1038
+ "description": "Third person observer reports unlimited modular vCPU topology",
1039
+ "min": 1,
1040
+ "max": 4096,
1041
+ "step": 1,
1042
+ "default": 32,
1043
+ "baseline": 16,
1044
+ "overcommitRatio": 4.5,
1045
+ "examples": [1, 13, 37, 137, 192, 1024],
1046
+ "extremeExamples": [
1047
+ 1, 2, 3, 7, 13, 19, 23, 37, 73, 127, 137, 192, 256, 384, 512, 768, 1024, 2048, 4096
1048
+ ],
1049
+ "validator": "value % step == 0 && min <= value && value <= max",
1050
+ "schedulerClass": "sched_ext",
1051
+ "cpuWeight": 1024,
1052
+ "topology": {
1053
+ "sockets": 2,
1054
+ "diesPerSocket": 1,
1055
+ "coresPerDie": 16,
1056
+ "threadsPerCore": 2,
1057
+ "hotplug": true,
1058
+ "hotplugMaxAdditional": 4032,
1059
+ "hotplugStrategy": "numa-interleaved",
1060
+ "cpuModel": "host",
1061
+ "enableMigratable": false
1062
+ },
1063
+ "pinning": {
1064
+ "enabled": true,
1065
+ "strategy": "numa-aware",
1066
+ "isolateHostCores": "auto",
1067
+ "emulatorPin": "0-1",
1068
+ "iothreadPin": "2-3",
1069
+ "vcpuPinMap": [],
1070
+ "pinGenerationAlgorithm": "modulo-numa"
1071
+ },
1072
+ "numa": {
1073
+ "enabled": true,
1074
+ "nodes": 2,
1075
+ "autoBalance": true,
1076
+ "distances": [[10, 22], [22, 10]],
1077
+ "memdevPerNode": true,
1078
+ "cpuPerNodePolicy": "bind",
1079
+ "hmatEnabled": true
1080
+ },
1081
+ "features": {
1082
+ "flags": "+topoext,+svm,+invtsc,+avx512bw,+amx-bf16,+host-phys-bits:true,+ssbd",
1083
+ "hiddenKvm": false,
1084
+ "hypervEnlightenments": true,
1085
+ "svmNestedVirtualization": true,
1086
+ "migratableModel": false,
1087
+ "kvm64Baseline": false
1088
+ }
1089
+ },
1090
+ "memoryPresets": {
1091
+ "ref": "memory.json#ram_presets",
1092
+ "presets": {
1093
+ "tiny512": {
1094
+ "ramMb": 512,
1095
+ "hugepages": "none",
1096
+ "note": "512 MiB alpine boot, observer measures <2s BIOS time",
1097
+ "useCase": "alpine-tiny"
1098
+ },
1099
+ "odd7919": {
1100
+ "ramMb": 7919,
1101
+ "note": "Prime MiB 7919 validates 1 MiB step, passage bridge handles non-aligned size",
1102
+ "useCase": "prime-mem-test"
1103
+ },
1104
+ "odd1337": {
1105
+ "ramMb": 1337,
1106
+ "note": "Leet 1337 MiB odd custom, used for v6 documentation screenshot 44px card",
1107
+ "useCase": "custom-odd"
1108
+ },
1109
+ "standard64g": {
1110
+ "ramMb": 65536,
1111
+ "hugepageSize": "2MiB",
1112
+ "note": "64GiB standard, 2MiB hugepages auto",
1113
+ "useCase": "standard"
1114
+ },
1115
+ "creator128g": {
1116
+ "ramMb": 131072,
1117
+ "hugepageSize": "1GiB",
1118
+ "locked": false,
1119
+ "note": "128GiB creator WS, 1GiB hugepages reduces TLB pressure for video encode",
1120
+ "useCase": "creator"
1121
+ },
1122
+ "ml256g": {
1123
+ "ramMb": 262144,
1124
+ "hugepageSize": "1GiB",
1125
+ "locked": true,
1126
+ "prealloc": true,
1127
+ "note": "256GiB for 8x B200 Blackwell dataloader, locked + prealloc low latency",
1128
+ "useCase": "ml-training"
1129
+ },
1130
+ "database2t": {
1131
+ "ramMb": 2097152,
1132
+ "hugepages": "1GiB",
1133
+ "locked": true,
1134
+ "prealloc": true,
1135
+ "note": "2TiB in-memory DB, requires host with 1G hugepages + OVMF secure, observer error catcher triggers on NVDIMM failure",
1136
+ "useCase": "in-memory-db"
1137
+ },
1138
+ "max4t": {
1139
+ "ramMb": 4194304,
1140
+ "hugepages": "1GiB",
1141
+ "numaNodes": 8,
1142
+ "tieredEnabled": true,
1143
+ "note": "SADDLE v6 absolute max 4TiB, 8 NUMA nodes, CXL tier enabled, QEMU 11.1.0 host limit",
1144
+ "useCase": "max-capacity"
1145
+ }
1146
+ }
1147
+ },
1148
+ "hypervisors": {
1149
+ "firecracker": {
1150
+ "binary": "/usr/bin/firecracker",
1151
+ "version": "1.16.1",
1152
+ "bootTimeMs": 125,
1153
+ "bootPerSecond": 150,
1154
+ "restoreMs": 5,
1155
+ "memoryOverheadMib": 4.8,
1156
+ "warmPool": {
1157
+ "enabled": true,
1158
+ "size": 8,
1159
+ "restoreLatencyMs": "3-5",
1160
+ "preboot": true,
1161
+ "snapshotType": "full+diff",
1162
+ "vsockPort": 52
1163
+ },
1164
+ "kernel": "vmlinux-5.10.223-fc",
1165
+ "rootfs": "ubuntu-24.04.ext4",
1166
+ "jailer": true,
1167
+ "seccompLevel": 2,
1168
+ "apiSocket": "/tmp/fc-${id}.sock",
1169
+ "legacyPinSource": "1.9.0 (nested_vm.config.json) re-pinned to 1.16.1 per date-first doctrine 2026-08-22"
1170
+ },
1171
+ "cloudHypervisor": {
1172
+ "version": "44.0",
1173
+ "binary": "cloud-hypervisor",
1174
+ "vfio": true,
1175
+ "iommufd": true,
1176
+ "vhostUserNet": true,
1177
+ "vhostUserFs": true,
1178
+ "memHotplug": true,
1179
+ "cpuHotplug": true,
1180
+ "bootMs": 180,
1181
+ "deviceTree": false
1182
+ },
1183
+ "kataContainers": {
1184
+ "version": "3.12.0",
1185
+ "runtime": "kata-qemu-virtiofs",
1186
+ "hypervisor": "qemu",
1187
+ "sharedFs": "virtiofsd",
1188
+ "isolation": "vm",
1189
+ "kernelPath": "/opt/kata/share/kata-containers/vmlinux.container"
1190
+ },
1191
+ "gvisor": {
1192
+ "runtime": "runsc",
1193
+ "version": "20250428.0",
1194
+ "platform": "kvm",
1195
+ "network": "host",
1196
+ "fileAccess": "exclusive",
1197
+ "overlay": true
1198
+ }
1199
+ },
1200
+ "orchestration": {
1201
+ "maxVmsPerHost": 3000,
1202
+ "overcommit": "2x"
1203
+ },
1204
+ "productionExample": {
1205
+ "description": "OMNI production VM: 16 vCPU DiamondRapids, 64G, RTX4090 + RX9070XT + Intel UHD SR-IOV passthrough",
1206
+ "meta": {
1207
+ "id": "omni-vm-prod-001",
1208
+ "name": "omni-hypercore-v5-primary",
1209
+ "version": "5.0.0",
1210
+ "generated": "2026-08-22T00:00:00Z",
1211
+ "qemuVersion": "11.1.0",
1212
+ "qemuCommits": 3200,
1213
+ "qemuBranch": "master",
1214
+ "dockerVersion": "29.7.2",
1215
+ "dockerBuildx": "0.36.0",
1216
+ "dockerCompose": "5.3.0",
1217
+ "kernelStable": "7.1.9",
1218
+ "kernelLts": "6.18.45",
1219
+ "libvirtVersion": "12.5.0",
1220
+ "nodeLts": "24.19.0",
1221
+ "nodeCurrent": "26.7.0",
1222
+ "typescript": "7.0.2",
1223
+ "runnerVersion": "2.336.0",
1224
+ "checkoutAction": "v6",
1225
+ "setupNodeAction": "v6",
1226
+ "license": "MIT",
1227
+ "schemaUrl": "https://omni-hypercore.dev/schemas/vm.config.json"
1228
+ },
1229
+ "vm": {
1230
+ "id": "omni-vm-prod-001",
1231
+ "type": "kvm",
1232
+ "hypervisor": "qemu-kvm",
1233
+ "machine": "q35-9.2",
1234
+ "machineOptions": "smm=on,accel=kvm,kernel-irqchip=split",
1235
+ "accel": "kvm:nitro",
1236
+ "accelOptions": "nitro-trust=on,split-irqchip=on",
1237
+ "bios": "OVMF",
1238
+ "ovmfCode": "/usr/share/OVMF/OVMF_CODE_4M.secboot.fd",
1239
+ "ovmfVars": "/usr/share/OVMF/OVMF_VARS_4M.secboot.fd",
1240
+ "ovmfVarsTemplate": "/usr/share/OVMF/OVMF_VARS_4M.secboot.fd",
1241
+ "ovmfBuild": "202605",
1242
+ "ovmfBuildVersion": "edk2-stable202605",
1243
+ "secureBoot": true,
1244
+ "smm": true,
1245
+ "tpmVersion": "2.0",
1246
+ "tpmBackend": "swtpm",
1247
+ "tpmPath": "/var/lib/omni/tpm/omni-vm-prod-001/swtpm.sock",
1248
+ "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
1249
+ "bootOrder": "n",
1250
+ "bootMenu": false,
1251
+ "rebootTimeout": 5000,
1252
+ "cpu": {
1253
+ "model": "DiamondRapids",
1254
+ "vendor": "Intel",
1255
+ "family": "Diamond Rapids",
1256
+ "arch": "x86_64-v4",
1257
+ "vcpus": 16,
1258
+ "sockets": 1,
1259
+ "dies": 1,
1260
+ "cores": 8,
1261
+ "threads": 2,
1262
+ "topology": {
1263
+ "sockets": 1,
1264
+ "dies": 1,
1265
+ "cores": 8,
1266
+ "threads": 2
1267
+ },
1268
+ "maxVcpus": 32,
1269
+ "hotplug": true,
1270
+ "hostPassthrough": false,
1271
+ "kvmHints": "kvm=on,hypervisor=on,hv_spinlocks=0x1fff,hv_vapic,hv_time",
1272
+ "features": [
1273
+ "pdpe1gb",
1274
+ "lahf_lm",
1275
+ "svm",
1276
+ "vmx",
1277
+ "aes",
1278
+ "avx2",
1279
+ "avx512f",
1280
+ "avx512bw",
1281
+ "avx512vl",
1282
+ "amx-bf16",
1283
+ "amx-tile",
1284
+ "amx-int8"
1285
+ ],
1286
+ "migratable": true,
1287
+ "l3CacheEmulation": true
1288
+ },
1289
+ "memory": {
1290
+ "total": "64G",
1291
+ "sizeMib": 65536,
1292
+ "unit": "MiB",
1293
+ "hugepagesMode": "1G",
1294
+ "hugepagesPath": "/dev/hugepages",
1295
+ "hugepagesSize": "1G",
1296
+ "hugepagesCount": 64,
1297
+ "hugepagesMountOptions": "pagesize=1G,size=64G",
1298
+ "prealloc": true,
1299
+ "share": true,
1300
+ "shareMode": "memfd",
1301
+ "backend": "memory-backend-memfd",
1302
+ "spMem": true,
1303
+ "spMemBackend": "memory-backend-memfd",
1304
+ "spMemOptions": "hugetlb=on,hugetlbsize=1G,prealloc=on,share=on",
1305
+ "balloon": false,
1306
+ "merge": false,
1307
+ "nvdimm": false,
1308
+ "dumpGuestCore": false
1309
+ },
1310
+ "storage": {
1311
+ "driver": "nvme",
1312
+ "scsiController": "virtio-scsi-pci",
1313
+ "scsiQueues": 8,
1314
+ "cache": "none",
1315
+ "io": "io_uring",
1316
+ "discard": "unmap",
1317
+ "detectZeroes": "unmap",
1318
+ "nvmeHotplugQmp": true,
1319
+ "bootOrderNvme": true,
1320
+ "disks": [
1321
+ {
1322
+ "name": "boot",
1323
+ "type": "nvme",
1324
+ "path": "/var/lib/omni/vms/omni-vm-prod-001/boot.qcow2",
1325
+ "format": "qcow2",
1326
+ "size": "120G",
1327
+ "bootindex": 0,
1328
+ "serial": "OMNI-BOOT-001",
1329
+ "queues": 8,
1330
+ "queueDepth": 128,
1331
+ "cache": "none",
1332
+ "io": "io_uring",
1333
+ "discard": "unmap"
1334
+ },
1335
+ {
1336
+ "name": "data",
1337
+ "type": "nvme",
1338
+ "path": "/var/lib/omni/vms/omni-vm-prod-001/data.qcow2",
1339
+ "format": "qcow2",
1340
+ "size": "1T",
1341
+ "bootindex": 1,
1342
+ "serial": "OMNI-DATA-001",
1343
+ "queues": 8,
1344
+ "queueDepth": 256,
1345
+ "cache": "none",
1346
+ "io": "io_uring"
1347
+ }
1348
+ ]
1349
+ },
1350
+ "qemu": {
1351
+ "version": "11.1.0",
1352
+ "commits": 3200,
1353
+ "binary": "/usr/bin/qemu-system-x86_64",
1354
+ "machine": "q35",
1355
+ "accel": "kvm:nitro",
1356
+ "cpuModels": ["DiamondRapids", "GraniteRapids", "EmeraldRapids", "host", "max"],
1357
+ "features": [
1358
+ "nvme-hotplug-qmp",
1359
+ "sp-mem-memfd",
1360
+ "tdx-live-update",
1361
+ "sev-snp-reset-fix",
1362
+ "virtio-gpu-native-context",
1363
+ "kvm-nitro-trust",
1364
+ "qmp-v2",
1365
+ "io_uring-zcrx"
1366
+ ],
1367
+ "argsExtra": [
1368
+ "-object",
1369
+ "memory-backend-memfd,id=ram1,size=64G,hugetlb=on,hugetlbsize=1G,prealloc=on,share=on",
1370
+ "-machine",
1371
+ "memory-backend=ram1"
1372
+ ]
1373
+ },
1374
+ "gpu": {
1375
+ "passthrough": true,
1376
+ "vfioDriver": "vfio-pci",
1377
+ "driverctlVersion": "0.112",
1378
+ "vendorReset": true,
1379
+ "vendorResetVersion": "0.1.1-20260310",
1380
+ "lookingGlass": "B7",
1381
+ "lookingGlassVersion": "B7-6-gf6d2b7e",
1382
+ "lookingGlassShm": "/dev/shm/looking-glass",
1383
+ "lookingGlassSize": "32M",
1384
+ "vramModular": true,
1385
+ "unlimitedScaling": true,
1386
+ "multifunction": "on",
1387
+ "romfileEnabled": true,
1388
+ "devices": [
1389
+ {
1390
+ "id": "gpu-0",
1391
+ "name": "RTX4090",
1392
+ "pciAddress": "0000:01:00.0",
1393
+ "vendor": "nvidia",
1394
+ "vendorId": "10de",
1395
+ "deviceId": "2684",
1396
+ "fullId": "10de:2684",
1397
+ "subsystemId": "10de:16f7",
1398
+ "class": "0300",
1399
+ "className": "VGA compatible controller",
1400
+ "driver": "vfio-pci",
1401
+ "vram": "24G",
1402
+ "vramModular": true,
1403
+ "scaling": "unlimited",
1404
+ "primary": true,
1405
+ "multifunction": "on",
1406
+ "romfile": "/usr/share/vgabios/rtx4090.rom",
1407
+ "xVga": true,
1408
+ "qemuArgs": "-device vfio-pci,host=01:00.0,multifunction=on,romfile=/usr/share/vgabios/rtx4090.rom,x-vga=on,display=off"
1409
+ },
1410
+ {
1411
+ "id": "gpu-1",
1412
+ "name": "RX9070XT",
1413
+ "pciAddress": "0000:02:00.0",
1414
+ "vendor": "amd",
1415
+ "vendorId": "1002",
1416
+ "deviceId": "744c",
1417
+ "fullId": "1002:744c",
1418
+ "arch": "Navi48",
1419
+ "codename": "RX 9070 XT",
1420
+ "driver": "vfio-pci",
1421
+ "vram": "16G",
1422
+ "scaling": "unlimited",
1423
+ "multifunction": "on",
1424
+ "qemuArgs": "-device vfio-pci,host=02:00.0,multifunction=on,display=off"
1425
+ },
1426
+ {
1427
+ "id": "gpu-2",
1428
+ "name": "Intel UHD",
1429
+ "pciAddress": "0000:00:02.0",
1430
+ "vendor": "intel",
1431
+ "vendorId": "8086",
1432
+ "deviceId": "a7a0",
1433
+ "driver": "i915",
1434
+ "sriov": true,
1435
+ "vfs": 7,
1436
+ "vfDriver": "i915",
1437
+ "vram": "modular",
1438
+ "vramModular": true,
1439
+ "scaling": "unlimited",
1440
+ "qemuArgs": "-device vfio-pci,host=00:02.0,display=on"
1441
+ }
1442
+ ]
1443
+ },
1444
+ "network": {
1445
+ "engine": "passage",
1446
+ "version": "5.0.0",
1447
+ "passage": {
1448
+ "mode": "bridge",
1449
+ "bridgeName": "br0",
1450
+ "interface": "virtio-net-pci",
1451
+ "model": "virtio-net",
1452
+ "mac": "52:54:00:ab:cd:01",
1453
+ "mq": 8,
1454
+ "vectors": 18,
1455
+ "driver": "vhost=on",
1456
+ "bridge": "br0",
1457
+ "ebpfVersion": "libbpf 1.6.0",
1458
+ "xdp": true,
1459
+ "xdpDriver": "native",
1460
+ "ioUringZcrx": true,
1461
+ "dpdk": "26.07.0",
1462
+ "ovs": "3.7.1",
1463
+ "wireguard": "mainline (in-tree since 5.6)",
1464
+ "qemuNetArgs": "-netdev tap,id=net0,ifname=tap0,br=br0,vhost=on -device virtio-net-pci,netdev=net0,mac=52:54:00:ab:cd:01,mq=on,vectors=18",
1465
+ "modes": {
1466
+ "direct": {
1467
+ "enabled": true,
1468
+ "backend": "macvtap",
1469
+ "passthrough": true,
1470
+ "driver": "macvtap"
1471
+ },
1472
+ "bridge": {
1473
+ "enabled": true,
1474
+ "backend": "linux-bridge",
1475
+ "vhost": true,
1476
+ "stp": false,
1477
+ "mtu": 9000
1478
+ },
1479
+ "nat": {
1480
+ "enabled": true,
1481
+ "backend": "slirp",
1482
+ "net": "10.0.2.0/24",
1483
+ "dhcpStart": "10.0.2.15"
1484
+ },
1485
+ "overlayVxlan": {
1486
+ "enabled": true,
1487
+ "vni": 100,
1488
+ "remote": "12.5.0.0/16",
1489
+ "ovsBridge": "ovs-br0",
1490
+ "ovsVersion": "3.7.1"
1491
+ },
1492
+ "zeroTrust": {
1493
+ "enabled": true,
1494
+ "wireguard": true,
1495
+ "wireguardVersion": "kernel mainline (in-tree since 5.6)",
1496
+ "mtls": true,
1497
+ "ebpfPolicy": true,
1498
+ "libbpf": "1.6.0"
1499
+ },
1500
+ "latencyOptimization": {
1501
+ "enabled": true,
1502
+ "xdpRedirect": true,
1503
+ "busyPoll": 50,
1504
+ "ioUring": true,
1505
+ "zcrx": true
1506
+ }
1507
+ }
1508
+ }
1509
+ },
1510
+ "mttg": {
1511
+ "engine": "mttg",
1512
+ "version": "5.0.0",
1513
+ "cgroupVersion": "v2",
1514
+ "cgroupPath": "/sys/fs/cgroup/omni.slice/omni-vm-prod-001",
1515
+ "cpuWeightMin": 1,
1516
+ "cpuWeightMax": 10000,
1517
+ "cpuWeightDefault": 100,
1518
+ "cpuMaxQuota": "max",
1519
+ "cpuMaxPeriod": 100000,
1520
+ "cpuMaxBurst": 0,
1521
+ "cpuset": "0-15",
1522
+ "cpusetMems": "0",
1523
+ "memoryHigh": "60G",
1524
+ "memoryMax": "64G",
1525
+ "memorySwapMax": "0",
1526
+ "ioWeight": 100,
1527
+ "ioMax": "rbps=1073741824 wbps=1073741824 rbps=1000 wiops=1000",
1528
+ "pidsMax": 4096,
1529
+ "numaBalancing": true,
1530
+ "scheduler": "EEVDF",
1531
+ "schedulerVersion": "kernel-7.1.9-eevdf",
1532
+ "schedulerAlt": ["BORE-6.12.15", "sched_ext-bp-1.2.0"],
1533
+ "qosClassesList": ["guaranteed", "burstable", "besteffort", "idle"],
1534
+ "tenants": {
1535
+ "gold": {
1536
+ "weight": 10000,
1537
+ "cpuMax": "1600000 100000",
1538
+ "memoryHigh": "60G",
1539
+ "memoryMax": "64G",
1540
+ "ioWeight": 1000,
1541
+ "pidsMax": 8192,
1542
+ "qos": "guaranteed",
1543
+ "cpuset": "0-15"
1544
+ },
1545
+ "silver": {
1546
+ "weight": 5000,
1547
+ "cpuMax": "800000 100000",
1548
+ "memoryHigh": "30G",
1549
+ "memoryMax": "32G",
1550
+ "ioWeight": 500,
1551
+ "pidsMax": 4096,
1552
+ "qos": "burstable",
1553
+ "cpuset": "0-7"
1554
+ },
1555
+ "bronze": {
1556
+ "weight": 100,
1557
+ "cpuMax": "200000 100000",
1558
+ "memoryHigh": "8G",
1559
+ "memoryMax": "16G",
1560
+ "ioWeight": 100,
1561
+ "pidsMax": 1024,
1562
+ "qos": "besteffort",
1563
+ "cpuset": "0-3"
1564
+ }
1565
+ },
1566
+ "qosClasses": {
1567
+ "guaranteed": {
1568
+ "cpuWeight": 10000,
1569
+ "cpuGuarantee": "100%",
1570
+ "memoryPolicy": "no-overcommit",
1571
+ "ioPolicy": "high-priority",
1572
+ "description": "Guaranteed QoS: full CPU reservation, no memory overcommit, high-priority IO"
1573
+ },
1574
+ "burstable": {
1575
+ "cpuWeight": 5000,
1576
+ "cpuGuarantee": "50%",
1577
+ "memoryPolicy": "bounded-overcommit",
1578
+ "ioPolicy": "normal",
1579
+ "description": "Burstable: baseline 50% CPU with burst to 100%, bounded memory overcommit"
1580
+ },
1581
+ "besteffort": {
1582
+ "cpuWeight": 100,
1583
+ "cpuGuarantee": "0%",
1584
+ "memoryPolicy": "overcommit",
1585
+ "ioPolicy": "low-priority",
1586
+ "description": "Best-effort: opportunistic scheduling, full overcommit allowed"
1587
+ },
1588
+ "idle": {
1589
+ "cpuWeight": 1,
1590
+ "cpuGuarantee": "0%",
1591
+ "memoryPolicy": "reclaim-first",
1592
+ "ioPolicy": "idle",
1593
+ "description": "Idle: lowest priority, first to be reclaimed under pressure"
1594
+ }
1595
+ }
1596
+ }
1597
+ },
1598
+ "docker": {
1599
+ "engine": "29.7.2",
1600
+ "buildx": "0.36.1",
1601
+ "compose": "5.5.0",
1602
+ "runc": "1.3.1",
1603
+ "containerd": "2.3.4",
1604
+ "buildkit": "0.24.0",
1605
+ "rootless": false,
1606
+ "cgroupDriver": "systemd",
1607
+ "storageDriver": "overlay2",
1608
+ "logDriver": "json-file",
1609
+ "legacyPinsSource": {
1610
+ "buildx": "0.36.0",
1611
+ "compose": "5.3.0"
1612
+ }
1613
+ },
1614
+ "toolchain": {
1615
+ "nodeLts": "24.19.0",
1616
+ "nodeCurrent": "26.7.0",
1617
+ "typescript": "7.0.2",
1618
+ "checkout": "v6",
1619
+ "setupNode": "v6",
1620
+ "setupNodeVersion": "6.2.0",
1621
+ "checkoutVersion": "6.0.1",
1622
+ "runner": "2.336.0",
1623
+ "libvirt": "12.5.0",
1624
+ "kernelStable": "7.1.9",
1625
+ "kernelLts": "6.18.45",
1626
+ "qemu": "11.1.0"
1627
+ }
1628
+ },
1629
+ "passage": {
1630
+ "enabled": true,
1631
+ "configRef": "./passage.config",
1632
+ "serviceName": "saddle-v6-vm-primary",
1633
+ "description": "Observer reports passage as control plane for vm-to-forgе-mirror",
1634
+ "date": "2026-08-22",
1635
+ "version": "6.0.0",
1636
+ "bridgeMode": "virtio-vsock",
1637
+ "numaAwareRouting": true,
1638
+ "balloonAwareRouting": true,
1639
+ "bridge": {
1640
+ "type": "virtio-vsock",
1641
+ "cid": 3,
1642
+ "port": 5000,
1643
+ "maxConnections": 1024,
1644
+ "bufferSizeKb": 8192,
1645
+ "zeroCopy": true,
1646
+ "fallback": "unix-socket",
1647
+ "fallbackSocket": "/tmp/saddle-v6-vsock.sock",
1648
+ "encryption": "none",
1649
+ "protocolVersion": "2026.08.22",
1650
+ "modeFolders": ["boards", "cores", "processors", "gpus", "vcpus", "vram"],
1651
+ "forgeMirrors": ["forge-qemu", "forge-gpu", "forge-passage"],
1652
+ "libraryFirst": true
1653
+ },
1654
+ "numa": {
1655
+ "enabled": true,
1656
+ "strategy": "bind-passage-to-numa-node",
1657
+ "hmatSync": true,
1658
+ "tieringMode": "dram-preferred",
1659
+ "migrationAllowed": false,
1660
+ "policy": "bind",
1661
+ "observerChecksLatency": true
1662
+ },
1663
+ "balloon": {
1664
+ "enabled": true,
1665
+ "link": "vm.memory.balloon",
1666
+ "backpressureSignal": true,
1667
+ "signalName": "memory-pressure",
1668
+ "thresholdPercent": 85,
1669
+ "releaseStrategy": "deflate-on-demand",
1670
+ "syncPeriodSec": 8,
1671
+ "errorCatcher": true,
1672
+ "errorCatcherCode": "E_VM_PASSAGE_BALLOON_001"
1673
+ },
1674
+ "health": {
1675
+ "exposePorts": [22, 8080, 8443, 6006, 9090],
1676
+ "healthcheckPath": "/healthz",
1677
+ "healthcheckInterval": "12s",
1678
+ "heartbeat": "4s",
1679
+ "timeout": "3s",
1680
+ "retries": 3,
1681
+ "failurePolicy": "restart-passage-not-vm"
1682
+ },
1683
+ "personalization": {
1684
+ "matrix": {
1685
+ "allowOddPrime": true,
1686
+ "allowNonPowerOfTwoRam": true,
1687
+ "allowUnalignedNuma": false,
1688
+ "allowCxlTier": true,
1689
+ "maxCustomPresets": 50,
1690
+ "customValidation": "js"
1691
+ }
1692
+ }
1693
+ },
1694
+ "storage": {
1695
+ "driver": "virtio-blk",
1696
+ "cache": "writeback",
1697
+ "discard": "unmap",
1698
+ "ioThread": 2,
1699
+ "ioUring": true,
1700
+ "disks": [
1701
+ {
1702
+ "id": "sys",
1703
+ "sizeGb": 160,
1704
+ "type": "qcow2",
1705
+ "bus": "virtio0",
1706
+ "iothread": 0,
1707
+ "cache": "writeback"
1708
+ },
1709
+ {
1710
+ "id": "data",
1711
+ "sizeGb": 2048,
1712
+ "type": "raw",
1713
+ "bus": "virtio1",
1714
+ "optional": true,
1715
+ "discard": "unmap"
1716
+ }
1717
+ ]
1718
+ },
1719
+ "network": {
1720
+ "model": "virtio-net",
1721
+ "macPrefix": "52:54:00:6a:7e",
1722
+ "vhost": true,
1723
+ "queues": 4,
1724
+ "mtu": 9000,
1725
+ "bridge": "br0",
1726
+ "allowOddVcpuQueues": true
1727
+ },
1728
+ "qemu": {
1729
+ "configRef": "./qemu.config",
1730
+ "version": "11.1.0",
1731
+ "accelPreference": ["kvm", "hvf", "whpx", "tcg"],
1732
+ "argsAppend": ["-cpu host,host-phys-bits=true", "-machine q35,hmat=on"],
1733
+ "overcommitCheck": true
1734
+ },
1735
+ "gpu": {
1736
+ "configRef": "./gpu.config",
1737
+ "gpusRef": "./gpus.json",
1738
+ "vramRef": "./vram.json",
1739
+ "blackwellRef": "./nvidiablackwell.json",
1740
+ "ryzenRef": "./amdryzenxseries.json",
1741
+ "passthrough": true,
1742
+ "mdev": false
1743
+ },
1744
+ "docker": {
1745
+ "configRef": "./docker.config",
1746
+ "composeRef": "./dockercompose.yml",
1747
+ "version": "29.7.2",
1748
+ "runtime": "runc",
1749
+ "cgroupParent": "saddle-v6.slice"
1750
+ },
1751
+ "security": {
1752
+ "secureBoot": true,
1753
+ "attestation": true,
1754
+ "nativeCrypto": "node:crypto",
1755
+ "nativeFs": "node:fs",
1756
+ "nativeHttp": "node:http",
1757
+ "nativePath": "node:path",
1758
+ "disableLegacyCrypto": true
1759
+ },
1760
+ "observability": {
1761
+ "metrics": true,
1762
+ "metricsPort": 9090,
1763
+ "pprof": true,
1764
+ "tracing": "otel",
1765
+ "logParser": "typescript",
1766
+ "internalMemoryPriority": true,
1767
+ "coreDump": false,
1768
+ "perfEvents": ["cache-misses", "dTLB-load-misses", "KVM_EXIT"]
1769
+ },
1770
+ "compatibility": {
1771
+ "modeFiles": [
1772
+ "boards.json",
1773
+ "cores.json",
1774
+ "processors.json",
1775
+ "gpus.json",
1776
+ "vcpus.json",
1777
+ "vram.json",
1778
+ "amdryzenxseries.json",
1779
+ "nvidiablackwell.json"
1780
+ ],
1781
+ "forgeFiles": [
1782
+ "package.json",
1783
+ "tsconfig.json",
1784
+ "pyproject.toml",
1785
+ "dockerfile",
1786
+ "dockercompose.yml",
1787
+ "index.ts",
1788
+ "coreorchestrator.ts",
1789
+ "virtualizationcore.hpp",
1790
+ "virtualizationcore.cpp",
1791
+ "qemubridge.py",
1792
+ "pipelinememorypassage.ts"
1793
+ ],
1794
+ "rootConfigs": [
1795
+ "vm.config",
1796
+ "gpu.config",
1797
+ "passage.config",
1798
+ "qemu.config",
1799
+ "mttg.config",
1800
+ "docker.config"
1801
+ ]
1802
+ },
1803
+ "errorhandling": {
1804
+ "catcherEnabled": true,
1805
+ "cardHeightPx": 44,
1806
+ "cardStyle": "rounded-full-border",
1807
+ "logLevel": "info",
1808
+ "panicOnInvalidVcpu": true,
1809
+ "panicOnInvalidMem": true,
1810
+ "fallbackPreset": "tiny1",
1811
+ "reportPath": "/var/log/saddle-v6/vm-error.log",
1812
+ "otelSpan": "vm.config.validation",
1813
+ "errorCodes": [
1814
+ "E_VM_CPU_RANGE_001",
1815
+ "E_VM_MEM_RANGE_002",
1816
+ "E_VM_PASSAGE_BRIDGE_003",
1817
+ "E_VM_NUMA_MISMATCH_004",
1818
+ "E_VM_BALLOON_OOM_005"
1819
+ ]
1820
+ },
1821
+ "saddleV6ContractRootFields": {
1822
+ "id": "saddle-v6-primary-vm",
1823
+ "hostname": "saddle-v6-node-01",
1824
+ "domain": "saddle.local",
1825
+ "ostype": "linux",
1826
+ "arch": "x86_64",
1827
+ "bios": "ovmf",
1828
+ "bootOrder": "nvdsk",
1829
+ "rebootPolicy": "always",
1830
+ "shutdownTimeoutSec": 180,
1831
+ "machineType": "q35",
1832
+ "firmwareSecureBoot": true,
1833
+ "tpm": true,
1834
+ "tpmVersion": "2.0"
1835
+ },
1836
+ "saddleV6Meta": {
1837
+ "project": "saddle-v6",
1838
+ "version": "6.0.0-blindada-r1",
1839
+ "schemaVersion": "2026.08.22",
1840
+ "date": "2026-08-22",
1841
+ "observer": "v6-07-vmconfig - third person observer reports configuration state",
1842
+ "engine": "qemu 11.1.0 + kvm + hvf + whpx + tcg fallback",
1843
+ "node": "26.7.0-current",
1844
+ "typescript": "7.0.2",
1845
+ "python": "3.14.7",
1846
+ "docker": "29.7.2",
1847
+ "qemu": "11.1.0",
1848
+ "ovmf": "2025.08-4",
1849
+ "githubActionsCheckout": "v7.0.1",
1850
+ "githubActionsSetupNode": "v7.0.0",
1851
+ "githubActionsSetupPython": "v7.0.0",
1852
+ "githubActionsSetupDocker": "v4.3.0",
1853
+ "compatibility": [
1854
+ "gpu.config",
1855
+ "passage.config",
1856
+ "qemu.config",
1857
+ "mttg.config",
1858
+ "docker.config",
1859
+ "boards.json",
1860
+ "cores.json",
1861
+ "processors.json",
1862
+ "gpus.json",
1863
+ "vcpus.json",
1864
+ "vram.json"
1865
+ ]
1866
+ },
1867
+ "performance": {
1868
+ "description": "Named performance defaults of the pool saddle v5 INI (vm.config [performance] + [defaults] + [migration]) that had no nominal equivalent in the v3 schema; the canonical v3 memory machinery (2M/1G hugepages, THP, memfd) lives in cores.json memory.hugepages and virtualmemory.ts.",
1869
+ "hugepagesFormat": "2048MB",
1870
+ "hugepagesNote": "the v5 INI spelled the 2 MiB page as 2048MB; the repo canonical spelling is 2M with 1G companions (cores.json hugepages presets)",
1871
+ "numaBalancing": true,
1872
+ "cpuPinning": "dynamic",
1873
+ "ioUring": "enabled",
1874
+ "virtiofsCache": "always",
1875
+ "ioThreads": 4,
1876
+ "defaultsNote": "pool [defaults] vcpu 8 / ram 16384 MB / disk 100 GB / io_threads 4 / cpu host-passthrough topology sockets=1,cores=8,threads=2 — the v3 defaults live in orchestrator_defaults and profiles",
1877
+ "migration": {
1878
+ "liveMigration": true,
1879
+ "compression": "zstd",
1880
+ "maxDowntimeMs": 150,
1881
+ "maxDowntimeNote": "150 ms downtime budget for live migration convergence (CRIU/QEMU multipart); feeds aimigrationpredictor of compute.ts which defaults to a 50 ms budget for the pre-copy predictor"
1882
+ },
1883
+ "networkBridgeLegacy": {
1884
+ "bridge": "br-saddle0",
1885
+ "model": "virtio-net-pci",
1886
+ "mtu": 9000,
1887
+ "note": "the v5 INI bound passage networking to the named bridge br-saddle0; the v3 canonical bridge is br0 (network.bridge) with docker-compose br-passage0 for the container plane"
1888
+ }
1889
+ },
1890
+ "featureflags": {
1891
+ "description": "Nominal feature-flag names of the pool OmniHyperCore v5 TOML ([vm.qemu] features list and the scheduler_alt spellings). the underlying capabilities exist in the v3 schema (qemu section, TDX/SEV-SNP objects, virtio-gpu venus, io_uring, memory memfd); this table preserves the literal flag spellings as provenance so tooling written against the v5 names keeps resolving.",
1892
+ "flags": {
1893
+ "nvmeHotplugQmp": "nvme hotplug driven through the QMP monitor",
1894
+ "spMemMemfd": "shared-polled memory on memory-backend-memfd",
1895
+ "tdxLiveUpdate": "Intel TDX live update path",
1896
+ "sevSnpResetFix": "AMD SEV-SNP reset bug workaround (header 127 after D3cold)",
1897
+ "virtioGpuNativeContext": "virtio-gpu venus native context (hostmem blob)",
1898
+ "kvmNitroTrust": "kvm:nitro accelerator trust handshake",
1899
+ "qmpV2": "QMP protocol v2 monitor",
1900
+ "ioUringZcrx": "io_uring zero-copy receive"
1901
+ },
1902
+ "schedAlt": ["BORE-6.12.15", "sched_ext-bp-1.2.0"],
1903
+ "schedAltNote": "alternate scheduler spellings beside the canonical EEVDF default; the 7.2.1/6.12.15 kernel pins these names implied were rejected by the repo (readme date-first corrections) — flags kept as names only",
1904
+ "miscLegacy": {
1905
+ "rebootTimeoutMs": 5000,
1906
+ "scsiQueues": 8,
1907
+ "queueDepthRange": "128-256"
1908
+ }
1909
+ }
1910
+ }