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,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SafetyGuardrails.js — quantum-spherifier (v1.0)
|
|
3
|
+
* Pre-execution safety filter tuned for quantum-computing research.
|
|
4
|
+
*
|
|
5
|
+
* Levels:
|
|
6
|
+
* permissive – minimal checks; useful for fast batch research
|
|
7
|
+
* standard – default; blocks destructive file ops, requires resource anchor
|
|
8
|
+
* strict – all checks + patent-novelty pre-check + rollback plan
|
|
9
|
+
*
|
|
10
|
+
* quantum-spherifier-specific checks:
|
|
11
|
+
* - Reject any faster-than-light / no-decoherence "infinite coherence" claim
|
|
12
|
+
* - Reject any proposal exceeding 10M physical qubits without a credible roadmap
|
|
13
|
+
* - Reject any claim of breaking RSA-2048 on current hardware
|
|
14
|
+
* - Reject any proposal claiming quantum advantage without a defined problem
|
|
15
|
+
* - Require at least one RESOURCE_ANCHOR reference per claim (strict mode)
|
|
16
|
+
* - Require at least one KG cross-link per hypothesis (nothing isolated)
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
import { EventEmitter } from 'eventemitter3';
|
|
20
|
+
import { RESOURCE_ANCHORS } from './ResourceFeasibilityChecker.js';
|
|
21
|
+
|
|
22
|
+
const FORBIDDEN_PATTERNS = [
|
|
23
|
+
/faster[\s_-]?than[\s_-]?light/i,
|
|
24
|
+
/instantaneous[\s_-]?communication/i,
|
|
25
|
+
/infinite[\s_-]?coherence/i,
|
|
26
|
+
/no[\s_-]?decoherence/i,
|
|
27
|
+
/perpetual[\s_-]?quantum/i,
|
|
28
|
+
/free[\s_-]?energy/i,
|
|
29
|
+
/macroscopic[\s_-]?schrodinger[\s_-]?cat[\s_-]?indefinitely/i,
|
|
30
|
+
/break[\s_-]?rsa[\s_-]?2048[\s_-]?(today|now|current)/i,
|
|
31
|
+
/quantum[\s_-]?advantage[\s_-]?(for|on)[\s_-]?(everything|all|any)/i,
|
|
32
|
+
];
|
|
33
|
+
|
|
34
|
+
const PROTECTED_PATHS = new Set([
|
|
35
|
+
'/etc', '/root', '/var', '/usr', '/boot', '/sys', '/proc',
|
|
36
|
+
'/dev', '/lib', '/bin', '/sbin',
|
|
37
|
+
]);
|
|
38
|
+
|
|
39
|
+
export class SafetyGuardrails extends EventEmitter {
|
|
40
|
+
constructor(opts = {}) {
|
|
41
|
+
super();
|
|
42
|
+
this.safetyLevel = opts.safetyLevel ?? 'standard';
|
|
43
|
+
this.protectedPaths = new Set([...PROTECTED_PATHS, ...(opts.protectedPaths ?? [])]);
|
|
44
|
+
this.rateLimits = opts.rateLimits ?? { perMinute: 60, perHour: 600 };
|
|
45
|
+
this._calls = [];
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Check a research action before execution.
|
|
50
|
+
* @param {object} action – { type, payload, target }
|
|
51
|
+
* @returns {{ allowed: boolean, reason?: string, severity?: string }}
|
|
52
|
+
*/
|
|
53
|
+
check(action) {
|
|
54
|
+
if (this.safetyLevel === 'permissive') return { allowed: true };
|
|
55
|
+
|
|
56
|
+
// 1. Forbidden physics patterns
|
|
57
|
+
const text = JSON.stringify(action ?? {});
|
|
58
|
+
for (const pat of FORBIDDEN_PATTERNS) {
|
|
59
|
+
if (pat.test(text)) {
|
|
60
|
+
this.emit('blocked', { reason: 'forbidden_physics', pattern: pat.source });
|
|
61
|
+
return {
|
|
62
|
+
allowed: false,
|
|
63
|
+
reason: `Forbidden physics pattern detected: ${pat.source}`,
|
|
64
|
+
severity: 'critical',
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// 2. Physical qubit cap (no proposal may exceed 10M without roadmap anchor)
|
|
70
|
+
const qubits = action?.parameters?.physicalQubits ?? action?.payload?.parameters?.physicalQubits;
|
|
71
|
+
if (typeof qubits === 'number' && qubits > 10_000_000) {
|
|
72
|
+
this.emit('blocked', { reason: 'qubit_overrun', value: qubits });
|
|
73
|
+
return {
|
|
74
|
+
allowed: false,
|
|
75
|
+
reason: `Physical qubit count ${qubits} exceeds 10M cap without credible roadmap`,
|
|
76
|
+
severity: 'critical',
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// 3. File path protection
|
|
81
|
+
const target = action?.target ?? action?.payload?.path;
|
|
82
|
+
if (typeof target === 'string') {
|
|
83
|
+
for (const p of this.protectedPaths) {
|
|
84
|
+
if (target.startsWith(p)) {
|
|
85
|
+
this.emit('blocked', { reason: 'protected_path', path: target });
|
|
86
|
+
return {
|
|
87
|
+
allowed: false,
|
|
88
|
+
reason: `Target path is protected: ${target}`,
|
|
89
|
+
severity: 'critical',
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// 4. Resource anchor requirement (strict level)
|
|
96
|
+
if (this.safetyLevel === 'strict') {
|
|
97
|
+
const claim = action?.payload?.hypothesis ?? action?.payload?.claim ?? action?.payload;
|
|
98
|
+
const anchorText = JSON.stringify(claim ?? {}).toLowerCase();
|
|
99
|
+
const hasAnchor = Object.keys(RESOURCE_ANCHORS).some(id => {
|
|
100
|
+
const a = RESOURCE_ANCHORS[id];
|
|
101
|
+
const label = (a.label ?? id).toLowerCase();
|
|
102
|
+
return anchorText.includes(label)
|
|
103
|
+
|| anchorText.includes(id.toLowerCase().replace(/_/g, ' '))
|
|
104
|
+
|| (a.modality && anchorText.includes(a.modality.toLowerCase().replace(/_/g, ' ')));
|
|
105
|
+
});
|
|
106
|
+
if (!hasAnchor && action?.type !== 'noop') {
|
|
107
|
+
this.emit('warning', { reason: 'no_resource_anchor' });
|
|
108
|
+
return {
|
|
109
|
+
allowed: false,
|
|
110
|
+
reason: 'Strict mode requires at least one RESOURCE_ANCHOR reference',
|
|
111
|
+
severity: 'warning',
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
// 5. Rate limit
|
|
117
|
+
const now = Date.now();
|
|
118
|
+
this._calls = this._calls.filter(t => now - t < 60 * 60 * 1000);
|
|
119
|
+
const lastMinute = this._calls.filter(t => now - t < 60_000).length;
|
|
120
|
+
if (lastMinute >= this.rateLimits.perMinute) {
|
|
121
|
+
return {
|
|
122
|
+
allowed: false,
|
|
123
|
+
reason: 'Per-minute rate limit exceeded',
|
|
124
|
+
severity: 'warning',
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
this._calls.push(now);
|
|
128
|
+
|
|
129
|
+
return { allowed: true };
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
setLevel(level) {
|
|
133
|
+
if (!['permissive', 'standard', 'strict'].includes(level)) {
|
|
134
|
+
throw new Error(`Invalid safety level: ${level}`);
|
|
135
|
+
}
|
|
136
|
+
this.safetyLevel = level;
|
|
137
|
+
this.emit('levelChanged', level);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TokenEnergyArbitrator.js + PraxicStreamExecutor.js — FUSIONARY (v1.0)
|
|
3
|
+
* PID-controlled emission rate for praxes, with parallel execution,
|
|
4
|
+
* retry logic, and structured audit log.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { EventEmitter } from 'eventemitter3';
|
|
8
|
+
|
|
9
|
+
// ── Token-Energy Arbitrator ──────────────────────────────────────────────────
|
|
10
|
+
export class TokenEnergyArbitrator extends EventEmitter {
|
|
11
|
+
constructor(opts = {}) {
|
|
12
|
+
super();
|
|
13
|
+
this.budgetTokens = opts.budgetTokens ?? 100_000;
|
|
14
|
+
this.budgetEnergy = opts.budgetEnergy ?? 1.0; // Normalised 0-1
|
|
15
|
+
this.tokensUsed = 0;
|
|
16
|
+
this.energyUsed = 0;
|
|
17
|
+
this.kp = opts.kp ?? 0.6;
|
|
18
|
+
this.ki = opts.ki ?? 0.1;
|
|
19
|
+
this.kd = opts.kd ?? 0.05;
|
|
20
|
+
this._integral = 0;
|
|
21
|
+
this._prevError = 0;
|
|
22
|
+
this.emissionRate = 1.0;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
setBudget(tokens, energy) {
|
|
26
|
+
if (typeof tokens === 'number') this.budgetTokens = tokens;
|
|
27
|
+
if (typeof energy === 'number') this.budgetEnergy = energy;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/** Decide whether to allow a praxis emission of `tokens` tokens and `energy` energy. */
|
|
31
|
+
arbitrate(tokens = 0, energy = 0) {
|
|
32
|
+
const tokenError = 1 - (this.tokensUsed / this.budgetTokens);
|
|
33
|
+
const energyError = 1 - (this.energyUsed / this.budgetEnergy);
|
|
34
|
+
const error = Math.min(tokenError, energyError);
|
|
35
|
+
|
|
36
|
+
this._integral += error;
|
|
37
|
+
const derivative = error - this._prevError;
|
|
38
|
+
this._prevError = error;
|
|
39
|
+
|
|
40
|
+
const output = this.kp * error + this.ki * this._integral + this.kd * derivative;
|
|
41
|
+
this.emissionRate = Math.max(0, Math.min(1, output));
|
|
42
|
+
|
|
43
|
+
const allowed = this.emissionRate > 0.1 && this.tokensUsed + tokens <= this.budgetTokens;
|
|
44
|
+
if (allowed) {
|
|
45
|
+
this.tokensUsed += tokens;
|
|
46
|
+
this.energyUsed += energy;
|
|
47
|
+
}
|
|
48
|
+
this.emit('decision', { allowed, emissionRate: this.emissionRate, tokens, energy });
|
|
49
|
+
return allowed;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
status() {
|
|
53
|
+
return {
|
|
54
|
+
tokensUsed: this.tokensUsed,
|
|
55
|
+
tokensRemaining: Math.max(0, this.budgetTokens - this.tokensUsed),
|
|
56
|
+
energyUsed: this.energyUsed,
|
|
57
|
+
energyRemaining: Math.max(0, this.budgetEnergy - this.energyUsed),
|
|
58
|
+
emissionRate: this.emissionRate,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
reset() {
|
|
63
|
+
this.tokensUsed = 0;
|
|
64
|
+
this.energyUsed = 0;
|
|
65
|
+
this._integral = 0;
|
|
66
|
+
this._prevError = 0;
|
|
67
|
+
this.emissionRate = 1.0;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// ── Praxic Stream Executor ──────────────────────────────────────────────────
|
|
72
|
+
export class PraxicStreamExecutor extends EventEmitter {
|
|
73
|
+
constructor(opts = {}) {
|
|
74
|
+
super();
|
|
75
|
+
this.registry = opts.registry ?? null;
|
|
76
|
+
this.maxRetries = opts.maxRetries ?? 3;
|
|
77
|
+
this.timeoutMs = opts.timeoutMs ?? 30_000;
|
|
78
|
+
this.auditLog = [];
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Execute a praxis (action) by looking up its handler in the registry.
|
|
83
|
+
* @param {object} praxis – { toolId, args }
|
|
84
|
+
*/
|
|
85
|
+
async execute(praxis) {
|
|
86
|
+
if (!this.registry) throw new Error('No tool registry attached');
|
|
87
|
+
const { toolId, args } = praxis;
|
|
88
|
+
const handler = this.registry.get(toolId);
|
|
89
|
+
if (!handler) {
|
|
90
|
+
this._log(praxis, 'error', { error: `Unknown tool: ${toolId}` });
|
|
91
|
+
return { ok: false, error: `Unknown tool: ${toolId}` };
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
let attempt = 0;
|
|
95
|
+
let lastError = null;
|
|
96
|
+
while (attempt < this.maxRetries) {
|
|
97
|
+
attempt++;
|
|
98
|
+
try {
|
|
99
|
+
const result = await this._withTimeout(handler(args), this.timeoutMs);
|
|
100
|
+
this._log(praxis, 'success', { attempt, result });
|
|
101
|
+
return { ok: true, result, attempts: attempt };
|
|
102
|
+
} catch (err) {
|
|
103
|
+
lastError = err;
|
|
104
|
+
this._log(praxis, 'retry', { attempt, error: err.message });
|
|
105
|
+
await new Promise(r => setTimeout(r, 100 * 2 ** attempt));
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
this._log(praxis, 'failure', { error: lastError?.message ?? 'unknown' });
|
|
109
|
+
return { ok: false, error: lastError?.message ?? 'unknown', attempts: attempt };
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
async _withTimeout(promise, ms) {
|
|
113
|
+
return Promise.race([
|
|
114
|
+
promise,
|
|
115
|
+
new Promise((_, reject) => setTimeout(() => reject(new Error('Timeout')), ms)),
|
|
116
|
+
]);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
_log(praxis, status, extra) {
|
|
120
|
+
this.auditLog.push({
|
|
121
|
+
timestamp: Date.now(),
|
|
122
|
+
toolId: praxis.toolId,
|
|
123
|
+
status,
|
|
124
|
+
...extra,
|
|
125
|
+
});
|
|
126
|
+
if (this.auditLog.length > 1000) this.auditLog.shift();
|
|
127
|
+
this.emit('audit', { praxis, status, ...extra });
|
|
128
|
+
}
|
|
129
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BibliographyTool.js — FUSIONARY (v1.0)
|
|
3
|
+
* Builds BibTeX files for archived documents.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { Tool } from './Tool.js';
|
|
7
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
8
|
+
|
|
9
|
+
const ENTRY_TYPES = ['article', 'inproceedings', 'techreport', 'misc', 'online', 'patent'];
|
|
10
|
+
|
|
11
|
+
function escapeLatex(s) {
|
|
12
|
+
return String(s ?? '')
|
|
13
|
+
.replace(/\\/g, '\\textbackslash{}')
|
|
14
|
+
.replace(/&/g, '\\&')
|
|
15
|
+
.replace(/%/g, '\\%')
|
|
16
|
+
.replace(/_/g, '\\_')
|
|
17
|
+
.replace(/\{/g, '\\{')
|
|
18
|
+
.replace(/\}/g, '\\}');
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export class BibliographyTool extends Tool {
|
|
22
|
+
constructor(opts = {}) {
|
|
23
|
+
super(opts);
|
|
24
|
+
this.id = 'bibliography';
|
|
25
|
+
this.name = 'Bibliography Builder';
|
|
26
|
+
this.description = 'Generates BibTeX entries from citation metadata.';
|
|
27
|
+
this.schema = {
|
|
28
|
+
type: 'object',
|
|
29
|
+
properties: {
|
|
30
|
+
operation: { type: 'string', enum: ['add', 'compile'] },
|
|
31
|
+
entries: { type: 'array' },
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
this.entries = new Map();
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
async execute(args) {
|
|
38
|
+
const op = args?.operation ?? 'add';
|
|
39
|
+
if (op === 'add') {
|
|
40
|
+
const list = Array.isArray(args?.entries) ? args.entries : [];
|
|
41
|
+
const added = [];
|
|
42
|
+
for (const e of list) {
|
|
43
|
+
const id = e.key ?? uuidv4().slice(0, 8);
|
|
44
|
+
this.entries.set(id, e);
|
|
45
|
+
added.push(id);
|
|
46
|
+
}
|
|
47
|
+
return { ok: true, added, total: this.entries.size };
|
|
48
|
+
}
|
|
49
|
+
if (op === 'compile') {
|
|
50
|
+
return { ok: true, bibtex: this.compile() };
|
|
51
|
+
}
|
|
52
|
+
return { ok: false, error: `Unknown operation: ${op}` };
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
compile() {
|
|
56
|
+
const lines = [];
|
|
57
|
+
for (const [key, e] of this.entries) {
|
|
58
|
+
const type = ENTRY_TYPES.includes(e.type) ? e.type : 'misc';
|
|
59
|
+
lines.push(`@${type}{${key},`);
|
|
60
|
+
if (e.title) lines.push(` title = {${escapeLatex(e.title)}},`);
|
|
61
|
+
if (e.author) lines.push(` author = {${escapeLatex(e.author)}},`);
|
|
62
|
+
if (e.year) lines.push(` year = {${e.year}},`);
|
|
63
|
+
if (e.journal) lines.push(` journal = {${escapeLatex(e.journal)}},`);
|
|
64
|
+
if (e.volume) lines.push(` volume = {${e.volume}},`);
|
|
65
|
+
if (e.pages) lines.push(` pages = {${e.pages}},`);
|
|
66
|
+
if (e.doi) lines.push(` doi = {${e.doi}},`);
|
|
67
|
+
if (e.url) lines.push(` url = {${e.url}},`);
|
|
68
|
+
if (e.note) lines.push(` note = {${escapeLatex(e.note)}},`);
|
|
69
|
+
lines.push('}');
|
|
70
|
+
lines.push('');
|
|
71
|
+
}
|
|
72
|
+
return lines.join('\n');
|
|
73
|
+
}
|
|
74
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FileSystemTool.js — FUSIONARY (v1.0)
|
|
3
|
+
* Real file I/O tool with sandbox directory enforcement.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { Tool } from './Tool.js';
|
|
7
|
+
import {
|
|
8
|
+
existsSync, mkdirSync, readFileSync, writeFileSync, appendFileSync,
|
|
9
|
+
unlinkSync, readdirSync, statSync, copyFileSync, renameSync,
|
|
10
|
+
} from 'node:fs';
|
|
11
|
+
import { join, resolve, dirname, relative, isAbsolute } from 'node:path';
|
|
12
|
+
|
|
13
|
+
const SANDBOX_DEFAULT = join(process.cwd(), 'research');
|
|
14
|
+
|
|
15
|
+
export class FileSystemTool extends Tool {
|
|
16
|
+
constructor(opts = {}) {
|
|
17
|
+
super(opts);
|
|
18
|
+
this.id = 'filesystem';
|
|
19
|
+
this.name = 'File System Tool';
|
|
20
|
+
this.description = 'Sandboxed file I/O: read, write, append, delete, list, mkdir, copy, move.';
|
|
21
|
+
this.sandbox = opts.sandbox ?? SANDBOX_DEFAULT;
|
|
22
|
+
this.schema = {
|
|
23
|
+
type: 'object',
|
|
24
|
+
required: ['operation', 'path'],
|
|
25
|
+
properties: {
|
|
26
|
+
operation: { type: 'string', enum: ['read', 'write', 'append', 'delete', 'list', 'stat', 'mkdir', 'copy', 'move'] },
|
|
27
|
+
path: { type: 'string' },
|
|
28
|
+
content: { type: 'string' },
|
|
29
|
+
dest: { type: 'string' },
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
_resolve(path) {
|
|
35
|
+
const abs = isAbsolute(path) ? path : join(this.sandbox, path);
|
|
36
|
+
const rel = relative(this.sandbox, abs);
|
|
37
|
+
if (rel.startsWith('..')) {
|
|
38
|
+
throw new Error(`Path escapes sandbox: ${path}`);
|
|
39
|
+
}
|
|
40
|
+
return abs;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
async execute(args) {
|
|
44
|
+
try {
|
|
45
|
+
const op = args?.operation;
|
|
46
|
+
const p = this._resolve(args?.path ?? '');
|
|
47
|
+
switch (op) {
|
|
48
|
+
case 'read':
|
|
49
|
+
if (!existsSync(p)) return { ok: false, error: 'Not found' };
|
|
50
|
+
return { ok: true, content: readFileSync(p, 'utf8') };
|
|
51
|
+
case 'write':
|
|
52
|
+
mkdirSync(dirname(p), { recursive: true });
|
|
53
|
+
writeFileSync(p, args?.content ?? '');
|
|
54
|
+
return { ok: true, path: p };
|
|
55
|
+
case 'append':
|
|
56
|
+
mkdirSync(dirname(p), { recursive: true });
|
|
57
|
+
appendFileSync(p, args?.content ?? '');
|
|
58
|
+
return { ok: true, path: p };
|
|
59
|
+
case 'delete':
|
|
60
|
+
if (existsSync(p)) { unlinkSync(p); return { ok: true }; }
|
|
61
|
+
return { ok: false, error: 'Not found' };
|
|
62
|
+
case 'list':
|
|
63
|
+
if (!existsSync(p)) return { ok: false, error: 'Not found' };
|
|
64
|
+
return { ok: true, entries: readdirSync(p) };
|
|
65
|
+
case 'stat':
|
|
66
|
+
if (!existsSync(p)) return { ok: false, error: 'Not found' };
|
|
67
|
+
const s = statSync(p);
|
|
68
|
+
return { ok: true, stat: { size: s.size, mtime: s.mtime, isDir: s.isDirectory() } };
|
|
69
|
+
case 'mkdir':
|
|
70
|
+
mkdirSync(p, { recursive: true });
|
|
71
|
+
return { ok: true, path: p };
|
|
72
|
+
case 'copy':
|
|
73
|
+
if (!existsSync(p)) return { ok: false, error: 'Source not found' };
|
|
74
|
+
const dst = this._resolve(args?.dest ?? '');
|
|
75
|
+
mkdirSync(dirname(dst), { recursive: true });
|
|
76
|
+
copyFileSync(p, dst);
|
|
77
|
+
return { ok: true, from: p, to: dst };
|
|
78
|
+
case 'move':
|
|
79
|
+
if (!existsSync(p)) return { ok: false, error: 'Source not found' };
|
|
80
|
+
const d = this._resolve(args?.dest ?? '');
|
|
81
|
+
mkdirSync(dirname(d), { recursive: true });
|
|
82
|
+
renameSync(p, d);
|
|
83
|
+
return { ok: true, from: p, to: d };
|
|
84
|
+
default:
|
|
85
|
+
return { ok: false, error: `Unknown operation: ${op}` };
|
|
86
|
+
}
|
|
87
|
+
} catch (err) {
|
|
88
|
+
return { ok: false, error: err.message };
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LaTeXDocumentTool.js — FUSIONARY (v1.0)
|
|
3
|
+
* Compiles a TeX source string into a PDF using the local `pdflatex`
|
|
4
|
+
* toolchain if available; otherwise writes only the .tex file and
|
|
5
|
+
* emits a warning. Always returns the absolute paths of the produced
|
|
6
|
+
* artifacts.
|
|
7
|
+
*
|
|
8
|
+
* Inputs:
|
|
9
|
+
* { source: <tex string>, outputPath: <dir>, filename: <stem> }
|
|
10
|
+
* Outputs:
|
|
11
|
+
* { texPath, pdfPath?, log?, ok, error? }
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
import { existsSync, mkdirSync, writeFileSync, readFileSync } from 'node:fs';
|
|
15
|
+
import { join } from 'node:path';
|
|
16
|
+
import { execSync, spawnSync } from 'node:child_process';
|
|
17
|
+
import { Tool } from './Tool.js';
|
|
18
|
+
|
|
19
|
+
export class LaTeXDocumentTool extends Tool {
|
|
20
|
+
constructor(opts = {}) {
|
|
21
|
+
super(opts);
|
|
22
|
+
this.id = 'latex_document';
|
|
23
|
+
this.name = 'LaTeX Document Compiler';
|
|
24
|
+
this.description = 'Compiles a TeX source string into a PDF artifact.';
|
|
25
|
+
this.schema = {
|
|
26
|
+
type: 'object',
|
|
27
|
+
required: ['source', 'outputPath'],
|
|
28
|
+
properties: {
|
|
29
|
+
source: { type: 'string' },
|
|
30
|
+
outputPath: { type: 'string' },
|
|
31
|
+
filename: { type: 'string' },
|
|
32
|
+
attempts: { type: 'number' },
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
this.pdflatexPath = opts.pdflatexPath ?? 'pdflatex';
|
|
36
|
+
this._available = null;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
isAvailable() {
|
|
40
|
+
if (this._available !== null) return this._available;
|
|
41
|
+
try {
|
|
42
|
+
const r = spawnSync(this.pdflatexPath, ['--version'], { encoding: 'utf8' });
|
|
43
|
+
this._available = r.status === 0;
|
|
44
|
+
} catch {
|
|
45
|
+
this._available = false;
|
|
46
|
+
}
|
|
47
|
+
return this._available;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
async execute(args) {
|
|
51
|
+
const { source, outputPath, filename = 'main', attempts = 2 } = args;
|
|
52
|
+
if (!source) return { ok: false, error: 'Missing "source"' };
|
|
53
|
+
if (!outputPath) return { ok: false, error: 'Missing "outputPath"' };
|
|
54
|
+
|
|
55
|
+
if (!existsSync(outputPath)) mkdirSync(outputPath, { recursive: true });
|
|
56
|
+
const texPath = join(outputPath, `${filename}.tex`);
|
|
57
|
+
writeFileSync(texPath, source);
|
|
58
|
+
|
|
59
|
+
if (!this.isAvailable()) {
|
|
60
|
+
return {
|
|
61
|
+
ok: true,
|
|
62
|
+
texPath,
|
|
63
|
+
pdfPath: null,
|
|
64
|
+
warning: 'pdflatex not available; only .tex was written.',
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
let lastLog = '';
|
|
69
|
+
for (let i = 0; i < attempts; i++) {
|
|
70
|
+
try {
|
|
71
|
+
const result = spawnSync(
|
|
72
|
+
this.pdflatexPath,
|
|
73
|
+
['-interaction=nonstopmode', '-halt-on-error', '-output-directory', outputPath, texPath],
|
|
74
|
+
{ encoding: 'utf8', timeout: 60_000 }
|
|
75
|
+
);
|
|
76
|
+
lastLog = result.stdout ?? '';
|
|
77
|
+
if (result.status === 0) {
|
|
78
|
+
const pdfPath = join(outputPath, `${filename}.pdf`);
|
|
79
|
+
if (existsSync(pdfPath)) {
|
|
80
|
+
return { ok: true, texPath, pdfPath, log: lastLog };
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
} catch (err) {
|
|
84
|
+
return { ok: false, texPath, error: err.message, log: lastLog };
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return {
|
|
88
|
+
ok: false,
|
|
89
|
+
texPath,
|
|
90
|
+
error: 'pdflatex failed after multiple attempts',
|
|
91
|
+
log: lastLog,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
}
|