quantum-spherifier 1.0.0
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/.env.example +37 -0
- package/LICENSE +21 -0
- package/README.md +738 -0
- package/config/default.json +83 -0
- package/config/production.json +31 -0
- package/docker/Dockerfile +37 -0
- package/docker/docker-compose.yml +25 -0
- package/docs/architecture.md +160 -0
- package/docs/qspherifier.jpg +0 -0
- package/package.json +128 -0
- package/plugins/example-plugin.js +44 -0
- package/research/INDEX.md +37 -0
- package/research/cross_refs/.gitkeep +0 -0
- package/research/designs/.gitkeep +0 -0
- package/research/hypotheses/.gitkeep +0 -0
- package/research/hypotheses/new_qubit_modalities/doc_0035ce8c/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_0035ce8c/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_005f1a09/main.md +63 -0
- package/research/hypotheses/new_qubit_modalities/doc_005f1a09/manifest.json +143 -0
- package/research/hypotheses/new_qubit_modalities/doc_05f0ed46/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_05f0ed46/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_05fd0eb1/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_05fd0eb1/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_0705eed0/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_0705eed0/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_07aff3d1/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_07aff3d1/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_0894efe7/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_0894efe7/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_08e086ad/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_08e086ad/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_0929ce83/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_0929ce83/manifest.json +119 -0
- package/research/hypotheses/new_qubit_modalities/doc_0b51b472/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_0b51b472/manifest.json +131 -0
- package/research/hypotheses/new_qubit_modalities/doc_0cfcfcbe/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_0cfcfcbe/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_0d9f04a2/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_0d9f04a2/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_0f665487/main.md +62 -0
- package/research/hypotheses/new_qubit_modalities/doc_0f665487/manifest.json +146 -0
- package/research/hypotheses/new_qubit_modalities/doc_11a00531/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_11a00531/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_12507df9/main.md +62 -0
- package/research/hypotheses/new_qubit_modalities/doc_12507df9/manifest.json +146 -0
- package/research/hypotheses/new_qubit_modalities/doc_14edc7a7/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_14edc7a7/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_17dce1f5/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_17dce1f5/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_18a79edc/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_18a79edc/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_18b76f8b/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_18b76f8b/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_1d8b27dd/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_1d8b27dd/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_1e746572/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_1e746572/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_1f409f63/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_1f409f63/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_1fb93b3c/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_1fb93b3c/manifest.json +118 -0
- package/research/hypotheses/new_qubit_modalities/doc_2014700e/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_2014700e/manifest.json +118 -0
- package/research/hypotheses/new_qubit_modalities/doc_21d9499b/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_21d9499b/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_22744a09/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_22744a09/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_25a11cb2/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_25a11cb2/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_26180f52/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_26180f52/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_264f31a7/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_264f31a7/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_273d88b1/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_273d88b1/manifest.json +140 -0
- package/research/hypotheses/new_qubit_modalities/doc_27b9d2bc/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_27b9d2bc/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_2942ef20/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_2942ef20/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_2babdd5a/main.md +62 -0
- package/research/hypotheses/new_qubit_modalities/doc_2babdd5a/manifest.json +146 -0
- package/research/hypotheses/new_qubit_modalities/doc_2bb39428/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_2bb39428/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_2e1771dc/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_2e1771dc/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_2f6e27eb/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_2f6e27eb/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_2ff8c87a/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_2ff8c87a/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_311003a4/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_311003a4/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_329910b6/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_329910b6/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_32b3ea58/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_32b3ea58/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_354b23cb/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_354b23cb/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_3630eed6/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_3630eed6/manifest.json +113 -0
- package/research/hypotheses/new_qubit_modalities/doc_37ca8f04/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_37ca8f04/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_3a8f0c5e/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_3a8f0c5e/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_3d55724e/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_3d55724e/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_3e27ad06/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_3e27ad06/manifest.json +108 -0
- package/research/hypotheses/new_qubit_modalities/doc_401a8bad/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_401a8bad/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_40f8352b/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_40f8352b/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_4331dcfd/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_4331dcfd/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_4337cbdc/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_4337cbdc/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_45d2acc5/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_45d2acc5/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_45d39a5f/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_45d39a5f/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_4ed900da/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_4ed900da/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_525bf00e/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_525bf00e/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_54035ce1/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_54035ce1/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_552565a2/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_552565a2/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_5652c681/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_5652c681/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_59b3863c/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_59b3863c/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_5cd7ecd5/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_5cd7ecd5/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_5dec51b1/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_5dec51b1/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_5e6dc9c1/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_5e6dc9c1/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_60cdeb68/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_60cdeb68/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_637c1a32/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_637c1a32/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_659be8e8/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_659be8e8/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_69f47a99/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_69f47a99/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_6a06ee6e/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_6a06ee6e/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_6c383667/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_6c383667/manifest.json +123 -0
- package/research/hypotheses/new_qubit_modalities/doc_788cc9f1/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_788cc9f1/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_85cd549d/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_85cd549d/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_86023f9a/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_86023f9a/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_86c37a8e/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_86c37a8e/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_875cb066/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_875cb066/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_8a7a0b27/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_8a7a0b27/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_8b8c723e/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_8b8c723e/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_8c881657/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_8c881657/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_8d3bbca1/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_8d3bbca1/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_8d45fa02/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_8d45fa02/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_8d5389e6/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_8d5389e6/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_9288e51d/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_9288e51d/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_9bd195fd/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_9bd195fd/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_9c000140/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_9c000140/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_9c1775b8/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_9c1775b8/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_9ea9fbaa/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_9ea9fbaa/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_9f34ca4b/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_9f34ca4b/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_9fe95a15/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_9fe95a15/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_a0b6a004/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_a0b6a004/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_a11472f7/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_a11472f7/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_a226de32/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_a226de32/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_a3ed0beb/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_a3ed0beb/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_a49aeac3/main.md +63 -0
- package/research/hypotheses/new_qubit_modalities/doc_a49aeac3/manifest.json +143 -0
- package/research/hypotheses/new_qubit_modalities/doc_a548aead/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_a548aead/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_a94c6b43/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_a94c6b43/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_ab2c416b/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_ab2c416b/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_ad5b545f/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_ad5b545f/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_ae0d0b6f/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_ae0d0b6f/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_aeb039af/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_aeb039af/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_b5569c01/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_b5569c01/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_ba323435/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_ba323435/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_be91ffb6/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_be91ffb6/manifest.json +121 -0
- package/research/hypotheses/new_qubit_modalities/doc_bfc11573/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_bfc11573/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_c01dda61/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_c01dda61/manifest.json +140 -0
- package/research/hypotheses/new_qubit_modalities/doc_c40b6bac/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_c40b6bac/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_c449abfd/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_c449abfd/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_c5286a95/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_c5286a95/manifest.json +123 -0
- package/research/hypotheses/new_qubit_modalities/doc_c6232031/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_c6232031/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_c8567a48/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_c8567a48/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_ca23e08b/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_ca23e08b/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_caf7e9d3/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_caf7e9d3/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_cbb77c2d/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_cbb77c2d/manifest.json +110 -0
- package/research/hypotheses/new_qubit_modalities/doc_cc601d30/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_cc601d30/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_ccdd3f14/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_ccdd3f14/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_cde08d2e/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_cde08d2e/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_ce6a235a/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_ce6a235a/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_d093b9ad/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_d093b9ad/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_d17719c6/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_d17719c6/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_d399eea3/main.md +63 -0
- package/research/hypotheses/new_qubit_modalities/doc_d399eea3/manifest.json +143 -0
- package/research/hypotheses/new_qubit_modalities/doc_d3d90e51/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_d3d90e51/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_d874dc7e/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_d874dc7e/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_db98a164/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_db98a164/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_dbe2ca8c/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_dbe2ca8c/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_dc21205e/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_dc21205e/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_e13ae515/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_e13ae515/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_e14a007d/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_e14a007d/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_e15ccaf5/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_e15ccaf5/manifest.json +116 -0
- package/research/hypotheses/new_qubit_modalities/doc_e2d250b7/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_e2d250b7/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_e32df689/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_e32df689/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_e5b4bedb/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_e5b4bedb/manifest.json +134 -0
- package/research/hypotheses/new_qubit_modalities/doc_e72263b3/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_e72263b3/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_e855d210/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_e855d210/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_ecf6f682/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_ecf6f682/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_ed1d25a4/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_ed1d25a4/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_f07aa6d9/main.md +62 -0
- package/research/hypotheses/new_qubit_modalities/doc_f07aa6d9/manifest.json +146 -0
- package/research/hypotheses/new_qubit_modalities/doc_f257c4ba/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_f257c4ba/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_f2e20da6/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_f2e20da6/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_f34857aa/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_f34857aa/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_fae0902f/main.md +62 -0
- package/research/hypotheses/new_qubit_modalities/doc_fae0902f/manifest.json +146 -0
- package/research/hypotheses/new_qubit_modalities/doc_fbbb63bb/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_fbbb63bb/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_fd4cec3b/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_fd4cec3b/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_fe713bc9/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_fe713bc9/manifest.json +133 -0
- package/research/hypotheses/quantum_algorithms/doc_479d7cf8/main.md +62 -0
- package/research/hypotheses/quantum_algorithms/doc_479d7cf8/manifest.json +146 -0
- package/research/hypotheses/quantum_algorithms/doc_6dbdd005/main.md +63 -0
- package/research/hypotheses/quantum_algorithms/doc_6dbdd005/manifest.json +143 -0
- package/research/hypotheses/quantum_algorithms/doc_b862fc72/main.md +61 -0
- package/research/hypotheses/quantum_algorithms/doc_b862fc72/manifest.json +140 -0
- package/research/hypotheses/quantum_algorithms/doc_cdf33ced/main.md +63 -0
- package/research/hypotheses/quantum_algorithms/doc_cdf33ced/manifest.json +143 -0
- package/research/hypotheses/quantum_error_correction/doc_3986910a/main.md +61 -0
- package/research/hypotheses/quantum_error_correction/doc_3986910a/manifest.json +140 -0
- package/research/hypotheses/quantum_error_correction/doc_460e1a25/main.md +61 -0
- package/research/hypotheses/quantum_error_correction/doc_460e1a25/manifest.json +140 -0
- package/research/hypotheses/quantum_error_correction/doc_4cdf3487/main.md +62 -0
- package/research/hypotheses/quantum_error_correction/doc_4cdf3487/manifest.json +131 -0
- package/research/hypotheses/quantum_error_correction/doc_55457312/main.md +63 -0
- package/research/hypotheses/quantum_error_correction/doc_55457312/manifest.json +143 -0
- package/research/hypotheses/quantum_error_correction/doc_562627d3/main.md +62 -0
- package/research/hypotheses/quantum_error_correction/doc_562627d3/manifest.json +146 -0
- package/research/hypotheses/quantum_error_correction/doc_60af027e/main.md +62 -0
- package/research/hypotheses/quantum_error_correction/doc_60af027e/manifest.json +146 -0
- package/research/hypotheses/quantum_error_correction/doc_83a8579f/main.md +63 -0
- package/research/hypotheses/quantum_error_correction/doc_83a8579f/manifest.json +143 -0
- package/research/hypotheses/quantum_error_correction/doc_8ec38dbd/main.md +62 -0
- package/research/hypotheses/quantum_error_correction/doc_8ec38dbd/manifest.json +146 -0
- package/research/hypotheses/quantum_error_correction/doc_90cb416e/main.md +61 -0
- package/research/hypotheses/quantum_error_correction/doc_90cb416e/manifest.json +140 -0
- package/research/hypotheses/quantum_error_correction/doc_a40b574c/main.md +62 -0
- package/research/hypotheses/quantum_error_correction/doc_a40b574c/manifest.json +146 -0
- package/research/hypotheses/quantum_error_correction/doc_b4efacc8/main.md +63 -0
- package/research/hypotheses/quantum_error_correction/doc_b4efacc8/manifest.json +143 -0
- package/research/hypotheses/quantum_error_correction/doc_ca0d6569/main.md +62 -0
- package/research/hypotheses/quantum_error_correction/doc_ca0d6569/manifest.json +146 -0
- package/research/hypotheses/quantum_error_correction/doc_d1eb8740/main.md +61 -0
- package/research/hypotheses/quantum_error_correction/doc_d1eb8740/manifest.json +140 -0
- package/research/hypotheses/quantum_error_correction/doc_e55fcdcf/main.md +62 -0
- package/research/hypotheses/quantum_error_correction/doc_e55fcdcf/manifest.json +120 -0
- package/research/hypotheses/quantum_error_correction/doc_f227b165/main.md +63 -0
- package/research/hypotheses/quantum_error_correction/doc_f227b165/manifest.json +133 -0
- package/research/hypotheses/quantum_error_correction/doc_f5f78884/main.md +61 -0
- package/research/hypotheses/quantum_error_correction/doc_f5f78884/manifest.json +140 -0
- package/research/hypotheses/quantum_error_correction/doc_fdbcc4b0/main.md +61 -0
- package/research/hypotheses/quantum_error_correction/doc_fdbcc4b0/manifest.json +140 -0
- package/research/indices/patent_queue.md +124 -0
- package/research/patents/.gitkeep +0 -0
- package/research/patents/new_qubit_modalities/doc_083cce20/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_083cce20/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_083cce20/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_096ccdfa/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_096ccdfa/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_096ccdfa/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_099071ac/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_099071ac/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_099071ac/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_0adeaec6/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_0adeaec6/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_0adeaec6/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_0e4132a8/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_0e4132a8/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_0e4132a8/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_10af60fa/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_10af60fa/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_10af60fa/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_10afe71a/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_10afe71a/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_10afe71a/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_1339dcfa/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_1339dcfa/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_1339dcfa/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_15222e50/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_15222e50/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_15222e50/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_19e3f8ad/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_19e3f8ad/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_19e3f8ad/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_1a5d01f8/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_1a5d01f8/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_1a5d01f8/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_1bd8bb3b/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_1bd8bb3b/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_1bd8bb3b/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_1c7b4dc1/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_1c7b4dc1/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_1c7b4dc1/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_1ce08a7e/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_1ce08a7e/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_1ce08a7e/manifest.json +130 -0
- package/research/patents/new_qubit_modalities/doc_1cecf1a6/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_1cecf1a6/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_1cecf1a6/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_1d9ad900/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_1d9ad900/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_1d9ad900/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_1ec2eda5/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_1ec2eda5/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_1ec2eda5/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_24b05ff7/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_24b05ff7/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_24b05ff7/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_31c650c7/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_31c650c7/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_31c650c7/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_32f4c6cd/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_32f4c6cd/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_32f4c6cd/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_35a33533/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_35a33533/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_35a33533/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_37d39074/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_37d39074/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_37d39074/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_3bf9f16d/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_3bf9f16d/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_3bf9f16d/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_4440d9d5/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_4440d9d5/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_4440d9d5/manifest.json +130 -0
- package/research/patents/new_qubit_modalities/doc_46620281/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_46620281/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_46620281/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_48532723/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_48532723/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_48532723/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_496df511/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_496df511/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_496df511/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_4c89560e/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_4c89560e/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_4c89560e/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_4cea899d/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_4cea899d/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_4cea899d/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_4d2078d6/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_4d2078d6/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_4d2078d6/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_567d30eb/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_567d30eb/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_567d30eb/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_58bc6d20/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_58bc6d20/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_58bc6d20/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_59084437/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_59084437/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_59084437/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_5b665385/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_5b665385/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_5b665385/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_5f6eb22e/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_5f6eb22e/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_5f6eb22e/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_61841835/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_61841835/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_61841835/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_652f3497/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_652f3497/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_652f3497/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_65e31048/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_65e31048/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_65e31048/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_6906c32e/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_6906c32e/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_6906c32e/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_69b6b7f2/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_69b6b7f2/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_69b6b7f2/manifest.json +146 -0
- package/research/patents/new_qubit_modalities/doc_6c2088b8/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_6c2088b8/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_6c2088b8/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_6f269347/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_6f269347/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_6f269347/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_72bb1059/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_72bb1059/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_72bb1059/manifest.json +134 -0
- package/research/patents/new_qubit_modalities/doc_7302b617/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_7302b617/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_7302b617/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_73419bbf/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_73419bbf/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_73419bbf/manifest.json +139 -0
- package/research/patents/new_qubit_modalities/doc_7403ead0/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_7403ead0/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_7403ead0/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_7541d2ca/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_7541d2ca/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_7541d2ca/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_7680aa01/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_7680aa01/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_7680aa01/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_7c687253/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_7c687253/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_7c687253/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_7e9ac677/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_7e9ac677/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_7e9ac677/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_80d1269d/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_80d1269d/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_80d1269d/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_8415653b/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_8415653b/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_8415653b/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_86c2029b/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_86c2029b/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_86c2029b/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_88f8f770/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_88f8f770/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_88f8f770/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_8b820b6d/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_8b820b6d/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_8b820b6d/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_8de83b3b/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_8de83b3b/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_8de83b3b/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_8f3c09b2/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_8f3c09b2/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_8f3c09b2/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_8f84e761/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_8f84e761/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_8f84e761/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_900ee19f/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_900ee19f/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_900ee19f/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_908b0523/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_908b0523/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_908b0523/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_931099a3/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_931099a3/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_931099a3/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_93ee5d51/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_93ee5d51/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_93ee5d51/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_98121789/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_98121789/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_98121789/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_99fa1dbf/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_99fa1dbf/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_99fa1dbf/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_9abf5f6a/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_9abf5f6a/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_9abf5f6a/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_9cff9f3f/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_9cff9f3f/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_9cff9f3f/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_9fed647b/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_9fed647b/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_9fed647b/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_a3f62d60/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_a3f62d60/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_a3f62d60/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_a788a20b/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_a788a20b/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_a788a20b/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_a9b5116c/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_a9b5116c/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_a9b5116c/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_aaa731aa/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_aaa731aa/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_aaa731aa/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_afa469c3/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_afa469c3/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_afa469c3/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_b19b53e2/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_b19b53e2/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_b19b53e2/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_b64d1987/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_b64d1987/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_b64d1987/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_b68e9075/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_b68e9075/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_b68e9075/manifest.json +146 -0
- package/research/patents/new_qubit_modalities/doc_b6b86c9e/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_b6b86c9e/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_b6b86c9e/manifest.json +146 -0
- package/research/patents/new_qubit_modalities/doc_b7240f70/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_b7240f70/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_b7240f70/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_b7b42d51/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_b7b42d51/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_b7b42d51/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_b83f6b8a/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_b83f6b8a/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_b83f6b8a/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_b8f7e1bb/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_b8f7e1bb/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_b8f7e1bb/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_bc5321b9/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_bc5321b9/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_bc5321b9/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_c361e73b/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_c361e73b/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_c361e73b/manifest.json +135 -0
- package/research/patents/new_qubit_modalities/doc_cb9b6a6e/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_cb9b6a6e/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_cb9b6a6e/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_cf3eeb26/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_cf3eeb26/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_cf3eeb26/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_cfbeb808/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_cfbeb808/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_cfbeb808/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_cffd04a6/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_cffd04a6/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_cffd04a6/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_d416b00f/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_d416b00f/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_d416b00f/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_d557dc44/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_d557dc44/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_d557dc44/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_d80f7790/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_d80f7790/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_d80f7790/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_d8aadbce/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_d8aadbce/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_d8aadbce/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_da88d4e8/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_da88d4e8/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_da88d4e8/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_de3d7026/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_de3d7026/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_de3d7026/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_e14c8177/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_e14c8177/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_e14c8177/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_e1d1a39d/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_e1d1a39d/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_e1d1a39d/manifest.json +146 -0
- package/research/patents/new_qubit_modalities/doc_e4e26a47/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_e4e26a47/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_e4e26a47/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_e6cb751e/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_e6cb751e/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_e6cb751e/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_e77f22ca/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_e77f22ca/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_e77f22ca/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_e907e2a8/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_e907e2a8/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_e907e2a8/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_f5f85ca6/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_f5f85ca6/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_f5f85ca6/manifest.json +125 -0
- package/research/patents/new_qubit_modalities/doc_f6a9e5b3/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_f6a9e5b3/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_f6a9e5b3/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_f83f92f0/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_f83f92f0/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_f83f92f0/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_f99fe94b/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_f99fe94b/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_f99fe94b/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_f9d8235b/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_f9d8235b/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_f9d8235b/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_fe0561b4/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_fe0561b4/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_fe0561b4/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_ff47a428/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_ff47a428/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_ff47a428/manifest.json +145 -0
- package/research/patents/quantum_algorithms/doc_af0d56c9/main.md +64 -0
- package/research/patents/quantum_algorithms/doc_af0d56c9/main.tex +68 -0
- package/research/patents/quantum_algorithms/doc_af0d56c9/manifest.json +146 -0
- package/research/patents/quantum_error_correction/doc_0a24b8af/main.md +64 -0
- package/research/patents/quantum_error_correction/doc_0a24b8af/main.tex +68 -0
- package/research/patents/quantum_error_correction/doc_0a24b8af/manifest.json +141 -0
- package/research/patents/quantum_error_correction/doc_0a6aee57/main.md +64 -0
- package/research/patents/quantum_error_correction/doc_0a6aee57/main.tex +68 -0
- package/research/patents/quantum_error_correction/doc_0a6aee57/manifest.json +146 -0
- package/research/patents/quantum_error_correction/doc_20a67ec2/main.md +64 -0
- package/research/patents/quantum_error_correction/doc_20a67ec2/main.tex +68 -0
- package/research/patents/quantum_error_correction/doc_20a67ec2/manifest.json +146 -0
- package/research/patents/quantum_error_correction/doc_458e5def/main.md +64 -0
- package/research/patents/quantum_error_correction/doc_458e5def/main.tex +68 -0
- package/research/patents/quantum_error_correction/doc_458e5def/manifest.json +146 -0
- package/research/patents/quantum_error_correction/doc_475ce69d/main.md +64 -0
- package/research/patents/quantum_error_correction/doc_475ce69d/main.tex +68 -0
- package/research/patents/quantum_error_correction/doc_475ce69d/manifest.json +135 -0
- package/research/patents/quantum_error_correction/doc_6c43b9d3/main.md +64 -0
- package/research/patents/quantum_error_correction/doc_6c43b9d3/main.tex +68 -0
- package/research/patents/quantum_error_correction/doc_6c43b9d3/manifest.json +145 -0
- package/research/patents/quantum_error_correction/doc_837d0cbb/main.md +64 -0
- package/research/patents/quantum_error_correction/doc_837d0cbb/main.tex +68 -0
- package/research/patents/quantum_error_correction/doc_837d0cbb/manifest.json +146 -0
- package/research/patents/quantum_error_correction/doc_89199c22/main.md +64 -0
- package/research/patents/quantum_error_correction/doc_89199c22/main.tex +68 -0
- package/research/patents/quantum_error_correction/doc_89199c22/manifest.json +145 -0
- package/research/patents/quantum_error_correction/doc_aaee59e8/main.md +64 -0
- package/research/patents/quantum_error_correction/doc_aaee59e8/main.tex +68 -0
- package/research/patents/quantum_error_correction/doc_aaee59e8/manifest.json +146 -0
- package/research/patents/quantum_error_correction/doc_cf5f172b/main.md +64 -0
- package/research/patents/quantum_error_correction/doc_cf5f172b/main.tex +68 -0
- package/research/patents/quantum_error_correction/doc_cf5f172b/manifest.json +146 -0
- package/research/patents/quantum_error_correction/doc_d5f8a4ee/main.md +64 -0
- package/research/patents/quantum_error_correction/doc_d5f8a4ee/main.tex +68 -0
- package/research/patents/quantum_error_correction/doc_d5f8a4ee/manifest.json +146 -0
- package/research/patents/quantum_error_correction/doc_df16f521/main.md +64 -0
- package/research/patents/quantum_error_correction/doc_df16f521/main.tex +68 -0
- package/research/patents/quantum_error_correction/doc_df16f521/manifest.json +145 -0
- package/research/simulations/.gitkeep +0 -0
- package/research/topics/algorithms/seed_qsvt_2026/main.tex +93 -0
- package/research/topics/algorithms/seed_qsvt_2026/manifest.json +19 -0
- package/research/topics/molecular_simulation/seed_femoco_2026/main.tex +119 -0
- package/research/topics/molecular_simulation/seed_femoco_2026/manifest.json +20 -0
- package/research/topics/qec/seed_surface_code_2026/main.tex +89 -0
- package/research/topics/qec/seed_surface_code_2026/manifest.json +20 -0
- package/research/topics/qubits/seed_neutral_atom_2026/main.tex +98 -0
- package/research/topics/qubits/seed_neutral_atom_2026/manifest.json +19 -0
- package/scripts/benchmark.js +56 -0
- package/scripts/cli.js +237 -0
- package/src/core/ANNPsi.js +266 -0
- package/src/core/ArtificialJunkyNeuron.js +439 -0
- package/src/core/QSpherifierAgent.js +620 -0
- package/src/core/StateSerializer.js +74 -0
- package/src/index.js +178 -0
- package/src/layers/AJNLayer.js +248 -0
- package/src/layers/TransformerBlock.js +201 -0
- package/src/llm/AnthropicAdapter.js +76 -0
- package/src/llm/DeepSeekAdapter.js +78 -0
- package/src/llm/GoogleAdapter.js +78 -0
- package/src/llm/LLMAdapter.js +64 -0
- package/src/llm/LLMRouter.js +107 -0
- package/src/llm/LocalLLMAdapter.js +72 -0
- package/src/llm/OpenAIAdapter.js +78 -0
- package/src/llm/ZAIAdapter.js +99 -0
- package/src/modules/CascadeMonitor.js +84 -0
- package/src/modules/CitationGraph.js +119 -0
- package/src/modules/DocumentArchivist.js +326 -0
- package/src/modules/HierarchicalCommandInterpreter.js +220 -0
- package/src/modules/HypothesisGenerator.js +421 -0
- package/src/modules/MemorySystem.js +210 -0
- package/src/modules/MetricsCollector.js +139 -0
- package/src/modules/PatentClusterManager.js +199 -0
- package/src/modules/PatentDraftAssistant.js +221 -0
- package/src/modules/PluginManager.js +92 -0
- package/src/modules/QuantumKnowledgeGraph.js +888 -0
- package/src/modules/ResearchLineRouter.js +187 -0
- package/src/modules/ResourceFeasibilityChecker.js +494 -0
- package/src/modules/SafetyGuardrails.js +139 -0
- package/src/modules/TokenEnergyArbitrator.js +129 -0
- package/src/tools/BibliographyTool.js +74 -0
- package/src/tools/FileSystemTool.js +91 -0
- package/src/tools/LaTeXDocumentTool.js +94 -0
- package/src/tools/QuantumPhysicsTool.js +219 -0
- package/src/tools/Tool.js +30 -0
- package/src/tools/ToolRegistry.js +40 -0
- package/src/tools/WebSearchTool.js +50 -0
- package/src/training/TrainingPipeline.js +52 -0
- package/tests/run.js +200 -0
- package/web/public/css/dashboard.css +431 -0
- package/web/public/favicon.png +0 -0
- package/web/public/index.html +170 -0
- package/web/public/js/dashboard.js +431 -0
- package/web/public/qspherifier.png +0 -0
- package/web/server.js +306 -0
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* QuantumPhysicsTool.js — quantum-spherifier (v1.0)
|
|
3
|
+
* Numerical utilities for quantum-computing calculations:
|
|
4
|
+
* - Surface-code logical error rate (threshold formula)
|
|
5
|
+
* - Physical-to-logical qubit overhead estimation
|
|
6
|
+
* - T-gate count estimation for chemistry (QPE, Trotter, qubitization)
|
|
7
|
+
* - Coherence budget (circuit depth from T1/T2 + gate times)
|
|
8
|
+
* - Resource estimation for Shor's algorithm (RSA factoring)
|
|
9
|
+
* - VQE shot-count estimation
|
|
10
|
+
*
|
|
11
|
+
* All formulas use published results from the quantum-computing literature.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
import { Tool } from './Tool.js';
|
|
15
|
+
|
|
16
|
+
// Surface-code threshold (Google Willow 2024): p_th ≈ 1.0% for circuit-level noise
|
|
17
|
+
const SURFACE_CODE_THRESHOLD = 0.01;
|
|
18
|
+
|
|
19
|
+
export class QuantumPhysicsTool extends Tool {
|
|
20
|
+
constructor(opts = {}) {
|
|
21
|
+
super(opts);
|
|
22
|
+
this.id = 'quantum_physics';
|
|
23
|
+
this.name = 'Quantum Physics Calculator';
|
|
24
|
+
this.description = 'Surface-code error rates, qubit overhead, T-gate counts, coherence budgets, Shor resource estimation.';
|
|
25
|
+
this.schema = {
|
|
26
|
+
type: 'object',
|
|
27
|
+
properties: {
|
|
28
|
+
operation: { type: 'string', enum: ['surface_code_error', 'overhead', 'chemistry_resources', 'coherence_budget', 'shor_resources', 'vqe_shots'] },
|
|
29
|
+
params: { type: 'object' },
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
async execute(args) {
|
|
35
|
+
const op = args?.operation;
|
|
36
|
+
const p = args?.params ?? {};
|
|
37
|
+
try {
|
|
38
|
+
switch (op) {
|
|
39
|
+
case 'surface_code_error': return { ok: true, result: this.surfaceCodeError(p) };
|
|
40
|
+
case 'overhead': return { ok: true, result: this.overhead(p) };
|
|
41
|
+
case 'chemistry_resources': return { ok: true, result: this.chemistryResources(p) };
|
|
42
|
+
case 'coherence_budget': return { ok: true, result: this.coherenceBudget(p) };
|
|
43
|
+
case 'shor_resources': return { ok: true, result: this.shorResources(p) };
|
|
44
|
+
case 'vqe_shots': return { ok: true, result: this.vqeShots(p) };
|
|
45
|
+
default: return { ok: false, error: `Unknown operation: ${op}` };
|
|
46
|
+
}
|
|
47
|
+
} catch (err) {
|
|
48
|
+
return { ok: false, error: err.message };
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Surface-code logical error rate.
|
|
54
|
+
* p_L ≈ A * (p / p_th)^((d+1)/2)
|
|
55
|
+
* where A ≈ 0.1, p = physical error rate, d = code distance.
|
|
56
|
+
* (Fowler et al. 2012; verified by Google Willow 2024)
|
|
57
|
+
*/
|
|
58
|
+
surfaceCodeError({ physicalErrorRate = 0.005, codeDistance = 7 }) {
|
|
59
|
+
const p = physicalErrorRate;
|
|
60
|
+
const d = codeDistance;
|
|
61
|
+
if (p >= SURFACE_CODE_THRESHOLD) {
|
|
62
|
+
return {
|
|
63
|
+
physicalErrorRate: p,
|
|
64
|
+
codeDistance: d,
|
|
65
|
+
threshold: SURFACE_CODE_THRESHOLD,
|
|
66
|
+
belowThreshold: false,
|
|
67
|
+
logicalErrorRate: null,
|
|
68
|
+
warning: 'Physical error rate is above threshold; QEC will not suppress errors. Improve gate fidelity first.',
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
const A = 0.1;
|
|
72
|
+
const pL = A * Math.pow(p / SURFACE_CODE_THRESHOLD, (d + 1) / 2);
|
|
73
|
+
return {
|
|
74
|
+
physicalErrorRate: p,
|
|
75
|
+
codeDistance: d,
|
|
76
|
+
threshold: SURFACE_CODE_THRESHOLD,
|
|
77
|
+
belowThreshold: true,
|
|
78
|
+
logicalErrorRate: pL,
|
|
79
|
+
suppressionFactor: p / pL,
|
|
80
|
+
note: `Distance-${d} surface code suppresses errors by factor ${(p / pL).toExponential(2)} per cycle.`,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Physical-to-logical qubit overhead.
|
|
86
|
+
* Surface code: ~2*d^2 physical qubits per logical qubit.
|
|
87
|
+
* With magic-state factories: multiply by ~1.5-2x for a full processor.
|
|
88
|
+
*/
|
|
89
|
+
overhead({ logicalQubits = 100, codeDistance = 11, code = 'surface', includeFactories = true }) {
|
|
90
|
+
let perLogical;
|
|
91
|
+
if (code === 'surface') perLogical = 2 * codeDistance * codeDistance;
|
|
92
|
+
else if (code === 'color') perLogical = 2 * codeDistance * codeDistance * 1.5;
|
|
93
|
+
else if (code === 'qLDPC') perLogical = 2 * codeDistance * codeDistance * 0.2; // constant-rate advantage
|
|
94
|
+
else if (code === 'bacon_shor') perLogical = 3 * codeDistance * codeDistance * 0.5; // biased noise
|
|
95
|
+
else perLogical = 2 * codeDistance * codeDistance;
|
|
96
|
+
|
|
97
|
+
const dataQubits = logicalQubits * perLogical;
|
|
98
|
+
const factoryOverhead = includeFactories ? dataQubits * 1.0 : 0; // ~equal for T-gate factories
|
|
99
|
+
const total = dataQubits + factoryOverhead;
|
|
100
|
+
return {
|
|
101
|
+
code,
|
|
102
|
+
codeDistance,
|
|
103
|
+
logicalQubits,
|
|
104
|
+
physicalQubitsPerLogical: perLogical,
|
|
105
|
+
dataQubits,
|
|
106
|
+
factoryOverhead,
|
|
107
|
+
totalPhysicalQubits: total,
|
|
108
|
+
overheadRatio: total / logicalQubits,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Chemistry resource estimation (T-gate count).
|
|
114
|
+
* Qubitization: T_count ≈ (orbitals) * (lambda) * log(1/epsilon) / log(2)
|
|
115
|
+
* Trotter: T_count ≈ (orbitals)^4 * t^2 / epsilon (worse)
|
|
116
|
+
* (Babbush et al. 2018; Goings et al. 2022)
|
|
117
|
+
*/
|
|
118
|
+
chemistryResources({
|
|
119
|
+
molecule = 'FeMoco',
|
|
120
|
+
activeOrbitals = 154,
|
|
121
|
+
lambda = 1511, // 1-norm of Hamiltonian (FeMoco: ~1511, Goings 2022)
|
|
122
|
+
epsilon = 0.0016, // chemical accuracy in Ha
|
|
123
|
+
method = 'qubitization',
|
|
124
|
+
codeDistance = 11,
|
|
125
|
+
}) {
|
|
126
|
+
let tCount;
|
|
127
|
+
let logicalQubits;
|
|
128
|
+
if (method === 'qubitization') {
|
|
129
|
+
// T-count ~ 3 * lambda * orbitals * log2(1/epsilon) (Babbush 2018 lower bound)
|
|
130
|
+
tCount = Math.round(3 * lambda * activeOrbitals * Math.log2(1 / epsilon));
|
|
131
|
+
// Logical qubits ~ 2 * orbitals + ancilla
|
|
132
|
+
logicalQubits = Math.round(2 * activeOrbitals + 2000);
|
|
133
|
+
} else if (method === 'trotter') {
|
|
134
|
+
// Trotter: roughly 100x more T-gates
|
|
135
|
+
tCount = Math.round(100 * lambda * activeOrbitals * Math.log2(1 / epsilon));
|
|
136
|
+
logicalQubits = Math.round(2 * activeOrbitals + 500);
|
|
137
|
+
} else {
|
|
138
|
+
tCount = Math.round(lambda * activeOrbitals * Math.log2(1 / epsilon));
|
|
139
|
+
logicalQubits = Math.round(2 * activeOrbitals + 1000);
|
|
140
|
+
}
|
|
141
|
+
const overhead = this.overhead({ logicalQubits, codeDistance, code: 'surface', includeFactories: true });
|
|
142
|
+
return {
|
|
143
|
+
molecule,
|
|
144
|
+
activeOrbitals,
|
|
145
|
+
lambda,
|
|
146
|
+
epsilon_Ha: epsilon,
|
|
147
|
+
method,
|
|
148
|
+
tgateCount: tCount,
|
|
149
|
+
logicalQubits,
|
|
150
|
+
physicalQubits: overhead.totalPhysicalQubits,
|
|
151
|
+
codeDistance,
|
|
152
|
+
runtime_estimate_days: (tCount / 1e9).toFixed(2), // at 1e9 T-gates/day (25 MHz T factory)
|
|
153
|
+
note: `Resource estimate for ${molecule} at chemical accuracy (${epsilon} Ha).`,
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Coherence budget: maximum circuit depth from T1/T2 and gate times.
|
|
159
|
+
*/
|
|
160
|
+
coherenceBudget({ T1_us = 300, T2_us = 200, gate1q_us = 0.02, gate2q_us = 0.2, measurement_us = 1, targetFidelity = 0.99 }) {
|
|
161
|
+
const T1_s = T1_us / 1e6;
|
|
162
|
+
const T2_s = T2_us / 1e6;
|
|
163
|
+
const cycleTime_us = Math.max(gate2q_us, measurement_us);
|
|
164
|
+
const cyclesT1 = Math.floor(T1_s / (cycleTime_us / 1e6));
|
|
165
|
+
const cyclesT2 = Math.floor(T2_s / (cycleTime_us / 1e6));
|
|
166
|
+
const maxCycles = Math.min(cyclesT1, cyclesT2) * Math.log(1 / (1 - targetFidelity));
|
|
167
|
+
return {
|
|
168
|
+
T1_us, T2_us, gate1q_us, gate2q_us, measurement_us, cycleTime_us,
|
|
169
|
+
maxCyclesBeforeDecoherence: Math.floor(maxCycles),
|
|
170
|
+
maxCircuitDepth_gates: Math.floor(maxCycles),
|
|
171
|
+
note: `Circuit depth limited to ~${Math.floor(maxCycles)} gates at ${targetFidelity*100}% target fidelity.`,
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* Resource estimation for Shor's algorithm (RSA factoring).
|
|
177
|
+
* Gidney & Ekerå 2021: ~3n + 0.002n log n logical qubits, ~n^3 log n T-gates.
|
|
178
|
+
*/
|
|
179
|
+
shorResources({ rsaBits = 2048, codeDistance = 21, method = 'gidney_ekera_2021' }) {
|
|
180
|
+
const n = rsaBits;
|
|
181
|
+
let logicalQubits, tCount;
|
|
182
|
+
if (method === 'gidney_ekera_2021') {
|
|
183
|
+
logicalQubits = Math.round(3 * n + 0.002 * n * Math.log2(n));
|
|
184
|
+
tCount = Math.round(n * n * Math.log2(n) * 0.3 * n); // approx n^3 log n
|
|
185
|
+
} else {
|
|
186
|
+
logicalQubits = Math.round(2 * n + 1000);
|
|
187
|
+
tCount = Math.round(n * n * n);
|
|
188
|
+
}
|
|
189
|
+
const overhead = this.overhead({ logicalQubits, codeDistance, code: 'surface', includeFactories: true });
|
|
190
|
+
return {
|
|
191
|
+
rsaBits: n,
|
|
192
|
+
method,
|
|
193
|
+
logicalQubits,
|
|
194
|
+
tgateCount: tCount,
|
|
195
|
+
physicalQubits: overhead.totalPhysicalQubits,
|
|
196
|
+
codeDistance,
|
|
197
|
+
runtime_hours: (tCount / 1e9 / 24).toFixed(1), // at 1e9 T/day
|
|
198
|
+
note: `Shor's algorithm for RSA-${n} requires ~${logicalQubits} logical qubits and ~${tCount.toExponential(2)} T-gates.`,
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* VQE shot-count estimation.
|
|
204
|
+
* Shots ~ (terms / epsilon^2) * group_reduction_factor
|
|
205
|
+
*/
|
|
206
|
+
vqeShots({ hamiltonianTerms = 1e6, targetPrecision = 0.001, groupingFactor = 0.01 }) {
|
|
207
|
+
const shots = Math.round((hamiltonianTerms * groupingFactor) / (targetPrecision * targetPrecision));
|
|
208
|
+
return {
|
|
209
|
+
hamiltonianTerms,
|
|
210
|
+
targetPrecision,
|
|
211
|
+
groupingFactor,
|
|
212
|
+
estimatedShots: shots,
|
|
213
|
+
estimatedRuntime_hours: (shots / 1e4).toFixed(1), // at 10k shots/sec
|
|
214
|
+
note: `VQE requires ~${shots.toExponential(2)} measurements for ${targetPrecision} Ha precision.`,
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
export { SURFACE_CODE_THRESHOLD };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool.js — FUSIONARY (v1.0)
|
|
3
|
+
* Abstract base class for all tools.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { EventEmitter } from 'eventemitter3';
|
|
7
|
+
|
|
8
|
+
export class Tool extends EventEmitter {
|
|
9
|
+
constructor(opts = {}) {
|
|
10
|
+
super();
|
|
11
|
+
this.id = opts.id ?? 'tool';
|
|
12
|
+
this.name = opts.name ?? 'Tool';
|
|
13
|
+
this.description = opts.description ?? '';
|
|
14
|
+
this.schema = opts.schema ?? { type: 'object' };
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/** Subclasses override. */
|
|
18
|
+
async execute(_args) {
|
|
19
|
+
throw new Error('Not implemented');
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
metadata() {
|
|
23
|
+
return {
|
|
24
|
+
id: this.id,
|
|
25
|
+
name: this.name,
|
|
26
|
+
description: this.description,
|
|
27
|
+
schema: this.schema,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ToolRegistry.js — FUSIONARY (v1.0)
|
|
3
|
+
* Central registry for tools with schema validation.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { EventEmitter } from 'eventemitter3';
|
|
7
|
+
|
|
8
|
+
export class ToolRegistry extends EventEmitter {
|
|
9
|
+
constructor(opts = {}) {
|
|
10
|
+
super();
|
|
11
|
+
this.tools = new Map();
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
register(tool) {
|
|
15
|
+
if (!tool?.id) throw new Error('Tool must have an id');
|
|
16
|
+
if (this.tools.has(tool.id)) {
|
|
17
|
+
throw new Error(`Tool already registered: ${tool.id}`);
|
|
18
|
+
}
|
|
19
|
+
this.tools.set(tool.id, tool);
|
|
20
|
+
this.emit('registered', { id: tool.id, name: tool.name });
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
registerMany(tools) {
|
|
24
|
+
for (const t of tools) this.register(t);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
get(id) {
|
|
28
|
+
return this.tools.get(id);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
list() {
|
|
32
|
+
return [...this.tools.values()].map(t => t.metadata());
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
async execute(id, args) {
|
|
36
|
+
const tool = this.tools.get(id);
|
|
37
|
+
if (!tool) throw new Error(`Unknown tool: ${id}`);
|
|
38
|
+
return tool.execute(args);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WebSearchTool.js — FUSIONARY (v1.0)
|
|
3
|
+
* Web search via z-ai-web-dev-sdk. Falls back to a deterministic
|
|
4
|
+
* "no results" stub when offline so the agent can continue operating.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { Tool } from './Tool.js';
|
|
8
|
+
import ZAI from 'z-ai-web-dev-sdk';
|
|
9
|
+
|
|
10
|
+
export class WebSearchTool extends Tool {
|
|
11
|
+
constructor(opts = {}) {
|
|
12
|
+
super(opts);
|
|
13
|
+
this.id = 'web_search';
|
|
14
|
+
this.name = 'Web Search Tool';
|
|
15
|
+
this.description = 'Searches the web for current fusion research literature and news.';
|
|
16
|
+
this.schema = {
|
|
17
|
+
type: 'object',
|
|
18
|
+
required: ['query'],
|
|
19
|
+
properties: {
|
|
20
|
+
query: { type: 'string' },
|
|
21
|
+
maxResults: { type: 'number' },
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
this._zai = null;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
async _client() {
|
|
28
|
+
if (!this._zai) this._zai = await ZAI.create();
|
|
29
|
+
return this._zai;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
async execute(args) {
|
|
33
|
+
const query = args?.query;
|
|
34
|
+
if (!query) return { ok: false, error: 'Missing "query"' };
|
|
35
|
+
try {
|
|
36
|
+
const client = await this._client();
|
|
37
|
+
const results = await client.functions.invoke('web_search', {
|
|
38
|
+
query,
|
|
39
|
+
num: args?.maxResults ?? 8,
|
|
40
|
+
});
|
|
41
|
+
return { ok: true, results };
|
|
42
|
+
} catch (err) {
|
|
43
|
+
return {
|
|
44
|
+
ok: true,
|
|
45
|
+
results: [],
|
|
46
|
+
warning: `Web search unavailable: ${err.message}. Continuing offline.`,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TrainingPipeline.js — FUSIONARY (v1.0)
|
|
3
|
+
* 4-phase training pipeline (compatible with predator v2.0 interface).
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { EventEmitter } from 'eventemitter3';
|
|
7
|
+
|
|
8
|
+
const PHASES = ['I_pretrain', 'II_addiction_seeding', 'III_hierarchical_finetune', 'IV_adversarial'];
|
|
9
|
+
|
|
10
|
+
export class TrainingPipeline extends EventEmitter {
|
|
11
|
+
constructor(opts = {}) {
|
|
12
|
+
super();
|
|
13
|
+
this.agent = opts.agent ?? null;
|
|
14
|
+
this.epochs = {
|
|
15
|
+
I: opts.epochsI ?? 10,
|
|
16
|
+
II_T1: opts.epochsII_T1 ?? 5,
|
|
17
|
+
II_T2: opts.epochsII_T2 ?? 5,
|
|
18
|
+
II_T3: opts.epochsII_T3 ?? 5,
|
|
19
|
+
III: opts.epochsIII ?? 8,
|
|
20
|
+
IV: opts.epochsIV ?? 6,
|
|
21
|
+
};
|
|
22
|
+
this.enableCheckpoints = opts.enableCheckpoints ?? true;
|
|
23
|
+
this.earlyStoppingPatience = opts.earlyStoppingPatience ?? 5;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
async run() {
|
|
27
|
+
if (!this.agent) throw new Error('No agent attached');
|
|
28
|
+
this.emit('train:start', { phases: PHASES });
|
|
29
|
+
for (const phase of PHASES) {
|
|
30
|
+
await this._runPhase(phase);
|
|
31
|
+
}
|
|
32
|
+
this.emit('train:complete', { phases: PHASES });
|
|
33
|
+
return { ok: true, phases: PHASES };
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
async _runPhase(phase) {
|
|
37
|
+
const epochs = this.epochs[phase] ?? 5;
|
|
38
|
+
this.emit('phase:start', { phase, epochs });
|
|
39
|
+
for (let epoch = 0; epoch < epochs; epoch++) {
|
|
40
|
+
// Each epoch: run a research cycle as training signal
|
|
41
|
+
try {
|
|
42
|
+
if (typeof this.agent._runCycle === 'function') {
|
|
43
|
+
await this.agent._runCycle();
|
|
44
|
+
}
|
|
45
|
+
} catch (err) {
|
|
46
|
+
this.emit('phase:error', { phase, epoch, error: err.message });
|
|
47
|
+
}
|
|
48
|
+
this.emit('phase:epoch', { phase, epoch });
|
|
49
|
+
}
|
|
50
|
+
this.emit('phase:complete', { phase });
|
|
51
|
+
}
|
|
52
|
+
}
|
package/tests/run.js
ADDED
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* quantum-spherifier v1.0 — Test runner
|
|
3
|
+
* Lightweight smoke tests that verify the core modules import and
|
|
4
|
+
* operate without a live LLM connection.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { createQSpherifier } from '../src/index.js';
|
|
8
|
+
import { QuantumKnowledgeGraph } from '../src/modules/QuantumKnowledgeGraph.js';
|
|
9
|
+
import { ResourceFeasibilityChecker, RESOURCE_ANCHORS } from '../src/modules/ResourceFeasibilityChecker.js';
|
|
10
|
+
import { QuantumPhysicsTool, SURFACE_CODE_THRESHOLD } from '../src/tools/QuantumPhysicsTool.js';
|
|
11
|
+
import { ResearchLineRouter, RESEARCH_LINES } from '../src/modules/ResearchLineRouter.js';
|
|
12
|
+
import { DocumentArchivist } from '../src/modules/DocumentArchivist.js';
|
|
13
|
+
|
|
14
|
+
const results = { passed: 0, failed: 0, tests: [] };
|
|
15
|
+
|
|
16
|
+
function test(name, fn) {
|
|
17
|
+
try {
|
|
18
|
+
fn();
|
|
19
|
+
results.passed++;
|
|
20
|
+
results.tests.push({ name, status: 'pass' });
|
|
21
|
+
console.log(` ✓ ${name}`);
|
|
22
|
+
} catch (err) {
|
|
23
|
+
results.failed++;
|
|
24
|
+
results.tests.push({ name, status: 'fail', error: err.message });
|
|
25
|
+
console.log(` ✗ ${name}: ${err.message}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
async function asyncTest(name, fn) {
|
|
30
|
+
try {
|
|
31
|
+
await fn();
|
|
32
|
+
results.passed++;
|
|
33
|
+
results.tests.push({ name, status: 'pass' });
|
|
34
|
+
console.log(` ✓ ${name}`);
|
|
35
|
+
} catch (err) {
|
|
36
|
+
results.failed++;
|
|
37
|
+
results.tests.push({ name, status: 'fail', error: err.message });
|
|
38
|
+
console.log(` ✗ ${name}: ${err.message}`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
console.log('\n╔══════════════════════════════════════════════════════════════╗');
|
|
43
|
+
console.log('║ quantum-spherifier v1.0 — Test Suite ║');
|
|
44
|
+
console.log('╚══════════════════════════════════════════════════════════════╝\n');
|
|
45
|
+
|
|
46
|
+
// ── Knowledge Graph ─────────────────────────────────────────────────────────
|
|
47
|
+
console.log('Knowledge Graph:');
|
|
48
|
+
const kg = new QuantumKnowledgeGraph({});
|
|
49
|
+
await kg.init();
|
|
50
|
+
test('KG seeds with real quantum hardware nodes', () => {
|
|
51
|
+
if (!kg.nodes.has('hw_ibm_condor')) throw new Error('Missing IBM Condor');
|
|
52
|
+
if (!kg.nodes.has('hw_google_willow')) throw new Error('Missing Google Willow');
|
|
53
|
+
if (!kg.nodes.has('hw_atom_computing')) throw new Error('Missing Atom Computing');
|
|
54
|
+
if (!kg.nodes.has('hw_quantinuum_h2')) throw new Error('Missing Quantinuum H2');
|
|
55
|
+
});
|
|
56
|
+
test('KG seeds four research lines', () => {
|
|
57
|
+
for (const line of RESEARCH_LINES) {
|
|
58
|
+
const nodes = kg.byResearchLine(line);
|
|
59
|
+
if (nodes.length === 0) throw new Error(`Line ${line} has no nodes`);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
test('KG has cross-link edges (nothing isolated)', () => {
|
|
63
|
+
let crossLinks = 0;
|
|
64
|
+
for (const e of kg.edges.values()) {
|
|
65
|
+
if (e.type === 'cross_links') crossLinks++;
|
|
66
|
+
}
|
|
67
|
+
if (crossLinks < 5) throw new Error(`Only ${crossLinks} cross-link edges; expected >= 5`);
|
|
68
|
+
});
|
|
69
|
+
test('KG findUnderExplored works per-line', () => {
|
|
70
|
+
const ue = kg.findUnderExplored(10, 'quantum_error_correction');
|
|
71
|
+
if (ue.length === 0) throw new Error('No under-explored QEC nodes');
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
// ── Resource Feasibility ────────────────────────────────────────────────────
|
|
75
|
+
console.log('\nResource Feasibility:');
|
|
76
|
+
const fc = new ResourceFeasibilityChecker({ kg });
|
|
77
|
+
await asyncTest('Feasibility: 100 physical qubits → current tier', async () => {
|
|
78
|
+
const v = await fc.assess({
|
|
79
|
+
statement: 'Uses IBM Heron 156-qubit processor',
|
|
80
|
+
parameters: { physicalQubits: 100, modality: 'superconducting_transmon' },
|
|
81
|
+
supportingConcepts: ['hw_ibm_heron'],
|
|
82
|
+
});
|
|
83
|
+
if (v.tier !== 'current') throw new Error(`Expected current, got ${v.tier}`);
|
|
84
|
+
});
|
|
85
|
+
await asyncTest('Feasibility: 10M physical qubits → speculative', async () => {
|
|
86
|
+
const v = await fc.assess({ parameters: { physicalQubits: 10_000_000 }, supportingConcepts: [] });
|
|
87
|
+
if (v.tier !== 'speculative' && v.tier !== 'long_term') throw new Error(`Expected speculative/long_term, got ${v.tier}`);
|
|
88
|
+
});
|
|
89
|
+
await asyncTest('Feasibility: anchors detected for real hardware', async () => {
|
|
90
|
+
const v = await fc.assess({ statement: 'Uses Google Willow 105 qubits', parameters: {} });
|
|
91
|
+
if (v.anchors.length === 0) throw new Error('No anchors detected for Google Willow');
|
|
92
|
+
});
|
|
93
|
+
await asyncTest('Feasibility: cross-link verification flags isolated solutions', async () => {
|
|
94
|
+
const v = await fc.assess({ parameters: { physicalQubits: 50 }, supportingConcepts: [] });
|
|
95
|
+
if (v.crossLinks.sufficient) throw new Error('Isolated solution should not be sufficient');
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
// ── Quantum Physics Tool (use sync helper methods directly) ─────────────────
|
|
99
|
+
console.log('\nQuantum Physics Tool:');
|
|
100
|
+
const qp = new QuantumPhysicsTool();
|
|
101
|
+
test('Surface code error: below threshold suppresses errors', () => {
|
|
102
|
+
// Use p well below threshold so suppression is clearly visible at d=7
|
|
103
|
+
const r = qp.surfaceCodeError({ physicalErrorRate: 0.001, codeDistance: 7 });
|
|
104
|
+
if (!r.belowThreshold) throw new Error('Should be below threshold');
|
|
105
|
+
if (r.logicalErrorRate >= r.physicalErrorRate) throw new Error(`Logical error ${r.logicalErrorRate} should be lower than physical ${r.physicalErrorRate}`);
|
|
106
|
+
});
|
|
107
|
+
test('Surface code error: above threshold warns', () => {
|
|
108
|
+
const r = qp.surfaceCodeError({ physicalErrorRate: 0.02, codeDistance: 7 });
|
|
109
|
+
if (r.belowThreshold) throw new Error('Should be above threshold');
|
|
110
|
+
});
|
|
111
|
+
test('Overhead: surface code ~2d² per logical', () => {
|
|
112
|
+
const r = qp.overhead({ logicalQubits: 100, codeDistance: 11, code: 'surface' });
|
|
113
|
+
if (r.physicalQubitsPerLogical !== 242) throw new Error(`Expected 242, got ${r.physicalQubitsPerLogical}`);
|
|
114
|
+
});
|
|
115
|
+
test('Shor RSA-2048 resources are huge', () => {
|
|
116
|
+
const r = qp.shorResources({ rsaBits: 2048, codeDistance: 21 });
|
|
117
|
+
if (r.logicalQubits < 1000) throw new Error(`Expected >1000 logical qubits, got ${r.logicalQubits}`);
|
|
118
|
+
});
|
|
119
|
+
test('Chemistry resources for FeMoco', () => {
|
|
120
|
+
const r = qp.chemistryResources({ molecule: 'FeMoco', activeOrbitals: 154, lambda: 1511, method: 'qubitization' });
|
|
121
|
+
if (r.tgateCount < 1e6) throw new Error('FeMoco should need >1M T-gates');
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
// ── Research Line Router ────────────────────────────────────────────────────
|
|
125
|
+
console.log('\nResearch Line Router:');
|
|
126
|
+
const router = new ResearchLineRouter({ kg });
|
|
127
|
+
test('Router routes to a valid line', () => {
|
|
128
|
+
const r = router.route(null);
|
|
129
|
+
if (!RESEARCH_LINES.includes(r.line)) throw new Error(`Invalid line: ${r.line}`);
|
|
130
|
+
});
|
|
131
|
+
test('Router detects line from directive', () => {
|
|
132
|
+
const r = router.route('Focus on surface code distance 11');
|
|
133
|
+
if (r.line !== 'quantum_error_correction') throw new Error(`Expected QEC, got ${r.line}`);
|
|
134
|
+
});
|
|
135
|
+
test('Router triggers cross-link every 5th cycle', () => {
|
|
136
|
+
router.totalCycles = 4;
|
|
137
|
+
const r = router.route(null);
|
|
138
|
+
if (!r.crossLink) throw new Error('5th cycle should be cross-link');
|
|
139
|
+
});
|
|
140
|
+
|
|
141
|
+
// ── Document Archivist ──────────────────────────────────────────────────────
|
|
142
|
+
console.log('\nDocument Archivist:');
|
|
143
|
+
const arch = new DocumentArchivist({ rootDir: './test_research_tmp' });
|
|
144
|
+
test('Archivist archives a document', () => {
|
|
145
|
+
const r = arch.archive({
|
|
146
|
+
category: 'hypotheses',
|
|
147
|
+
title: 'Test hypothesis',
|
|
148
|
+
topic: 'qec',
|
|
149
|
+
researchLine: 'quantum_error_correction',
|
|
150
|
+
markdownSource: '# Test',
|
|
151
|
+
tags: ['qec', 'intermediate_result'],
|
|
152
|
+
patent: { eligible: false, claims: [] },
|
|
153
|
+
});
|
|
154
|
+
if (!r.id) throw new Error('No id returned');
|
|
155
|
+
});
|
|
156
|
+
test('Archivist lists documents', () => {
|
|
157
|
+
const list = arch.list();
|
|
158
|
+
if (list.length === 0) throw new Error('Empty list');
|
|
159
|
+
});
|
|
160
|
+
test('Archivist patent queue filters eligible', () => {
|
|
161
|
+
arch.archive({
|
|
162
|
+
category: 'patents',
|
|
163
|
+
title: 'Test patent',
|
|
164
|
+
topic: 'qubits',
|
|
165
|
+
researchLine: 'new_qubit_modalities',
|
|
166
|
+
tags: ['patent_ready'],
|
|
167
|
+
patent: { eligible: true, claims: ['A test claim'] },
|
|
168
|
+
});
|
|
169
|
+
const pq = arch.patentQueue();
|
|
170
|
+
if (pq.length === 0) throw new Error('Empty patent queue');
|
|
171
|
+
});
|
|
172
|
+
|
|
173
|
+
// ── Full Agent (no LLM) ─────────────────────────────────────────────────────
|
|
174
|
+
console.log('\nFull Agent (template mode, no LLM):');
|
|
175
|
+
await asyncTest('Agent boots and runs one cycle', async () => {
|
|
176
|
+
const agent = await createQSpherifier({
|
|
177
|
+
researchDir: './test_research_agent',
|
|
178
|
+
maxCycles: 1,
|
|
179
|
+
autonomousMode: false,
|
|
180
|
+
});
|
|
181
|
+
await agent._runCycle();
|
|
182
|
+
const stats = agent.archivist.stats();
|
|
183
|
+
if (stats.total === 0) throw new Error('No documents produced');
|
|
184
|
+
if (agent.kg.nodes.size < 30) throw new Error('KG not seeded');
|
|
185
|
+
await agent.shutdown();
|
|
186
|
+
});
|
|
187
|
+
|
|
188
|
+
// ── Summary ─────────────────────────────────────────────────────────────────
|
|
189
|
+
console.log('\n╔══════════════════════════════════════════════════════════════╗');
|
|
190
|
+
const summary = ` Results: ${results.passed} passed, ${results.failed} failed`;
|
|
191
|
+
console.log(summary.padEnd(64) + '║');
|
|
192
|
+
console.log('╚══════════════════════════════════════════════════════════════╝');
|
|
193
|
+
|
|
194
|
+
// Cleanup
|
|
195
|
+
import { rmSync } from 'node:fs';
|
|
196
|
+
for (const dir of ['./test_research_tmp', './test_research_agent', './data']) {
|
|
197
|
+
try { rmSync(dir, { recursive: true, force: true }); } catch {}
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
process.exit(results.failed > 0 ? 1 : 0);
|