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,266 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ANNPsi.js — quantum-spherifier Backbone (v1.0)
|
|
3
|
+
* ─────────────────────────────────────────────────────────────────────────────
|
|
4
|
+
* 14-layer quantum-research-specialised backbone (extends predator v2.0).
|
|
5
|
+
*
|
|
6
|
+
* Layer plan:
|
|
7
|
+
* L1-L2 Hybrid AJN — sensory encoding of quantum literature stimuli
|
|
8
|
+
* L3 Hetero AJN K=8 — concept features (qubit modalities, QEC codes, ...)
|
|
9
|
+
* L4-L5 Transformer — cross-document context attention
|
|
10
|
+
* L6 Hetero AJN K=16 — mid-level concepts (algorithms, simulation methods)
|
|
11
|
+
* L7 Hybrid AJN — modulation (resource feasibility gating)
|
|
12
|
+
* L8-L9 Transformer — reasoning over hypothesis chains
|
|
13
|
+
* L10 Hetero AJN K=32 — high-order patent-eligible concept clusters
|
|
14
|
+
* L11 Hybrid AJN — praxic assembly (design synthesis)
|
|
15
|
+
* L12 Hetero AJN K=8 — patent claim assembly (novelty / non-obviousness)
|
|
16
|
+
* L13 Hybrid AJN — document structuring (TeX section plan)
|
|
17
|
+
* L14 Output AJN — TPS emission (research action stream)
|
|
18
|
+
*
|
|
19
|
+
* The four research lines are encoded as stimulus-class clusters so the
|
|
20
|
+
* AJN addiction dynamics naturally specialise the network per line.
|
|
21
|
+
*
|
|
22
|
+
* Inherits the real multi-head self-attention TransformerBlock from predator v2.0.
|
|
23
|
+
* ─────────────────────────────────────────────────────────────────────────────
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
import { EventEmitter } from 'eventemitter3';
|
|
27
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
28
|
+
import {
|
|
29
|
+
HomogeneousAJNLayer,
|
|
30
|
+
HeterogeneousAJNLayer,
|
|
31
|
+
HybridAJNLayer,
|
|
32
|
+
} from '../layers/AJNLayer.js';
|
|
33
|
+
import { TransformerBlock } from '../layers/TransformerBlock.js';
|
|
34
|
+
|
|
35
|
+
// quantum-spherifier stimulus classes — one per research subdomain
|
|
36
|
+
export const QUANTUM_STIMULUS_CLASSES = Object.freeze([
|
|
37
|
+
// Line 1: Quantum Error Correction
|
|
38
|
+
'qec_surface_code',
|
|
39
|
+
'qec_color_code',
|
|
40
|
+
'qec_qldpc',
|
|
41
|
+
'qec_concatenated',
|
|
42
|
+
'qec_magic_state',
|
|
43
|
+
'qec_bacon_shor',
|
|
44
|
+
'qec_threshold_theory',
|
|
45
|
+
// Line 2: New qubit modalities
|
|
46
|
+
'qubit_transmon',
|
|
47
|
+
'qubit_fluxonium',
|
|
48
|
+
'qubit_cat_bosonic',
|
|
49
|
+
'qubit_trapped_ion',
|
|
50
|
+
'qubit_neutral_atom',
|
|
51
|
+
'qubit_photonic',
|
|
52
|
+
'qubit_topological',
|
|
53
|
+
'qubit_silicon_spin',
|
|
54
|
+
'qubit_nv_center',
|
|
55
|
+
// Line 3: Quantum algorithms
|
|
56
|
+
'algo_shor',
|
|
57
|
+
'algo_grover',
|
|
58
|
+
'algo_vqe',
|
|
59
|
+
'algo_qaoa',
|
|
60
|
+
'algo_qft',
|
|
61
|
+
'algo_hhl',
|
|
62
|
+
'algo_qpe',
|
|
63
|
+
'algo_qml',
|
|
64
|
+
'algo_qsvt',
|
|
65
|
+
// Line 4: Molecular simulation
|
|
66
|
+
'sim_fermionic',
|
|
67
|
+
'sim_jordan_wigner',
|
|
68
|
+
'sim_trotter',
|
|
69
|
+
'sim_qubitization',
|
|
70
|
+
'sim_femoco',
|
|
71
|
+
'sim_transition_metal',
|
|
72
|
+
'sim_drug_discovery',
|
|
73
|
+
'sim_materials',
|
|
74
|
+
// Cross-cutting
|
|
75
|
+
'hardware_anchor',
|
|
76
|
+
'feasibility_gate',
|
|
77
|
+
'patent_drafting',
|
|
78
|
+
'cross_cutting_link',
|
|
79
|
+
]);
|
|
80
|
+
|
|
81
|
+
export class ANNPsi extends EventEmitter {
|
|
82
|
+
constructor(opts = {}) {
|
|
83
|
+
super();
|
|
84
|
+
this.id = opts.id ?? uuidv4();
|
|
85
|
+
this.dModel = opts.dModel ?? 256;
|
|
86
|
+
this.nHeads = opts.nHeads ?? 8;
|
|
87
|
+
this.dFF = opts.dFF ?? 1024;
|
|
88
|
+
this.maxSteps = opts.maxSteps ?? 200;
|
|
89
|
+
|
|
90
|
+
// Build the 14-layer backbone
|
|
91
|
+
this.layers = [];
|
|
92
|
+
|
|
93
|
+
// L1-L2: Hybrid AJN (sensory encoding) — qubit modalities + QEC
|
|
94
|
+
this.layers.push(new HybridAJNLayer({
|
|
95
|
+
id: 'L1_sensory_qubit_modalities',
|
|
96
|
+
dModel: this.dModel,
|
|
97
|
+
stimulusClass: 'qubit_transmon',
|
|
98
|
+
}));
|
|
99
|
+
this.layers.push(new HybridAJNLayer({
|
|
100
|
+
id: 'L2_sensory_qec',
|
|
101
|
+
dModel: this.dModel,
|
|
102
|
+
stimulusClass: 'qec_surface_code',
|
|
103
|
+
}));
|
|
104
|
+
|
|
105
|
+
// L3: Hetero AJN K=8 — concept features (8 qubit modalities)
|
|
106
|
+
this.layers.push(new HeterogeneousAJNLayer({
|
|
107
|
+
id: 'L3_concept_features',
|
|
108
|
+
dModel: this.dModel,
|
|
109
|
+
kClasses: 8,
|
|
110
|
+
stimulusClasses: QUANTUM_STIMULUS_CLASSES.slice(7, 15), // qubit modalities
|
|
111
|
+
}));
|
|
112
|
+
|
|
113
|
+
// L4-L5: Transformer (cross-document context attention)
|
|
114
|
+
this.layers.push(new TransformerBlock({
|
|
115
|
+
id: 'L4_context_attn',
|
|
116
|
+
dModel: this.dModel,
|
|
117
|
+
nHeads: this.nHeads,
|
|
118
|
+
dFF: this.dFF,
|
|
119
|
+
}));
|
|
120
|
+
this.layers.push(new TransformerBlock({
|
|
121
|
+
id: 'L5_context_attn',
|
|
122
|
+
dModel: this.dModel,
|
|
123
|
+
nHeads: this.nHeads,
|
|
124
|
+
dFF: this.dFF,
|
|
125
|
+
}));
|
|
126
|
+
|
|
127
|
+
// L6: Hetero AJN K=16 — mid-level concepts (algorithms + simulation)
|
|
128
|
+
this.layers.push(new HeterogeneousAJNLayer({
|
|
129
|
+
id: 'L6_algorithms_simulation',
|
|
130
|
+
dModel: this.dModel,
|
|
131
|
+
kClasses: 16,
|
|
132
|
+
stimulusClasses: QUANTUM_STIMULUS_CLASSES.slice(16, 32),
|
|
133
|
+
}));
|
|
134
|
+
|
|
135
|
+
// L7: Hybrid AJN (modulation — resource feasibility gating)
|
|
136
|
+
this.layers.push(new HybridAJNLayer({
|
|
137
|
+
id: 'L7_feasibility_gate',
|
|
138
|
+
dModel: this.dModel,
|
|
139
|
+
stimulusClass: 'feasibility_gate',
|
|
140
|
+
}));
|
|
141
|
+
|
|
142
|
+
// L8-L9: Transformer (reasoning over hypothesis chains)
|
|
143
|
+
this.layers.push(new TransformerBlock({
|
|
144
|
+
id: 'L8_reasoning',
|
|
145
|
+
dModel: this.dModel,
|
|
146
|
+
nHeads: this.nHeads,
|
|
147
|
+
dFF: this.dFF,
|
|
148
|
+
}));
|
|
149
|
+
this.layers.push(new TransformerBlock({
|
|
150
|
+
id: 'L9_reasoning',
|
|
151
|
+
dModel: this.dModel,
|
|
152
|
+
nHeads: this.nHeads,
|
|
153
|
+
dFF: this.dFF,
|
|
154
|
+
}));
|
|
155
|
+
|
|
156
|
+
// L10: Hetero AJN K=32 (high-order patent clusters)
|
|
157
|
+
this.layers.push(new HeterogeneousAJNLayer({
|
|
158
|
+
id: 'L10_patent_clusters',
|
|
159
|
+
dModel: this.dModel,
|
|
160
|
+
kClasses: 32,
|
|
161
|
+
stimulusClasses: QUANTUM_STIMULUS_CLASSES,
|
|
162
|
+
}));
|
|
163
|
+
|
|
164
|
+
// L11: Hybrid AJN (praxic assembly — design synthesis)
|
|
165
|
+
this.layers.push(new HybridAJNLayer({
|
|
166
|
+
id: 'L11_design_assembly',
|
|
167
|
+
dModel: this.dModel,
|
|
168
|
+
stimulusClass: 'cross_cutting_link',
|
|
169
|
+
}));
|
|
170
|
+
|
|
171
|
+
// L12: Hetero AJN K=8 (patent claim assembly)
|
|
172
|
+
this.layers.push(new HeterogeneousAJNLayer({
|
|
173
|
+
id: 'L12_patent_claims',
|
|
174
|
+
dModel: this.dModel,
|
|
175
|
+
kClasses: 8,
|
|
176
|
+
stimulusClasses: QUANTUM_STIMULUS_CLASSES.slice(0, 8),
|
|
177
|
+
}));
|
|
178
|
+
|
|
179
|
+
// L13: Hybrid AJN (document structuring)
|
|
180
|
+
this.layers.push(new HybridAJNLayer({
|
|
181
|
+
id: 'L13_document_structuring',
|
|
182
|
+
dModel: this.dModel,
|
|
183
|
+
stimulusClass: 'patent_drafting',
|
|
184
|
+
}));
|
|
185
|
+
|
|
186
|
+
// L14: Output AJN (TPS emission) — Homogeneous for clean output
|
|
187
|
+
this.layers.push(new HomogeneousAJNLayer({
|
|
188
|
+
id: 'L14_output_tps',
|
|
189
|
+
dModel: this.dModel,
|
|
190
|
+
stimulusClass: 'cross_cutting_link',
|
|
191
|
+
}));
|
|
192
|
+
|
|
193
|
+
this.cascadeRisk = 0;
|
|
194
|
+
this.step = 0;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
/** Forward pass: stimulus -> TPS vector */
|
|
198
|
+
forward(stimulus) {
|
|
199
|
+
let x = stimulus;
|
|
200
|
+
const layerOutputs = [];
|
|
201
|
+
for (const layer of this.layers) {
|
|
202
|
+
try {
|
|
203
|
+
x = layer.forward(x);
|
|
204
|
+
layerOutputs.push({ id: layer.id, output: x });
|
|
205
|
+
} catch (err) {
|
|
206
|
+
this.emit('layerError', { layerId: layer.id, error: err.message });
|
|
207
|
+
x = { vector: new Float64Array(this.dModel) };
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
this.step++;
|
|
211
|
+
return { tps: x, layerOutputs };
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
/** Train one step using backprop-like signal from reward */
|
|
215
|
+
train(stimulus, reward) {
|
|
216
|
+
const result = this.forward(stimulus);
|
|
217
|
+
for (let i = this.layers.length - 1; i >= 0; i--) {
|
|
218
|
+
const layer = this.layers[i];
|
|
219
|
+
if (typeof layer.update === 'function') {
|
|
220
|
+
layer.update(reward);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
return result;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
status() {
|
|
227
|
+
return {
|
|
228
|
+
id: this.id,
|
|
229
|
+
step: this.step,
|
|
230
|
+
layers: this.layers.length,
|
|
231
|
+
cascadeRisk: this.cascadeRisk,
|
|
232
|
+
layerSnapshots: this.layers.map(l =>
|
|
233
|
+
typeof l.snapshot === 'function' ? l.snapshot() : { id: l.id }
|
|
234
|
+
),
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
serialize() {
|
|
239
|
+
return {
|
|
240
|
+
id: this.id,
|
|
241
|
+
dModel: this.dModel,
|
|
242
|
+
nHeads: this.nHeads,
|
|
243
|
+
dFF: this.dFF,
|
|
244
|
+
step: this.step,
|
|
245
|
+
cascadeRisk: this.cascadeRisk,
|
|
246
|
+
layers: this.layers.map(l =>
|
|
247
|
+
typeof l.serialize === 'function' ? l.serialize() : { id: l.id }
|
|
248
|
+
),
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
deserialize(state) {
|
|
253
|
+
this.id = state.id ?? this.id;
|
|
254
|
+
this.step = state.step ?? 0;
|
|
255
|
+
this.cascadeRisk = state.cascadeRisk ?? 0;
|
|
256
|
+
if (state.layers && Array.isArray(state.layers)) {
|
|
257
|
+
for (let i = 0; i < Math.min(state.layers.length, this.layers.length); i++) {
|
|
258
|
+
const layerState = state.layers[i];
|
|
259
|
+
const layer = this.layers[i];
|
|
260
|
+
if (layer && typeof layer.deserialize === 'function') {
|
|
261
|
+
layer.deserialize(layerState);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
@@ -0,0 +1,439 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ArtificialJunkyNeuron.js (FUSIONARY v1.0 — Enhanced)
|
|
3
|
+
* ─────────────────────────────────────────────────────────────────────────────
|
|
4
|
+
* Core implementation of the Artificial Junky Neuron (AJN) as defined in:
|
|
5
|
+
*
|
|
6
|
+
* Tapiador García, J. (2024). Agentic Theory: Definition of the
|
|
7
|
+
* Artificial Junky Neuron (AJN). Preprint WALLERMAX-AI 2604.00012.
|
|
8
|
+
* Universidad de Alicante (UA).
|
|
9
|
+
*
|
|
10
|
+
* FUSIONARY ENHANCEMENTS over predator-jungle-agent v2.0:
|
|
11
|
+
* - Domain-specialised stimulus classes for fusion research
|
|
12
|
+
* - Curiosity bonus when praxis explores under-covered topic regions
|
|
13
|
+
* - Saturation-aware praxis emission (silent when topic saturated)
|
|
14
|
+
* - Patentability signal: rewards praxes whose artifact is patent-eligible
|
|
15
|
+
* - Resource-feasibility weighting: penalises physically-impossible proposals
|
|
16
|
+
* - Multi-objective reward (quality × novelty × feasibility × patentability)
|
|
17
|
+
* - Cross-document Hebbian traces for citation graph learning
|
|
18
|
+
* - Replay buffer stratified by reward quantile
|
|
19
|
+
* ─────────────────────────────────────────────────────────────────────────────
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
import { EventEmitter } from 'eventemitter3';
|
|
23
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
24
|
+
|
|
25
|
+
// ── AJN Phase constants ────────────────────────────────────────────────────
|
|
26
|
+
export const AJNPhase = Object.freeze({
|
|
27
|
+
RANDOM: 1, // High-entropy exploration of the fusion knowledge space
|
|
28
|
+
REINFORCE: 2, // Bias developing toward a high-reward fusion stimulus
|
|
29
|
+
SATURATION: 3, // Topic sufficiently explored; praxes suppressed
|
|
30
|
+
WITHDRAWAL: 4, // Craving returns; threshold decays
|
|
31
|
+
FRUSTRATION: 5, // Failure state; covariance expanding chaotically
|
|
32
|
+
EXTINCTION: 6, // Addiction dissolved; reset to random exploration
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
// ── Default hyperparameters (tuned for scientific research stability) ──────
|
|
36
|
+
const DEFAULTS = {
|
|
37
|
+
betaM: 0.85, // Exponential smoothing for craving
|
|
38
|
+
lambdaUp: 0.30, // Saturation ascent rate for threshold
|
|
39
|
+
delta: 0.02, // Metabolic decay rate (withdrawal speed)
|
|
40
|
+
thetaSat: 0.75, // Saturation threshold
|
|
41
|
+
tau: 20, // Extinction horizon (failure steps)
|
|
42
|
+
eta: 0.05, // Praxic learning rate
|
|
43
|
+
etaMin: 0.001, // Cosine annealing floor
|
|
44
|
+
lambdaSigma: 0.10, // Entropy reduction on success
|
|
45
|
+
gamma: 0.15, // Chaotic expansion rate on failure
|
|
46
|
+
sigmaMax: 2.0, // Maximum covariance (extinction reset)
|
|
47
|
+
sigmaMin: 1e-4, // Minimum covariance
|
|
48
|
+
praximDim: 128, // Larger praxis dim for richer research vectors
|
|
49
|
+
momentumBeta: 0.9, // Momentum coefficient
|
|
50
|
+
replaySize: 200, // Doubled replay capacity
|
|
51
|
+
entropyCoeff: 0.01, // Entropy regularization
|
|
52
|
+
hysteresis: 0.05, // Phase transition hysteresis band
|
|
53
|
+
hebbianLR: 0.001, // Hebbian learning rate
|
|
54
|
+
cosinePeriod: 1000, // Cosine annealing period
|
|
55
|
+
// FUSIONARY-specific
|
|
56
|
+
curiosityWeight: 0.20, // Weight on novelty in the reward
|
|
57
|
+
feasibilityWeight: 0.30, // Weight on resource feasibility
|
|
58
|
+
patentWeight: 0.15, // Weight on patentability
|
|
59
|
+
qualityWeight: 0.35, // Weight on direct quality signal
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
const clamp = (v, lo = 0, hi = 1) => Math.max(lo, Math.min(hi, v));
|
|
63
|
+
|
|
64
|
+
function gaussianSample(mu, sigma) {
|
|
65
|
+
const u1 = Math.random(), u2 = Math.random();
|
|
66
|
+
const z = Math.sqrt(-2 * Math.log(u1 + 1e-12)) * Math.cos(2 * Math.PI * u2);
|
|
67
|
+
return mu + sigma * z;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
function cosineAnnealing(step, etaMax, etaMin, period) {
|
|
71
|
+
const progress = (step % period) / period;
|
|
72
|
+
return etaMin + 0.5 * (etaMax - etaMin) * (1 + Math.cos(Math.PI * progress));
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
76
|
+
export class ArtificialJunkyNeuron extends EventEmitter {
|
|
77
|
+
/**
|
|
78
|
+
* @param {object} opts
|
|
79
|
+
* @param {string} [opts.id]
|
|
80
|
+
* @param {string} [opts.stimulusClass] – e.g. "magnetic_confinement", "tritium_breeding"
|
|
81
|
+
* @param {Function} [opts.intensityFn] – I(S) -> [0,1]
|
|
82
|
+
* @param {Function} [opts.rewardFn] – Multi-objective reward (S, praxis) -> {quality, novelty, feasibility, patentability}
|
|
83
|
+
* @param {object} [opts.params]
|
|
84
|
+
*/
|
|
85
|
+
constructor(opts = {}) {
|
|
86
|
+
super();
|
|
87
|
+
this.id = opts.id ?? uuidv4();
|
|
88
|
+
this.stimulusClass = opts.stimulusClass ?? 'default';
|
|
89
|
+
this.intensityFn = opts.intensityFn ?? ((s) => clamp(s?.intensity ?? 0));
|
|
90
|
+
this.rewardFn = opts.rewardFn ?? null; // FUSIONARY: optional multi-objective reward
|
|
91
|
+
this.p = { ...DEFAULTS, ...(opts.params ?? {}) };
|
|
92
|
+
|
|
93
|
+
// ── State variables ──────────────────────────────────────────────────
|
|
94
|
+
this.M = 0; // Craving level
|
|
95
|
+
this.theta = 0.5; // Activation threshold
|
|
96
|
+
this.phase = AJNPhase.RANDOM;
|
|
97
|
+
|
|
98
|
+
const d = this.p.praximDim;
|
|
99
|
+
this.mu = new Float64Array(d);
|
|
100
|
+
this.sigma = new Float64Array(d).fill(1.0);
|
|
101
|
+
|
|
102
|
+
this.muVelocity = new Float64Array(d);
|
|
103
|
+
this.sigmaVelocity = new Float64Array(d);
|
|
104
|
+
|
|
105
|
+
this.hebbianTrace = new Float64Array(d);
|
|
106
|
+
|
|
107
|
+
this.replayBuffer = [];
|
|
108
|
+
|
|
109
|
+
// Counters
|
|
110
|
+
this.nFail = 0;
|
|
111
|
+
this.step = 0;
|
|
112
|
+
this.alphaPrev = 0;
|
|
113
|
+
this.extinctions = 0;
|
|
114
|
+
this.totalReward = 0;
|
|
115
|
+
this.avgReward = 0;
|
|
116
|
+
this.lastPraxis = null;
|
|
117
|
+
|
|
118
|
+
// FUSIONARY: track reward components for diagnostics
|
|
119
|
+
this.lastRewardComponents = { quality: 0, novelty: 0, feasibility: 0, patentability: 0 };
|
|
120
|
+
|
|
121
|
+
this._phaseConfidence = 0;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
// ── Public API ────────────────────────────────────────────────────────────
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Main processing cycle.
|
|
128
|
+
* @param {*} stimulus – Raw stimulus object
|
|
129
|
+
* @returns {{ praxis: Float64Array, phase: number, alpha: number, craving: number, rewardComponents?: object }}
|
|
130
|
+
*/
|
|
131
|
+
process(stimulus) {
|
|
132
|
+
const alpha = clamp(this.intensityFn(stimulus));
|
|
133
|
+
const deltaAlpha = alpha - this.alphaPrev;
|
|
134
|
+
|
|
135
|
+
this.M = clamp(this.p.betaM * this.M + (1 - this.p.betaM) * alpha);
|
|
136
|
+
|
|
137
|
+
const eta = cosineAnnealing(
|
|
138
|
+
this.step, this.p.eta, this.p.etaMin, this.p.cosinePeriod
|
|
139
|
+
);
|
|
140
|
+
|
|
141
|
+
let praxis;
|
|
142
|
+
let rewardComponents = null;
|
|
143
|
+
|
|
144
|
+
if (alpha > this.p.thetaSat + this.p.hysteresis) {
|
|
145
|
+
// Phase 3: SATURATION
|
|
146
|
+
this._setPhase(AJNPhase.SATURATION);
|
|
147
|
+
this.theta = clamp(this.theta + this.p.lambdaUp * alpha);
|
|
148
|
+
this.nFail = 0;
|
|
149
|
+
praxis = new Float64Array(this.p.praximDim);
|
|
150
|
+
|
|
151
|
+
} else if (alpha > this.p.thetaSat - this.p.hysteresis &&
|
|
152
|
+
this.phase === AJNPhase.SATURATION) {
|
|
153
|
+
praxis = new Float64Array(this.p.praximDim);
|
|
154
|
+
|
|
155
|
+
} else {
|
|
156
|
+
this.theta = clamp(this.theta - this.p.delta);
|
|
157
|
+
|
|
158
|
+
if (this.theta < this.M && this.phase === AJNPhase.SATURATION) {
|
|
159
|
+
this._setPhase(AJNPhase.WITHDRAWAL);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
praxis = this._samplePraxis(eta);
|
|
163
|
+
this.lastPraxis = praxis;
|
|
164
|
+
|
|
165
|
+
// FUSIONARY: multi-objective reward if available
|
|
166
|
+
if (this.rewardFn) {
|
|
167
|
+
rewardComponents = this.rewardFn(stimulus, praxis);
|
|
168
|
+
// Combine into a scalar signal that drives learning
|
|
169
|
+
const w = this.p;
|
|
170
|
+
const combined =
|
|
171
|
+
w.qualityWeight * (rewardComponents.quality ?? 0) +
|
|
172
|
+
w.curiosityWeight * (rewardComponents.novelty ?? 0) +
|
|
173
|
+
w.feasibilityWeight * (rewardComponents.feasibility ?? 0) +
|
|
174
|
+
w.patentWeight * (rewardComponents.patentability ?? 0);
|
|
175
|
+
// Replace deltaAlpha with the combined reward (signed)
|
|
176
|
+
const effectiveDelta = combined - this.alphaPrev;
|
|
177
|
+
this._storeExperience(alpha, effectiveDelta, praxis, rewardComponents);
|
|
178
|
+
|
|
179
|
+
if (effectiveDelta > 0) {
|
|
180
|
+
this._setPhase(AJNPhase.REINFORCE);
|
|
181
|
+
this._onSuccess(effectiveDelta, eta);
|
|
182
|
+
this.nFail = 0;
|
|
183
|
+
this.totalReward += effectiveDelta;
|
|
184
|
+
} else {
|
|
185
|
+
this._setPhase(AJNPhase.FRUSTRATION);
|
|
186
|
+
this._onFailure(effectiveDelta, eta);
|
|
187
|
+
this.nFail++;
|
|
188
|
+
if (this.nFail >= this.p.tau) {
|
|
189
|
+
this._extinct();
|
|
190
|
+
praxis = this._samplePraxis(eta);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
this.lastRewardComponents = rewardComponents;
|
|
194
|
+
} else {
|
|
195
|
+
// Legacy single-signal path (predator v2.0 compatible)
|
|
196
|
+
this._storeExperience(alpha, deltaAlpha, praxis);
|
|
197
|
+
|
|
198
|
+
if (deltaAlpha > 0) {
|
|
199
|
+
this._setPhase(AJNPhase.REINFORCE);
|
|
200
|
+
this._onSuccess(deltaAlpha, eta);
|
|
201
|
+
this.nFail = 0;
|
|
202
|
+
this.totalReward += deltaAlpha;
|
|
203
|
+
} else {
|
|
204
|
+
this._setPhase(AJNPhase.FRUSTRATION);
|
|
205
|
+
this._onFailure(deltaAlpha, eta);
|
|
206
|
+
this.nFail++;
|
|
207
|
+
if (this.nFail >= this.p.tau) {
|
|
208
|
+
this._extinct();
|
|
209
|
+
praxis = this._samplePraxis(eta);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
this._updateHebbianTrace(alpha, praxis);
|
|
216
|
+
|
|
217
|
+
if (this.step % 5 === 0 && this.replayBuffer.length > 10) {
|
|
218
|
+
this._replayExperiences(eta);
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
this.alphaPrev = alpha;
|
|
222
|
+
this.step++;
|
|
223
|
+
this.avgReward = this.step > 0 ? this.totalReward / this.step : 0;
|
|
224
|
+
|
|
225
|
+
const result = {
|
|
226
|
+
id: this.id,
|
|
227
|
+
step: this.step,
|
|
228
|
+
phase: this.phase,
|
|
229
|
+
alpha,
|
|
230
|
+
craving: this.M,
|
|
231
|
+
theta: this.theta,
|
|
232
|
+
nFail: this.nFail,
|
|
233
|
+
praxis,
|
|
234
|
+
praxisNorm: this._norm(praxis),
|
|
235
|
+
eta,
|
|
236
|
+
avgReward: this.avgReward,
|
|
237
|
+
rewardComponents,
|
|
238
|
+
};
|
|
239
|
+
|
|
240
|
+
this.emit('step', result);
|
|
241
|
+
return result;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
injectAddictionTarget(prototype) {
|
|
245
|
+
const d = Math.min(prototype.length, this.p.praximDim);
|
|
246
|
+
for (let i = 0; i < d; i++) this.mu[i] = prototype[i];
|
|
247
|
+
this.M = Math.max(this.M, 0.3);
|
|
248
|
+
this.nFail = 0;
|
|
249
|
+
this._phaseConfidence = 0;
|
|
250
|
+
this._setPhase(AJNPhase.REINFORCE);
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
snapshot() {
|
|
254
|
+
return {
|
|
255
|
+
id: this.id,
|
|
256
|
+
stimulusClass: this.stimulusClass,
|
|
257
|
+
phase: this.phase,
|
|
258
|
+
phaseName: this._phaseName(),
|
|
259
|
+
M: this.M,
|
|
260
|
+
theta: this.theta,
|
|
261
|
+
nFail: this.nFail,
|
|
262
|
+
step: this.step,
|
|
263
|
+
extinctions: this.extinctions,
|
|
264
|
+
muNorm: this._norm(this.mu),
|
|
265
|
+
sigmaMean: this._mean(this.sigma),
|
|
266
|
+
avgReward: this.avgReward,
|
|
267
|
+
totalReward: this.totalReward,
|
|
268
|
+
rewardComponents: this.lastRewardComponents,
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
serialize() {
|
|
273
|
+
return {
|
|
274
|
+
id: this.id,
|
|
275
|
+
stimulusClass: this.stimulusClass,
|
|
276
|
+
phase: this.phase,
|
|
277
|
+
M: this.M,
|
|
278
|
+
theta: this.theta,
|
|
279
|
+
nFail: this.nFail,
|
|
280
|
+
step: this.step,
|
|
281
|
+
extinctions: this.extinctions,
|
|
282
|
+
alphaPrev: this.alphaPrev,
|
|
283
|
+
totalReward: this.totalReward,
|
|
284
|
+
avgReward: this.avgReward,
|
|
285
|
+
mu: Array.from(this.mu),
|
|
286
|
+
sigma: Array.from(this.sigma),
|
|
287
|
+
muVelocity: Array.from(this.muVelocity),
|
|
288
|
+
sigmaVelocity: Array.from(this.sigmaVelocity),
|
|
289
|
+
hebbianTrace: Array.from(this.hebbianTrace),
|
|
290
|
+
params: { ...this.p },
|
|
291
|
+
rewardComponents: this.lastRewardComponents,
|
|
292
|
+
};
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
deserialize(state) {
|
|
296
|
+
this.id = state.id;
|
|
297
|
+
this.stimulusClass = state.stimulusClass ?? this.stimulusClass;
|
|
298
|
+
this.phase = state.phase ?? AJNPhase.RANDOM;
|
|
299
|
+
this.M = state.M ?? 0;
|
|
300
|
+
this.theta = state.theta ?? 0.5;
|
|
301
|
+
this.nFail = state.nFail ?? 0;
|
|
302
|
+
this.step = state.step ?? 0;
|
|
303
|
+
this.extinctions = state.extinctions ?? 0;
|
|
304
|
+
this.alphaPrev = state.alphaPrev ?? 0;
|
|
305
|
+
this.totalReward = state.totalReward ?? 0;
|
|
306
|
+
this.avgReward = state.avgReward ?? 0;
|
|
307
|
+
|
|
308
|
+
if (state.mu) this.mu = Float64Array.from(state.mu);
|
|
309
|
+
if (state.sigma) this.sigma = Float64Array.from(state.sigma);
|
|
310
|
+
if (state.muVelocity) this.muVelocity = Float64Array.from(state.muVelocity);
|
|
311
|
+
if (state.sigmaVelocity) this.sigmaVelocity = Float64Array.from(state.sigmaVelocity);
|
|
312
|
+
if (state.hebbianTrace) this.hebbianTrace = Float64Array.from(state.hebbianTrace);
|
|
313
|
+
if (state.params) Object.assign(this.p, state.params);
|
|
314
|
+
if (state.rewardComponents) this.lastRewardComponents = state.rewardComponents;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
// ── Private helpers ───────────────────────────────────────────────────────
|
|
318
|
+
|
|
319
|
+
_samplePraxis(eta) {
|
|
320
|
+
const praxis = new Float64Array(this.p.praximDim);
|
|
321
|
+
for (let i = 0; i < this.p.praximDim; i++) {
|
|
322
|
+
praxis[i] = gaussianSample(this.mu[i], this.sigma[i]);
|
|
323
|
+
}
|
|
324
|
+
if (this.p.entropyCoeff > 0) {
|
|
325
|
+
for (let i = 0; i < this.p.praximDim; i++) {
|
|
326
|
+
praxis[i] += this.p.entropyCoeff * gaussianSample(0, 1);
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
return praxis;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
_onSuccess(deltaAlpha, eta) {
|
|
333
|
+
for (let i = 0; i < this.p.praximDim; i++) {
|
|
334
|
+
const grad = (Math.random() - 0.5) * 2 * deltaAlpha;
|
|
335
|
+
this.muVelocity[i] = this.p.momentumBeta * this.muVelocity[i]
|
|
336
|
+
+ (1 - this.p.momentumBeta) * eta * deltaAlpha * grad;
|
|
337
|
+
this.mu[i] += this.muVelocity[i];
|
|
338
|
+
|
|
339
|
+
const sigmaGrad = -this.p.lambdaSigma * deltaAlpha;
|
|
340
|
+
this.sigmaVelocity[i] = this.p.momentumBeta * this.sigmaVelocity[i]
|
|
341
|
+
+ (1 - this.p.momentumBeta) * sigmaGrad;
|
|
342
|
+
this.sigma[i] *= Math.exp(this.sigmaVelocity[i]);
|
|
343
|
+
this.sigma[i] = clamp(this.sigma[i], this.p.sigmaMin, this.p.sigmaMax);
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
_onFailure(deltaAlpha, eta) {
|
|
348
|
+
for (let i = 0; i < this.p.praximDim; i++) {
|
|
349
|
+
const sigmaGrad = this.p.gamma * Math.abs(deltaAlpha);
|
|
350
|
+
this.sigmaVelocity[i] = this.p.momentumBeta * this.sigmaVelocity[i]
|
|
351
|
+
+ (1 - this.p.momentumBeta) * sigmaGrad;
|
|
352
|
+
this.sigma[i] *= Math.exp(this.sigmaVelocity[i]);
|
|
353
|
+
this.sigma[i] = clamp(this.sigma[i], this.p.sigmaMin, this.p.sigmaMax);
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
_extinct() {
|
|
358
|
+
this.mu.fill(0);
|
|
359
|
+
this.sigma.fill(this.p.sigmaMax);
|
|
360
|
+
this.muVelocity.fill(0);
|
|
361
|
+
this.sigmaVelocity.fill(0);
|
|
362
|
+
this.M = 0;
|
|
363
|
+
this.nFail = 0;
|
|
364
|
+
this.extinctions++;
|
|
365
|
+
this._phaseConfidence = 0;
|
|
366
|
+
this._setPhase(AJNPhase.EXTINCTION);
|
|
367
|
+
this.emit('extinction', { id: this.id, extinctions: this.extinctions, step: this.step });
|
|
368
|
+
setTimeout(() => {
|
|
369
|
+
if (this.phase === AJNPhase.EXTINCTION) this._setPhase(AJNPhase.RANDOM);
|
|
370
|
+
}, 0);
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
_updateHebbianTrace(alpha, praxis) {
|
|
374
|
+
if (!praxis || praxis.length === 0) return;
|
|
375
|
+
const lr = this.p.hebbianLR;
|
|
376
|
+
for (let i = 0; i < Math.min(praxis.length, this.hebbianTrace.length); i++) {
|
|
377
|
+
this.hebbianTrace[i] += lr * alpha * praxis[i];
|
|
378
|
+
this.hebbianTrace[i] *= 0.999;
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
_storeExperience(alpha, deltaAlpha, praxis, components = null) {
|
|
383
|
+
if (this.replayBuffer.length >= this.p.replaySize) {
|
|
384
|
+
this.replayBuffer.shift();
|
|
385
|
+
}
|
|
386
|
+
this.replayBuffer.push({
|
|
387
|
+
alpha,
|
|
388
|
+
deltaAlpha,
|
|
389
|
+
praxisSnapshot: Float64Array.from(praxis),
|
|
390
|
+
muSnapshot: Float64Array.from(this.mu),
|
|
391
|
+
step: this.step,
|
|
392
|
+
components,
|
|
393
|
+
});
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
_replayExperiences(eta) {
|
|
397
|
+
// FUSIONARY: stratified replay — prefer top-quartile reward experiences
|
|
398
|
+
const sorted = [...this.replayBuffer].sort((a, b) => b.deltaAlpha - a.deltaAlpha);
|
|
399
|
+
const topQuartile = sorted.slice(0, Math.max(1, Math.floor(sorted.length / 4)));
|
|
400
|
+
const batchSize = Math.min(5, topQuartile.length);
|
|
401
|
+
for (let i = 0; i < batchSize; i++) {
|
|
402
|
+
const idx = Math.floor(Math.random() * topQuartile.length);
|
|
403
|
+
const exp = topQuartile[idx];
|
|
404
|
+
if (exp.deltaAlpha > 0) {
|
|
405
|
+
for (let j = 0; j < this.p.praximDim; j++) {
|
|
406
|
+
const diff = exp.praxisSnapshot[j] - this.mu[j];
|
|
407
|
+
this.mu[j] += eta * 0.1 * diff * exp.deltaAlpha;
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
_setPhase(p) {
|
|
414
|
+
if (this.phase !== p) {
|
|
415
|
+
const prev = this.phase;
|
|
416
|
+
this.phase = p;
|
|
417
|
+
this._phaseConfidence = 0;
|
|
418
|
+
this.emit('phaseChange', { id: this.id, from: prev, to: p });
|
|
419
|
+
} else {
|
|
420
|
+
this._phaseConfidence = Math.min(1, this._phaseConfidence + 0.1);
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
_norm(arr) {
|
|
425
|
+
let s = 0;
|
|
426
|
+
for (const v of arr) s += v * v;
|
|
427
|
+
return Math.sqrt(s);
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
_mean(arr) {
|
|
431
|
+
let s = 0;
|
|
432
|
+
for (const v of arr) s += v;
|
|
433
|
+
return s / arr.length;
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
_phaseName() {
|
|
437
|
+
return Object.keys(AJNPhase).find(k => AJNPhase[k] === this.phase) ?? 'UNKNOWN';
|
|
438
|
+
}
|
|
439
|
+
}
|