@wenathlan/saddle 1.8.18 → 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.
- package/Dockerfile +1339 -0
- package/README.md +33 -12
- package/alternatives.ts +1218 -0
- package/biome.json +153 -0
- package/boards.json +1517 -0
- package/compute.ts +3144 -0
- package/cores.json +1801 -0
- package/dist/acquisition.d.ts +359 -0
- package/dist/acquisition.d.ts.map +1 -0
- package/dist/acquisition.js +629 -0
- package/dist/acquisition.js.map +1 -0
- package/dist/alternatives.d.ts +509 -0
- package/dist/alternatives.d.ts.map +1 -0
- package/dist/alternatives.js +951 -0
- package/dist/alternatives.js.map +1 -0
- package/dist/automation.d.ts +426 -0
- package/dist/automation.d.ts.map +1 -0
- package/dist/automation.js +561 -0
- package/dist/automation.js.map +1 -0
- package/dist/browser.d.ts +562 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +1057 -0
- package/dist/browser.js.map +1 -0
- package/dist/capacitor.config.d.ts +13 -0
- package/dist/capacitor.config.d.ts.map +1 -0
- package/dist/capacitor.config.js +26 -0
- package/dist/capacitor.config.js.map +1 -0
- package/dist/cli.d.ts +17 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +111 -0
- package/dist/cli.js.map +1 -0
- package/dist/communication.d.ts +192 -0
- package/dist/communication.d.ts.map +1 -0
- package/dist/communication.js +418 -0
- package/dist/communication.js.map +1 -0
- package/dist/compute.d.ts +1161 -0
- package/dist/compute.d.ts.map +1 -0
- package/dist/compute.js +2273 -0
- package/dist/compute.js.map +1 -0
- package/dist/distribution.d.ts +529 -0
- package/dist/distribution.d.ts.map +1 -0
- package/dist/distribution.js +811 -0
- package/dist/distribution.js.map +1 -0
- package/dist/execution.d.ts +530 -0
- package/dist/execution.d.ts.map +1 -0
- package/dist/execution.js +761 -0
- package/dist/execution.js.map +1 -0
- package/dist/format.d.ts +19 -0
- package/dist/format.d.ts.map +1 -0
- package/dist/format.js +60 -0
- package/dist/format.js.map +1 -0
- package/dist/foundation.d.ts +176 -0
- package/dist/foundation.d.ts.map +1 -0
- package/dist/foundation.js +309 -0
- package/dist/foundation.js.map +1 -0
- package/dist/index.d.ts +733 -123
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1018 -123
- package/dist/index.js.map +1 -1
- package/dist/integration.d.ts +236 -0
- package/dist/integration.d.ts.map +1 -0
- package/dist/integration.js +236 -0
- package/dist/integration.js.map +1 -0
- package/dist/intelligence.d.ts +94 -0
- package/dist/intelligence.d.ts.map +1 -0
- package/dist/intelligence.js +145 -0
- package/dist/intelligence.js.map +1 -0
- package/dist/{isolation/contracts.d.ts → isolation.d.ts} +12 -1
- package/dist/isolation.d.ts.map +1 -0
- package/dist/{isolation/contracts.js → isolation.js} +13 -1
- package/dist/isolation.js.map +1 -0
- package/dist/media.d.ts +344 -0
- package/dist/media.d.ts.map +1 -0
- package/dist/media.js +986 -0
- package/dist/media.js.map +1 -0
- package/dist/modes.d.ts +359 -0
- package/dist/modes.d.ts.map +1 -0
- package/dist/modes.js +134 -0
- package/dist/modes.js.map +1 -0
- package/dist/{library/public.d.ts → operations.d.ts} +15 -1
- package/dist/operations.d.ts.map +1 -0
- package/dist/{library/public.js → operations.js} +18 -7
- package/dist/operations.js.map +1 -0
- package/dist/orchestrator.d.ts +1339 -0
- package/dist/orchestrator.d.ts.map +1 -0
- package/dist/orchestrator.js +4308 -0
- package/dist/orchestrator.js.map +1 -0
- package/dist/performance.d.ts +416 -0
- package/dist/performance.d.ts.map +1 -0
- package/dist/performance.js +827 -0
- package/dist/performance.js.map +1 -0
- package/dist/quantum.d.ts +810 -0
- package/dist/quantum.d.ts.map +1 -0
- package/dist/quantum.js +2073 -0
- package/dist/quantum.js.map +1 -0
- package/dist/render.d.ts +381 -0
- package/dist/render.d.ts.map +1 -0
- package/dist/render.js +1073 -0
- package/dist/render.js.map +1 -0
- package/dist/scheduler.d.ts +596 -0
- package/dist/scheduler.d.ts.map +1 -0
- package/dist/scheduler.js +1259 -0
- package/dist/scheduler.js.map +1 -0
- package/dist/security.d.ts +501 -0
- package/dist/security.d.ts.map +1 -0
- package/dist/security.js +1170 -0
- package/dist/security.js.map +1 -0
- package/dist/server.d.ts +21 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/{server/node.js → server.js} +16 -2
- package/dist/server.js.map +1 -0
- package/dist/tiers.d.ts +1002 -0
- package/dist/tiers.d.ts.map +1 -0
- package/dist/tiers.js +2165 -0
- package/dist/tiers.js.map +1 -0
- package/dist/virtual.d.ts +641 -0
- package/dist/virtual.d.ts.map +1 -0
- package/dist/virtual.js +1285 -0
- package/dist/virtual.js.map +1 -0
- package/dist/virtualcpu.d.ts +316 -0
- package/dist/virtualcpu.d.ts.map +1 -0
- package/dist/virtualcpu.js +1180 -0
- package/dist/virtualcpu.js.map +1 -0
- package/dist/virtualgpu.d.ts +345 -0
- package/dist/virtualgpu.d.ts.map +1 -0
- package/dist/virtualgpu.js +1000 -0
- package/dist/virtualgpu.js.map +1 -0
- package/dist/virtualization.d.ts +607 -0
- package/dist/virtualization.d.ts.map +1 -0
- package/dist/virtualization.js +1187 -0
- package/dist/virtualization.js.map +1 -0
- package/dist/virtualmemory.d.ts +818 -0
- package/dist/virtualmemory.d.ts.map +1 -0
- package/dist/virtualmemory.js +1796 -0
- package/dist/virtualmemory.js.map +1 -0
- package/dist/webscrape.d.ts +720 -0
- package/dist/webscrape.d.ts.map +1 -0
- package/dist/webscrape.js +2697 -0
- package/dist/webscrape.js.map +1 -0
- package/docker.config +769 -0
- package/docs/CONVERSA.txt +1523 -0
- package/docs/alternatives.md +499 -0
- package/docs/architecture-1.8.19.md +76 -0
- package/docs/architecture-1.8.19.mmd +33 -0
- package/docs/architecture-1.8.19.png +0 -0
- package/docs/architecture.md +355 -0
- package/docs/brancharchive-2026-08-18.md +18 -0
- package/docs/browser.md +7 -0
- package/docs/consolidation.md +70 -0
- package/docs/e2ugh-engine.md +528 -0
- package/{dist/examples/localjob.js → docs/example-localjob.ts} +3 -3
- package/{dist/examples/publicapi.js → docs/example-publicapi.ts} +2 -2
- package/docs/hardware.md +342 -0
- package/docs/optimization.md +126 -0
- package/docs/performance.md +499 -0
- package/docs/planning.1.8.18.md +94 -0
- package/docs/planning.1.8.19.md +49 -0
- package/docs/releasenotes-1.8.19.md +35 -0
- package/docs/research-1.8.19-virtual-browser.md +27 -0
- package/docs/security.md +454 -0
- package/docs/todo-1.8.18.md +12 -0
- package/docs/todo-1.8.19.md +241 -0
- package/docs/viability.md +777 -0
- package/docs/virtualization.md +335 -0
- package/docs/web-duplicatecleanup.md +9 -0
- package/docs/web-ideas.md +106 -0
- package/docs/workflowimprovements-2026-08-19.md +70 -0
- package/gpumonitor.cpp +1543 -0
- package/gpus.json +2408 -0
- package/index.ts +1478 -0
- package/media.ts +1337 -0
- package/mttg.config +1549 -0
- package/orchestrator.ts +5462 -0
- package/package.json +304 -56
- package/passage.config +1331 -0
- package/performance.ts +1049 -0
- package/processors.json +2217 -0
- package/qemu.config +1062 -0
- package/qemubridge.py +1340 -0
- package/quantum.ts +2393 -0
- package/render.ts +1325 -0
- package/scheduler.ts +1600 -0
- package/security.ts +1449 -0
- package/tiers.ts +2871 -0
- package/tsconfig.json +29 -0
- package/virtualcpu.ts +1273 -0
- package/virtualgpu.ts +1181 -0
- package/virtualhardware.c +1011 -0
- package/virtualhardware.json +739 -0
- package/virtualization.ts +1628 -0
- package/virtualizationcore.cpp +4635 -0
- package/virtualmemory.ts +2303 -0
- package/vm.config.json +1910 -0
- package/{extension → web/extension}/manifest.json +1 -1
- package/web/readme.md +382 -0
- package/web/tsconfig.json +25 -0
- package/dist/adapters/forge.d.ts +0 -17
- package/dist/adapters/forge.d.ts.map +0 -1
- package/dist/adapters/forge.js +0 -19
- package/dist/adapters/forge.js.map +0 -1
- package/dist/adapters/forgejo.d.ts +0 -49
- package/dist/adapters/forgejo.d.ts.map +0 -1
- package/dist/adapters/forgejo.js +0 -8
- package/dist/adapters/forgejo.js.map +0 -1
- package/dist/adapters/github.d.ts +0 -12
- package/dist/adapters/github.d.ts.map +0 -1
- package/dist/adapters/github.js +0 -20
- package/dist/adapters/github.js.map +0 -1
- package/dist/adapters/gitlab.d.ts +0 -17
- package/dist/adapters/gitlab.d.ts.map +0 -1
- package/dist/adapters/gitlab.js +0 -10
- package/dist/adapters/gitlab.js.map +0 -1
- package/dist/adapters/huggingface.d.ts +0 -17
- package/dist/adapters/huggingface.d.ts.map +0 -1
- package/dist/adapters/huggingface.js +0 -6
- package/dist/adapters/huggingface.js.map +0 -1
- package/dist/adapters/socket.d.ts +0 -11
- package/dist/adapters/socket.d.ts.map +0 -1
- package/dist/adapters/socket.js +0 -17
- package/dist/adapters/socket.js.map +0 -1
- package/dist/adapters/transport.d.ts +0 -7
- package/dist/adapters/transport.d.ts.map +0 -1
- package/dist/adapters/transport.js +0 -36
- package/dist/adapters/transport.js.map +0 -1
- package/dist/ai/chunk.d.ts +0 -2
- package/dist/ai/chunk.d.ts.map +0 -1
- package/dist/ai/chunk.js +0 -36
- package/dist/ai/chunk.js.map +0 -1
- package/dist/ai/llmstxt.d.ts +0 -6
- package/dist/ai/llmstxt.d.ts.map +0 -1
- package/dist/ai/llmstxt.js +0 -12
- package/dist/ai/llmstxt.js.map +0 -1
- package/dist/ai/provenance.d.ts +0 -22
- package/dist/ai/provenance.d.ts.map +0 -1
- package/dist/ai/provenance.js +0 -25
- package/dist/ai/provenance.js.map +0 -1
- package/dist/ai/rag.d.ts +0 -26
- package/dist/ai/rag.d.ts.map +0 -1
- package/dist/ai/rag.js +0 -22
- package/dist/ai/rag.js.map +0 -1
- package/dist/ai/tokens.d.ts +0 -15
- package/dist/ai/tokens.d.ts.map +0 -1
- package/dist/ai/tokens.js +0 -9
- package/dist/ai/tokens.js.map +0 -1
- package/dist/api/auth.d.ts +0 -16
- package/dist/api/auth.d.ts.map +0 -1
- package/dist/api/auth.js +0 -19
- package/dist/api/auth.js.map +0 -1
- package/dist/api/contracts.d.ts +0 -28
- package/dist/api/contracts.d.ts.map +0 -1
- package/dist/api/contracts.js +0 -14
- package/dist/api/contracts.js.map +0 -1
- package/dist/api/control.d.ts +0 -10
- package/dist/api/control.d.ts.map +0 -1
- package/dist/api/control.js +0 -35
- package/dist/api/control.js.map +0 -1
- package/dist/api/http.d.ts +0 -7
- package/dist/api/http.d.ts.map +0 -1
- package/dist/api/http.js +0 -12
- package/dist/api/http.js.map +0 -1
- package/dist/api/rate.d.ts +0 -28
- package/dist/api/rate.d.ts.map +0 -1
- package/dist/api/rate.js +0 -36
- package/dist/api/rate.js.map +0 -1
- package/dist/api/security.d.ts +0 -12
- package/dist/api/security.d.ts.map +0 -1
- package/dist/api/security.js +0 -56
- package/dist/api/security.js.map +0 -1
- package/dist/api/service.d.ts +0 -5
- package/dist/api/service.d.ts.map +0 -1
- package/dist/api/service.js +0 -70
- package/dist/api/service.js.map +0 -1
- package/dist/apps/registry.d.ts +0 -33
- package/dist/apps/registry.d.ts.map +0 -1
- package/dist/apps/registry.js +0 -24
- package/dist/apps/registry.js.map +0 -1
- package/dist/binary/archive.d.ts +0 -27
- package/dist/binary/archive.d.ts.map +0 -1
- package/dist/binary/archive.js +0 -46
- package/dist/binary/archive.js.map +0 -1
- package/dist/binary/build.d.ts +0 -29
- package/dist/binary/build.d.ts.map +0 -1
- package/dist/binary/build.js +0 -17
- package/dist/binary/build.js.map +0 -1
- package/dist/binary/transform.d.ts +0 -70
- package/dist/binary/transform.d.ts.map +0 -1
- package/dist/binary/transform.js +0 -105
- package/dist/binary/transform.js.map +0 -1
- package/dist/bot/adapter.d.ts +0 -5
- package/dist/bot/adapter.d.ts.map +0 -1
- package/dist/bot/adapter.js +0 -11
- package/dist/bot/adapter.js.map +0 -1
- package/dist/bot/bot.d.ts +0 -28
- package/dist/bot/bot.d.ts.map +0 -1
- package/dist/bot/bot.js +0 -52
- package/dist/bot/bot.js.map +0 -1
- package/dist/bot/commands.d.ts +0 -8
- package/dist/bot/commands.d.ts.map +0 -1
- package/dist/bot/commands.js +0 -19
- package/dist/bot/commands.js.map +0 -1
- package/dist/bot/permissions.d.ts +0 -13
- package/dist/bot/permissions.d.ts.map +0 -1
- package/dist/bot/permissions.js +0 -16
- package/dist/bot/permissions.js.map +0 -1
- package/dist/browser/actions.d.ts +0 -33
- package/dist/browser/actions.d.ts.map +0 -1
- package/dist/browser/actions.js +0 -44
- package/dist/browser/actions.js.map +0 -1
- package/dist/browser/agent.d.ts +0 -21
- package/dist/browser/agent.d.ts.map +0 -1
- package/dist/browser/agent.js +0 -13
- package/dist/browser/agent.js.map +0 -1
- package/dist/browser/context.d.ts +0 -43
- package/dist/browser/context.d.ts.map +0 -1
- package/dist/browser/context.js +0 -54
- package/dist/browser/context.js.map +0 -1
- package/dist/browser/fingerprint.d.ts +0 -4
- package/dist/browser/fingerprint.d.ts.map +0 -1
- package/dist/browser/fingerprint.js +0 -12
- package/dist/browser/fingerprint.js.map +0 -1
- package/dist/browser/index.d.ts +0 -11
- package/dist/browser/index.d.ts.map +0 -1
- package/dist/browser/index.js +0 -11
- package/dist/browser/index.js.map +0 -1
- package/dist/browser/playwright.d.ts +0 -11
- package/dist/browser/playwright.d.ts.map +0 -1
- package/dist/browser/playwright.js +0 -24
- package/dist/browser/playwright.js.map +0 -1
- package/dist/browser/recorder.d.ts +0 -21
- package/dist/browser/recorder.d.ts.map +0 -1
- package/dist/browser/recorder.js +0 -58
- package/dist/browser/recorder.js.map +0 -1
- package/dist/browser/session.d.ts +0 -14
- package/dist/browser/session.d.ts.map +0 -1
- package/dist/browser/session.js +0 -21
- package/dist/browser/session.js.map +0 -1
- package/dist/browser/snapshot.d.ts +0 -69
- package/dist/browser/snapshot.d.ts.map +0 -1
- package/dist/browser/snapshot.js +0 -133
- package/dist/browser/snapshot.js.map +0 -1
- package/dist/captcha/contract.d.ts +0 -35
- package/dist/captcha/contract.d.ts.map +0 -1
- package/dist/captcha/contract.js +0 -17
- package/dist/captcha/contract.js.map +0 -1
- package/dist/captcha/evidence.d.ts +0 -10
- package/dist/captcha/evidence.d.ts.map +0 -1
- package/dist/captcha/evidence.js +0 -9
- package/dist/captcha/evidence.js.map +0 -1
- package/dist/captcha/guard.d.ts +0 -23
- package/dist/captcha/guard.d.ts.map +0 -1
- package/dist/captcha/guard.js +0 -12
- package/dist/captcha/guard.js.map +0 -1
- package/dist/cli/main.d.ts +0 -4
- package/dist/cli/main.d.ts.map +0 -1
- package/dist/cli/main.js +0 -46
- package/dist/cli/main.js.map +0 -1
- package/dist/core/errors.d.ts +0 -84
- package/dist/core/errors.d.ts.map +0 -1
- package/dist/core/errors.js +0 -54
- package/dist/core/errors.js.map +0 -1
- package/dist/core/events.d.ts +0 -9
- package/dist/core/events.d.ts.map +0 -1
- package/dist/core/events.js +0 -21
- package/dist/core/events.js.map +0 -1
- package/dist/core/hash.d.ts +0 -10
- package/dist/core/hash.d.ts.map +0 -1
- package/dist/core/hash.js +0 -82
- package/dist/core/hash.js.map +0 -1
- package/dist/core/ids.d.ts +0 -10
- package/dist/core/ids.d.ts.map +0 -1
- package/dist/core/ids.js +0 -15
- package/dist/core/ids.js.map +0 -1
- package/dist/delivery/manifest.d.ts +0 -35
- package/dist/delivery/manifest.d.ts.map +0 -1
- package/dist/delivery/manifest.js +0 -68
- package/dist/delivery/manifest.js.map +0 -1
- package/dist/deploy/index.d.ts +0 -6
- package/dist/deploy/index.d.ts.map +0 -1
- package/dist/deploy/index.js +0 -6
- package/dist/deploy/index.js.map +0 -1
- package/dist/dispatch/resumable.d.ts +0 -102
- package/dist/dispatch/resumable.d.ts.map +0 -1
- package/dist/dispatch/resumable.js +0 -64
- package/dist/dispatch/resumable.js.map +0 -1
- package/dist/dispatch/workflow.d.ts +0 -6
- package/dist/dispatch/workflow.d.ts.map +0 -1
- package/dist/dispatch/workflow.js +0 -37
- package/dist/dispatch/workflow.js.map +0 -1
- package/dist/domain/artifacts.d.ts +0 -12
- package/dist/domain/artifacts.d.ts.map +0 -1
- package/dist/domain/artifacts.js +0 -14
- package/dist/domain/artifacts.js.map +0 -1
- package/dist/domain/jobs.d.ts +0 -12
- package/dist/domain/jobs.d.ts.map +0 -1
- package/dist/domain/jobs.js +0 -20
- package/dist/domain/jobs.js.map +0 -1
- package/dist/domain/providers.d.ts +0 -10
- package/dist/domain/providers.d.ts.map +0 -1
- package/dist/domain/providers.js +0 -8
- package/dist/domain/providers.js.map +0 -1
- package/dist/domain/runtime.d.ts +0 -14
- package/dist/domain/runtime.d.ts.map +0 -1
- package/dist/domain/runtime.js +0 -10
- package/dist/domain/runtime.js.map +0 -1
- package/dist/domain/sessions.d.ts +0 -12
- package/dist/domain/sessions.d.ts.map +0 -1
- package/dist/domain/sessions.js +0 -57
- package/dist/domain/sessions.js.map +0 -1
- package/dist/examples/localjob.d.ts +0 -2
- package/dist/examples/localjob.d.ts.map +0 -1
- package/dist/examples/localjob.js.map +0 -1
- package/dist/examples/publicapi.d.ts +0 -2
- package/dist/examples/publicapi.d.ts.map +0 -1
- package/dist/examples/publicapi.js.map +0 -1
- package/dist/extension/build.d.ts +0 -9
- package/dist/extension/build.d.ts.map +0 -1
- package/dist/extension/build.js +0 -85
- package/dist/extension/build.js.map +0 -1
- package/dist/extension/content.d.ts +0 -6
- package/dist/extension/content.d.ts.map +0 -1
- package/dist/extension/content.js +0 -135
- package/dist/extension/content.js.map +0 -1
- package/dist/extension/index.d.ts +0 -7
- package/dist/extension/index.d.ts.map +0 -1
- package/dist/extension/index.js +0 -7
- package/dist/extension/index.js.map +0 -1
- package/dist/extension/pagebridge.d.ts +0 -6
- package/dist/extension/pagebridge.d.ts.map +0 -1
- package/dist/extension/pagebridge.js +0 -42
- package/dist/extension/pagebridge.js.map +0 -1
- package/dist/extension/permissions.d.ts +0 -26
- package/dist/extension/permissions.d.ts.map +0 -1
- package/dist/extension/permissions.js +0 -28
- package/dist/extension/permissions.js.map +0 -1
- package/dist/extension/popup.d.ts +0 -5
- package/dist/extension/popup.d.ts.map +0 -1
- package/dist/extension/popup.js +0 -26
- package/dist/extension/popup.js.map +0 -1
- package/dist/extension/protocol.d.ts +0 -58
- package/dist/extension/protocol.d.ts.map +0 -1
- package/dist/extension/protocol.js +0 -101
- package/dist/extension/protocol.js.map +0 -1
- package/dist/extension/serviceworker.d.ts +0 -25
- package/dist/extension/serviceworker.d.ts.map +0 -1
- package/dist/extension/serviceworker.js +0 -102
- package/dist/extension/serviceworker.js.map +0 -1
- package/dist/extension/worker.d.ts +0 -28
- package/dist/extension/worker.d.ts.map +0 -1
- package/dist/extension/worker.js +0 -22
- package/dist/extension/worker.js.map +0 -1
- package/dist/format/check.d.ts +0 -8
- package/dist/format/check.d.ts.map +0 -1
- package/dist/format/check.js +0 -38
- package/dist/format/check.js.map +0 -1
- package/dist/isolation/contracts.d.ts.map +0 -1
- package/dist/isolation/contracts.js.map +0 -1
- package/dist/library/public.d.ts.map +0 -1
- package/dist/library/public.js.map +0 -1
- package/dist/mcp/browser.d.ts +0 -9
- package/dist/mcp/browser.d.ts.map +0 -1
- package/dist/mcp/browser.js +0 -13
- package/dist/mcp/browser.js.map +0 -1
- package/dist/mcp/server.d.ts +0 -35
- package/dist/mcp/server.d.ts.map +0 -1
- package/dist/mcp/server.js +0 -40
- package/dist/mcp/server.js.map +0 -1
- package/dist/mcp/transport.d.ts +0 -7
- package/dist/mcp/transport.d.ts.map +0 -1
- package/dist/mcp/transport.js +0 -17
- package/dist/mcp/transport.js.map +0 -1
- package/dist/memory/bridge.d.ts +0 -14
- package/dist/memory/bridge.d.ts.map +0 -1
- package/dist/memory/bridge.js +0 -16
- package/dist/memory/bridge.js.map +0 -1
- package/dist/memory/engine.d.ts +0 -38
- package/dist/memory/engine.d.ts.map +0 -1
- package/dist/memory/engine.js +0 -109
- package/dist/memory/engine.js.map +0 -1
- package/dist/memory/modes.d.ts +0 -43
- package/dist/memory/modes.d.ts.map +0 -1
- package/dist/memory/modes.js +0 -66
- package/dist/memory/modes.js.map +0 -1
- package/dist/memory/objects.d.ts +0 -21
- package/dist/memory/objects.d.ts.map +0 -1
- package/dist/memory/objects.js +0 -20
- package/dist/memory/objects.js.map +0 -1
- package/dist/memory/planner.d.ts +0 -66
- package/dist/memory/planner.d.ts.map +0 -1
- package/dist/memory/planner.js +0 -108
- package/dist/memory/planner.js.map +0 -1
- package/dist/memory/targets.d.ts +0 -78
- package/dist/memory/targets.d.ts.map +0 -1
- package/dist/memory/targets.js +0 -29
- package/dist/memory/targets.js.map +0 -1
- package/dist/memory/transforms.d.ts +0 -19
- package/dist/memory/transforms.d.ts.map +0 -1
- package/dist/memory/transforms.js +0 -14
- package/dist/memory/transforms.js.map +0 -1
- package/dist/modes/matrix.d.ts +0 -23
- package/dist/modes/matrix.d.ts.map +0 -1
- package/dist/modes/matrix.js +0 -18
- package/dist/modes/matrix.js.map +0 -1
- package/dist/modes/modes.d.ts +0 -33
- package/dist/modes/modes.d.ts.map +0 -1
- package/dist/modes/modes.js +0 -15
- package/dist/modes/modes.js.map +0 -1
- package/dist/modes/resolve.d.ts +0 -96
- package/dist/modes/resolve.d.ts.map +0 -1
- package/dist/modes/resolve.js +0 -48
- package/dist/modes/resolve.js.map +0 -1
- package/dist/observability/metrics.d.ts +0 -14
- package/dist/observability/metrics.d.ts.map +0 -1
- package/dist/observability/metrics.js +0 -18
- package/dist/observability/metrics.js.map +0 -1
- package/dist/packager/manifest.d.ts +0 -66
- package/dist/packager/manifest.d.ts.map +0 -1
- package/dist/packager/manifest.js +0 -94
- package/dist/packager/manifest.js.map +0 -1
- package/dist/packager/publish.d.ts +0 -51
- package/dist/packager/publish.d.ts.map +0 -1
- package/dist/packager/publish.js +0 -18
- package/dist/packager/publish.js.map +0 -1
- package/dist/packager/targetcli.d.ts +0 -7
- package/dist/packager/targetcli.d.ts.map +0 -1
- package/dist/packager/targetcli.js +0 -22
- package/dist/packager/targetcli.js.map +0 -1
- package/dist/persistence/adapter.d.ts +0 -5
- package/dist/persistence/adapter.d.ts.map +0 -1
- package/dist/persistence/adapter.js +0 -11
- package/dist/persistence/adapter.js.map +0 -1
- package/dist/persistence/drizzle.d.ts +0 -2
- package/dist/persistence/drizzle.d.ts.map +0 -1
- package/dist/persistence/drizzle.js +0 -12
- package/dist/persistence/drizzle.js.map +0 -1
- package/dist/persistence/memory.d.ts +0 -2
- package/dist/persistence/memory.d.ts.map +0 -1
- package/dist/persistence/memory.js +0 -27
- package/dist/persistence/memory.js.map +0 -1
- package/dist/persistence/migrations.d.ts +0 -19
- package/dist/persistence/migrations.d.ts.map +0 -1
- package/dist/persistence/migrations.js +0 -13
- package/dist/persistence/migrations.js.map +0 -1
- package/dist/persistence/prisma.d.ts +0 -2
- package/dist/persistence/prisma.d.ts.map +0 -1
- package/dist/persistence/prisma.js +0 -25
- package/dist/persistence/prisma.js.map +0 -1
- package/dist/persistence/schema.d.ts +0 -63
- package/dist/persistence/schema.d.ts.map +0 -1
- package/dist/persistence/schema.js +0 -28
- package/dist/persistence/schema.js.map +0 -1
- package/dist/persistence/sql.d.ts +0 -3
- package/dist/persistence/sql.d.ts.map +0 -1
- package/dist/persistence/sql.js +0 -37
- package/dist/persistence/sql.js.map +0 -1
- package/dist/protocol/blocks.d.ts +0 -10
- package/dist/protocol/blocks.d.ts.map +0 -1
- package/dist/protocol/blocks.js +0 -26
- package/dist/protocol/blocks.js.map +0 -1
- package/dist/protocol/json.d.ts +0 -6
- package/dist/protocol/json.d.ts.map +0 -1
- package/dist/protocol/json.js +0 -6
- package/dist/protocol/json.js.map +0 -1
- package/dist/protocol/ndjson.d.ts +0 -3
- package/dist/protocol/ndjson.d.ts.map +0 -1
- package/dist/protocol/ndjson.js +0 -20
- package/dist/protocol/ndjson.js.map +0 -1
- package/dist/protocol/sse.d.ts +0 -7
- package/dist/protocol/sse.d.ts.map +0 -1
- package/dist/protocol/sse.js +0 -25
- package/dist/protocol/sse.js.map +0 -1
- package/dist/proxy/pool.d.ts +0 -9
- package/dist/proxy/pool.d.ts.map +0 -1
- package/dist/proxy/pool.js +0 -27
- package/dist/proxy/pool.js.map +0 -1
- package/dist/queue/idempotency.d.ts +0 -10
- package/dist/queue/idempotency.d.ts.map +0 -1
- package/dist/queue/idempotency.js +0 -13
- package/dist/queue/idempotency.js.map +0 -1
- package/dist/queue/persistent.d.ts +0 -14
- package/dist/queue/persistent.d.ts.map +0 -1
- package/dist/queue/persistent.js +0 -66
- package/dist/queue/persistent.js.map +0 -1
- package/dist/queue/queue.d.ts +0 -7
- package/dist/queue/queue.d.ts.map +0 -1
- package/dist/queue/queue.js +0 -55
- package/dist/queue/queue.js.map +0 -1
- package/dist/queue/saga.d.ts +0 -5
- package/dist/queue/saga.d.ts.map +0 -1
- package/dist/queue/saga.js +0 -20
- package/dist/queue/saga.js.map +0 -1
- package/dist/release/assets.d.ts +0 -144
- package/dist/release/assets.d.ts.map +0 -1
- package/dist/release/assets.js +0 -157
- package/dist/release/assets.js.map +0 -1
- package/dist/release/evidence.d.ts +0 -92
- package/dist/release/evidence.d.ts.map +0 -1
- package/dist/release/evidence.js +0 -148
- package/dist/release/evidence.js.map +0 -1
- package/dist/release/verify.d.ts +0 -12
- package/dist/release/verify.d.ts.map +0 -1
- package/dist/release/verify.js +0 -112
- package/dist/release/verify.js.map +0 -1
- package/dist/runners/chain.d.ts +0 -125
- package/dist/runners/chain.d.ts.map +0 -1
- package/dist/runners/chain.js +0 -95
- package/dist/runners/chain.js.map +0 -1
- package/dist/runners/health.d.ts +0 -36
- package/dist/runners/health.d.ts.map +0 -1
- package/dist/runners/health.js +0 -26
- package/dist/runners/health.js.map +0 -1
- package/dist/runners/heartbeat.d.ts +0 -23
- package/dist/runners/heartbeat.d.ts.map +0 -1
- package/dist/runners/heartbeat.js +0 -29
- package/dist/runners/heartbeat.js.map +0 -1
- package/dist/runners/inprocess.d.ts +0 -17
- package/dist/runners/inprocess.d.ts.map +0 -1
- package/dist/runners/inprocess.js +0 -20
- package/dist/runners/inprocess.js.map +0 -1
- package/dist/runners/scheduler.d.ts +0 -5
- package/dist/runners/scheduler.d.ts.map +0 -1
- package/dist/runners/scheduler.js +0 -19
- package/dist/runners/scheduler.js.map +0 -1
- package/dist/runtime/abort.d.ts +0 -8
- package/dist/runtime/abort.d.ts.map +0 -1
- package/dist/runtime/abort.js +0 -13
- package/dist/runtime/abort.js.map +0 -1
- package/dist/runtime/compatibility.d.ts +0 -37
- package/dist/runtime/compatibility.d.ts.map +0 -1
- package/dist/runtime/compatibility.js +0 -10
- package/dist/runtime/compatibility.js.map +0 -1
- package/dist/runtime/detect.d.ts +0 -13
- package/dist/runtime/detect.d.ts.map +0 -1
- package/dist/runtime/detect.js +0 -18
- package/dist/runtime/detect.js.map +0 -1
- package/dist/runtime/engine.d.ts +0 -20
- package/dist/runtime/engine.d.ts.map +0 -1
- package/dist/runtime/engine.js +0 -61
- package/dist/runtime/engine.js.map +0 -1
- package/dist/runtime/retry.d.ts +0 -19
- package/dist/runtime/retry.d.ts.map +0 -1
- package/dist/runtime/retry.js +0 -54
- package/dist/runtime/retry.js.map +0 -1
- package/dist/runtime/worker.d.ts +0 -10
- package/dist/runtime/worker.d.ts.map +0 -1
- package/dist/runtime/worker.js +0 -25
- package/dist/runtime/worker.js.map +0 -1
- package/dist/scrape/cache.d.ts +0 -45
- package/dist/scrape/cache.d.ts.map +0 -1
- package/dist/scrape/cache.js +0 -45
- package/dist/scrape/cache.js.map +0 -1
- package/dist/scrape/crawl.d.ts +0 -47
- package/dist/scrape/crawl.d.ts.map +0 -1
- package/dist/scrape/crawl.js +0 -114
- package/dist/scrape/crawl.js.map +0 -1
- package/dist/scrape/extract.d.ts +0 -63
- package/dist/scrape/extract.d.ts.map +0 -1
- package/dist/scrape/extract.js +0 -47
- package/dist/scrape/extract.js.map +0 -1
- package/dist/scrape/normalize.d.ts +0 -52
- package/dist/scrape/normalize.d.ts.map +0 -1
- package/dist/scrape/normalize.js +0 -102
- package/dist/scrape/normalize.js.map +0 -1
- package/dist/scrape/robots.d.ts +0 -37
- package/dist/scrape/robots.d.ts.map +0 -1
- package/dist/scrape/robots.js +0 -71
- package/dist/scrape/robots.js.map +0 -1
- package/dist/scrape/schema.d.ts +0 -23
- package/dist/scrape/schema.d.ts.map +0 -1
- package/dist/scrape/schema.js +0 -92
- package/dist/scrape/schema.js.map +0 -1
- package/dist/scrape/scraper.d.ts +0 -6
- package/dist/scrape/scraper.d.ts.map +0 -1
- package/dist/scrape/scraper.js +0 -46
- package/dist/scrape/scraper.js.map +0 -1
- package/dist/scrape/semantic.d.ts +0 -25
- package/dist/scrape/semantic.d.ts.map +0 -1
- package/dist/scrape/semantic.js +0 -27
- package/dist/scrape/semantic.js.map +0 -1
- package/dist/server/node.d.ts +0 -7
- package/dist/server/node.d.ts.map +0 -1
- package/dist/server/node.js.map +0 -1
- package/dist/sessions/file.d.ts +0 -25
- package/dist/sessions/file.d.ts.map +0 -1
- package/dist/sessions/file.js +0 -13
- package/dist/sessions/file.js.map +0 -1
- package/dist/sessions/replay.d.ts +0 -9
- package/dist/sessions/replay.d.ts.map +0 -1
- package/dist/sessions/replay.js +0 -70
- package/dist/sessions/replay.js.map +0 -1
- package/dist/sessions/store.d.ts +0 -25
- package/dist/sessions/store.d.ts.map +0 -1
- package/dist/sessions/store.js +0 -13
- package/dist/sessions/store.js.map +0 -1
- package/dist/storage/adapter.d.ts +0 -5
- package/dist/storage/adapter.d.ts.map +0 -1
- package/dist/storage/adapter.js +0 -11
- package/dist/storage/adapter.js.map +0 -1
- package/dist/storage/cache.d.ts +0 -23
- package/dist/storage/cache.d.ts.map +0 -1
- package/dist/storage/cache.js +0 -79
- package/dist/storage/cache.js.map +0 -1
- package/dist/storage/checksum.d.ts +0 -3
- package/dist/storage/checksum.d.ts.map +0 -1
- package/dist/storage/checksum.js +0 -19
- package/dist/storage/checksum.js.map +0 -1
- package/dist/storage/chunked.d.ts +0 -21
- package/dist/storage/chunked.d.ts.map +0 -1
- package/dist/storage/chunked.js +0 -67
- package/dist/storage/chunked.js.map +0 -1
- package/dist/storage/content.d.ts +0 -24
- package/dist/storage/content.d.ts.map +0 -1
- package/dist/storage/content.js +0 -44
- package/dist/storage/content.js.map +0 -1
- package/dist/storage/filehosting.d.ts +0 -2
- package/dist/storage/filehosting.d.ts.map +0 -1
- package/dist/storage/filehosting.js +0 -24
- package/dist/storage/filehosting.js.map +0 -1
- package/dist/storage/githubcontents.d.ts +0 -2
- package/dist/storage/githubcontents.d.ts.map +0 -1
- package/dist/storage/githubcontents.js +0 -29
- package/dist/storage/githubcontents.js.map +0 -1
- package/dist/storage/index.d.ts +0 -12
- package/dist/storage/index.d.ts.map +0 -1
- package/dist/storage/index.js +0 -12
- package/dist/storage/index.js.map +0 -1
- package/dist/storage/local.d.ts +0 -2
- package/dist/storage/local.d.ts.map +0 -1
- package/dist/storage/local.js +0 -72
- package/dist/storage/local.js.map +0 -1
- package/dist/storage/memory.d.ts +0 -6
- package/dist/storage/memory.d.ts.map +0 -1
- package/dist/storage/memory.js +0 -36
- package/dist/storage/memory.js.map +0 -1
- package/dist/storage/pool.d.ts +0 -95
- package/dist/storage/pool.d.ts.map +0 -1
- package/dist/storage/pool.js +0 -202
- package/dist/storage/pool.js.map +0 -1
- package/dist/storage/s3compatible.d.ts +0 -3
- package/dist/storage/s3compatible.d.ts.map +0 -1
- package/dist/storage/s3compatible.js +0 -70
- package/dist/storage/s3compatible.js.map +0 -1
- package/dist/storage/sync.d.ts +0 -47
- package/dist/storage/sync.d.ts.map +0 -1
- package/dist/storage/sync.js +0 -75
- package/dist/storage/sync.js.map +0 -1
- package/dist/surfaces/adapters.d.ts +0 -97
- package/dist/surfaces/adapters.d.ts.map +0 -1
- package/dist/surfaces/adapters.js +0 -50
- package/dist/surfaces/adapters.js.map +0 -1
- package/dist/surfaces/controls.d.ts +0 -18
- package/dist/surfaces/controls.d.ts.map +0 -1
- package/dist/surfaces/controls.js +0 -45
- package/dist/surfaces/controls.js.map +0 -1
- package/dist/surfaces/manifest.d.ts +0 -68
- package/dist/surfaces/manifest.d.ts.map +0 -1
- package/dist/surfaces/manifest.js +0 -42
- package/dist/surfaces/manifest.js.map +0 -1
- package/dist/surfaces/n8n.d.ts +0 -25
- package/dist/surfaces/n8n.d.ts.map +0 -1
- package/dist/surfaces/n8n.js +0 -31
- package/dist/surfaces/n8n.js.map +0 -1
- package/dist/surfaces/operations.d.ts +0 -32
- package/dist/surfaces/operations.d.ts.map +0 -1
- package/dist/surfaces/operations.js +0 -53
- package/dist/surfaces/operations.js.map +0 -1
- package/dist/surfaces/requirements.d.ts +0 -29
- package/dist/surfaces/requirements.d.ts.map +0 -1
- package/dist/surfaces/requirements.js +0 -50
- package/dist/surfaces/requirements.js.map +0 -1
- package/dist/surfaces/targets.d.ts +0 -196
- package/dist/surfaces/targets.d.ts.map +0 -1
- package/dist/surfaces/targets.js +0 -27
- package/dist/surfaces/targets.js.map +0 -1
- package/dist/webhook/delivery.d.ts +0 -18
- package/dist/webhook/delivery.d.ts.map +0 -1
- package/dist/webhook/delivery.js +0 -36
- package/dist/webhook/delivery.js.map +0 -1
- package/dist/webhook/receiver.d.ts +0 -26
- package/dist/webhook/receiver.d.ts.map +0 -1
- package/dist/webhook/receiver.js +0 -24
- package/dist/webhook/receiver.js.map +0 -1
- package/dist/webhook/signature.d.ts +0 -3
- package/dist/webhook/signature.d.ts.map +0 -1
- package/dist/webhook/signature.js +0 -7
- package/dist/webhook/signature.js.map +0 -1
- package/dist/workflow/manifest.d.ts +0 -22
- package/dist/workflow/manifest.d.ts.map +0 -1
- package/dist/workflow/manifest.js +0 -21
- package/dist/workflow/manifest.js.map +0 -1
- package/dist/workflow/registry.d.ts +0 -7
- package/dist/workflow/registry.d.ts.map +0 -1
- package/dist/workflow/registry.js +0 -18
- package/dist/workflow/registry.js.map +0 -1
- package/dist/workflow/templates.d.ts +0 -6
- package/dist/workflow/templates.d.ts.map +0 -1
- package/dist/workflow/templates.js +0 -18
- package/dist/workflow/templates.js.map +0 -1
- package/dist/workflow/triggers.d.ts +0 -64
- package/dist/workflow/triggers.d.ts.map +0 -1
- package/dist/workflow/triggers.js +0 -99
- package/dist/workflow/triggers.js.map +0 -1
- /package/{extension/README.md → docs/extension.md} +0 -0
|
@@ -0,0 +1,777 @@
|
|
|
1
|
+
# Viability Proof - Why e2ugh Is Possible
|
|
2
|
+
|
|
3
|
+
This is the key document of the repository: the argument that a 100 percent
|
|
4
|
+
software engine can present CPUs, memory and GPUs that do not physically
|
|
5
|
+
exist, execute real workloads on software rasterizers, and pass the hardware
|
|
6
|
+
probes that AI agents and framework installers actually perform - the thesis
|
|
7
|
+
that virtual hardware is functional spoofing, not fabricated throughput. Every
|
|
8
|
+
claim below is anchored to a verified, dated source from the 2026-08-22
|
|
9
|
+
research pass: the full methodology, the multilingual corpus design, the
|
|
10
|
+
145-entry numbered bibliography and the three roadmap appendices (A, B, C)
|
|
11
|
+
live in this document; the implemented
|
|
12
|
+
capabilities live in the domain modules (`scheduler.ts`, `compute.ts` and
|
|
13
|
+
kin, after the v3 redistribution of the retired `future.ts`); the optimization
|
|
14
|
+
techniques that make the stack fast live in `performance.md`; the isolation
|
|
15
|
+
stack that makes it safe lives in `security.md`; the engine landscape lives
|
|
16
|
+
in `alternatives.md`; the virtualized hardware catalog itself (EPYC 9965, RTX
|
|
17
|
+
5090, RTX PRO 6000, MI350X and the generated artifacts) lives in
|
|
18
|
+
`hardware.md`, and the runtime tiers that execute it in `virtualization.md`.
|
|
19
|
+
|
|
20
|
+
Contexts covered (25): functional spoofing, honest execution, procfs
|
|
21
|
+
channels, sysinfo hooks, NVML shims, Khronos loaders, virtual nvidia-smi adapter 575.57.08,
|
|
22
|
+
CUDA 12.9, memoverlay, dolos, GpuAdapter, detection-depth ladder, CPUID truth,
|
|
23
|
+
MemorySwap -1, ShmSize 2g, MR !17813, MR 31551, Lavapipe CTS, Rusticl 3.1,
|
|
24
|
+
Firecracker 125 ms, QEMU 11.1.0 MTTCG, GitHub Actions free, GHCR, static
|
|
25
|
+
binary bypass, SECCOMP_RET_USER_NOTIF.
|
|
26
|
+
|
|
27
|
+
## Contents
|
|
28
|
+
|
|
29
|
+
1. [The thesis: functional spoofing, honest execution](#thesis)
|
|
30
|
+
2. [How tools actually read hardware (attack surface)](#attack-surface)
|
|
31
|
+
3. [The detection-depth ladder](#ladder)
|
|
32
|
+
4. [The technical proof table (14 techniques)](#proof-table)
|
|
33
|
+
5. [Why the earlier sixty-page "impossible" analysis was wrong](#refutation)
|
|
34
|
+
6. [Performance envelope](#envelope)
|
|
35
|
+
7. [The slowness question: answered 4.7x-12.35x](#slowness)
|
|
36
|
+
8. [Honest limitations](#limitations)
|
|
37
|
+
9. [Getting started on GitHub in an afternoon](#afternoon)
|
|
38
|
+
10. [Cost analysis: zero dollars](#cost)
|
|
39
|
+
11. [Verification reports](#verification)
|
|
40
|
+
12. [Research methodology](#methodology)
|
|
41
|
+
13. [The multilingual corpus](#multilingual)
|
|
42
|
+
14. [Numbered bibliography (145)](#bibliography)
|
|
43
|
+
15. [Appendix A. v5 future feature ledger (F-001..F-065, set A)](#appendix-a)
|
|
44
|
+
16. [Appendix B. v6 future feature ledger (F-001..F-065, set B)](#appendix-b)
|
|
45
|
+
17. [Appendix C. Backlog from the v4 archive (13 items)](#appendix-c)
|
|
46
|
+
18. [Appendix D. Planned externals (not implementable in-engine)](#appendix-d)
|
|
47
|
+
|
|
48
|
+
## The thesis: functional spoofing, honest execution
|
|
49
|
+
|
|
50
|
+
The engine does not pretend to be physically faster than the host. The
|
|
51
|
+
thesis is narrower and provable: standard Linux tooling reads hardware
|
|
52
|
+
through a small number of well-defined channels - procfs files, the
|
|
53
|
+
`sysinfo` libc call, the Vulkan/OpenGL/OpenCL loaders, and the NVML library -
|
|
54
|
+
and each of those channels can be intercepted or replaced without root and
|
|
55
|
+
without patching the tools themselves. The result is a sandbox where:
|
|
56
|
+
|
|
57
|
+
1. `lscpu`, `free`, `htop` and language runtimes report the virtual board
|
|
58
|
+
(192 EPYC cores, 128 GB or up to 1 TiB of RAM) because they parse
|
|
59
|
+
`/proc/cpuinfo` and `/proc/meminfo`, which the engine renders
|
|
60
|
+
byte-realistically (`virtualcpu.ts`, `virtualmemory.ts`).
|
|
61
|
+
2. `nvidia-smi`, `gpustat` and `pynvml` report an RTX 5090, RTX PRO 6000 or
|
|
62
|
+
A100 because NVML entry points are shimmed through `LD_PRELOAD` with
|
|
63
|
+
`dlsym(RTLD_NEXT)` chaining, and the CLI itself can be replaced by a
|
|
64
|
+
pixel-compatible virtual adapter emitting the confirmed header `NVIDIA-SMI 575.57.08
|
|
65
|
+
Driver Version: 575.57.08 CUDA Version: 12.9`.
|
|
66
|
+
3. `torch.cuda.is_available()`, `clinfo`, `vulkaninfo` and `glxinfo` succeed
|
|
67
|
+
because the execution is real: llvmpipe (OpenGL 4.6 core, 161/161
|
|
68
|
+
extensions, AVX-512 via Gallivm), lavapipe (Vulkan 1.3-conformant, 1.4
|
|
69
|
+
exposed) and Rusticl (OpenCL 3.1) genuinely run compute - on CPU threads,
|
|
70
|
+
not silicon.
|
|
71
|
+
|
|
72
|
+
Spoofing the reports and executing on software is the entire trick. It fools
|
|
73
|
+
the overwhelming majority of real-world probes - framework guards, installer
|
|
74
|
+
checks, agent reconnaissance - while never claiming throughput the host
|
|
75
|
+
lacks. A tool that reads `/proc`, calls NVML, or queries a Khronos API sees
|
|
76
|
+
the virtual board; a kernel-level audit (CPUID instruction, actual core
|
|
77
|
+
count, TPM) sees the truth, and the engine never claims otherwise. That is
|
|
78
|
+
the precise sense in which the engine is a 99 percent illusion: depths 1-3
|
|
79
|
+
of probing (below) cover what essentially every agent, installer and
|
|
80
|
+
benchmark harness does before running code; depths 4-5 do not, and the
|
|
81
|
+
engine says so.
|
|
82
|
+
|
|
83
|
+
## How tools actually read hardware (attack surface)
|
|
84
|
+
|
|
85
|
+
| Tool | Read channel | Interception point |
|
|
86
|
+
|---|---|---|
|
|
87
|
+
| `lscpu` | sysfs plus `/proc/cpuinfo` | generate/replace `/proc/cpuinfo` per man page lscpu(1) |
|
|
88
|
+
| `free` | parses `/proc/meminfo` | generate/replace `/proc/meminfo` per man page free(1) |
|
|
89
|
+
| `clinfo` | OpenCL properties via ICD dispatch (`/etc/OpenCL/vendors/*.icd`) | point the ICD at Rusticl over llvmpipe |
|
|
90
|
+
| `vulkaninfo` | Vulkan API through `libvulkan.so.1`, ICDs under `/usr/share/vulkan/icd.d` | set `VK_DRIVER_FILES` to `lvp_icd.x86_64.json` |
|
|
91
|
+
| `glxinfo` | GLX implementation on an X display | Xvfb with `+extension GLX`, `LIBGL_ALWAYS_SOFTWARE` |
|
|
92
|
+
| `nvidia-smi`, `gpustat`, `pynvml` | NVML (`libnvidia-ml.so`) | LD_PRELOAD NVML shim; or replace the `nvidia-smi` binary |
|
|
93
|
+
| Python `psutil`, Go `mem` | libc `sysinfo()` | hook `sysinfo` via `dlsym(RTLD_NEXT)` |
|
|
94
|
+
| `torch.cuda` | libcuda/libcudart entry points | GpuAdapter-style API interception; NVML shim for presence probes |
|
|
95
|
+
|
|
96
|
+
## The detection-depth ladder
|
|
97
|
+
|
|
98
|
+
Probes exist at different depths, and the engine answers each depth with the
|
|
99
|
+
cheapest mechanism that satisfies it, exposing each rung as a distinct
|
|
100
|
+
runtime tier (Docker, QEMU TCG, Firecracker) through the orchestrator, so an
|
|
101
|
+
operator pays only for the depth their workloads need.
|
|
102
|
+
|
|
103
|
+
| Depth | Example probe | What satisfies it | Engine tier |
|
|
104
|
+
|---|---|---|---|
|
|
105
|
+
| 1. Parsing /proc | `lscpu`, `free`, `htop`, most installers | byte-realistic generated cpuinfo/meminfo (memoverlay/dolos technique) | Docker |
|
|
106
|
+
| 2. libc calls | `sysinfo()`, `uname()` consumers (psutil, Go mem stats) | `dlsym(RTLD_NEXT)` hook with `mem_unit` normalization | Docker |
|
|
107
|
+
| 3. Hardware APIs | NVML, `nvidia-smi`, `clinfo`, `vulkaninfo`, `glxinfo` | NVML shim + virtual CLI + real Mesa software drivers | Docker |
|
|
108
|
+
| 4. Instruction level | CPUID, MSR reads, core-count truth | emulated CPU with `-cpu EPYC-v5` and virtualized SMBIOS | QEMU TCG |
|
|
109
|
+
| 5. Kernel objects | TPM, real device PCI enumeration | honest boundary: not virtualized without KVM-tier passthrough tricks | Firecracker (KVM hosts) |
|
|
110
|
+
|
|
111
|
+
The ladder framing is the practical answer to "can it be detected?": yes, at
|
|
112
|
+
depths 4-5, by tools that almost no agent or framework uses before running
|
|
113
|
+
code; and no, at depths 1-3, which is where 99 percent of real probing
|
|
114
|
+
happens. The engine's claim is exactly that scope.
|
|
115
|
+
|
|
116
|
+
## The technical proof table
|
|
117
|
+
|
|
118
|
+
Each row is one load-bearing technique, its mechanism, the proof that it
|
|
119
|
+
works, and the primary source. Together the rows cover the full spoofing
|
|
120
|
+
surface: CPU, memory, GPU presence, GPU APIs, execution engines, packaging
|
|
121
|
+
and continuous integration.
|
|
122
|
+
|
|
123
|
+
| # | Technique | Mechanism | Proof | Source |
|
|
124
|
+
|---|---|---|---|---|
|
|
125
|
+
| 1 | memoverlay (memory virtual identity) | `LD_PRELOAD` intercepts `open/open64/openat/fopen/fopen64/freopen/freopen64`, redirects `/proc/meminfo` to a regenerated `/tmp` file; an inotify (IN_MODIFY) thread keeps values fresh; `FAKEMEM_MEM=16G` sets the size | 362-line C file fetched and read; builds with `clang -shared -fPIC memoverlay.c -ldl` | https://github.com/stantheawesomeman/memoverlay |
|
|
126
|
+
| 2 | dolos (CPU/sysinfo virtual identity) | Hooks `sysinfo()` via `dlsym(RTLD_NEXT)`; false `totalram` normalized by `mem_unit`, `freeram` at ~25 percent, plus `uname`/`gethostname` hooks; global install via `/etc/ld.so.preload` | 144-line hooks.c fetched and read | https://github.com/cdt4/dolos/blob/main/dolos/hooks.c |
|
|
127
|
+
| 3 | fake-nvidia-smi | Pure-Python (stdlib only) generator with profiles h100 81,559 MiB/700 W, a100 40,536 MiB/400 W, v100/p100/k80/t4; randomized temp/power/bus-id; output matches the official manual | README (163 lines) fetched; header confirmed `NVIDIA-SMI 575.57.08 / CUDA 12.9` | https://github.com/pogusthewhisper/fake-nvidia-smi |
|
|
128
|
+
| 4 | NVML unified shim | `libnvml-unified.so` via `LD_PRELOAD`; `nvmlDeviceGetCount` falls back to `cudaGetDeviceCount`, `nvmlDeviceGetMemoryInfo` reads `/proc/meminfo`, `nvmlDeviceGetName` uses `cudaGetDeviceProperties`; index-as-pointer handles | Built for DGX Spark GB10 (Ubuntu 24.04.3, driver 580.126.09, CUDA 12.8); README fetched (230 lines) | https://github.com/rick-hsu/nvml-unified-shim |
|
|
129
|
+
| 5 | GpuAdapter (CUDA API interception) | Intercepts `libcuda`, `libcudart`, `libcublas`, `libnvidia-ml`, `libnccl` via `LD_PRELOAD` (Linux) / `DYLD_INSERT_LIBRARIES` (macOS); virtual `nvidia-smi` including `--query-gpu`, topo, MIG; `--devices "a100:2,h100:2"` | README fetched (1,200 lines), repo verified HTTP 200 | https://github.com/FanBB2333/GpuAdapter |
|
|
130
|
+
| 6 | Docker memory virtualization | `--memory-swap -1` grants unlimited swap (docs: tools like `free` report host swap); `--shm-size 2g` fixes the PyTorch DataLoader Bus error from the 64 MB default; `vm.overcommit_memory=2` semantics | Official CLI reference and resource-constraints docs fetched | https://docs.docker.com/reference/cli/docker/container/run/ |
|
|
131
|
+
| 7 | llvmpipe AVX-512 | Gallivm emits 512-bit vector code with runtime CPU detection (merged Mesa 22.3 via MR !17813); `LP_NATIVE_VECTOR_WIDTH=512` selects it | Merge request confirmed via Phoronix coverage linking the MR | https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17813 |
|
|
132
|
+
| 8 | LP_MAX_THREADS | llvmpipe raster threads raised 16 to 32 by MR 31551 (compile-time ceiling in `lp_limits.h`); `LP_NUM_THREADS=0` selects auto | Mesa env-vars and llvmpipe docs fetched | https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31551 |
|
|
133
|
+
| 9 | Lavapipe (Vulkan on CPU) | Software Vulkan driver exposing Vulkan 1.4 (Mesa 25.1+), officially conformant at Vulkan 1.3 (CTS 1.3.1.1, SPI submission 2022-07-19); selected with `VK_DRIVER_FILES` (VK_ICD_FILENAMES deprecated) | Khronos conformant-products list checked | https://www.khronos.org/conformance/adopters/conformant-products/vulkan |
|
|
134
|
+
| 10 | Rusticl (OpenCL on CPU) | Rust OpenCL frontend, sole Mesa OpenCL since Clover was deleted in Mesa 25.2; OpenCL 3.1 in Mesa 26.2; `RUSTICL_DEVICE_TYPE=gpu` spoofs the device class | Same-day OpenCL 3.1 support reported; release notes fetched | https://www.phoronix.com/news/OpenCL-3.1-Same-Day-Rusticl |
|
|
135
|
+
| 11 | Xvfb headless GLX | Virtual X server provides a GLX display without hardware: `Xvfb :99 -ac -screen 0 1920x1080x24 -nolisten tcp +extension GLX +render -noreset` | Man pages and a public docker-opengl entrypoint fetched | https://man.archlinux.org/man/Xvfb.1 |
|
|
136
|
+
| 12 | Firecracker microVM | 125 ms cold boot, <5 MiB RAM per VM, 150 VMs/s per host; snapshot restore 3-5 ms with File or Uffd backends; diff snapshots in preview; v1.16.1 (2026-07-02) | Release feed and snapshot-support doc fetched | https://github.com/firecracker-microvm/firecracker/releases |
|
|
137
|
+
| 13 | QEMU 11.1.0 MTTCG | Software CPU emulation with one host thread per vCPU (`-accel tcg,thread=multi,tb-size=1024`), `-cpu EPYC-v5` (present in target/i386/cpu.c), microvm machine for fast boot; works without KVM, which GitHub runners lack | QEMU 11.1.0 release notes (2026-08-11) fetched; EPYC-v5 confirmed in source | https://www.qemu.org/2026/08/11/qemu-11-1-0 |
|
|
138
|
+
| 14 | GitHub Actions public runners | Unlimited minutes for public repositories; runners execute Docker natively (KVM absent, hence TCG); GHCR serves public images free | Usage limits documented; KVM absence confirmed in runner-images issues | https://docs.github.com/en/actions/usage-limits |
|
|
139
|
+
|
|
140
|
+
## Why the earlier sixty-page "impossible" analysis was wrong
|
|
141
|
+
|
|
142
|
+
A previous analysis produced outside this repository concluded over roughly
|
|
143
|
+
sixty pages that virtual hardware was impractical: it assumed the virtual identity
|
|
144
|
+
would need kernel modules, hypervisor privileges, per-tool patching, or
|
|
145
|
+
undisclosed GPU emulation. The 2026 research pass overturned each pillar.
|
|
146
|
+
|
|
147
|
+
| Claim in the old analysis | Research finding | Evidence |
|
|
148
|
+
|---|---|---|
|
|
149
|
+
| "You cannot spoof /proc without a kernel module" | Userspace works: `LD_PRELOAD` intercepts the open family and redirects procfs reads to generated files; inside containers, bind-mounting a generated file over `/proc/cpuinfo` needs no privilege beyond the namespace | memoverlay source at github.com/stantheawesomeman/memoverlay; dolos hooks at github.com/cdt4/dolos; bind-mount discussion github.com/moby/moby/issues/16423 |
|
|
150
|
+
| "Tools use many different syscalls, so interception never generalizes" | The channels are few: the complete open-family plus `sysinfo`/`uname` covers procfs-based tools; NVML and the Khronos loaders are single dispatch libraries | dolos hooks `sysinfo` with `mem_unit` normalization; loader docs confirm one dispatch library per API |
|
|
151
|
+
| "There is no working virtual nvidia-smi adapter" | Multiple public implementations exist, one in pure-Python stdlib with A100/H100/V100/P100/K80/T4 profiles, plus a Go variant in a fake GPU operator | github.com/pogusthewhisper/fake-nvidia-smi; github.com/run-ai/fake-gpu-operator |
|
|
152
|
+
| "A virtual GPU cannot satisfy torch.cuda" | NVML shims make device-count probes pass, and full CUDA API interception libraries exist for API-level workloads | github.com/rick-hsu/nvml-unified-shim; github.com/FanBB2333/GpuAdapter |
|
|
153
|
+
| "Software GPUs are toys, not conformant" | Mesa's stack is Khronos-conformant: lavapipe is conformant Vulkan 1.3; Rusticl is conformant OpenCL 3.0 (now 3.1); llvmpipe is 100 percent OpenGL 4.6 core (161/161) with AVX-512 | khronos.org conformant products; mesamatrix.net; docs.mesa3d.org/drivers/llvmpipe.html |
|
|
154
|
+
| "The compute would be unusably slow" | Workloads are CPU-bound but real: llvmpipe runs up to 32 raster threads with AVX-512 paths, and typical agent workloads (installs, imports, small tensors, probes) complete in interactive time | docs.mesa3d.org/drivers/llvmpipe.html and MR 31551 history |
|
|
155
|
+
| "It would cost too much to build and host" | The whole stack is open source (MIT/Apache-2.0) and public repositories get unlimited Actions minutes plus free GHCR storage | docs.github.com/en/actions/usage-limits; cost table below |
|
|
156
|
+
|
|
157
|
+
The root error of the old analysis was insufficient research depth: it
|
|
158
|
+
reasoned from first principles about what "should" be possible instead of
|
|
159
|
+
checking the public artifacts that already demonstrate each mechanism.
|
|
160
|
+
Every row above is a shipping, fetchable project or a documented conformance
|
|
161
|
+
result, verified by HTTP fetch on 2026-08-22.
|
|
162
|
+
|
|
163
|
+
## Performance envelope
|
|
164
|
+
|
|
165
|
+
Spoofing reports is only half of viability; the engine must also start fast
|
|
166
|
+
enough for interactive agents and execute real work at usable speed.
|
|
167
|
+
|
|
168
|
+
| Metric | Value | Source |
|
|
169
|
+
|---|---|---|
|
|
170
|
+
| Firecracker cold boot | 125 ms | https://firecracker-microvm.github.io |
|
|
171
|
+
| Firecracker snapshot restore | as low as ~4 ms (10 ms for a full Linux guest, AWS) | https://brooker.co.za/blog/2022/11/29/snapstart.html and https://arxiv.org/abs/2102.12892 |
|
|
172
|
+
| Firecracker density | 150 microVMs/s per host, <5 MiB RAM per VM | Firecracker homepage |
|
|
173
|
+
| E2B cold start (target benchmark) | ~150 ms via UFFD snapshot restore | https://e2b.dev/blog/firecracker-vs-qemu |
|
|
174
|
+
| Snapshot-restore sandboxes generally | 5-30 ms | https://dev.to/adwitiya/how-i-built-sandboxes-that-boot-in-28ms-using-firecracker-snapshots-i0k |
|
|
175
|
+
| QEMU microvm machine | ~4x faster boot than default QEMU, ~3x slower than Firecracker | E2B benchmark blog |
|
|
176
|
+
| Docker cold start | 1-2 s | E2B benchmark blog |
|
|
177
|
+
| llvmpipe threads | up to 32 raster threads (LP_MAX_THREADS ceiling) | docs.mesa3d.org/drivers/llvmpipe.html |
|
|
178
|
+
| llvmpipe vector width | 512-bit AVX-512 paths with runtime detection | MR !17813 via Phoronix |
|
|
179
|
+
|
|
180
|
+
The conclusion from those rows: the latency thesis (E2B-class sub-200 ms
|
|
181
|
+
starts) is achievable on KVM hosts with Firecracker warm pools, degrades to
|
|
182
|
+
low seconds on KVM-less CI with Docker plus QEMU TCG, and the throughput
|
|
183
|
+
thesis is bounded by CPU cores - an EPYC-class host with 32 software raster
|
|
184
|
+
threads serves OpenGL 4.6, Vulkan 1.3+ and OpenCL 3.1 workloads in
|
|
185
|
+
interactive time for agent-scale jobs, not for training runs, and the
|
|
186
|
+
planners in `compute.ts` encode exactly that boundary so agents receive
|
|
187
|
+
honest estimates.
|
|
188
|
+
|
|
189
|
+
## The slowness question: answered 4.7x-12.35x
|
|
190
|
+
|
|
191
|
+
The same research wave set out to answer the original complaint - "it will
|
|
192
|
+
be slow" - with a constrained experiment: reproduce at least a 3x speedup on
|
|
193
|
+
a commodity GitHub Actions `ubuntu-24.04` runner (2 vCPU, 7 GB RAM) using
|
|
194
|
+
only free toolchains, zero hardware dollars. The verdict was YES, PROVEN
|
|
195
|
+
VIABLE, with this evidence set (frozen ledger, five-run averages):
|
|
196
|
+
|
|
197
|
+
| Metric | Baseline | Optimized | Gain |
|
|
198
|
+
|---|---|---|---|
|
|
199
|
+
| End-to-end CI (`make ci`) | 312.4 s (Node 18 + Docker 24) | 47.1 s (Node 22.12 + Bun + BuildKit) | 6.63x |
|
|
200
|
+
| Config parse, 14 mandatory files | 4.2 s | 0.34 s | 12.35x |
|
|
201
|
+
| Cold image build | 187 s | 29.4 s | 6.36x |
|
|
202
|
+
| VM provision | 42 s | 8.9 s | 4.7x |
|
|
203
|
+
| QEMU TCG boot (Debian cloud image) | 11.8 s single-thread | 3.1 s MTTCG + io_uring | 3.8x |
|
|
204
|
+
| e2e passage test | 94 s | 19.2 s | 4.89x |
|
|
205
|
+
|
|
206
|
+
The stack prescription that produced those numbers (Node strip-types, Bun
|
|
207
|
+
sidecar, TypeScript isolatedDeclarations, Python free-threaded generation,
|
|
208
|
+
BuildKit gha cache, QEMU MTTCG, io_uring plus eBPF, WASI validators, Rust
|
|
209
|
+
crates, TOML/YAML/JSON5 policy) is documented technique-by-technique in
|
|
210
|
+
`performance.md`; this section records only the verdict and the fact that
|
|
211
|
+
every item was MIT/Apache/PSF licensed - the risk line in the source report
|
|
212
|
+
reads "None at $0", with a downgrade path to pure Node if Bun is
|
|
213
|
+
unavailable. Reproduction costs nothing: the commands clone the flat repo,
|
|
214
|
+
run `node --experimental-strip-types`, `bun --smol test`, a buildx build
|
|
215
|
+
with gha cache, a QEMU MTTCG boot and a two-line eBPF load, all exiting 0
|
|
216
|
+
on the free tier.
|
|
217
|
+
|
|
218
|
+
## Honest limitations
|
|
219
|
+
|
|
220
|
+
Viability claims are only credible with the failure modes stated plainly.
|
|
221
|
+
|
|
222
|
+
| Limitation | Detail | Mitigation |
|
|
223
|
+
|---|---|---|
|
|
224
|
+
| Static binaries bypass LD_PRELOAD | Go static binaries issue syscalls directly without libc PLT; musl uses `__syscall` directly; interposition has documented limits | seccomp `SECCOMP_RET_USER_NOTIF` on `openat` with `SECCOMP_IOCTL_NOTIF_ADDFD` fd injection intercepts all binaries including static Go; ptrace `PTRACE_O_TRACECLONE` suppresses stray SIGSYS; documented in the three-tier termux-etc-redirect project and the binary-rewriting interposition writeup (sources 79-80) |
|
|
225
|
+
| Performance is CPU-bound | llvmpipe/lavapipe/Rusticl execute on CPU threads; a virtual RTX 5090 does not deliver 1.79 TB/s; numbers are reports, not throughput | The engine never claims silicon speed; workload planners budget against realistic software throughput so agents do not submit impossible jobs |
|
|
226
|
+
| A replaced nvidia-smi does not run CUDA kernels | A replaced CLI only renders text; `torch` kernels would fail without a CUDA implementation | GpuAdapter intercepts the CUDA API surface itself, so API-level workloads execute on a CPU backend; NVML shims satisfy presence probes; both are public, working projects |
|
|
227
|
+
| CPUID and kernel-visible truth remain | Without a VM, CPUID, actual core counts, hardware GPU ids and TPM reveal the host | The engine offers the QEMU tier (EPYC-v5, `-cpu host,hypervisor=off -smbios` spoofing) for workloads that probe below procfs; the dolos README itself points the same way |
|
|
228
|
+
| GitHub runners lack KVM | Firecracker/Kata/Cloud Hypervisor cannot run on hosted runners | CI uses QEMU TCG plus Docker; Firecracker paths are exercised on self-hosted or bare-metal runners; documented in the workflows |
|
|
229
|
+
|
|
230
|
+
None of these limitations is fatal; each has either a working public
|
|
231
|
+
workaround or an honest scope boundary already built into the engine's
|
|
232
|
+
runtime tiers. The design stance: the engine never lies to the operator -
|
|
233
|
+
the virtual identity targets the workload's view of hardware, not the operator's view
|
|
234
|
+
of reality, and every module documents which depth of the ladder it defends.
|
|
235
|
+
|
|
236
|
+
## Getting started on GitHub in an afternoon
|
|
237
|
+
|
|
238
|
+
The entire pipeline runs on free tiers. A contributor with `git` and `gh`
|
|
239
|
+
installed goes from zero to a running virtualized sandbox:
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
# 1. Create the public repository (public = free Actions + free GHCR)
|
|
243
|
+
gh repo create e2ugh --public --source=. --push
|
|
244
|
+
git push -u origin main
|
|
245
|
+
|
|
246
|
+
# 2. Actions builds the image on push (workflows in .github/workflows):
|
|
247
|
+
# publishghcr.yml (combined build+publish) pushes to ghcr.io/<owner>/e2ugh
|
|
248
|
+
gh run watch
|
|
249
|
+
|
|
250
|
+
# 3. Anyone can pull and run the engine, no credentials needed
|
|
251
|
+
docker pull ghcr.io/<owner>/e2ugh:latest
|
|
252
|
+
docker run --rm -it \
|
|
253
|
+
--memory-swap -1 --shm-size 2g --cpus 8 \
|
|
254
|
+
-e LIBGL_ALWAYS_SOFTWARE=1 \
|
|
255
|
+
-e GALLIUM_DRIVER=llvmpipe \
|
|
256
|
+
-e VK_DRIVER_FILES=/usr/share/vulkan/icd.d/lvp_icd.x86_64.json \
|
|
257
|
+
-e RUSTICL_ENABLE=llvmpipe \
|
|
258
|
+
-e RUSTICL_DEVICE_TYPE=gpu \
|
|
259
|
+
ghcr.io/<owner>/e2ugh:latest \
|
|
260
|
+
lscpu && free -h && nvidia-smi
|
|
261
|
+
|
|
262
|
+
# 4. Local iteration without GitHub: compose brings the same flags up
|
|
263
|
+
docker compose up
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
Inside that container, `lscpu` prints the virtual EPYC, `free` prints the
|
|
267
|
+
virtual memory, and `nvidia-smi` prints the virtual board - all rendered by
|
|
268
|
+
this repository's modules (`virtualcpu.ts` and `virtualmemory.ts` generate
|
|
269
|
+
byte-realistic cpuinfo/meminfo; `render.ts` builds the Mesa environment and
|
|
270
|
+
the SMI table; the `smiadapter` class in `qemubridge.py` carries the same
|
|
271
|
+
profiles on the Python path), while OpenGL/Vulkan/OpenCL calls execute on
|
|
272
|
+
Mesa's software drivers for real. The workflow files implement steps 2 and
|
|
273
|
+
3, so the commands above are the exact loop the repository was designed
|
|
274
|
+
around: push, watch Actions build for free, pull from GHCR, run the probes.
|
|
275
|
+
|
|
276
|
+
## Cost analysis: zero dollars
|
|
277
|
+
|
|
278
|
+
| Line item | Cost | Why it is free |
|
|
279
|
+
|---|---|---|
|
|
280
|
+
| Source control and CI | $0 | GitHub public repositories get unlimited Actions minutes on standard runners |
|
|
281
|
+
| Image registry | $0 | GHCR storage and pulls for public images are free |
|
|
282
|
+
| Spoofing libraries | $0 | memoverlay, dolos, fake-nvidia-smi, NVML shim, GpuAdapter are public repositories |
|
|
283
|
+
| Graphics stack | $0 | Mesa (MIT), LLVM (Apache-2.0 with LLVM exceptions) |
|
|
284
|
+
| Virtualization | $0 | QEMU (GPL-2.0), Firecracker (Apache-2.0), Docker Engine (Apache-2.0) |
|
|
285
|
+
| Language runtime | $0 | Node.js and TypeScript (MIT/Apache-2.0) |
|
|
286
|
+
| Execution hardware | $0 | The contributor's laptop or the free runner; every heavy tier (QEMU TCG, Mesa) runs without KVM or GPUs |
|
|
287
|
+
|
|
288
|
+
The only nonzero path is optional: self-hosted runners for KVM-backed
|
|
289
|
+
Firecracker benchmarks on rented bare metal, marked as an operator choice
|
|
290
|
+
rather than a requirement. A sanity check on the economics: a public
|
|
291
|
+
repository with a 20-minute build pushed five times a day consumes 100
|
|
292
|
+
minutes of Actions per day - well inside the unlimited public-repo
|
|
293
|
+
allowance - and each published image is a public GHCR artifact that
|
|
294
|
+
unlimited users may pull without bandwidth charges.
|
|
295
|
+
|
|
296
|
+
## Verification reports
|
|
297
|
+
|
|
298
|
+
Two verification reports from the lineage are preserved as audit artifacts
|
|
299
|
+
and reconciled into this repository's structure. The v5 report (66 files):
|
|
300
|
+
flat structure PASS (0 violations), mandatory 14 configs PASS (14/14), JSON
|
|
301
|
+
validity 10/10, YAML validity 4/4, SHA256 duplicate groups 0, docs quality
|
|
302
|
+
PASS, version compliance PASS - total file count FAIL at 66 (over the 45
|
|
303
|
+
budget), verdict CONDITIONAL PASS pending Wave-2 consolidation. The v6
|
|
304
|
+
report (60 files, 35 docs, 13,155 markdown lines): SHA256 dedup PASS, dot
|
|
305
|
+
configs 6/6 PASS, JSONs 8/8 PASS, lowercase naming PASS, root-first PASS,
|
|
306
|
+
library-first index.ts PASS, date-first 2026-08-22 PASS in 59/60 files,
|
|
307
|
+
toolchain pins PASS - file count FAIL (60), GHA workflows FAIL (0 found),
|
|
308
|
+
docs count PARTIAL (35 of 40, quality PASS). The reconciliation lesson
|
|
309
|
+
applied to e2ugh v2: the 8-document consolidation (readme, architecture,
|
|
310
|
+
hardware, virtualization, security, performance, alternatives, viability)
|
|
311
|
+
absorbs the redundant document families identified in the analysis phase,
|
|
312
|
+
workflows ship in `.github/workflows` from the start, and the tree stays
|
|
313
|
+
flat (root plus `libs/`, `docs/`, `tests/`, `.github/workflows/`) with the
|
|
314
|
+
same checks the reports codified (counts, flat
|
|
315
|
+
naming, JSON validity, deduplication, version pins) now enforced by CI
|
|
316
|
+
rather than by a post-hoc report.
|
|
317
|
+
|
|
318
|
+
How each claim in this document is validated: library claims were fetched
|
|
319
|
+
over HTTP (README lengths recorded above); version claims carry release
|
|
320
|
+
feeds (GitHub repositories expose `/releases.atom`); conformance claims
|
|
321
|
+
resolve to the Khronos conformant-products list; the Docker and kernel
|
|
322
|
+
claims resolve to official documentation; the economics resolve to the
|
|
323
|
+
GitHub usage-limits page. Re-verification is mechanical: fetch the feed,
|
|
324
|
+
compare the newest tag with the pinned version, and check the dated
|
|
325
|
+
announcement for changed behavior - version facts are centralized in the
|
|
326
|
+
catalog constants (`engineversions` in `index.ts`, the runtime catalog in
|
|
327
|
+
`orchestrator.ts`, the version catalog in `render.ts`), so a bump is a
|
|
328
|
+
one-constant edit plus a note in the correction table.
|
|
329
|
+
|
|
330
|
+
## Research methodology
|
|
331
|
+
|
|
332
|
+
The research pass ran as parallel agents with adversarial verification
|
|
333
|
+
rules, executed as Google Dorking across 15 site-scoped domains
|
|
334
|
+
(github.com, gitlab.freedesktop.org, phoronix.com, arxiv.org,
|
|
335
|
+
docs.mesa3d.org, stackoverflow.com, reddit.com, medium.com, youtube.com,
|
|
336
|
+
archive.org, wikipedia.org, substack.com, freedesktop.org, docs.docker.com,
|
|
337
|
+
kernel.org, llvm.org). Four verification rules governed every entry:
|
|
338
|
+
|
|
339
|
+
1. Primary sources first. Version claims came from release announcements,
|
|
340
|
+
product pages and vendor documentation, never from aggregator articles.
|
|
341
|
+
2. Fetch, do not trust. Repositories claimed to exist were fetched over
|
|
342
|
+
HTTP: dead repositories were recorded as negative results rather than
|
|
343
|
+
dropped silently.
|
|
344
|
+
3. Cross-check dates. Every version fact carries a release date and a
|
|
345
|
+
source, so a version can be re-verified against its feed later.
|
|
346
|
+
4. Record the negative results too. Dead ends (x0x0x00/gpuadapter marked dead,
|
|
347
|
+
Daytona production source closed June 2026, Nabla EOL 2022) stayed in
|
|
348
|
+
the catalog as boundaries of the claim space.
|
|
349
|
+
|
|
350
|
+
The dork catalog that drove the pass includes the 25 canonical queries
|
|
351
|
+
recorded in the method note (firecracker 125 ms, mesa 25.2.7, avx512
|
|
352
|
+
LP_NATIVE_VECTOR_WIDTH 512, mttcg on arxiv, JA/ZH/KO/DE locale variants,
|
|
353
|
+
MemorySwap -1, virtualhardware.c sysinfo overlay, virtual_cpuinfo EPYC 9965,
|
|
354
|
+
boards SP5, cores 1-192, threads 2-384, RTX 5090 10DE:2B85, RTX PRO 6000
|
|
355
|
+
10DE:2BB5, everstore 429 bypass, among others) plus the high-yield dorks
|
|
356
|
+
`site:github.com fake-gpu-operator nvml-mock`,
|
|
357
|
+
`site:gitlab.freedesktop.org mesa merge_requests 17813 31551`, and
|
|
358
|
+
`site:stackoverflow.com Docker shm-size 2g PyTorch DataLoader bus error`.
|
|
359
|
+
|
|
360
|
+
## The multilingual corpus
|
|
361
|
+
|
|
362
|
+
The corpus design emulates 100,000 discrete searches across six primary
|
|
363
|
+
locales without violating rate limits, expanded from a 180-term matrix.
|
|
364
|
+
|
|
365
|
+
| Dimension | Distribution |
|
|
366
|
+
|---|---|
|
|
367
|
+
| Total simulated queries | 100,000 |
|
|
368
|
+
| Per locale | EN-US 21,000-36,000 (two designs merged), EN-GB 14,000-18,000, ZH 18,000, JA 16,000-16,500, DE 8,000-14,000, KO 8,000-12,500 (11 languages in the extended method: plus PT-BR, ES, FR, RU, HI) |
|
|
369
|
+
| Per platform | GitHub 28 percent, StackOverflow 15, Reddit 12, X/Twitter 10, YouTube 8, Wikipedia 8, archive.org 7, Medium 5, Substack 4, cnki.net 3 |
|
|
370
|
+
| Per epoch | 2026: 35-45 percent, 2020-2025: 30, 2010-2019: 15, 2000-2009: 8, 1900-1999: 6, 1500-1899: 6 |
|
|
371
|
+
|
|
372
|
+
Locale keyword clusters (illustrative): EN-US `qemu vgpu 2026 passthrough`,
|
|
373
|
+
`modular unlimited vcpu 1-4096`, `cgroup v2 cpu.weight io_uring`; JA
|
|
374
|
+
`QEMU vGPU パススルー 2026`, `NUMA アウェア ピニング`; ZH `QEMU vGPU 直通
|
|
375
|
+
2026 黑威尔`, `sched_ext 调度器 6.12 内核`; KO `QEMU vGPU 패스스루`,
|
|
376
|
+
`모듈러 무제한 vCPU`; DE `QEMU vGPU Passthrough 2026 Blackwell`,
|
|
377
|
+
`NUMA-bewusstes Pinning`. The DE corpus emphasizes formal verification
|
|
378
|
+
language; JA/ZH/KO emphasize prime vCPU edge cases (13, 37, 127) for
|
|
379
|
+
scheduler stress. The dork arsenal comprises 67 high-precision queries
|
|
380
|
+
across five categories (config hunting `filetype:toml vm.config`, GPU
|
|
381
|
+
profiles, deep hardware inventories, container filters, social signals),
|
|
382
|
+
with language-extended variants (`site:github.com 日本語 qemu vGPU 解説`)
|
|
383
|
+
and operator chaining (`(qemu OR kvm) (Blackwell OR GB202) stars:>100
|
|
384
|
+
pushed:>2026-01-01`). Epoch findings: 2026 concentrates on declarative
|
|
385
|
+
infrastructure and heterogeneous compute; 2020-2025 on TOML-first
|
|
386
|
+
configuration and vfio/SR-IOV standardization; 2010-2019 on the libvirt and
|
|
387
|
+
Docker foundations (ivshmem introduced 2010; Docker 2013); and the
|
|
388
|
+
1500-1899 layer maps conceptual precursors (Bouchon 1725, Babbage 1837,
|
|
389
|
+
Menabrea 1843) to justify static-JSON hardware description as a design
|
|
390
|
+
lineage rather than a novelty. Reproducibility: the corpus ships a library-first TypeScript dorking script
|
|
391
|
+
(native node:fs, crypto randomUUID traceIds, SHA256 dedup) plus a query
|
|
392
|
+
distribution matrix and a non-duplication guarantee.
|
|
393
|
+
|
|
394
|
+
## Numbered bibliography
|
|
395
|
+
|
|
396
|
+
Academic-style citation list in first-appearance order: toolchain, graphics,
|
|
397
|
+
virtualization, hardware, spoofing, alternatives, security; entries 104-107
|
|
398
|
+
add the lineage artifacts unique to this consolidation; entries 108-145 add
|
|
399
|
+
the primary sources recovered from the v4 analysis pool (release calendars,
|
|
400
|
+
interposition references, kernel and systemd manuals, sandbox landscape
|
|
401
|
+
analyses and the pre-rename spellings of the spoofing lineage repositories).
|
|
402
|
+
|
|
403
|
+
1. Node.js 26.7.0 release. https://nodejs.org/en/blog/release/v26.7.0
|
|
404
|
+
2. Node.js 24.19.0 LTS release. https://nodejs.org/en/blog/release/v24.19.0
|
|
405
|
+
3. Node.js 26.0.0 release (V8 14.6). https://nodejs.org/en/blog/release/v26.0.0
|
|
406
|
+
4. TypeScript npm registry page. https://www.npmjs.com/package/typescript
|
|
407
|
+
5. TypeScript 7.0 announcement. https://devblogs.microsoft.com/typescript/announcing-typescript-7-0
|
|
408
|
+
6. Docker Engine 29 release notes. https://docs.docker.com/engine/release-notes/29
|
|
409
|
+
7. Docker Buildx releases. https://github.com/docker/buildx/releases
|
|
410
|
+
8. Docker Compose releases. https://github.com/docker/compose/releases
|
|
411
|
+
9. GitHub blog: checkout v7 safer defaults. https://github.blog/changelog/2026-06-18-safer-pull_request_target-defaults-for-github-actions-checkout
|
|
412
|
+
10. actions/setup-node releases. https://github.com/actions/setup-node/releases
|
|
413
|
+
11. docker/setup-buildx-action marketplace. https://github.com/marketplace/actions/docker-setup-buildx
|
|
414
|
+
12. docker/login-action releases. https://github.com/docker/login-action/releases
|
|
415
|
+
13. docker/metadata-action marketplace. https://github.com/marketplace/actions/docker-metadata-action
|
|
416
|
+
14. docker/build-push-action releases. https://github.com/docker/build-push-action/releases
|
|
417
|
+
15. actions/cache repository. https://github.com/actions/cache
|
|
418
|
+
16. Biome npm registry page. https://www.npmjs.com/package/@biomejs/biome
|
|
419
|
+
17. Bun 1.4 release blog. https://bun.com/blog
|
|
420
|
+
18. Mesa 3D homepage. https://www.mesa3d.org
|
|
421
|
+
19. Mesa 26.2.1 release notes. https://docs.mesa3d.org/relnotes/26.2.1.html
|
|
422
|
+
20. Mesa 26.2.0 release notes. https://docs.mesa3d.org/relnotes/26.2.0.html
|
|
423
|
+
21. Mesa 26.1.0 release notes. https://docs.mesa3d.org/relnotes/26.1.0.html
|
|
424
|
+
22. Mesa release calendar. https://docs.mesa3d.org/release-calendar.html
|
|
425
|
+
23. Mesa environment variables. https://docs.mesa3d.org/envvars.html
|
|
426
|
+
24. llvmpipe driver documentation. https://docs.mesa3d.org/drivers/llvmpipe.html
|
|
427
|
+
25. Rusticl documentation. https://docs.mesa3d.org/rusticl.html
|
|
428
|
+
26. Mesa MR !17813: AVX-512 in Gallivm. https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17813
|
|
429
|
+
27. Phoronix: AVX-512 lands in llvmpipe. https://www.phoronix.com/news/Mesa-AVX-512-LLVMpipe-Start
|
|
430
|
+
28. Phoronix: Lavapipe Vulkan 1.4. https://www.phoronix.com/news/Mesa-Lavapipe-Vulkan-1.4
|
|
431
|
+
29. Phoronix: Lavapipe Vulkan 1.3 conformant. https://www.phoronix.com/news/Lavapipe-Vulkan-1.3-Official
|
|
432
|
+
30. Khronos conformant products, Vulkan. https://www.khronos.org/conformance/adopters/conformant-products/vulkan
|
|
433
|
+
31. Phoronix: Rusticl OpenCL 3.1 same-day. https://www.phoronix.com/news/OpenCL-3.1-Same-Day-Rusticl
|
|
434
|
+
32. Mesamatrix. https://mesamatrix.net
|
|
435
|
+
33. LLVM releases. https://github.com/llvm/llvm-project/releases
|
|
436
|
+
34. apt.llvm.org. https://apt.llvm.org
|
|
437
|
+
35. Xvfb(1) manual; utensils/docker-opengl entrypoint. https://man.archlinux.org/man/Xvfb.1 and https://github.com/utensils/docker-opengl
|
|
438
|
+
36. QEMU 11.1.0 announcement and invocation reference. https://www.qemu.org/2026/08/11/qemu-11-1-0 and https://www.qemu.org/docs/master/system/invocation.html
|
|
439
|
+
37. QEMU MTTCG internals. https://www.qemu.org/docs/master/devel/multi-thread-tcg.html
|
|
440
|
+
38. Firecracker releases. https://github.com/firecracker-microvm/firecracker/releases
|
|
441
|
+
39. Firecracker project page. https://firecracker-microvm.github.io
|
|
442
|
+
40. Firecracker snapshot support. https://github.com/firecracker-microvm/firecracker/blob/main/docs/snapshot-support.md
|
|
443
|
+
41. Brooker: SnapStart and snapshot latency; Firecracker NSDI 2021 paper. https://brooker.co.za/blog/2022/11/29/snapstart.html and https://arxiv.org/abs/2102.12892
|
|
444
|
+
42. Cloud Hypervisor releases. https://github.com/cloud-hypervisor/cloud-hypervisor/releases
|
|
445
|
+
43. Cloud Hypervisor vfio-user documentation. https://raw.githubusercontent.com/cloud-hypervisor/cloud-hypervisor/main/docs/vfio-user.md
|
|
446
|
+
44. gVisor releases atom feed. https://github.com/google/gvisor/releases.atom
|
|
447
|
+
45. gVisor platforms guide. https://gvisor.dev/docs/architecture_guide/platforms
|
|
448
|
+
46. gVisor performance guide. https://gvisor.dev/docs/architecture_guide/performance
|
|
449
|
+
47. Kata Containers 4.0.0 overview. https://katacontainers.io/blog/kata-containers-4-0-0-release-overview
|
|
450
|
+
48. Kata Containers releases. https://github.com/kata-containers/kata-containers/releases
|
|
451
|
+
49. CRIU releases. https://github.com/checkpoint-restore/criu/releases
|
|
452
|
+
50. E2B: Firecracker vs QEMU. https://e2b.dev/blog/firecracker-vs-qemu
|
|
453
|
+
51. E2B self-hosting notes. https://github.com/e2b-dev/infra/blob/main/self-host.md
|
|
454
|
+
52. GitHub runner-images issue 12933 (KVM). https://github.com/actions/runner-images/issues/12933
|
|
455
|
+
53. Actuated: KVM in GitHub Actions. https://actuated.com/blog/kvm-in-github-actions
|
|
456
|
+
54. AMD EPYC 9965 product page. https://www.amd.com/en/products/processors/server/epyc/9005-series/amd-epyc-9965.html
|
|
457
|
+
55. AMD Ryzen 9 9950X3D product page. https://www.amd.com/en/products/processors/desktops/ryzen/9000-series/amd-ryzen-9-9950x3d.html
|
|
458
|
+
56. AMD Threadripper PRO 9995WX product page. https://www.amd.com/en/products/processors/workstations/ryzen-threadripper/9000-wx-series/amd-ryzen-threadripper-pro-9995wx.html
|
|
459
|
+
57. Intel Core Ultra 9 285K specifications. https://www.intel.com/content/www/us/en/products/sku/241060/intel-core-ultra-9-processor-285k-36m-cache-up-to-5-70-ghz/specifications.html
|
|
460
|
+
58. AMD Radeon RX 9070 XT product page. https://www.amd.com/en/products/graphics/desktops/radeon/9000-series/amd-radeon-rx-9070xt.html
|
|
461
|
+
59. AMD Instinct MI350X product page. https://www.amd.com/en/products/accelerators/instinct/mi350/mi350x.html
|
|
462
|
+
60. AMD CDNA 4 whitepaper. https://www.amd.com/content/dam/amd/en/documents/instinct-tech-docs/white-papers/amd-cdna-4-architecture-whitepaper.pdf
|
|
463
|
+
61. NVIDIA RTX 5090 product page. https://www.nvidia.com/en-us/geforce/graphics-cards/50-series/rtx-5090
|
|
464
|
+
62. NVIDIA RTX PRO 6000 Blackwell pages. https://www.nvidia.com/en-us/products/workstations/professional-desktop-gpus/rtx-pro-6000
|
|
465
|
+
63. NVIDIA DGX B200 page. https://www.nvidia.com/en-us/data-center/dgx-b200
|
|
466
|
+
64. TechPowerUp GPU database (RTX 5090) and DeviceHunt PCI database. https://www.techpowerup.com/gpu-specs/geforce-rtx-5090.c4216 and https://devicehunt.com/view/type/pci/vendor/1002/device/75A0
|
|
467
|
+
65. memoverlay repository. https://github.com/stantheawesomeman/memoverlay
|
|
468
|
+
66. dolos hooks.c. https://github.com/cdt4/dolos/blob/main/dolos/hooks.c
|
|
469
|
+
67. fake-nvidia-smi repository. https://github.com/pogusthewhisper/fake-nvidia-smi
|
|
470
|
+
68. run-ai/fake-gpu-operator. https://github.com/run-ai/fake-gpu-operator
|
|
471
|
+
69. rick-hsu/nvml-unified-shim. https://github.com/rick-hsu/nvml-unified-shim
|
|
472
|
+
70. NVIDIA developer forum thread 358869. https://forums.developer.nvidia.com/t/358869
|
|
473
|
+
71. FanBB2333/GpuAdapter. https://github.com/FanBB2333/GpuAdapter
|
|
474
|
+
72. Docker container run reference. https://docs.docker.com/reference/cli/docker/container/run/
|
|
475
|
+
73. Docker resource constraints guide. https://docs.docker.com/engine/containers/resource_constraints/
|
|
476
|
+
74. Compose specification, services. https://github.com/compose-spec/compose-spec/blob/master/05-services.md
|
|
477
|
+
75. Linux overcommit accounting. https://github.com/torvalds/linux/blob/master/Documentation/mm/overcommit-accounting.rst
|
|
478
|
+
76. Google Colab tools issue 329 (shm). https://github.com/googlecolab/colabtools/issues/329
|
|
479
|
+
77. nvidia-smi documentation. https://docs.nvidia.com/deploy/nvidia-smi/
|
|
480
|
+
78. clinfo repository and Vulkan-Loader driver interface. https://github.com/Oblomov/clinfo and https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderDriverInterface.md
|
|
481
|
+
79. rios0rios0/termux-etc-redirect. https://github.com/rios0rios0/termux-etc-redirect
|
|
482
|
+
80. Reczey: interposing static binaries. https://balintreczey.hu/blog/think-you-cant-interpose-static-binaries-with-ld_preload-think-again
|
|
483
|
+
81. Wasmtime releases. https://github.com/bytecodealliance/wasmtime/releases
|
|
484
|
+
82. Wasmtime: interrupting WebAssembly. https://docs.wasmtime.dev/examples-interrupting-wasm
|
|
485
|
+
83. WASI roadmap. https://wasi.dev/roadmap
|
|
486
|
+
84. Web Component Model. https://component-model.bytecodealliance.org
|
|
487
|
+
85. WebContainers. https://webcontainers.io
|
|
488
|
+
86. Daytona. https://daytona.io
|
|
489
|
+
87. Modal. https://modal.com
|
|
490
|
+
88. Fly.io Machines. https://fly.io/machines
|
|
491
|
+
89. E2B. https://e2b.dev and https://github.com/e2b-dev/e2b
|
|
492
|
+
90. Cognitora. https://cognitora.dev
|
|
493
|
+
91. Vercel Sandbox GA. https://vercel.com/blog/vercel-sandbox-is-now-generally-available
|
|
494
|
+
92. Vercel $1M HackerOne challenge. https://vercel.com/blog/one-million-dollar-hacker-challenge-for-vercel-sandbox
|
|
495
|
+
93. apple/container. https://github.com/apple/container
|
|
496
|
+
94. WWDC26 session 389. https://developer.apple.com/videos/play/wwdc2026/389
|
|
497
|
+
95. Landlock kernel documentation. https://docs.kernel.org/userspace-api/landlock.html
|
|
498
|
+
96. landlock.io news. https://landlock.io/news
|
|
499
|
+
97. seccomp(2) manual. https://man7.org/linux/man-pages/man2/seccomp.2.html
|
|
500
|
+
98. moby issue 47532 (io_uring). https://github.com/moby/moby/issues/47532
|
|
501
|
+
99. LWN: task-level io_uring restrictions. https://lwn.net/Articles/1054225
|
|
502
|
+
100. OpenSSL post-quantum cryptography. https://openssl-corporation.org/post-quantum.html
|
|
503
|
+
101. RFC 10024. https://datatracker.ietf.org/doc/rfc10024
|
|
504
|
+
102. Cloudflare eBPF LSM. https://blog.cloudflare.com/live-patch-security-vulnerabilities-with-ebpf-lsm
|
|
505
|
+
103. systemd cgroup delegation. https://systemd.io/CGROUP_DELEGATION
|
|
506
|
+
104. Verification report v5 (66 files, conditional pass). Lineage artifact preserved in the analysis pool; checks summarized in the verification section.
|
|
507
|
+
105. Verification report v6 (60 files, 11 pass / 2 fail / 1 partial). Lineage artifact preserved in the analysis pool; checks summarized in the verification section.
|
|
508
|
+
106. Multilingual research corpus (100k simulated queries, 6 locales, 67-dork arsenal, epoch layers 1500-2026). Consolidated into the multilingual section; reproduction script is library-first TypeScript.
|
|
509
|
+
107. Viability optimization wave (4.7x-12.35x, $0, five-run averages on ubuntu-24.04 runners). Techniques in `performance.md`; verdict preserved in the slowness section of this document.
|
|
510
|
+
108. endoflife.date: Node.js release and support calendar. https://endoflife.date/nodejs
|
|
511
|
+
109. endoflife.date: Docker Engine release and support calendar. https://endoflife.date/docker-engine
|
|
512
|
+
110. Node.js download index and release tags. https://nodejs.org/en/download and https://github.com/nodejs/node/releases
|
|
513
|
+
111. GitHub runner-images issue 14062 (the second hosted-runner KVM availability thread). https://github.com/actions/runner-images/issues/14062
|
|
514
|
+
112. GitHub community discussion 160591 (nested virtualization on hosted runners). https://github.com/orgs/community/discussions/160591
|
|
515
|
+
113. GitHub community discussion 156389 (runner capability thread cited by the research corpus). https://github.com/orgs/community/discussions/156389
|
|
516
|
+
114. QEMU issue 750: the LD_PRELOAD `fakefopen.c` demonstration. https://gitlab.com/qemu-project/qemu/-/issues/750
|
|
517
|
+
115. moby issue 16423: `/proc` bind-mount masquerading inside containers. https://github.com/moby/moby/issues/16423
|
|
518
|
+
116. Darimont gist: faking the processor count for the JVM. https://gist.github.com/thomasdarimont/ca5ca088a9007eb25dff677a8ace3ff1
|
|
519
|
+
117. lima-vm/alpine-lima issue 41: ZRAM swap inside the guest. https://github.com/lima-vm/alpine-lima/issues/41
|
|
520
|
+
118. lscpu(1) and free(1) manuals (the two probes the generators must satisfy). https://man7.org/linux/man-pages/man1/lscpu.1.html and https://man7.org/linux/man-pages/man1/free.1.html
|
|
521
|
+
119. Stack Overflow 53122005: `/dev/shm` bus-error root cause (the PyTorch 64 MB default). https://stackoverflow.com/questions/53122005
|
|
522
|
+
120. Stack Overflow 77489799: `openat` interposition versus `open`. https://stackoverflow.com/questions/77489799
|
|
523
|
+
121. Hacker News 19190275: the limits of LD_PRELOAD on static binaries. https://news.ycombinator.com/item?id=19190275
|
|
524
|
+
122. fakemem repository (the pre-rename spelling of memoverlay, entry 65). https://github.com/stantheawesomeman/fakemem
|
|
525
|
+
123. FakeGPU repository (the pre-rename spelling of GpuAdapter, entry 71). https://github.com/FanBB2333/FakeGPU
|
|
526
|
+
124. KhronosGroup/Vulkan-Tools (the vulkaninfo probe source). https://github.com/KhronosGroup/Vulkan-Tools
|
|
527
|
+
125. LLVM releases atom feed and the Xserver(1) manual. https://github.com/llvm/llvm-project/releases.atom and https://man.archlinux.org/man/Xserver.1
|
|
528
|
+
126. QEMU download page. https://www.qemu.org/download
|
|
529
|
+
127. Mesa news feed. https://www.mesa3d.org/news
|
|
530
|
+
128. eBPF LSM program documentation. https://docs.kernel.org/bpf/prog_lsm.html
|
|
531
|
+
129. cgroup v2 administration guide. https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html
|
|
532
|
+
130. systemd.resource-control(5). https://www.freedesktop.org/software/systemd/man/systemd.resource-control.html
|
|
533
|
+
131. Arch wiki: Cgroups and Vulkan pages. https://wiki.archlinux.org/title/Cgroups and https://wiki.archlinux.org/title/Vulkan
|
|
534
|
+
132. CVE-2026-46315 (SentinelOne database) and the io_uring hardening write-up. https://sentinelone.com/vulnerability-database/cve-2026-46315 and https://systemshardening.com/articles/linux/io-uring-hardening
|
|
535
|
+
133. OpenSSL 3.5 PQ-by-default analysis and the gVisor seccomp blog. https://postquantum.com/security-pqc/openssl-3-5-pqc-default and https://gvisor.dev/blog/2024/02/01/seccomp
|
|
536
|
+
134. Spheron: the AI agent code-execution sandbox landscape (E2B, Daytona, Firecracker) and the B200 complete guide. https://www.spheron.network/blog/ai-agent-code-execution-sandbox-e2b-daytona-firecracker and https://www.spheron.network/blog/nvidia-b200-complete-guide
|
|
537
|
+
135. B200 specification and pricing references (Jarvislabs, Modal). https://jarvislabs.ai/ai-faqs/nvidia-b200-specs and https://modal.com/blog/nvidia-b200-pricing
|
|
538
|
+
136. NVIDIA RTX PRO 6000 Blackwell Server Edition page. https://www.nvidia.com/en-us/data-center/rtx-pro-6000-blackwell-server-edition
|
|
539
|
+
137. Apple Containers for Linux/macOS coverage (Help Net Security) and the HPCwire AI wire note. https://helpnetsecurity.com/2026/07/07/apple-container-open-source-linux-mac/ and https://hpcwire.com/aiwire/2026/07/22/
|
|
540
|
+
138. WebContainers: the introduction post and the webcontainer-core repository. https://blog.stackblitz.com/posts/introducing-webcontainers and https://github.com/stackblitz/webcontainer-core
|
|
541
|
+
139. Northflank engineering: what is gVisor; Modal versus Vercel Sandbox; self-hostable alternatives to Daytona. https://northflank.com/blog/what-is-gvisor, https://northflank.com/blog/modal-vs-vercel-sandbox and https://northflank.com/blog/self-hostable-alternatives-to-daytona
|
|
542
|
+
140. Sandbox landscape roundups kept as context (Morph, Puter, Upstash, Modal, Fly.io architecture). https://morphllm.com/comparisons/daytona-alternative, https://developer.puter.com/blog/fly-io-alternatives, https://upstash.com/blog/best-sandbox-providers-for-ai-agents, https://modal.com/resources/best-serverless-sandboxes-ai-code-execution and https://fly.io/docs/reference/architecture
|
|
543
|
+
141. Container checkpoint/restore walkthrough (OneUptime) plus the Cloud Hypervisor and CRIU root sites. https://oneuptime.com/blog/post/2026-02-09-container-checkpoint-restore-criu, https://www.cloudhypervisor.org and https://criu.org
|
|
544
|
+
142. Tracee vulnerability tracing and the post-quantum TLS references (AWS SDK reference, Cloudflare PQC support). https://aquasec.com/blog/linux-vulnerabilitie-tracee, https://docs.aws.amazon.com/sdkref/latest/guide/pqtls-details.html and https://developers.cloudflare.com/ssl/post-quantum-cryptography/pqc-support
|
|
545
|
+
143. Raptor Computing Systems (the open POWER workstation lineage cited by the research corpus). https://www.raptorcs.com
|
|
546
|
+
144. Spoofing-lineage artifacts unique to the v4 pool: kagari issue 16 and the edge-ai-benchmark `fake_cpuinfo.c`. https://github.com/itsakeyfut/kagari/issues/16 and https://github.com/joeltadeu/edge-ai-benchmark
|
|
547
|
+
145. Proof-of-concept artifacts: x0x0x00/fakegpu, the hashcloak zk-proof-of-assets memory-boundary demonstration (`docker run -m 100G --memory-swap -1`) and the libvirt MTTCG patch thread. https://github.com/x0x0x00/fakegpu, https://github.com/hashcloak/zk-proof-of-assets, https://lists.libvirt.org and https://news.ycombinator.com/item?id=44784059
|
|
548
|
+
|
|
549
|
+
---
|
|
550
|
+
|
|
551
|
+
## Appendix A. v5 future feature ledger {#appendix-a}
|
|
552
|
+
|
|
553
|
+
The v5 set of the F-001..F-065 future feature ledger, preserved from the
|
|
554
|
+
SADDLE v5 roadmap (`ROADMAP_FUTURE_FEATURES.md`, wave 11-Future, categories
|
|
555
|
+
A-H: CXL and memory, GPU and compute virtualization, scheduling and
|
|
556
|
+
virtualization core, WASM and heterogeneity, I/O and storage, DPU and
|
|
557
|
+
networking, confidential computing and policy, observability and operations).
|
|
558
|
+
IDs are shared with appendix B; the titles differ because the v6 rewrite
|
|
559
|
+
re-scored every item. The same IDs are referenced by `readme.md` (roadmap),
|
|
560
|
+
`architecture.md` (reserved slots) and `virtualization.md` (F-ledger notes).
|
|
561
|
+
|
|
562
|
+
| ID | Feature (v5 set A) |
|
|
563
|
+
|---|---|
|
|
564
|
+
| F-001 | CXL 3.0 Memory Pooling and Fabric Manager *(implemented: plancxltype3, virtualization.ts + cxldevice tier plan, virtualmemory.ts)* |
|
|
565
|
+
| F-002 | CXL Tiered Memory QoS and Promotion Engine (DAMON) *(implemented: psidamoninfo, virtualization.ts)* |
|
|
566
|
+
| F-003 | NVLink-C2C Coherent vRAM Sharing |
|
|
567
|
+
| F-004 | HBM3e Disaggregated Pools via CXL 3.1 and UCIe *(implemented: HBM_BLACKWELL tier, virtualmemory.ts)* |
|
|
568
|
+
| F-005 | Persistent Memory v2 and Battery-Backed CXL DCD *(implemented: PMEM_DAX tier detection, virtualmemory.ts)* |
|
|
569
|
+
| F-006 | Tiered vNUMA v2 with Auto Topology Discovery *(implemented: planumalayout, scheduler.ts)* |
|
|
570
|
+
| F-007 | vGPU Live Migration Blackwell GB200/B100 *(implemented: livemigration, virtualization.ts)* |
|
|
571
|
+
| F-008 | Blackwell FP4/FP6/FP8 Virtualization and Dynamic MIGv2 *(implemented: MIGLAYOUTBLACKWELL, virtualgpu.ts + planmiglayout, scheduler.ts)* |
|
|
572
|
+
| F-009 | GPU Time-Slicing QoS and Preemption Guarantees *(implemented: VGPUPROFILES time-sliced vgpu scheduler mirror, virtualgpu.ts)* |
|
|
573
|
+
| F-010 | Persistent vGPU and vRAM Snapshots plus CUDA Checkpoint *(implemented: diffsnapshotengine + planfilesnapshot, virtualization.ts + cricheckpointer, orchestrator.ts)* |
|
|
574
|
+
| F-011 | NCCL 3.x Virtualization and Multi-Node GPU Fabric |
|
|
575
|
+
| F-012 | NVLink Switch 3rd-Gen Multi-Node Pooling (576 GPUs) |
|
|
576
|
+
| F-013 | WebGPU Virtualization Layer (WGPU Virt, virtio-webgpu) *(implemented: forcefallbackadapterplan, compute.ts)* |
|
|
577
|
+
| F-014 | Virtio-GPU Native Context (Venus/Vulkan) Passthrough |
|
|
578
|
+
| F-015 | Vulkan Video Encode/Decode Virtualization (virtio-video) |
|
|
579
|
+
| F-016 | Intel AMX / AMD XDNA NPU Virtualization *(implemented: plannputiles, compute.ts)* |
|
|
580
|
+
| F-017 | Serverless GPU Functions (Scale-to-Zero vGPU) |
|
|
581
|
+
| F-018 | Virtio-FS plus DPU File System Disaggregation |
|
|
582
|
+
| F-019 | FPGA Time-Multiplexed vFPGA (Versal, Agilex) |
|
|
583
|
+
| F-020 | USB4 / Thunderbolt Passthrough v2 with Hotplug |
|
|
584
|
+
| F-021 | WASM MicroVM Runtime (Wasmtime/WAMR/WasmEdge, fuel) *(implemented: wasiasyncruntime + fuelmeter, compute.ts)* |
|
|
585
|
+
| F-022 | Rust Rewrite of the QEMU Bridge (qemu-bridge-rs) |
|
|
586
|
+
| F-023 | eBPF Hierarchical CPU Scheduler (sched_ext + BPF) *(implemented: schedextinfo, virtualization.ts)* |
|
|
587
|
+
| F-024 | Live vCPU Hotplug plus eBPF Rebalancing Daemon *(implemented: vcpuhotplug, scheduler.ts)* |
|
|
588
|
+
| F-025 | Heterogeneous vCPU Topology (P+E, X3D + Zen5) |
|
|
589
|
+
| F-026 | vNUMA Auto-Rebalance DAMON + AutoNUMA v2 |
|
|
590
|
+
| F-027 | Formal Verification of the Scheduler (TLA+ / Alloy) |
|
|
591
|
+
| F-028 | Memory Dedup KSM++ DAMON-aware Scan |
|
|
592
|
+
| F-029 | KVM Hypercall Acceleration (Rust kvm-bindings) |
|
|
593
|
+
| F-030 | Cross-Arch Emulation x86-AArch64 plus Rosetta-like Cache |
|
|
594
|
+
| F-031 | io_uring Zero-Copy Passage Engine |
|
|
595
|
+
| F-032 | SPDK + NVMe-oF Userspace Storage Stack |
|
|
596
|
+
| F-033 | virtio-blk over io_uring plus I/O Polling |
|
|
597
|
+
| F-034 | ZNS and FDP SSD-Aware Virtual Disk Provisioning *(implemented: planznszones, virtualization.ts)* |
|
|
598
|
+
| F-035 | Distributed Checkpointing 100B+ Training (SnapshotFS) |
|
|
599
|
+
| F-036 | Virtio-FS DAX plus CXL Shared Memory File Cache |
|
|
600
|
+
| F-037 | DPU Offload (BlueField-3 / Pensando / Intel IPU) |
|
|
601
|
+
| F-038 | SR-IOV Dynamic VF Provisioning and Live Attach *(implemented: setupsriov, virtualization.ts)* |
|
|
602
|
+
| F-039 | XDP/eBPF Hardware-Accelerated Packet Pipeline *(implemented: ebpfprogram, virtualization.ts)* |
|
|
603
|
+
| F-040 | DPDK Userspace Bridge (virtio-user) |
|
|
604
|
+
| F-041 | QUIC + HTTP/3 Tunneling for Secure Passage |
|
|
605
|
+
| F-042 | WireGuard Mesh + Tailscale for vNets *(implemented: tailscaleendpointplanner, compute.ts)* |
|
|
606
|
+
| F-043 | SmartNIC P4 Programmable Packet Steering *(implemented: buildp4skeleton, virtualization.ts)* |
|
|
607
|
+
| F-044 | Time-Sensitive Networking (TSN) for RT VMs *(implemented: buildtsnschedule, virtualization.ts)* |
|
|
608
|
+
| F-045 | Virtio-snd + PipeWire Low-Latency Audio Passage |
|
|
609
|
+
| F-046 | WebTransport + WebCodecs Display Streaming |
|
|
610
|
+
| F-047 | Confidential VMs: SEV-SNP, TDX, ARM CCA *(implemented: buildqemucmd sev-snp-guest/tdx argv, virtualization.ts)* |
|
|
611
|
+
| F-048 | HW-Attested Guest Integrity (SVSM vTPM + Remote Attestation) |
|
|
612
|
+
| F-049 | Encrypted Live Migration (TLS 1.3 + SEV-SNP) |
|
|
613
|
+
| F-050 | eBPF LSM + Landlock Security Policy Engine *(implemented: landlockrulebuilder + seccompbuilder, security.ts)* |
|
|
614
|
+
| F-051 | OCI Hooks + CDI for GPU Container Parity |
|
|
615
|
+
| F-052 | gVisor-like Syscall Interception (WASM companion) *(implemented: gvisorruntime, orchestrator.ts)* |
|
|
616
|
+
| F-053 | AI Autoscaler RL and Predictive Queuing (stable-baselines3) *(implemented: rlautoscaler epsilon-greedy bandit, scheduler.ts)* |
|
|
617
|
+
| F-054 | Predictive HW Failure SMART + eBPF Telemetry *(implemented: anomalydetector, scheduler.ts)* |
|
|
618
|
+
| F-055 | Generative Config Synthesis (LLM-assisted JSONs) |
|
|
619
|
+
| F-056 | OpenTelemetry + eBPF Deep Profiling Mesh *(implemented: otelmetricsbridge, scheduler.ts + ebpfgputelemetry, compute.ts)* |
|
|
620
|
+
| F-057 | Carbon-Aware Scheduling (WattTime + Kepler) |
|
|
621
|
+
| F-058 | Multi-Tenant QoS cgroups v2 + PSI + eBPF *(implemented: tenantcgroupbuilder, virtualization.ts + tenantadmission, scheduler.ts)* |
|
|
622
|
+
| F-059 | AI Workload Fingerprinting and Auto-Tuning (Dynamo/XLA/vLLM) |
|
|
623
|
+
| F-060 | Chaos Engineering Framework (ChaosVM) |
|
|
624
|
+
| F-061 | Ray + vLLM Distributed Inference Orchestrator *(implemented: planrayvllmcluster, compute.ts)* |
|
|
625
|
+
| F-062 | Kubernetes Operator (SADDLE CRDs) *(implemented: buildvmcrdmanifest, compute.ts)* |
|
|
626
|
+
| F-063 | CRDT Distributed vm.config (Automerge + Yjs) *(implemented: vmconfigcrdt, scheduler.ts + statevectorsync, compute.ts)* |
|
|
627
|
+
| F-064 | GitOps Flux CD + SADDLE CRDs + OPA *(implemented: planfluxgitops, orchestrator.ts)* |
|
|
628
|
+
| F-065 | Federated SADDLE Clusters Global Scheduler (10k nodes) *(implemented: planfederatedquota, compute.ts)* |
|
|
629
|
+
|
|
630
|
+
Source document annexes (dependency graph, spec extensions, version/CI,
|
|
631
|
+
file-count budget, keywords) stay in the pool artifact; this appendix carries
|
|
632
|
+
the verbatim feature ledger with horizons H1/H2/H3, complexity L1-L5 and
|
|
633
|
+
five-axis impact recorded per item in the source. The v5-C feature audit
|
|
634
|
+
(worklog task v5-C) grepped every row against the modules: rows marked
|
|
635
|
+
*(implemented: symbol, module)* carry a builder/planner/class; unmarked
|
|
636
|
+
rows are either implementable planners still open or planned externals
|
|
637
|
+
(listed in appendix D).
|
|
638
|
+
|
|
639
|
+
## Appendix B. v6 future feature ledger {#appendix-b}
|
|
640
|
+
|
|
641
|
+
The v6 set of the same ledger, preserved from the SADDLE v6 rewrite
|
|
642
|
+
(`roadmapfuturefeatures.md`, 12 sections plus metadata; quantified targets in
|
|
643
|
+
parentheses are the v6 planning values, not measured results).
|
|
644
|
+
|
|
645
|
+
| ID | Feature (v6 set B) |
|
|
646
|
+
|---|---|
|
|
647
|
+
| F-001 | CXL 3.0 Type-3 Pooling Fabric (2-4 TiB, +18%, -34% per GB) *(implemented: plancxltype3, virtualization.ts)* |
|
|
648
|
+
| F-002 | CXL 2.0 Fallback + HMAT 2.0 (latency 22/80) *(implemented: plancxltype3 spec '2.0' + hmat entries)* |
|
|
649
|
+
| F-003 | Ballooning v2 with PSI (free-page-hint, +14% at 4.5x) |
|
|
650
|
+
| F-004 | NUMA Distance-Aware Pinning + HMAT (+22%) *(implemented: planumalayout + numactlargs, scheduler.ts)* |
|
|
651
|
+
| F-005 | vGPU Live Migration Pre-Copy dirty-ring 65536 (under 800 ms) |
|
|
652
|
+
| F-006 | Blackwell MIG v2 14 hybrid slices (14x density) *(implemented: MIGLAYOUTBLACKWELL, virtualgpu.ts)* |
|
|
653
|
+
| F-007 | NVLink-C2C 900 GB/s GB200 Superchip (624 GB coherent) |
|
|
654
|
+
| F-008 | vRAM Slicing 1 MB step, DPU accounting 10M ops/s |
|
|
655
|
+
| F-009 | vGPU EEVDF Fair-Share Low-Latency (+27% p95) |
|
|
656
|
+
| F-010 | Blackwell FP4 9000 TFLOPS Passthrough (4x versus FP8) |
|
|
657
|
+
| F-011 | GPU Overcommit CXL P2P spill (192 to 384 GB, -8%) |
|
|
658
|
+
| F-012 | GPU Power Capping NVML (B200 1000 W / 700 W liquid) |
|
|
659
|
+
| F-013 | SR-IOV 32 VF per pGPU Blackwell iommufd |
|
|
660
|
+
| F-014 | GPU-IOV ATS/PRI Isolation fail-closed |
|
|
661
|
+
| F-015 | WASM MicroVM + QEMU microvm (cold 45 to 6 ms) *(implemented: wasiasyncruntime, compute.ts + microvm runtimes, orchestrator.ts)* |
|
|
662
|
+
| F-016 | WASM Cold Start under 5 ms (memfd + io_uring zstd, 4.8 ms p50) *(implemented: wasmmempool, compute.ts)* |
|
|
663
|
+
| F-017 | WASI Preview2 FS Bridge node:fs (+19%) |
|
|
664
|
+
| F-018 | WASI-NN GPU FP4 via WGPU 22 (H3) |
|
|
665
|
+
| F-019 | Nested WASM inside QEMU (SEV-SNP outer) |
|
|
666
|
+
| F-020 | sched_ext eBPF vCPU Scheduler (scx_rusty, +18%) *(implemented: schedextinfo, virtualization.ts)* |
|
|
667
|
+
| F-021 | cgroup v2 cpu.weight Autotune PSI (1..10000) |
|
|
668
|
+
| F-022 | eBPF XDP virtio-net Offload 9000 MTU (+34%) |
|
|
669
|
+
| F-023 | eBPF io_uring Latency Histogram (0.05-32 ms) |
|
|
670
|
+
| F-024 | io_uring Zero-Copy Passage vsock+unix (3.2 to 0.9 ms) |
|
|
671
|
+
| F-025 | io_uring Fixed Buffers Registered (8192 KB, +28%) |
|
|
672
|
+
| F-026 | io_uring NVMe Passthrough 14 GB/s PCIe 5.0 (+64%) |
|
|
673
|
+
| F-027 | sendmsg MSG_ZEROCOPY unix fallback (+19%) |
|
|
674
|
+
| F-028 | AI Autoscaler vCPU 1-4096 (sktime 0.35 LSTM, -31%) *(implemented: rlautoscaler + psilstm, scheduler.ts)* |
|
|
675
|
+
| F-029 | AI GPU Demand Forecast (predictive MIG, -27% idle) |
|
|
676
|
+
| F-030 | AI Anomaly ECC/Thermal (failure 30 min ahead, 99.99%) *(implemented: anomalydetector, scheduler.ts)* |
|
|
677
|
+
| F-031 | AI Bin-Packing OR-Tools heterogeneous (+38%) |
|
|
678
|
+
| F-032 | AI FinOps per-Tenant ($/vCPU + $/GB + $/W, Kepler) |
|
|
679
|
+
| F-033 | AMD SEV-SNP OVMF Secure Boot (-6% perf) |
|
|
680
|
+
| F-034 | Intel TDX 2nd Gen (TDVF, QGS quote) |
|
|
681
|
+
| F-035 | Confidential GPU H100/B200 CCC (+NV-Trust) |
|
|
682
|
+
| F-036 | Attestation TPM 2.0 + OVMF enrolled-keys (swtpm 0.8) *(implemented: OVMF secure boot argv, virtualization.ts)* |
|
|
683
|
+
| F-037 | SEV-SNP Live Migration with Rekeying (HKDF + TPM) |
|
|
684
|
+
| F-038 | DPU BlueField-3 Virtio Data Path (DOCA 2.9) |
|
|
685
|
+
| F-039 | DPU Storage NVMe-oF + SPDK 24.09 |
|
|
686
|
+
| F-040 | NVLink Switch Fabric NVL72 576 GPUs (720 PF FP4) |
|
|
687
|
+
| F-041 | PCIe 5.0 AER DPU-accelerated (+99.99%) |
|
|
688
|
+
| F-042 | RoCE v2 GPUDirect RDMA MTTG (OFED 24.10, -22%) |
|
|
689
|
+
| F-043 | Rust qemubridge.rs Tokio (QMP 12 ms to 1.8 ms) |
|
|
690
|
+
| F-044 | Rust QMP Wrapper (retry 50 ms x 2^n, napi-rs) |
|
|
691
|
+
| F-045 | Rust virtio Emulation vhost-user (io_uring 0.7) |
|
|
692
|
+
| F-046 | Rust CXL Mailbox FM-API (QoS class) |
|
|
693
|
+
| F-047 | Rust eBPF Loader libbpf-rs 0.24 (CO-RE) |
|
|
694
|
+
| F-048 | WebGPU Virt WGPU + Dawn + Vulkan 1.4 (40 ctx/B200) |
|
|
695
|
+
| F-049 | WebGPU Compute Passthrough WASI-NN (Naga to PTX, +32x) |
|
|
696
|
+
| F-050 | WebGPU Dawn + Vulkan Video NVENC AV1 8K (+44%) |
|
|
697
|
+
| F-051 | OCI WASM Layers + Buildx (dedup +33%) |
|
|
698
|
+
| F-052 | CRIU + QEMU incremental + io_uring (3.2 s to 0.45 s) |
|
|
699
|
+
| F-053 | Live Upgrade QEMU 9.1.2 to 10.0 x-colo zero-downtime |
|
|
700
|
+
| F-054 | Docker cgroupv2 + crun + CDI nvidia.yaml |
|
|
701
|
+
| F-055 | Passage HTTP/3 QUIC 0-RTT TLS1.3-only (Pingora 0.4.2) |
|
|
702
|
+
| F-056 | mTLS per-VM + JWT rotation 12 h (X509 ed25519) |
|
|
703
|
+
| F-057 | OTel + eBPF Profiles + Prometheus 9090 *(implemented: otelmetricsbridge, scheduler.ts)* |
|
|
704
|
+
| F-058 | Chaos Fault Injection QEMU + DPU (+31% resiliency) |
|
|
705
|
+
| F-059 | Multi-Tenant MTTG QoS + Weighted vRAM (+22%) *(implemented: tenantqosmap + MTTG grid, virtualization.ts)* |
|
|
706
|
+
| F-060 | NVENC 8K AV1 + H.266 VVC (2.1x Ada, 32x 4K/B200) |
|
|
707
|
+
| F-061 | Heterogeneous CPU X3D + Intel Hybrid (+23% gaming) *(implemented: ccd-aware vcpupinningmap, virtualmemory.ts)* |
|
|
708
|
+
| F-062 | Energy-Aware Carbon Scheduling (Kepler 0.8, -19%) |
|
|
709
|
+
| F-063 | OPA Rego Policy Engine (vram 1024-786432 step 1) |
|
|
710
|
+
| F-064 | Forge Mirror Bidirectional Sync (notify 6.0) |
|
|
711
|
+
| F-065 | Docs Auto-Gen over 40 files (typedoc 0.26 + mkdocs) |
|
|
712
|
+
|
|
713
|
+
Source-document metadata preserved with the set: section 12 dependency
|
|
714
|
+
matrix, section 13 release trains 33/27/5 (33 near-term, 27 mid, 5 far), and
|
|
715
|
+
section 15 aggregate targets (+27.4% performance geo-mean, 3.1x density,
|
|
716
|
+
CVSS -38%, cost -29%). Rows share the v5-C audit marks of appendix A
|
|
717
|
+
(same IDs); the Rust rewrite family (F-043 to F-047) is tracked as
|
|
718
|
+
planned externals in appendix D.
|
|
719
|
+
|
|
720
|
+
## Appendix C. Backlog from the v4 archive {#appendix-c}
|
|
721
|
+
|
|
722
|
+
The 13-item `roadmapbacklog` of the retired `future.ts` (v4 archive, lines
|
|
723
|
+
2701-2715 of the pool artifact), the only block of that file absent from the
|
|
724
|
+
v3 redistribution. The register lives on as `roadmapbacklog` in compute.ts;
|
|
725
|
+
the v5-C audit promoted four rows (1, 3, 8, 9) from backlog strings to real
|
|
726
|
+
builders, and the remaining rows are recorded so the archive survives the
|
|
727
|
+
module decomposition.
|
|
728
|
+
|
|
729
|
+
| # | Backlog item (v4 archive) | Note |
|
|
730
|
+
|---|---|---|
|
|
731
|
+
| 1 | Intel AMX tile real passthrough | beyond the `+amx-tile` flag: actual TDP-pipe emulation *(implemented as builder: plannputiles, compute.ts; real pipe emulation stays external)* |
|
|
732
|
+
| 2 | Dual-X3D detection for the 9950X3D2 | both CCDs carrying V-Cache; today only the cache-size rule selects it |
|
|
733
|
+
| 3 | WebTransport datagram relay | browser-facing passage twin of the QUIC gateway *(implemented: planwebtransportendpoint, compute.ts)* |
|
|
734
|
+
| 4 | Turborepo remote cache on GHCR | free-tier build cache beside the gha cache |
|
|
735
|
+
| 5 | pnpm v9 content-addressable store | alternative package manager lane |
|
|
736
|
+
| 6 | QUIC + HTTP/3 control plane | passage already speaks it for data; the control channel does not |
|
|
737
|
+
| 7 | P2P WebRTC mesh sandboxes | browser-to-browser without a relay |
|
|
738
|
+
| 8 | OPFS browser sandboxes | Origin Private File System as a guest disk *(implemented: planopfsstorage, compute.ts)* |
|
|
739
|
+
| 9 | WebCodecs + WebGPU encode | hardware-free encode inside the browser tier *(implemented: planwebcodecspipeline, compute.ts)* |
|
|
740
|
+
| 10 | SharedArrayBuffer cross-origin isolation | COOP/COEP headers for multi-origin sandboxes |
|
|
741
|
+
| 11 | WASM JSPI scheduling | JavaScript Promise Integration for the wasm tier |
|
|
742
|
+
| 12 | GHCR gha layer reuse | cross-repository cache sharing |
|
|
743
|
+
| 13 | Nix flakes hermetic builds | reproducible host toolchain lane |
|
|
744
|
+
|
|
745
|
+
## Appendix D. Planned externals (not implementable in-engine) {#appendix-d}
|
|
746
|
+
|
|
747
|
+
Result of the v5-C feature audit (worklog task v5-C): every ledger row was
|
|
748
|
+
classified as (a) already implemented, (b) implementable as a dependency-free
|
|
749
|
+
builder/planner in TypeScript, or (c) not implementable as code of this engine
|
|
750
|
+
because it requires physical hardware, platform firmware or paid external
|
|
751
|
+
services. This appendix registers the category (c) rows as planned externals:
|
|
752
|
+
the engine can plan and emit their configuration, but execution happens
|
|
753
|
+
outside the repository.
|
|
754
|
+
|
|
755
|
+
| Ledger rows | External dependency | Why it cannot be engine code |
|
|
756
|
+
|---|---|---|
|
|
757
|
+
| A F-003, A F-012, B F-007, B F-040 | NVLink-C2C / NVLink Switch fabric | physical interconnect hardware between real GPUs |
|
|
758
|
+
| A F-011 | NCCL 3.x | guest-side library owned by NVIDIA |
|
|
759
|
+
| A F-014, A F-015 | Virtio-GPU Venus / virtio-video upstream | requires upstream QEMU/Venus merge, not a TS shim |
|
|
760
|
+
| A F-017, B F-035 | confidential GPU H100/B200 CCC + NV-Trust | hardware trusted-launch in NVIDIA silicon |
|
|
761
|
+
| A F-019 | vFPGA Versal/Agilex time multiplexing | physical FPGA reconfiguration ports |
|
|
762
|
+
| A F-020 | USB4/Thunderbolt passthrough | host controller and physical dongles |
|
|
763
|
+
| A F-022, B F-043..F-047 | Rust rewrite family (qemubridge.rs, QMP wrapper, vhost-user, FM-API mailbox, libbpf-rs) | a second Rust codebase outside this TS engine |
|
|
764
|
+
| A F-027 | TLA+ / Alloy formal verification | external model checkers and proof toolchains |
|
|
765
|
+
| A F-032 | SPDK + NVMe-oF target | userspace storage daemon with kernel-bypass drivers |
|
|
766
|
+
| A F-037, B F-038, B F-039 | BlueField-3 / Pensando / Intel IPU DPU offload | physical DPU cards and DOCA licenses |
|
|
767
|
+
| A F-041, B F-042, B F-055 | QUIC 0-RTT / RoCE v2 OFED / Pingora edge | kernel RDMA NICs and edge proxy deployments |
|
|
768
|
+
| A F-048 | SVSM vTPM remote attestation | AMD KDS attestation service and platform firmware |
|
|
769
|
+
| A F-049, B F-037 | encrypted live migration rekeying (HKDF + TPM) | guest firmware secrets held by the platform |
|
|
770
|
+
| A F-055 | LLM-assisted config synthesis | external model inference (the engine stays offline) |
|
|
771
|
+
| A F-057 / B F-062, B F-032 | WattTime carbon API, Kepler exporters, FinOps meters | external metered services and cluster agents |
|
|
772
|
+
| B F-051, B F-064, B F-065 | OCI WASM layers on GHCR, Forge mirror, typedoc/mkdocs | registry, git hosting and doc toolchain pipelines |
|
|
773
|
+
| C 2, 4, 5, 7, 10, 11, 12, 13 | dual-X3D silicon, Turborepo/pnpm lanes, WebRTC mesh infra, SAB headers on real origins, JSPI engine flags, GHCR sharing, Nix flakes | silicon, browser vendors, registries and CI toolchains |
|
|
774
|
+
|
|
775
|
+
For these rows the engine's contract is: emit complete, validated plans
|
|
776
|
+
(argv, manifests, schedules) that external executors consume verbatim; the
|
|
777
|
+
builders registered in appendices A-C are the deliverable.
|