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,210 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MemorySystem.js — FUSIONARY (v1.0)
|
|
3
|
+
* Three-tier persistent memory specialised for scientific research.
|
|
4
|
+
*
|
|
5
|
+
* Episodic: Records of past research cycles (hypothesis → design → patent)
|
|
6
|
+
* Semantic: Facts extracted from the KG and external literature
|
|
7
|
+
* Working: Short-term buffer for the current research cycle
|
|
8
|
+
*
|
|
9
|
+
* Embeddings: simple deterministic hash-based (384-dim) when no LLM is
|
|
10
|
+
* configured; if an LLM adapter with embed() is supplied, it is used.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import { EventEmitter } from 'eventemitter3';
|
|
14
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
15
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync, readdirSync, unlinkSync } from 'node:fs';
|
|
16
|
+
import { join, dirname } from 'node:path';
|
|
17
|
+
|
|
18
|
+
function hashEmbed(text, dim = 384) {
|
|
19
|
+
const e = new Float64Array(dim);
|
|
20
|
+
for (let i = 0; i < text.length; i++) {
|
|
21
|
+
const code = text.charCodeAt(i);
|
|
22
|
+
const slot = (i * 31 + code) % dim;
|
|
23
|
+
e[slot] += Math.sin(code * 0.01 + i * 0.1) * (1 + (code % 5));
|
|
24
|
+
}
|
|
25
|
+
let n = 0;
|
|
26
|
+
for (const v of e) n += v * v;
|
|
27
|
+
n = Math.sqrt(n) || 1;
|
|
28
|
+
for (let i = 0; i < dim; i++) e[i] /= n;
|
|
29
|
+
return Array.from(e);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function cosine(a, b) {
|
|
33
|
+
let s = 0;
|
|
34
|
+
for (let i = 0; i < Math.min(a.length, b.length); i++) s += a[i] * b[i];
|
|
35
|
+
return s;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export class MemorySystem extends EventEmitter {
|
|
39
|
+
constructor(opts = {}) {
|
|
40
|
+
super();
|
|
41
|
+
this.storageDir = opts.storageDir ?? join(process.cwd(), 'data', 'memory');
|
|
42
|
+
this.llm = opts.llm ?? null;
|
|
43
|
+
this.episodic = [];
|
|
44
|
+
this.semantic = new Map();
|
|
45
|
+
this.working = new Map();
|
|
46
|
+
this.maxWorking = opts.maxWorking ?? 50;
|
|
47
|
+
this.ttlMs = opts.ttlMs ?? 30 * 60 * 1000;
|
|
48
|
+
this.initialized = false;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
async init() {
|
|
52
|
+
if (this.initialized) return;
|
|
53
|
+
if (!existsSync(this.storageDir)) mkdirSync(this.storageDir, { recursive: true });
|
|
54
|
+
await this._loadEpisodic();
|
|
55
|
+
await this._loadSemantic();
|
|
56
|
+
// Prune expired working memory on init
|
|
57
|
+
this._pruneWorking();
|
|
58
|
+
this.initialized = true;
|
|
59
|
+
this.emit('ready');
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// ── Episodic ───────────────────────────────────────────────────────────────
|
|
63
|
+
|
|
64
|
+
async store(topic, payload, metadata = {}) {
|
|
65
|
+
const id = uuidv4();
|
|
66
|
+
const text = `${topic} ${JSON.stringify(payload)}`;
|
|
67
|
+
const embedding = this.llm ? (await this._safeEmbed(text)) : hashEmbed(text);
|
|
68
|
+
const record = {
|
|
69
|
+
id,
|
|
70
|
+
topic,
|
|
71
|
+
payload,
|
|
72
|
+
embedding,
|
|
73
|
+
metadata,
|
|
74
|
+
timestamp: Date.now(),
|
|
75
|
+
};
|
|
76
|
+
this.episodic.push(record);
|
|
77
|
+
if (this.episodic.length > 1000) this.episodic = this.episodic.slice(-1000);
|
|
78
|
+
await this._persistEpisodicRecord(record);
|
|
79
|
+
this.emit('episodicStored', { id, topic });
|
|
80
|
+
return record;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
async recall(query, opts = {}) {
|
|
84
|
+
const limit = opts.limit ?? 5;
|
|
85
|
+
const minSim = opts.minSimilarity ?? 0.3;
|
|
86
|
+
const text = `${query} ${JSON.stringify(opts.context ?? {})}`;
|
|
87
|
+
const qe = this.llm ? (await this._safeEmbed(text)) : hashEmbed(text);
|
|
88
|
+
|
|
89
|
+
const scored = this.episodic.map(rec => ({
|
|
90
|
+
rec,
|
|
91
|
+
score: cosine(qe, rec.embedding ?? []),
|
|
92
|
+
}));
|
|
93
|
+
return scored
|
|
94
|
+
.filter(s => s.score >= minSim)
|
|
95
|
+
.sort((a, b) => b.score - a.score)
|
|
96
|
+
.slice(0, limit)
|
|
97
|
+
.map(s => ({ ...s.rec, similarity: s.score }));
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// ── Semantic ───────────────────────────────────────────────────────────────
|
|
101
|
+
|
|
102
|
+
async storeSemantic(key, value, confidence = 0.5) {
|
|
103
|
+
const text = `${key} ${JSON.stringify(value)}`;
|
|
104
|
+
const embedding = this.llm ? (await this._safeEmbed(text)) : hashEmbed(text);
|
|
105
|
+
const record = {
|
|
106
|
+
key,
|
|
107
|
+
value,
|
|
108
|
+
confidence,
|
|
109
|
+
embedding,
|
|
110
|
+
updatedAt: Date.now(),
|
|
111
|
+
};
|
|
112
|
+
this.semantic.set(key, record);
|
|
113
|
+
await this._persistSemanticRecord(record);
|
|
114
|
+
this.emit('semanticStored', { key });
|
|
115
|
+
return record;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
retrieveSemantic(key) {
|
|
119
|
+
return this.semantic.get(key);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// ── Working memory ─────────────────────────────────────────────────────────
|
|
123
|
+
|
|
124
|
+
setWorking(key, value, ttl = this.ttlMs) {
|
|
125
|
+
this.working.set(key, {
|
|
126
|
+
value,
|
|
127
|
+
expires: ttl > 0 ? Date.now() + ttl : 0,
|
|
128
|
+
});
|
|
129
|
+
if (this.working.size > this.maxWorking) {
|
|
130
|
+
const oldest = this.working.keys().next().value;
|
|
131
|
+
this.working.delete(oldest);
|
|
132
|
+
}
|
|
133
|
+
this.emit('workingSet', { key });
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
getWorking(key) {
|
|
137
|
+
const entry = this.working.get(key);
|
|
138
|
+
if (!entry) return null;
|
|
139
|
+
if (entry.expires && entry.expires < Date.now()) {
|
|
140
|
+
this.working.delete(key);
|
|
141
|
+
return null;
|
|
142
|
+
}
|
|
143
|
+
return entry.value;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
_pruneWorking() {
|
|
147
|
+
const now = Date.now();
|
|
148
|
+
for (const [k, v] of this.working) {
|
|
149
|
+
if (v.expires && v.expires < now) this.working.delete(k);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
// ── Persistence ────────────────────────────────────────────────────────────
|
|
154
|
+
|
|
155
|
+
async _safeEmbed(text) {
|
|
156
|
+
try {
|
|
157
|
+
const r = await this.llm.embed(text);
|
|
158
|
+
if (r?.ok && Array.isArray(r.embedding)) return r.embedding;
|
|
159
|
+
} catch (err) {
|
|
160
|
+
this.emit('warning', { stage: 'embed', error: err.message });
|
|
161
|
+
}
|
|
162
|
+
return hashEmbed(text);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
async _persistEpisodicRecord(rec) {
|
|
166
|
+
const file = join(this.storageDir, 'episodic', `${rec.id}.json`);
|
|
167
|
+
if (!existsSync(dirname(file))) mkdirSync(dirname(file), { recursive: true });
|
|
168
|
+
writeFileSync(file, JSON.stringify(rec, null, 2));
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
async _loadEpisodic() {
|
|
172
|
+
const dir = join(this.storageDir, 'episodic');
|
|
173
|
+
if (!existsSync(dir)) return;
|
|
174
|
+
for (const entry of readdirSync(dir)) {
|
|
175
|
+
try {
|
|
176
|
+
const rec = JSON.parse(readFileSync(join(dir, entry), 'utf8'));
|
|
177
|
+
this.episodic.push(rec);
|
|
178
|
+
} catch (err) {
|
|
179
|
+
this.emit('warning', { stage: 'loadEpisodic', file: entry, error: err.message });
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
async _persistSemanticRecord(rec) {
|
|
185
|
+
const file = join(this.storageDir, 'semantic', `${rec.key.replace(/[^a-zA-Z0-9_]/g, '_')}.json`);
|
|
186
|
+
if (!existsSync(dirname(file))) mkdirSync(dirname(file), { recursive: true });
|
|
187
|
+
writeFileSync(file, JSON.stringify(rec, null, 2));
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
async _loadSemantic() {
|
|
191
|
+
const dir = join(this.storageDir, 'semantic');
|
|
192
|
+
if (!existsSync(dir)) return;
|
|
193
|
+
for (const entry of readdirSync(dir)) {
|
|
194
|
+
try {
|
|
195
|
+
const rec = JSON.parse(readFileSync(join(dir, entry), 'utf8'));
|
|
196
|
+
this.semantic.set(rec.key, rec);
|
|
197
|
+
} catch (err) {
|
|
198
|
+
this.emit('warning', { stage: 'loadSemantic', file: entry, error: err.message });
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
stats() {
|
|
204
|
+
return {
|
|
205
|
+
episodic: this.episodic.length,
|
|
206
|
+
semantic: this.semantic.size,
|
|
207
|
+
working: this.working.size,
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MetricsCollector.js — FUSIONARY (v1.0)
|
|
3
|
+
* Observability stack: counters, gauges, histograms, timers, time-series.
|
|
4
|
+
*
|
|
5
|
+
* FUSIONARY-specific KPIs:
|
|
6
|
+
* - documents_produced
|
|
7
|
+
* - hypotheses_generated
|
|
8
|
+
* - patents_drafted
|
|
9
|
+
* - feasibility_check_passes
|
|
10
|
+
* - llm_calls_by_adapter
|
|
11
|
+
* - average_quality
|
|
12
|
+
* - average_novelty
|
|
13
|
+
* - average_feasibility
|
|
14
|
+
* - average_patentability
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { EventEmitter } from 'eventemitter3';
|
|
18
|
+
|
|
19
|
+
export class MetricsCollector extends EventEmitter {
|
|
20
|
+
constructor(opts = {}) {
|
|
21
|
+
super();
|
|
22
|
+
this.counters = new Map();
|
|
23
|
+
this.gauges = new Map();
|
|
24
|
+
this.histograms = new Map();
|
|
25
|
+
this.timers = new Map();
|
|
26
|
+
this.timeseries = new Map();
|
|
27
|
+
this.enableConsole = opts.enableConsole ?? false;
|
|
28
|
+
this._timerStarts = new Map();
|
|
29
|
+
this.started = false;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
start() {
|
|
33
|
+
this.started = true;
|
|
34
|
+
if (this.enableConsole) {
|
|
35
|
+
this._consoleTimer = setInterval(() => this._dump(), 30_000);
|
|
36
|
+
}
|
|
37
|
+
this.emit('started');
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
stop() {
|
|
41
|
+
if (this._consoleTimer) clearInterval(this._consoleTimer);
|
|
42
|
+
this.started = false;
|
|
43
|
+
this.emit('stopped');
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
incrementCounter(name, value = 1) {
|
|
47
|
+
this.counters.set(name, (this.counters.get(name) ?? 0) + value);
|
|
48
|
+
this._pushTimeseries(name, value);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
setGauge(name, value) {
|
|
52
|
+
this.gauges.set(name, value);
|
|
53
|
+
this._pushTimeseries(name, value);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
observeHistogram(name, value) {
|
|
57
|
+
if (!this.histograms.has(name)) this.histograms.set(name, []);
|
|
58
|
+
const arr = this.histograms.get(name);
|
|
59
|
+
arr.push(value);
|
|
60
|
+
if (arr.length > 1000) arr.shift();
|
|
61
|
+
this._pushTimeseries(name, value);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
startTimer(name) {
|
|
65
|
+
const id = `${name}_${Date.now()}_${Math.random()}`;
|
|
66
|
+
this._timerStarts.set(id, Date.now());
|
|
67
|
+
return id;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
stopTimer(name, id) {
|
|
71
|
+
const start = this._timerStarts.get(id);
|
|
72
|
+
if (!start) return 0;
|
|
73
|
+
const elapsed = Date.now() - start;
|
|
74
|
+
if (!this.timers.has(name)) this.timers.set(name, []);
|
|
75
|
+
const arr = this.timers.get(name);
|
|
76
|
+
arr.push(elapsed);
|
|
77
|
+
if (arr.length > 500) arr.shift();
|
|
78
|
+
this._timerStarts.delete(id);
|
|
79
|
+
this._pushTimeseries(name, elapsed);
|
|
80
|
+
return elapsed;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
_pushTimeseries(name, value) {
|
|
84
|
+
if (!this.timeseries.has(name)) this.timeseries.set(name, []);
|
|
85
|
+
const arr = this.timeseries.get(name);
|
|
86
|
+
arr.push({ t: Date.now(), v: value });
|
|
87
|
+
if (arr.length > 1440) arr.shift(); // keep 24h at 1-min resolution
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
getSummary() {
|
|
91
|
+
const histogramStats = {};
|
|
92
|
+
for (const [name, arr] of this.histograms) {
|
|
93
|
+
if (arr.length === 0) continue;
|
|
94
|
+
const sorted = [...arr].sort((a, b) => a - b);
|
|
95
|
+
histogramStats[name] = {
|
|
96
|
+
count: arr.length,
|
|
97
|
+
min: sorted[0],
|
|
98
|
+
max: sorted[sorted.length - 1],
|
|
99
|
+
mean: arr.reduce((s, v) => s + v, 0) / arr.length,
|
|
100
|
+
p50: sorted[Math.floor(arr.length * 0.5)],
|
|
101
|
+
p95: sorted[Math.floor(arr.length * 0.95)],
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
const timerStats = {};
|
|
105
|
+
for (const [name, arr] of this.timers) {
|
|
106
|
+
if (arr.length === 0) continue;
|
|
107
|
+
timerStats[name] = {
|
|
108
|
+
count: arr.length,
|
|
109
|
+
meanMs: arr.reduce((s, v) => s + v, 0) / arr.length,
|
|
110
|
+
lastMs: arr[arr.length - 1],
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
return {
|
|
114
|
+
counters: Object.fromEntries(this.counters),
|
|
115
|
+
gauges: Object.fromEntries(this.gauges),
|
|
116
|
+
histograms: histogramStats,
|
|
117
|
+
timers: timerStats,
|
|
118
|
+
timeseriesKeys: [...this.timeseries.keys()],
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
resetAll() {
|
|
123
|
+
this.counters.clear();
|
|
124
|
+
this.gauges.clear();
|
|
125
|
+
this.histograms.clear();
|
|
126
|
+
this.timers.clear();
|
|
127
|
+
this.timeseries.clear();
|
|
128
|
+
this._timerStarts.clear();
|
|
129
|
+
this.emit('reset');
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
_dump() {
|
|
133
|
+
const s = this.getSummary();
|
|
134
|
+
console.log('[Metrics]', JSON.stringify({
|
|
135
|
+
counters: s.counters,
|
|
136
|
+
gauges: s.gauges,
|
|
137
|
+
}));
|
|
138
|
+
}
|
|
139
|
+
}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PatentClusterManager.js — quantum-spherifier (v1.0)
|
|
3
|
+
* ─────────────────────────────────────────────────────────────────────────────
|
|
4
|
+
* Groups patent-eligible documents into coherent clusters for filing.
|
|
5
|
+
* A cluster represents a COMPLETE solution that combines advances from
|
|
6
|
+
* multiple research lines (e.g. "qLDPC on neutral atoms for FeMoco
|
|
7
|
+
* simulation" = QEC + Qubits + Simulation).
|
|
8
|
+
*
|
|
9
|
+
* Clustering policy:
|
|
10
|
+
* - Two documents join the same cluster if they share ≥2 KG concepts
|
|
11
|
+
* or one is cross-linked to the other.
|
|
12
|
+
* - A cluster is "filing-ready" when it contains at least one document
|
|
13
|
+
* from each of: QEC or Qubits (hardware foundation), and Algorithms
|
|
14
|
+
* or Simulation (application layer).
|
|
15
|
+
* - Each cluster gets a cluster_id, a title, a summary, and a claim tree.
|
|
16
|
+
*
|
|
17
|
+
* This ensures that successful solutions (intermediate or final) are
|
|
18
|
+
* grouped coherently and tagged for patenting — nothing stays isolated.
|
|
19
|
+
* ─────────────────────────────────────────────────────────────────────────────
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
import { EventEmitter } from 'eventemitter3';
|
|
23
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
24
|
+
|
|
25
|
+
const LINE_ROLE = {
|
|
26
|
+
quantum_error_correction: 'foundation', // hardware foundation
|
|
27
|
+
new_qubit_modalities: 'foundation', // hardware foundation
|
|
28
|
+
quantum_algorithms: 'application', // application layer
|
|
29
|
+
molecular_simulation: 'application', // application layer
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export class PatentClusterManager extends EventEmitter {
|
|
33
|
+
constructor(opts = {}) {
|
|
34
|
+
super();
|
|
35
|
+
this.archivist = opts.archivist ?? null;
|
|
36
|
+
this.kg = opts.kg ?? null;
|
|
37
|
+
this.llm = opts.llm ?? null;
|
|
38
|
+
this.clusters = new Map(); // clusterId -> cluster
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Rebuild clusters from the current patent queue.
|
|
43
|
+
*/
|
|
44
|
+
rebuildClusters() {
|
|
45
|
+
if (!this.archivist) return [];
|
|
46
|
+
const patents = this.archivist.patentQueue();
|
|
47
|
+
this.clusters.clear();
|
|
48
|
+
|
|
49
|
+
// Union-Find structure
|
|
50
|
+
const parent = new Map();
|
|
51
|
+
const find = (x) => {
|
|
52
|
+
if (!parent.has(x)) parent.set(x, x);
|
|
53
|
+
while (parent.get(x) !== x) {
|
|
54
|
+
parent.set(x, parent.get(parent.get(x)));
|
|
55
|
+
x = parent.get(x);
|
|
56
|
+
}
|
|
57
|
+
return x;
|
|
58
|
+
};
|
|
59
|
+
const union = (a, b) => {
|
|
60
|
+
const ra = find(a), rb = find(b);
|
|
61
|
+
if (ra !== rb) parent.set(ra, rb);
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
// Initialise each patent as its own cluster
|
|
65
|
+
for (const r of patents) {
|
|
66
|
+
parent.set(r.manifest.id, r.manifest.id);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// Merge patents that share KG concepts or cross-links
|
|
70
|
+
for (let i = 0; i < patents.length; i++) {
|
|
71
|
+
for (let j = i + 1; j < patents.length; j++) {
|
|
72
|
+
const a = patents[i].manifest;
|
|
73
|
+
const b = patents[j].manifest;
|
|
74
|
+
// Check cross-links
|
|
75
|
+
const aLinks = (a.crossLinks ?? []).map(c => c.to);
|
|
76
|
+
const bLinks = (b.crossLinks ?? []).map(c => c.to);
|
|
77
|
+
if (aLinks.includes(b.id) || bLinks.includes(a.id)) {
|
|
78
|
+
union(a.id, b.id);
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
// Check shared KG concepts (from extra.hypothesis.supportingConcepts)
|
|
82
|
+
const aConcepts = a.extra?.hypothesis?.supportingConcepts ?? [];
|
|
83
|
+
const bConcepts = b.extra?.hypothesis?.supportingConcepts ?? [];
|
|
84
|
+
const shared = aConcepts.filter(c => bConcepts.includes(c));
|
|
85
|
+
if (shared.length >= 2) {
|
|
86
|
+
union(a.id, b.id);
|
|
87
|
+
}
|
|
88
|
+
// Same research line + same topic → likely related
|
|
89
|
+
if (a.researchLine === b.researchLine && a.topic === b.topic) {
|
|
90
|
+
union(a.id, b.id);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// Group by root
|
|
96
|
+
const groups = new Map();
|
|
97
|
+
for (const r of patents) {
|
|
98
|
+
const root = find(r.manifest.id);
|
|
99
|
+
if (!groups.has(root)) groups.set(root, []);
|
|
100
|
+
groups.get(root).push(r);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// Build cluster objects
|
|
104
|
+
for (const [, members] of groups) {
|
|
105
|
+
const cluster = this._buildCluster(members);
|
|
106
|
+
this.clusters.set(cluster.id, cluster);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
this.emit('clustersRebuilt', { count: this.clusters.size });
|
|
110
|
+
return [...this.clusters.values()];
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
_buildCluster(members) {
|
|
114
|
+
const lines = new Set(members.map(m => m.manifest.researchLine).filter(Boolean));
|
|
115
|
+
const roles = new Set([...lines].map(l => LINE_ROLE[l]));
|
|
116
|
+
const hasFoundation = roles.has('foundation');
|
|
117
|
+
const hasApplication = roles.has('application');
|
|
118
|
+
const filingReady = hasFoundation && hasApplication && members.length >= 2;
|
|
119
|
+
|
|
120
|
+
const concepts = new Set();
|
|
121
|
+
for (const m of members) {
|
|
122
|
+
const c = m.manifest.extra?.hypothesis?.supportingConcepts ?? [];
|
|
123
|
+
c.forEach(x => concepts.add(x));
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
const title = this._synthesiseTitle(members, lines);
|
|
127
|
+
const summary = this._synthesiseSummary(members, lines, concepts);
|
|
128
|
+
|
|
129
|
+
return {
|
|
130
|
+
id: `cluster_${uuidv4().slice(0, 8)}`,
|
|
131
|
+
title,
|
|
132
|
+
summary,
|
|
133
|
+
memberIds: members.map(m => m.manifest.id),
|
|
134
|
+
members: members.map(m => ({
|
|
135
|
+
id: m.manifest.id,
|
|
136
|
+
title: m.manifest.title,
|
|
137
|
+
researchLine: m.manifest.researchLine,
|
|
138
|
+
topic: m.manifest.topic,
|
|
139
|
+
claimsCount: (m.manifest.patent?.claims ?? []).length,
|
|
140
|
+
path: `${m.manifest.category}/${m.manifest.topic}/${m.manifest.id}`,
|
|
141
|
+
})),
|
|
142
|
+
researchLines: [...lines],
|
|
143
|
+
sharedConcepts: [...concepts],
|
|
144
|
+
filingReady,
|
|
145
|
+
createdAt: Date.now(),
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
_synthesiseTitle(members, lines) {
|
|
150
|
+
const lineLabels = [...lines].map(l => l.replace(/_/g, ' '));
|
|
151
|
+
if (members.length === 1) {
|
|
152
|
+
return members[0].manifest.title;
|
|
153
|
+
}
|
|
154
|
+
const first = members[0].manifest.title;
|
|
155
|
+
if (lineLabels.length >= 3) {
|
|
156
|
+
return `Integrated Quantum Computing Solution Spanning ${lineLabels.slice(0, 3).join(', ')} — ${first.slice(0, 60)}`;
|
|
157
|
+
}
|
|
158
|
+
return `Coherent Patent Cluster: ${first.slice(0, 80)} (+${members.length - 1} related)`;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
_synthesiseSummary(members, lines, concepts) {
|
|
162
|
+
const lineLabels = [...lines].map(l => l.replace(/_/g, ' '));
|
|
163
|
+
const parts = [
|
|
164
|
+
`This patent cluster groups ${members.length} patent-eligible document(s) into a coherent solution`,
|
|
165
|
+
`spanning the research line(s): ${lineLabels.join(', ')}.`,
|
|
166
|
+
``,
|
|
167
|
+
`The cluster references ${concepts.size} shared knowledge-graph concepts:`,
|
|
168
|
+
[...concepts].slice(0, 10).map(c => `- ${c}`).join('\n'),
|
|
169
|
+
``,
|
|
170
|
+
`Member documents:`,
|
|
171
|
+
...members.map(m => `- [${m.manifest.researchLine ?? 'general'}] ${m.manifest.title}`),
|
|
172
|
+
``,
|
|
173
|
+
`This cluster ensures that the proposed quantum-computing solution is not isolated:`,
|
|
174
|
+
`hardware (qubit/QEC) advances are enlaced with application (algorithm/simulation) advances,`,
|
|
175
|
+
`forming a complete path from physical qubits to useful computation.`,
|
|
176
|
+
];
|
|
177
|
+
return parts.join('\n');
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
async _llmSynthesiseSummary(members, lines, concepts) {
|
|
181
|
+
if (!this.llm) return this._synthesiseSummary(members, lines, concepts);
|
|
182
|
+
const system = 'You are a patent-portfolio summariser. Produce a 3-paragraph executive summary of a patent cluster.';
|
|
183
|
+
const user = JSON.stringify({ members: members.map(m => m.manifest.title), lines, concepts: [...concepts] });
|
|
184
|
+
const r = await this.llm.chat(user, system, { task: 'patent_drafting' });
|
|
185
|
+
return r?.ok ? r.content : this._synthesiseSummary(members, lines, concepts);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
filingReadyClusters() {
|
|
189
|
+
return [...this.clusters.values()].filter(c => c.filingReady);
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
stats() {
|
|
193
|
+
return {
|
|
194
|
+
totalClusters: this.clusters.size,
|
|
195
|
+
filingReady: this.filingReadyClusters().length,
|
|
196
|
+
totalMembers: [...this.clusters.values()].reduce((s, c) => s + c.memberIds.length, 0),
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
}
|