29 new files publish factory infra (V2 autoscaler with live VRAM sampling + EWMA peak tracking, HUGE solo-dispatch, two-tier DLQ/rDLQ classifier + retry), general quantum circuit primitives (Cuccaro ripple-carry adder, Clifford gate library, Clifford tableau simulator, mod-arith family, dialog GCD reversible inverse, Karatsuba multiplier, Solinas fast reduction), and a TCRAUDT reducer harness. Originally developed in ~/git/www.foxhop.net/ecdsa/ for secp256k1 attack-surface research; published upstream as obligated by AGPLv3. Parametrization contract at factory/CONTRACT.md. Consumers export LUMBDA_REPO_DIR + LUMBDA_QUEUE_DIR + LUMBDA_BACKEND_CMD + LUMBDA_EMITTER_CMD then exec factory scripts. No fork-and-modify; single source of truth upstream. Integration tests gate 7 V2 defect classes that wedged a live factory on 2026-06-12 (skewed-demand starve, zero-floor reservation, multi-tier greedy, +-25%% damping, cold-start ramp, DLQ surge halve, post-damp CPU ceiling) + 28 DLQ classifier cases (auto-retry vs escalate partition) + bash -n syntax lint across every script. GPU backend stays in consumer trees; rationale in factory/GPU-BACKEND-NOTE.md. Bend wire protocol + gpu-worker.lsp already upstream at examples/cuda-fanout/. make factory-lint bash -n on every factory/*.sh make test-integration V2 reducer + DLQ classifier + syntax gate make sweep-doctrine TCRAUDT reducer gate (serial) make sweep-doctrine-parallel xargs -P fan-out Verified on neoblanka: factory-lint 12 scripts PASS; test-integration 14 V2 cases + 28 DLQ classifier cases + 12 syntax cases all PASS.
2 KiB
GPU backend — scope note
What lives upstream
- bend wire protocol —
examples/cuda-fanout/(gpu-worker.lsp,bend.lsp,bend-macros.lsp,wire.lsp). S-expression + binary (BSHKmagic) modes. Tier-agnostic — runs under Python, C, or asm tier. - GPU launcher —
make gpu-worker LUMBDA={c,python,asm} PORT=NNNN. Spawns gpu-worker.lsp on chosen tier. - Factory —
factory/orchestrates a queue of cells against any backend reachable viaLUMBDA_BACKEND_CMD. Backend-agnostic.
What stays in a domain consumer
Specific GPU simulator backends (Clifford tableau, stabilizer, surface-code) couple deeply to a research domain's operation set. They live in domain consumers:
- Foxhop ecdsa Clifford tableau simulator:
~/git/www.foxhop.net/ecdsa/cuda/— secp256k1 group operations,BSHKbinary ops format with secp-specific opcodes.
These backends accept a portal-file interface and expose LUMBDA_BACKEND_CMD-compatible call shape. Consumers point factory at their backend; factory provides everything around it (queue, autoscaling, DLQ, tier admission).
Why a generic Clifford backend stays out of this port
A truly upstream Clifford simulator would need:
- Generic ops format — abstract over per-domain instruction sets (currently
main_ops.ccarries secp-specific group ops). - Domain-agnostic memory model — current tableau layout sized for n=257 qubits + ancilla; would need width-parametric VRAM accounting.
- Standalone test coverage — current correctness gates run against secp256k1 truth tables.
Each is several days' work + a research-quality decision (which Clifford simulator family becomes canonical upstream). Out of scope for this AGPLv3 share-back. Filed as future work.
What this means for AGPLv3 compliance
The factory + lumbda quantum primitives discharge the share-back. The domain-specific backend belongs to consumer repos under their own license (AGPLv3 if derivative). Foxhop's ecdsa/cuda/ remains AGPLv3 in its tree.