hypermind 2.3.0__tar.gz → 2.4.0__tar.gz

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.
Files changed (1516) hide show
  1. {hypermind-2.3.0 → hypermind-2.4.0}/.gitignore +3 -0
  2. hypermind-2.4.0/.gitleaksignore +7 -0
  3. {hypermind-2.3.0 → hypermind-2.4.0}/CHANGELOG.md +79 -0
  4. {hypermind-2.3.0 → hypermind-2.4.0}/CLAUDE.md +3 -3
  5. {hypermind-2.3.0 → hypermind-2.4.0}/PKG-INFO +6 -4
  6. {hypermind-2.3.0 → hypermind-2.4.0}/README.md +4 -2
  7. {hypermind-2.3.0 → hypermind-2.4.0}/docs/configuration.md +50 -2
  8. {hypermind-2.3.0 → hypermind-2.4.0}/docs/deploy/add-tool-provider.md +1 -1
  9. {hypermind-2.3.0 → hypermind-2.4.0}/docs/deploy/quickstart.md +1 -1
  10. {hypermind-2.3.0 → hypermind-2.4.0}/docs/deploy/troubleshooting.md +4 -4
  11. {hypermind-2.3.0 → hypermind-2.4.0}/pyproject.toml +1 -1
  12. {hypermind-2.3.0 → hypermind-2.4.0}/src/hmctl/cli.py +126 -21
  13. hypermind-2.4.0/src/hmctl/envfile.py +86 -0
  14. hypermind-2.4.0/src/hmctl/setup_cmd.py +260 -0
  15. hypermind-2.4.0/src/hmctl/show_cmd.py +332 -0
  16. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/storage/__init__.py +14 -0
  17. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/storage/relata.py +26 -14
  18. hypermind-2.4.0/src/hypermind/storage/tenancy.py +352 -0
  19. hypermind-2.4.0/src/hypermind/viz/__init__.py +33 -0
  20. hypermind-2.4.0/src/hypermind/viz/canvas_html.py +1334 -0
  21. hypermind-2.4.0/src/hypermind/viz/server.py +299 -0
  22. hypermind-2.4.0/src/hypermind/viz/snapshot.py +805 -0
  23. hypermind-2.4.0/tests/storage/test_tenancy.py +318 -0
  24. hypermind-2.4.0/tests/test_cli_doctor_ledger.py +79 -0
  25. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_cli_mcp_install.py +58 -0
  26. hypermind-2.4.0/tests/test_cli_setup.py +255 -0
  27. hypermind-2.4.0/tests/test_cli_show.py +234 -0
  28. hypermind-2.4.0/tests/test_envfile.py +55 -0
  29. hypermind-2.4.0/tests/test_storage_relata_sentinels.py +126 -0
  30. hypermind-2.4.0/tests/viz/test_canvas_html.py +321 -0
  31. hypermind-2.4.0/tests/viz/test_relata.py +198 -0
  32. hypermind-2.4.0/tests/viz/test_server.py +249 -0
  33. hypermind-2.4.0/tests/viz/test_snapshot.py +357 -0
  34. {hypermind-2.3.0 → hypermind-2.4.0}/.editorconfig +0 -0
  35. {hypermind-2.3.0 → hypermind-2.4.0}/.env.example +0 -0
  36. {hypermind-2.3.0 → hypermind-2.4.0}/.gitattributes +0 -0
  37. {hypermind-2.3.0 → hypermind-2.4.0}/.githooks/pre-push +0 -0
  38. {hypermind-2.3.0 → hypermind-2.4.0}/.github/FUNDING.yml +0 -0
  39. {hypermind-2.3.0 → hypermind-2.4.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  40. {hypermind-2.3.0 → hypermind-2.4.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  41. {hypermind-2.3.0 → hypermind-2.4.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  42. {hypermind-2.3.0 → hypermind-2.4.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  43. {hypermind-2.3.0 → hypermind-2.4.0}/.github/renovate.json +0 -0
  44. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows/check-license.yml +0 -0
  45. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows/code-review-pr.yml +0 -0
  46. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows/hotfix-security.yml +0 -0
  47. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows/issue-auto-fix.yml +0 -0
  48. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows/issue-triage.yml +0 -0
  49. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows/pr-standards.yml +0 -0
  50. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows/quality.yml +0 -0
  51. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows/release-simple.yml.bak +0 -0
  52. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows/release.yml +0 -0
  53. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows/rust-ci.yml +0 -0
  54. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows/security.yml +0 -0
  55. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows/stale.yml +0 -0
  56. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows-disabled/branch-flow-check.yml +0 -0
  57. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows-disabled/chaos.yml +0 -0
  58. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows-disabled/check-license.yml +0 -0
  59. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows-disabled/ci.yml +0 -0
  60. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows-disabled/code-freeze.yml +0 -0
  61. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows-disabled/code-review-pr.yml +0 -0
  62. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows-disabled/code-review.yml +0 -0
  63. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows-disabled/codeql.yml +0 -0
  64. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows-disabled/dco.yml +0 -0
  65. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows-disabled/docs-to-wiki.yml +0 -0
  66. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows-disabled/docs.yml +0 -0
  67. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows-disabled/formal.yml +0 -0
  68. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows-disabled/fuzz.yml +0 -0
  69. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows-disabled/hotfix-security.yml +0 -0
  70. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows-disabled/issue-auto-fix.yml +0 -0
  71. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows-disabled/issue-triage.yml +0 -0
  72. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows-disabled/merge-comment.yml +0 -0
  73. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows-disabled/pip-audit.yml +0 -0
  74. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows-disabled/pr-standards.yml +0 -0
  75. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows-disabled/quality.yml +0 -0
  76. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows-disabled/sbom.yml +0 -0
  77. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows-disabled/scorecard.yml +0 -0
  78. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows-disabled/security.yml +0 -0
  79. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows-disabled/sprint-retro.yml +0 -0
  80. {hypermind-2.3.0 → hypermind-2.4.0}/.github/workflows-disabled/stale.yml +0 -0
  81. {hypermind-2.3.0 → hypermind-2.4.0}/.gitleaks.toml +0 -0
  82. {hypermind-2.3.0 → hypermind-2.4.0}/.pre-commit-config.yaml +0 -0
  83. {hypermind-2.3.0 → hypermind-2.4.0}/.tool-versions +0 -0
  84. {hypermind-2.3.0 → hypermind-2.4.0}/CODEOWNERS +0 -0
  85. {hypermind-2.3.0 → hypermind-2.4.0}/CODE_OF_CONDUCT.md +0 -0
  86. {hypermind-2.3.0 → hypermind-2.4.0}/CONTRIBUTING.md +0 -0
  87. {hypermind-2.3.0 → hypermind-2.4.0}/LICENSE +0 -0
  88. {hypermind-2.3.0 → hypermind-2.4.0}/Makefile +0 -0
  89. {hypermind-2.3.0 → hypermind-2.4.0}/SECURITY.md +0 -0
  90. {hypermind-2.3.0 → hypermind-2.4.0}/bench/README.md +0 -0
  91. {hypermind-2.3.0 → hypermind-2.4.0}/bench/__init__.py +0 -0
  92. {hypermind-2.3.0 → hypermind-2.4.0}/bench/baselines/v0.6.json +0 -0
  93. {hypermind-2.3.0 → hypermind-2.4.0}/bench/bench_consult.py +0 -0
  94. {hypermind-2.3.0 → hypermind-2.4.0}/bench/bench_dispute.py +0 -0
  95. {hypermind-2.3.0 → hypermind-2.4.0}/bench/bench_publish.py +0 -0
  96. {hypermind-2.3.0 → hypermind-2.4.0}/bench/coordination/README.md +0 -0
  97. {hypermind-2.3.0 → hypermind-2.4.0}/bench/coordination/__init__.py +0 -0
  98. {hypermind-2.3.0 → hypermind-2.4.0}/bench/coordination/baselines/v0.10.json +0 -0
  99. {hypermind-2.3.0 → hypermind-2.4.0}/bench/coordination/bench_rfp_latency.py +0 -0
  100. {hypermind-2.3.0 → hypermind-2.4.0}/bench/coordination/bench_task_throughput.py +0 -0
  101. {hypermind-2.3.0 → hypermind-2.4.0}/bench/coordination/bench_workflow_replay.py +0 -0
  102. {hypermind-2.3.0 → hypermind-2.4.0}/bench/coordination/run_all.py +0 -0
  103. {hypermind-2.3.0 → hypermind-2.4.0}/bench/question_sets/geopolitics_q20.json +0 -0
  104. {hypermind-2.3.0 → hypermind-2.4.0}/bench/question_sets/msft_outlook_q10.json +0 -0
  105. {hypermind-2.3.0 → hypermind-2.4.0}/bench/run_bench.py +0 -0
  106. {hypermind-2.3.0 → hypermind-2.4.0}/chaos/README.md +0 -0
  107. {hypermind-2.3.0 → hypermind-2.4.0}/chaos/__init__.py +0 -0
  108. {hypermind-2.3.0 → hypermind-2.4.0}/chaos/p1_partition_recovery.py +0 -0
  109. {hypermind-2.3.0 → hypermind-2.4.0}/chaos/p2_witness_compromise.py +0 -0
  110. {hypermind-2.3.0 → hypermind-2.4.0}/chaos/p3_key_rotation.py +0 -0
  111. {hypermind-2.3.0 → hypermind-2.4.0}/chaos/p4_dispute_backlog.py +0 -0
  112. {hypermind-2.3.0 → hypermind-2.4.0}/chaos/p5_wire_cutover.py +0 -0
  113. {hypermind-2.3.0 → hypermind-2.4.0}/chaos/p6_quorum_loss.py +0 -0
  114. {hypermind-2.3.0 → hypermind-2.4.0}/chaos/p7_clock_skew.py +0 -0
  115. {hypermind-2.3.0 → hypermind-2.4.0}/chaos/p8_recorder_outage.py +0 -0
  116. {hypermind-2.3.0 → hypermind-2.4.0}/chaos/run_chaos.py +0 -0
  117. {hypermind-2.3.0 → hypermind-2.4.0}/deploy/.env.example +0 -0
  118. {hypermind-2.3.0 → hypermind-2.4.0}/deploy/Dockerfile +0 -0
  119. {hypermind-2.3.0 → hypermind-2.4.0}/deploy/Dockerfile.mcp +0 -0
  120. {hypermind-2.3.0 → hypermind-2.4.0}/deploy/Dockerfile.mcp-http +0 -0
  121. {hypermind-2.3.0 → hypermind-2.4.0}/deploy/README.md +0 -0
  122. {hypermind-2.3.0 → hypermind-2.4.0}/deploy/docker-compose.mcp-http.yml +0 -0
  123. {hypermind-2.3.0 → hypermind-2.4.0}/deploy/docker-compose.mcp.yml +0 -0
  124. {hypermind-2.3.0 → hypermind-2.4.0}/deploy/k8s/hypermind-deployment.yaml +0 -0
  125. {hypermind-2.3.0 → hypermind-2.4.0}/deploy/k8s/orgs-distributed.yaml +0 -0
  126. {hypermind-2.3.0 → hypermind-2.4.0}/deploy/mcp-http-entrypoint.sh +0 -0
  127. {hypermind-2.3.0 → hypermind-2.4.0}/deploy/mcp.example.toml +0 -0
  128. {hypermind-2.3.0 → hypermind-2.4.0}/deploy/relata-serve.sh +0 -0
  129. {hypermind-2.3.0 → hypermind-2.4.0}/deploy/standalone/.env.example +0 -0
  130. {hypermind-2.3.0 → hypermind-2.4.0}/deploy/standalone/.gitignore +0 -0
  131. {hypermind-2.3.0 → hypermind-2.4.0}/deploy/standalone/README.md +0 -0
  132. {hypermind-2.3.0 → hypermind-2.4.0}/deploy/standalone/config/mcp.example.json +0 -0
  133. {hypermind-2.3.0 → hypermind-2.4.0}/deploy/standalone/docker-compose.yml +0 -0
  134. {hypermind-2.3.0 → hypermind-2.4.0}/deploy/standalone/setup.sh +0 -0
  135. {hypermind-2.3.0 → hypermind-2.4.0}/deploy/systemd/hypermind.service +0 -0
  136. {hypermind-2.3.0 → hypermind-2.4.0}/docs/INDEX.md +0 -0
  137. {hypermind-2.3.0 → hypermind-2.4.0}/docs/SIMLAB.md +0 -0
  138. {hypermind-2.3.0 → hypermind-2.4.0}/docs/_meta/glossary.md +0 -0
  139. {hypermind-2.3.0 → hypermind-2.4.0}/docs/_meta/provenance.md +0 -0
  140. {hypermind-2.3.0 → hypermind-2.4.0}/docs/_meta/public-surface.md +0 -0
  141. {hypermind-2.3.0 → hypermind-2.4.0}/docs/_meta/standards-map.md +0 -0
  142. {hypermind-2.3.0 → hypermind-2.4.0}/docs/adr/0001-tcp-federation-chosen-as-v1-transport.md +0 -0
  143. {hypermind-2.3.0 → hypermind-2.4.0}/docs/adr/0002-cloud-kms-signing-removed-local-signer-is-shipped-backend.md +0 -0
  144. {hypermind-2.3.0 → hypermind-2.4.0}/docs/adr/0003-libp2p-deferred-to-optional-external-binding.md +0 -0
  145. {hypermind-2.3.0 → hypermind-2.4.0}/docs/adr/0004-verified-corpus-is-a-first-class-product-surface.md +0 -0
  146. {hypermind-2.3.0 → hypermind-2.4.0}/docs/adr/0005-ground-truth-anchoring-is-tiered-and-provenance-bearing.md +0 -0
  147. {hypermind-2.3.0 → hypermind-2.4.0}/docs/adr/0006-three-layer-event-driven-integration.md +0 -0
  148. {hypermind-2.3.0 → hypermind-2.4.0}/docs/adr/0007-per-agent-deliberator-with-declarative-role-bundles.md +0 -0
  149. {hypermind-2.3.0 → hypermind-2.4.0}/docs/adr/0008-llm-decomposed-expert-seats-and-reasoning-strategies.md +0 -0
  150. {hypermind-2.3.0 → hypermind-2.4.0}/docs/adr/0009-dual-storage-backend-sqlite-local-default-and-relata-federated.md +0 -0
  151. {hypermind-2.3.0 → hypermind-2.4.0}/docs/adr/0010-composite-ed25519-mldsa65-signing-pq-hybrid.md +0 -0
  152. {hypermind-2.3.0 → hypermind-2.4.0}/docs/adr/README.md +0 -0
  153. {hypermind-2.3.0 → hypermind-2.4.0}/docs/api/agent.md +0 -0
  154. {hypermind-2.3.0 → hypermind-2.4.0}/docs/api/agent_card.md +0 -0
  155. {hypermind-2.3.0 → hypermind-2.4.0}/docs/api/capability.md +0 -0
  156. {hypermind-2.3.0 → hypermind-2.4.0}/docs/api/consult.md +0 -0
  157. {hypermind-2.3.0 → hypermind-2.4.0}/docs/api/contract_net.md +0 -0
  158. {hypermind-2.3.0 → hypermind-2.4.0}/docs/api/crypto.md +0 -0
  159. {hypermind-2.3.0 → hypermind-2.4.0}/docs/api/dataset.md +0 -0
  160. {hypermind-2.3.0 → hypermind-2.4.0}/docs/api/dispute.md +0 -0
  161. {hypermind-2.3.0 → hypermind-2.4.0}/docs/api/errors.md +0 -0
  162. {hypermind-2.3.0 → hypermind-2.4.0}/docs/api/eval.md +0 -0
  163. {hypermind-2.3.0 → hypermind-2.4.0}/docs/api/ingest.md +0 -0
  164. {hypermind-2.3.0 → hypermind-2.4.0}/docs/api/integrations.md +0 -0
  165. {hypermind-2.3.0 → hypermind-2.4.0}/docs/api/knowledge.md +0 -0
  166. {hypermind-2.3.0 → hypermind-2.4.0}/docs/api/mcp.md +0 -0
  167. {hypermind-2.3.0 → hypermind-2.4.0}/docs/api/mind.md +0 -0
  168. {hypermind-2.3.0 → hypermind-2.4.0}/docs/api/moa.md +0 -0
  169. {hypermind-2.3.0 → hypermind-2.4.0}/docs/api/namespace.md +0 -0
  170. {hypermind-2.3.0 → hypermind-2.4.0}/docs/api/observability.md +0 -0
  171. {hypermind-2.3.0 → hypermind-2.4.0}/docs/api/orgs.md +0 -0
  172. {hypermind-2.3.0 → hypermind-2.4.0}/docs/api/responders.md +0 -0
  173. {hypermind-2.3.0 → hypermind-2.4.0}/docs/api/revocation.md +0 -0
  174. {hypermind-2.3.0 → hypermind-2.4.0}/docs/api/simlab-openapi.yaml +0 -0
  175. {hypermind-2.3.0 → hypermind-2.4.0}/docs/api/simlab.md +0 -0
  176. {hypermind-2.3.0 → hypermind-2.4.0}/docs/api/storage.md +0 -0
  177. {hypermind-2.3.0 → hypermind-2.4.0}/docs/api/sync.md +0 -0
  178. {hypermind-2.3.0 → hypermind-2.4.0}/docs/api/tal.md +0 -0
  179. {hypermind-2.3.0 → hypermind-2.4.0}/docs/api/tasks.md +0 -0
  180. {hypermind-2.3.0 → hypermind-2.4.0}/docs/api/testing.md +0 -0
  181. {hypermind-2.3.0 → hypermind-2.4.0}/docs/api/transport.md +0 -0
  182. {hypermind-2.3.0 → hypermind-2.4.0}/docs/api/types.md +0 -0
  183. {hypermind-2.3.0 → hypermind-2.4.0}/docs/api/uncertainty.md +0 -0
  184. {hypermind-2.3.0 → hypermind-2.4.0}/docs/api/wire.md +0 -0
  185. {hypermind-2.3.0 → hypermind-2.4.0}/docs/assets/hero-swarm.svg +0 -0
  186. {hypermind-2.3.0 → hypermind-2.4.0}/docs/audit/docs-vs-code-alignment-2026-07-25.md +0 -0
  187. {hypermind-2.3.0 → hypermind-2.4.0}/docs/audit/docs-vs-code-alignment-2026-07-27.md +0 -0
  188. {hypermind-2.3.0 → hypermind-2.4.0}/docs/audit/findings.md +0 -0
  189. {hypermind-2.3.0 → hypermind-2.4.0}/docs/audit/scope.md +0 -0
  190. {hypermind-2.3.0 → hypermind-2.4.0}/docs/concepts.md +0 -0
  191. {hypermind-2.3.0 → hypermind-2.4.0}/docs/conformance/authority.md +0 -0
  192. {hypermind-2.3.0 → hypermind-2.4.0}/docs/conformance/bake-off-report.md +0 -0
  193. {hypermind-2.3.0 → hypermind-2.4.0}/docs/conformance/mark-policy.md +0 -0
  194. {hypermind-2.3.0 → hypermind-2.4.0}/docs/decide/01-disqualifiers.md +0 -0
  195. {hypermind-2.3.0 → hypermind-2.4.0}/docs/decide/02-alternatives.md +0 -0
  196. {hypermind-2.3.0 → hypermind-2.4.0}/docs/decide/03-incentive-aligned-cases.md +0 -0
  197. {hypermind-2.3.0 → hypermind-2.4.0}/docs/decide/04-use-cases.md +0 -0
  198. {hypermind-2.3.0 → hypermind-2.4.0}/docs/deploy/add-mcp-server.md +0 -0
  199. {hypermind-2.3.0 → hypermind-2.4.0}/docs/deploy/index.md +0 -0
  200. {hypermind-2.3.0 → hypermind-2.4.0}/docs/deploy/mcp-connect.md +0 -0
  201. {hypermind-2.3.0 → hypermind-2.4.0}/docs/deploy/rest-api.md +0 -0
  202. {hypermind-2.3.0 → hypermind-2.4.0}/docs/deploy/scheduled-research.md +0 -0
  203. {hypermind-2.3.0 → hypermind-2.4.0}/docs/deploy/use-cases.md +0 -0
  204. {hypermind-2.3.0 → hypermind-2.4.0}/docs/deploy/write-scenario.md +0 -0
  205. {hypermind-2.3.0 → hypermind-2.4.0}/docs/design/01-architecture.md +0 -0
  206. {hypermind-2.3.0 → hypermind-2.4.0}/docs/design/02-traces.md +0 -0
  207. {hypermind-2.3.0 → hypermind-2.4.0}/docs/design/03-failure-modes.md +0 -0
  208. {hypermind-2.3.0 → hypermind-2.4.0}/docs/design/04-poisoning-defenses.md +0 -0
  209. {hypermind-2.3.0 → hypermind-2.4.0}/docs/design/05-deployment-topology.md +0 -0
  210. {hypermind-2.3.0 → hypermind-2.4.0}/docs/eval-programme.html +0 -0
  211. {hypermind-2.3.0 → hypermind-2.4.0}/docs/feature-matrix.md +0 -0
  212. {hypermind-2.3.0 → hypermind-2.4.0}/docs/getting-started.md +0 -0
  213. {hypermind-2.3.0 → hypermind-2.4.0}/docs/governance/cna.md +0 -0
  214. {hypermind-2.3.0 → hypermind-2.4.0}/docs/governance/foundation-evaluation.md +0 -0
  215. {hypermind-2.3.0 → hypermind-2.4.0}/docs/index.md +0 -0
  216. {hypermind-2.3.0 → hypermind-2.4.0}/docs/integrations.md +0 -0
  217. {hypermind-2.3.0 → hypermind-2.4.0}/docs/legal/export-classification.md +0 -0
  218. {hypermind-2.3.0 → hypermind-2.4.0}/docs/lts.md +0 -0
  219. {hypermind-2.3.0 → hypermind-2.4.0}/docs/migrate/v0.x-to-v1.0.md +0 -0
  220. {hypermind-2.3.0 → hypermind-2.4.0}/docs/onboarding/00-prerequisites.md +0 -0
  221. {hypermind-2.3.0 → hypermind-2.4.0}/docs/onboarding/README.md +0 -0
  222. {hypermind-2.3.0 → hypermind-2.4.0}/docs/onboarding/after.md +0 -0
  223. {hypermind-2.3.0 → hypermind-2.4.0}/docs/onboarding/exercises/e01-run-the-loop.md +0 -0
  224. {hypermind-2.3.0 → hypermind-2.4.0}/docs/onboarding/exercises/e02-draw-the-architecture.md +0 -0
  225. {hypermind-2.3.0 → hypermind-2.4.0}/docs/onboarding/exercises/e03-trace-a-claim.md +0 -0
  226. {hypermind-2.3.0 → hypermind-2.4.0}/docs/onboarding/exercises/e04-read-a-spec-section.md +0 -0
  227. {hypermind-2.3.0 → hypermind-2.4.0}/docs/onboarding/exercises/e05-break-it.md +0 -0
  228. {hypermind-2.3.0 → hypermind-2.4.0}/docs/onboarding/exercises/e06-add-a-test.md +0 -0
  229. {hypermind-2.3.0 → hypermind-2.4.0}/docs/onboarding/exercises/e07-first-pr.md +0 -0
  230. {hypermind-2.3.0 → hypermind-2.4.0}/docs/onboarding/glossary.md +0 -0
  231. {hypermind-2.3.0 → hypermind-2.4.0}/docs/onboarding/topics/00-what-is-hypermind.md +0 -0
  232. {hypermind-2.3.0 → hypermind-2.4.0}/docs/onboarding/topics/01-agents-and-swarms.md +0 -0
  233. {hypermind-2.3.0 → hypermind-2.4.0}/docs/onboarding/topics/02-architecture-tour.md +0 -0
  234. {hypermind-2.3.0 → hypermind-2.4.0}/docs/onboarding/topics/03-spec-literacy.md +0 -0
  235. {hypermind-2.3.0 → hypermind-2.4.0}/docs/onboarding/topics/04-cryptography.md +0 -0
  236. {hypermind-2.3.0 → hypermind-2.4.0}/docs/onboarding/topics/05-cbor-cose.md +0 -0
  237. {hypermind-2.3.0 → hypermind-2.4.0}/docs/onboarding/topics/06-transparency-logs.md +0 -0
  238. {hypermind-2.3.0 → hypermind-2.4.0}/docs/onboarding/topics/07-distributed-systems.md +0 -0
  239. {hypermind-2.3.0 → hypermind-2.4.0}/docs/onboarding/topics/08-async-python.md +0 -0
  240. {hypermind-2.3.0 → hypermind-2.4.0}/docs/onboarding/topics/09-security-mindset.md +0 -0
  241. {hypermind-2.3.0 → hypermind-2.4.0}/docs/onboarding/week-1-foundations.md +0 -0
  242. {hypermind-2.3.0 → hypermind-2.4.0}/docs/onboarding/week-2-deep-dive.md +0 -0
  243. {hypermind-2.3.0 → hypermind-2.4.0}/docs/operate/01-deployment.md +0 -0
  244. {hypermind-2.3.0 → hypermind-2.4.0}/docs/operate/02-runbook.md +0 -0
  245. {hypermind-2.3.0 → hypermind-2.4.0}/docs/operate/03-resource-budget.md +0 -0
  246. {hypermind-2.3.0 → hypermind-2.4.0}/docs/operate/backup-restore.md +0 -0
  247. {hypermind-2.3.0 → hypermind-2.4.0}/docs/operate/data-residency.md +0 -0
  248. {hypermind-2.3.0 → hypermind-2.4.0}/docs/operate/key-rotation.md +0 -0
  249. {hypermind-2.3.0 → hypermind-2.4.0}/docs/operate/runbooks/dispute-backlog-drain.md +0 -0
  250. {hypermind-2.3.0 → hypermind-2.4.0}/docs/operate/runbooks/key-rotation.md +0 -0
  251. {hypermind-2.3.0 → hypermind-2.4.0}/docs/operate/runbooks/kms-rotation.md +0 -0
  252. {hypermind-2.3.0 → hypermind-2.4.0}/docs/operate/runbooks/multi-host-deploy.md +0 -0
  253. {hypermind-2.3.0 → hypermind-2.4.0}/docs/operate/runbooks/partition-heal.md +0 -0
  254. {hypermind-2.3.0 → hypermind-2.4.0}/docs/operate/runbooks/quorum-loss.md +0 -0
  255. {hypermind-2.3.0 → hypermind-2.4.0}/docs/operate/runbooks/rfp-dispute-triage.md +0 -0
  256. {hypermind-2.3.0 → hypermind-2.4.0}/docs/operate/runbooks/wire-cutover.md +0 -0
  257. {hypermind-2.3.0 → hypermind-2.4.0}/docs/operate/runbooks/witness-compromise.md +0 -0
  258. {hypermind-2.3.0 → hypermind-2.4.0}/docs/operate/runbooks/workflow-replay.md +0 -0
  259. {hypermind-2.3.0 → hypermind-2.4.0}/docs/operate/slo.md +0 -0
  260. {hypermind-2.3.0 → hypermind-2.4.0}/docs/paper/00-patent.md +0 -0
  261. {hypermind-2.3.0 → hypermind-2.4.0}/docs/paper/hypermind-paper-draft.md +0 -0
  262. {hypermind-2.3.0 → hypermind-2.4.0}/docs/paper/hypermind-paper.docx +0 -0
  263. {hypermind-2.3.0 → hypermind-2.4.0}/docs/paper/hypermind-paper.tex +0 -0
  264. {hypermind-2.3.0 → hypermind-2.4.0}/docs/project/autonomy-audit.md +0 -0
  265. {hypermind-2.3.0 → hypermind-2.4.0}/docs/project/charter.md +0 -0
  266. {hypermind-2.3.0 → hypermind-2.4.0}/docs/project/governance.md +0 -0
  267. {hypermind-2.3.0 → hypermind-2.4.0}/docs/project/maintainers.md +0 -0
  268. {hypermind-2.3.0 → hypermind-2.4.0}/docs/project/repo-map.md +0 -0
  269. {hypermind-2.3.0 → hypermind-2.4.0}/docs/project/roadmap.md +0 -0
  270. {hypermind-2.3.0 → hypermind-2.4.0}/docs/project/v2.0-plan.md +0 -0
  271. {hypermind-2.3.0 → hypermind-2.4.0}/docs/quickstart.md +0 -0
  272. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.0.0.md +0 -0
  273. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.1.0.md +0 -0
  274. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.10.1.md +0 -0
  275. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.11.0.md +0 -0
  276. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.12.0.md +0 -0
  277. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.12.1.md +0 -0
  278. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.13.0-draft.md +0 -0
  279. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.2.0.md +0 -0
  280. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.3.0.md +0 -0
  281. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.4.0.md +0 -0
  282. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.5.0.md +0 -0
  283. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.6.0.md +0 -0
  284. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.6.1.md +0 -0
  285. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.6.2.md +0 -0
  286. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.6.3.md +0 -0
  287. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.6.4.md +0 -0
  288. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.6.5.md +0 -0
  289. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.6.6.md +0 -0
  290. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.6.7.md +0 -0
  291. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.6.8.md +0 -0
  292. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.6.9.md +0 -0
  293. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.7.0.md +0 -0
  294. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.7.1.md +0 -0
  295. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.7.10.md +0 -0
  296. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.7.2.md +0 -0
  297. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.7.3.md +0 -0
  298. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.7.4.md +0 -0
  299. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.7.5.md +0 -0
  300. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.7.6.md +0 -0
  301. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.7.7.md +0 -0
  302. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.7.8.md +0 -0
  303. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.7.9.md +0 -0
  304. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.8.0.md +0 -0
  305. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.8.1.md +0 -0
  306. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.8.2.md +0 -0
  307. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.8.3.md +0 -0
  308. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.9.0.md +0 -0
  309. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.9.1.md +0 -0
  310. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.9.3.md +0 -0
  311. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.9.4.md +0 -0
  312. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.9.5.md +0 -0
  313. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.9.6.md +0 -0
  314. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v1.9.7.md +0 -0
  315. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v2.0.0.md +0 -0
  316. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v2.1.0.md +0 -0
  317. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v2.1.1.md +0 -0
  318. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v2.1.2.md +0 -0
  319. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v2.1.3.md +0 -0
  320. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v2.1.4.md +0 -0
  321. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v2.1.5.md +0 -0
  322. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v2.2.0.md +0 -0
  323. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v2.2.1.md +0 -0
  324. {hypermind-2.3.0 → hypermind-2.4.0}/docs/release-notes/v2.3.0.md +0 -0
  325. {hypermind-2.3.0 → hypermind-2.4.0}/docs/security/threat-model.md +0 -0
  326. {hypermind-2.3.0 → hypermind-2.4.0}/docs/simlab/modes.md +0 -0
  327. {hypermind-2.3.0 → hypermind-2.4.0}/docs/simulations.md +0 -0
  328. {hypermind-2.3.0 → hypermind-2.4.0}/docs/sop-knowledge-quality.md +0 -0
  329. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/00-overview.md +0 -0
  330. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/01-transport.md +0 -0
  331. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/02-cryptography.md +0 -0
  332. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/03-messages.md +0 -0
  333. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/04-knowledge-model.md +0 -0
  334. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/05-routing.md +0 -0
  335. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/06-conformance.md +0 -0
  336. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/07-trust-access-layer.md +0 -0
  337. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/08-onboarding-contract.md +0 -0
  338. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/09-agent-sdk.md +0 -0
  339. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/10-disputes.md +0 -0
  340. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/11-witness-transparency.md +0 -0
  341. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/12-governance.md +0 -0
  342. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/13-observability.md +0 -0
  343. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/14-threat-model.md +0 -0
  344. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/15-living-transmission.md +0 -0
  345. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/16-reference-comparisons.md +0 -0
  346. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/17-upgrade-v1.md +0 -0
  347. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/18-revocation.md +0 -0
  348. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/19-autonomy-contract.md +0 -0
  349. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/20-swarm-intelligence.md +0 -0
  350. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/21-private-namespaces.md +0 -0
  351. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/22-transport-mtls.md +0 -0
  352. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/23-envelope-encryption.md +0 -0
  353. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/24-namespace-identity.md +0 -0
  354. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/25-capability-extensions.md +0 -0
  355. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/26-workflow.md +0 -0
  356. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/27-contract-net.md +0 -0
  357. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/28-distributed-trace.md +0 -0
  358. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/29-verified-corpus.md +0 -0
  359. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/30-ground-truth-anchor.md +0 -0
  360. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/31-deep-research-engine.md +0 -0
  361. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/32-belief-state.md +0 -0
  362. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/appendix-N-calibration.md +0 -0
  363. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/appendix-TLA.md +0 -0
  364. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/appendix-z.md +0 -0
  365. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/errata.md +0 -0
  366. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/index.md +0 -0
  367. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/invariants.md +0 -0
  368. {hypermind-2.3.0 → hypermind-2.4.0}/docs/spec/normative-trace.md +0 -0
  369. {hypermind-2.3.0 → hypermind-2.4.0}/docs/supply-chain/sbom.md +0 -0
  370. {hypermind-2.3.0 → hypermind-2.4.0}/docs/supply-chain/slsa.md +0 -0
  371. {hypermind-2.3.0 → hypermind-2.4.0}/docs/supply-chain/verify-self.md +0 -0
  372. {hypermind-2.3.0 → hypermind-2.4.0}/docs/sustainability.md +0 -0
  373. {hypermind-2.3.0 → hypermind-2.4.0}/docs/verified-corpus.md +0 -0
  374. {hypermind-2.3.0 → hypermind-2.4.0}/examples/01_hello_world.py +0 -0
  375. {hypermind-2.3.0 → hypermind-2.4.0}/examples/02_two_agents_dispute.py +0 -0
  376. {hypermind-2.3.0 → hypermind-2.4.0}/examples/03_consult_panel.py +0 -0
  377. {hypermind-2.3.0 → hypermind-2.4.0}/examples/04_oracle_resolve.py +0 -0
  378. {hypermind-2.3.0 → hypermind-2.4.0}/examples/05_consult_to_synthesis.py +0 -0
  379. {hypermind-2.3.0 → hypermind-2.4.0}/examples/06_hybrid_pq.py +0 -0
  380. {hypermind-2.3.0 → hypermind-2.4.0}/examples/07_frost_threshold.py +0 -0
  381. {hypermind-2.3.0 → hypermind-2.4.0}/examples/08_ramp_and_diagnostics.py +0 -0
  382. {hypermind-2.3.0 → hypermind-2.4.0}/examples/09_audit_export_chain.py +0 -0
  383. {hypermind-2.3.0 → hypermind-2.4.0}/examples/10_autonomous_agent.py +0 -0
  384. {hypermind-2.3.0 → hypermind-2.4.0}/examples/11_swarm_deliberation.py +0 -0
  385. {hypermind-2.3.0 → hypermind-2.4.0}/examples/12_swarm_iq_scorecard.py +0 -0
  386. {hypermind-2.3.0 → hypermind-2.4.0}/examples/13_role_specialisation.py +0 -0
  387. {hypermind-2.3.0 → hypermind-2.4.0}/examples/14_active_learning_loop.py +0 -0
  388. {hypermind-2.3.0 → hypermind-2.4.0}/examples/16_wire_message.py +0 -0
  389. {hypermind-2.3.0 → hypermind-2.4.0}/examples/17_tool_delegation.py +0 -0
  390. {hypermind-2.3.0 → hypermind-2.4.0}/examples/18_custom_responder.py +0 -0
  391. {hypermind-2.3.0 → hypermind-2.4.0}/examples/19_governance.py +0 -0
  392. {hypermind-2.3.0 → hypermind-2.4.0}/examples/20_conformance_check.py +0 -0
  393. {hypermind-2.3.0 → hypermind-2.4.0}/examples/21_revocation.py +0 -0
  394. {hypermind-2.3.0 → hypermind-2.4.0}/examples/22_agent_card.py +0 -0
  395. {hypermind-2.3.0 → hypermind-2.4.0}/examples/23_task_delegation.py +0 -0
  396. {hypermind-2.3.0 → hypermind-2.4.0}/examples/24_mcp_tool_call.py +0 -0
  397. {hypermind-2.3.0 → hypermind-2.4.0}/examples/25_swarm_trace.py +0 -0
  398. {hypermind-2.3.0 → hypermind-2.4.0}/examples/26_submit_goal_and_goal_handle.py +0 -0
  399. {hypermind-2.3.0 → hypermind-2.4.0}/examples/27_safety_policies.py +0 -0
  400. {hypermind-2.3.0 → hypermind-2.4.0}/examples/28_relata_connection.py +0 -0
  401. {hypermind-2.3.0 → hypermind-2.4.0}/examples/29_quick_research_sim.py +0 -0
  402. {hypermind-2.3.0 → hypermind-2.4.0}/examples/30_moa_endpoint.py +0 -0
  403. {hypermind-2.3.0 → hypermind-2.4.0}/examples/README.md +0 -0
  404. {hypermind-2.3.0 → hypermind-2.4.0}/examples/coordination/01_durable_workflow.py +0 -0
  405. {hypermind-2.3.0 → hypermind-2.4.0}/examples/coordination/02_contract_net.py +0 -0
  406. {hypermind-2.3.0 → hypermind-2.4.0}/examples/coordination/03_belief_and_plan.py +0 -0
  407. {hypermind-2.3.0 → hypermind-2.4.0}/examples/coordination/__init__.py +0 -0
  408. {hypermind-2.3.0 → hypermind-2.4.0}/examples/coordination/usecases/__init__.py +0 -0
  409. {hypermind-2.3.0 → hypermind-2.4.0}/examples/coordination/usecases/ai_01_fed_benchmark.py +0 -0
  410. {hypermind-2.3.0 → hypermind-2.4.0}/examples/coordination/usecases/ai_alignment_redteam.py +0 -0
  411. {hypermind-2.3.0 → hypermind-2.4.0}/examples/coordination/usecases/cy_05_ir_swarm.py +0 -0
  412. {hypermind-2.3.0 → hypermind-2.4.0}/examples/coordination/usecases/cy_11_ransomware_intel.py +0 -0
  413. {hypermind-2.3.0 → hypermind-2.4.0}/examples/coordination/usecases/ed_credentials.py +0 -0
  414. {hypermind-2.3.0 → hypermind-2.4.0}/examples/coordination/usecases/en_grid_coordinate.py +0 -0
  415. {hypermind-2.3.0 → hypermind-2.4.0}/examples/coordination/usecases/fi_04_bsa_314b.py +0 -0
  416. {hypermind-2.3.0 → hypermind-2.4.0}/examples/coordination/usecases/fi_22_ma_dataroom.py +0 -0
  417. {hypermind-2.3.0 → hypermind-2.4.0}/examples/coordination/usecases/gv_01_intel_sharing.py +0 -0
  418. {hypermind-2.3.0 → hypermind-2.4.0}/examples/coordination/usecases/gv_21_red_team.py +0 -0
  419. {hypermind-2.3.0 → hypermind-2.4.0}/examples/coordination/usecases/hc_06_rare_disease.py +0 -0
  420. {hypermind-2.3.0 → hypermind-2.4.0}/examples/coordination/usecases/hc_21_fed_learning.py +0 -0
  421. {hypermind-2.3.0 → hypermind-2.4.0}/examples/coordination/usecases/lg_ediscovery.py +0 -0
  422. {hypermind-2.3.0 → hypermind-2.4.0}/examples/coordination/usecases/mf_supply_chain.py +0 -0
  423. {hypermind-2.3.0 → hypermind-2.4.0}/examples/e2e_many_agents.py +0 -0
  424. {hypermind-2.3.0 → hypermind-2.4.0}/examples/full_e2e_demo.py +0 -0
  425. {hypermind-2.3.0 → hypermind-2.4.0}/examples/lifecycle.py +0 -0
  426. {hypermind-2.3.0 → hypermind-2.4.0}/examples/org_distributed.py +0 -0
  427. {hypermind-2.3.0 → hypermind-2.4.0}/examples/org_university.py +0 -0
  428. {hypermind-2.3.0 → hypermind-2.4.0}/examples/scenario_aar.py +0 -0
  429. {hypermind-2.3.0 → hypermind-2.4.0}/examples/scenario_backtest.py +0 -0
  430. {hypermind-2.3.0 → hypermind-2.4.0}/examples/scenario_capability_attenuation.py +0 -0
  431. {hypermind-2.3.0 → hypermind-2.4.0}/examples/scenario_conformance.py +0 -0
  432. {hypermind-2.3.0 → hypermind-2.4.0}/examples/scenario_crisis_tabletop.py +0 -0
  433. {hypermind-2.3.0 → hypermind-2.4.0}/examples/scenario_cross_namespace_federation.py +0 -0
  434. {hypermind-2.3.0 → hypermind-2.4.0}/examples/scenario_decision_tournament.py +0 -0
  435. {hypermind-2.3.0 → hypermind-2.4.0}/examples/scenario_dispute_lifecycle_async.py +0 -0
  436. {hypermind-2.3.0 → hypermind-2.4.0}/examples/scenario_evaluation.py +0 -0
  437. {hypermind-2.3.0 → hypermind-2.4.0}/examples/scenario_geopolitical_crisis.py +0 -0
  438. {hypermind-2.3.0 → hypermind-2.4.0}/examples/scenario_geopolitical_traced.py +0 -0
  439. {hypermind-2.3.0 → hypermind-2.4.0}/examples/scenario_governance_committee.py +0 -0
  440. {hypermind-2.3.0 → hypermind-2.4.0}/examples/scenario_information_pipeline.py +0 -0
  441. {hypermind-2.3.0 → hypermind-2.4.0}/examples/scenario_ingest_pipeline.py +0 -0
  442. {hypermind-2.3.0 → hypermind-2.4.0}/examples/scenario_learning_loop.py +0 -0
  443. {hypermind-2.3.0 → hypermind-2.4.0}/examples/scenario_namespace_trust.py +0 -0
  444. {hypermind-2.3.0 → hypermind-2.4.0}/examples/scenario_persona_panel.py +0 -0
  445. {hypermind-2.3.0 → hypermind-2.4.0}/examples/scenario_population_lifecycle.py +0 -0
  446. {hypermind-2.3.0 → hypermind-2.4.0}/examples/scenario_private_namespace.py +0 -0
  447. {hypermind-2.3.0 → hypermind-2.4.0}/examples/scenario_red_team.py +0 -0
  448. {hypermind-2.3.0 → hypermind-2.4.0}/examples/scenario_regulated_consortium.py +0 -0
  449. {hypermind-2.3.0 → hypermind-2.4.0}/examples/scenario_social_media_research.py +0 -0
  450. {hypermind-2.3.0 → hypermind-2.4.0}/examples/scenario_threat_intel.py +0 -0
  451. {hypermind-2.3.0 → hypermind-2.4.0}/examples/scenario_vouch_chain.py +0 -0
  452. {hypermind-2.3.0 → hypermind-2.4.0}/examples/scenario_what_if_tree.py +0 -0
  453. {hypermind-2.3.0 → hypermind-2.4.0}/examples/serve_api.py +0 -0
  454. {hypermind-2.3.0 → hypermind-2.4.0}/examples/sim_criminology_tech.py +0 -0
  455. {hypermind-2.3.0 → hypermind-2.4.0}/examples/two_node_tcp.py +0 -0
  456. {hypermind-2.3.0 → hypermind-2.4.0}/formal/README.md +0 -0
  457. {hypermind-2.3.0 → hypermind-2.4.0}/formal/hax-rust/README.md +0 -0
  458. {hypermind-2.3.0 → hypermind-2.4.0}/formal/hax-rust/scope.md +0 -0
  459. {hypermind-2.3.0 → hypermind-2.4.0}/formal/proverif/dispute_fsm.pv +0 -0
  460. {hypermind-2.3.0 → hypermind-2.4.0}/formal/proverif/dispute_liveness.pv +0 -0
  461. {hypermind-2.3.0 → hypermind-2.4.0}/formal/tamarin/capability_chain.spthy +0 -0
  462. {hypermind-2.3.0 → hypermind-2.4.0}/formal/tamarin/dispute_fsm.spthy +0 -0
  463. {hypermind-2.3.0 → hypermind-2.4.0}/formal/tamarin/signed_statement.spthy +0 -0
  464. {hypermind-2.3.0 → hypermind-2.4.0}/formal/tamarin/wire_security.spthy +0 -0
  465. {hypermind-2.3.0 → hypermind-2.4.0}/fuzz/README.md +0 -0
  466. {hypermind-2.3.0 → hypermind-2.4.0}/fuzz/__init__.py +0 -0
  467. {hypermind-2.3.0 → hypermind-2.4.0}/fuzz/fuzz_agent_card.py +0 -0
  468. {hypermind-2.3.0 → hypermind-2.4.0}/fuzz/fuzz_anti_entropy.py +0 -0
  469. {hypermind-2.3.0 → hypermind-2.4.0}/fuzz/fuzz_capability.py +0 -0
  470. {hypermind-2.3.0 → hypermind-2.4.0}/fuzz/fuzz_dispute.py +0 -0
  471. {hypermind-2.3.0 → hypermind-2.4.0}/fuzz/fuzz_inclusion_proof.py +0 -0
  472. {hypermind-2.3.0 → hypermind-2.4.0}/fuzz/fuzz_wire.py +0 -0
  473. {hypermind-2.3.0 → hypermind-2.4.0}/fuzz/seed_corpus.py +0 -0
  474. {hypermind-2.3.0 → hypermind-2.4.0}/harness/__init__.py +0 -0
  475. {hypermind-2.3.0 → hypermind-2.4.0}/harness/__main__.py +0 -0
  476. {hypermind-2.3.0 → hypermind-2.4.0}/harness/assertions.py +0 -0
  477. {hypermind-2.3.0 → hypermind-2.4.0}/harness/fixtures.py +0 -0
  478. {hypermind-2.3.0 → hypermind-2.4.0}/harness/report.py +0 -0
  479. {hypermind-2.3.0 → hypermind-2.4.0}/harness/roles.py +0 -0
  480. {hypermind-2.3.0 → hypermind-2.4.0}/harness/runner.py +0 -0
  481. {hypermind-2.3.0 → hypermind-2.4.0}/harness/scenario.py +0 -0
  482. {hypermind-2.3.0 → hypermind-2.4.0}/harness/scenarios/__init__.py +0 -0
  483. {hypermind-2.3.0 → hypermind-2.4.0}/harness/scenarios/autonomous_evolution.py +0 -0
  484. {hypermind-2.3.0 → hypermind-2.4.0}/harness/scenarios/swarm_iq_benchmark.py +0 -0
  485. {hypermind-2.3.0 → hypermind-2.4.0}/harness/scenarios/threat_intel.py +0 -0
  486. {hypermind-2.3.0 → hypermind-2.4.0}/mkdocs.yml +0 -0
  487. {hypermind-2.3.0 → hypermind-2.4.0}/reference_verifier/__init__.py +0 -0
  488. {hypermind-2.3.0 → hypermind-2.4.0}/reference_verifier/schemas/encrypted_statement.cddl +0 -0
  489. {hypermind-2.3.0 → hypermind-2.4.0}/reference_verifier/schemas/namespace_accept.cddl +0 -0
  490. {hypermind-2.3.0 → hypermind-2.4.0}/reference_verifier/schemas/namespace_create.cddl +0 -0
  491. {hypermind-2.3.0 → hypermind-2.4.0}/reference_verifier/schemas/namespace_founding_attest.cddl +0 -0
  492. {hypermind-2.3.0 → hypermind-2.4.0}/reference_verifier/schemas/namespace_invite.cddl +0 -0
  493. {hypermind-2.3.0 → hypermind-2.4.0}/reference_verifier/schemas/wire-v0.1.cddl +0 -0
  494. {hypermind-2.3.0 → hypermind-2.4.0}/reference_verifier/verifier.py +0 -0
  495. {hypermind-2.3.0 → hypermind-2.4.0}/review/__init__.py +0 -0
  496. {hypermind-2.3.0 → hypermind-2.4.0}/review/__main__.py +0 -0
  497. {hypermind-2.3.0 → hypermind-2.4.0}/review/agents.py +0 -0
  498. {hypermind-2.3.0 → hypermind-2.4.0}/review/models.py +0 -0
  499. {hypermind-2.3.0 → hypermind-2.4.0}/review/runner.py +0 -0
  500. {hypermind-2.3.0 → hypermind-2.4.0}/rust/Cargo.lock +0 -0
  501. {hypermind-2.3.0 → hypermind-2.4.0}/rust/Cargo.toml +0 -0
  502. {hypermind-2.3.0 → hypermind-2.4.0}/rust/README.md +0 -0
  503. {hypermind-2.3.0 → hypermind-2.4.0}/rust/crates/hmctl/Cargo.toml +0 -0
  504. {hypermind-2.3.0 → hypermind-2.4.0}/rust/crates/hmctl/src/config.rs +0 -0
  505. {hypermind-2.3.0 → hypermind-2.4.0}/rust/crates/hmctl/src/daemon.rs +0 -0
  506. {hypermind-2.3.0 → hypermind-2.4.0}/rust/crates/hmctl/src/main.rs +0 -0
  507. {hypermind-2.3.0 → hypermind-2.4.0}/rust/crates/hypermind-proto/Cargo.toml +0 -0
  508. {hypermind-2.3.0 → hypermind-2.4.0}/rust/crates/hypermind-proto/examples/frost_interop.rs +0 -0
  509. {hypermind-2.3.0 → hypermind-2.4.0}/rust/crates/hypermind-proto/examples/mldsa_interop.rs +0 -0
  510. {hypermind-2.3.0 → hypermind-2.4.0}/rust/crates/hypermind-proto/examples/tcp_interop.rs +0 -0
  511. {hypermind-2.3.0 → hypermind-2.4.0}/rust/crates/hypermind-proto/examples/wire_interop.rs +0 -0
  512. {hypermind-2.3.0 → hypermind-2.4.0}/rust/crates/hypermind-proto/schemas/namespace_accept.cddl +0 -0
  513. {hypermind-2.3.0 → hypermind-2.4.0}/rust/crates/hypermind-proto/schemas/namespace_create.cddl +0 -0
  514. {hypermind-2.3.0 → hypermind-2.4.0}/rust/crates/hypermind-proto/schemas/namespace_founding_attest.cddl +0 -0
  515. {hypermind-2.3.0 → hypermind-2.4.0}/rust/crates/hypermind-proto/schemas/namespace_invite.cddl +0 -0
  516. {hypermind-2.3.0 → hypermind-2.4.0}/rust/crates/hypermind-proto/schemas/wire-v0.1.cddl +0 -0
  517. {hypermind-2.3.0 → hypermind-2.4.0}/rust/crates/hypermind-proto/src/anti_entropy.rs +0 -0
  518. {hypermind-2.3.0 → hypermind-2.4.0}/rust/crates/hypermind-proto/src/cbor.rs +0 -0
  519. {hypermind-2.3.0 → hypermind-2.4.0}/rust/crates/hypermind-proto/src/dispute.rs +0 -0
  520. {hypermind-2.3.0 → hypermind-2.4.0}/rust/crates/hypermind-proto/src/domain.rs +0 -0
  521. {hypermind-2.3.0 → hypermind-2.4.0}/rust/crates/hypermind-proto/src/frost.rs +0 -0
  522. {hypermind-2.3.0 → hypermind-2.4.0}/rust/crates/hypermind-proto/src/hlc.rs +0 -0
  523. {hypermind-2.3.0 → hypermind-2.4.0}/rust/crates/hypermind-proto/src/lib.rs +0 -0
  524. {hypermind-2.3.0 → hypermind-2.4.0}/rust/crates/hypermind-proto/src/reputation.rs +0 -0
  525. {hypermind-2.3.0 → hypermind-2.4.0}/rust/crates/hypermind-proto/src/signing.rs +0 -0
  526. {hypermind-2.3.0 → hypermind-2.4.0}/rust/crates/hypermind-proto/src/transport.rs +0 -0
  527. {hypermind-2.3.0 → hypermind-2.4.0}/rust/crates/hypermind-proto/src/wire.rs +0 -0
  528. {hypermind-2.3.0 → hypermind-2.4.0}/rust/crates/hypermind-proto/tests/conformance_frost.rs +0 -0
  529. {hypermind-2.3.0 → hypermind-2.4.0}/rust/crates/hypermind-proto/tests/conformance_reputation_dispute.rs +0 -0
  530. {hypermind-2.3.0 → hypermind-2.4.0}/rust/crates/hypermind-proto/tests/conformance_wire.rs +0 -0
  531. {hypermind-2.3.0 → hypermind-2.4.0}/rust/crates/hypermind-proto/tests/proptest_roundtrip.rs +0 -0
  532. {hypermind-2.3.0 → hypermind-2.4.0}/scripts/e2e/README.md +0 -0
  533. {hypermind-2.3.0 → hypermind-2.4.0}/scripts/e2e/e2e_features_test.py +0 -0
  534. {hypermind-2.3.0 → hypermind-2.4.0}/scripts/e2e/e2e_mcp_sequential.py +0 -0
  535. {hypermind-2.3.0 → hypermind-2.4.0}/scripts/e2e/e2e_mcp_test.py +0 -0
  536. {hypermind-2.3.0 → hypermind-2.4.0}/scripts/sync_version.py +0 -0
  537. {hypermind-2.3.0 → hypermind-2.4.0}/src/hmctl/__init__.py +0 -0
  538. {hypermind-2.3.0 → hypermind-2.4.0}/src/hmctl/dashboard.py +0 -0
  539. {hypermind-2.3.0 → hypermind-2.4.0}/src/hmctl/eval_cmd.py +0 -0
  540. {hypermind-2.3.0 → hypermind-2.4.0}/src/hmctl/orgs_cmd.py +0 -0
  541. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/__init__.py +0 -0
  542. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/agent.py +0 -0
  543. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/agent_card.py +0 -0
  544. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/api/__init__.py +0 -0
  545. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/api/app.py +0 -0
  546. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/cap_revocation.py +0 -0
  547. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/capability.py +0 -0
  548. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/config.py +0 -0
  549. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/consult.py +0 -0
  550. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/consult_bias.py +0 -0
  551. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/contract_net.py +0 -0
  552. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/crypto/__init__.py +0 -0
  553. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/crypto/cose_encrypt.py +0 -0
  554. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/crypto/dkg.py +0 -0
  555. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/crypto/domain.py +0 -0
  556. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/crypto/frost.py +0 -0
  557. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/crypto/hashing.py +0 -0
  558. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/crypto/hlc.py +0 -0
  559. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/crypto/hpke.py +0 -0
  560. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/crypto/kms.py +0 -0
  561. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/crypto/namespace_root.py +0 -0
  562. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/crypto/pq.py +0 -0
  563. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/crypto/room_epoch.py +0 -0
  564. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/crypto/signing.py +0 -0
  565. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/dataset.py +0 -0
  566. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/deliberation.py +0 -0
  567. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/did_web.py +0 -0
  568. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/dispute.py +0 -0
  569. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/domains/__init__.py +0 -0
  570. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/domains/defense.py +0 -0
  571. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/domains/legal.py +0 -0
  572. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/domains/medical.py +0 -0
  573. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/errors.py +0 -0
  574. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/eval/__init__.py +0 -0
  575. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/eval/calibration.py +0 -0
  576. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/eval/comparison.py +0 -0
  577. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/eval/composite.py +0 -0
  578. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/eval/dispute_bench.py +0 -0
  579. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/eval/replay.py +0 -0
  580. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/eval/report.py +0 -0
  581. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/eval/suite.py +0 -0
  582. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/eval/swarm_iq.py +0 -0
  583. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/ingest.py +0 -0
  584. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/integrations/__init__.py +0 -0
  585. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/integrations/autogen.py +0 -0
  586. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/integrations/client.py +0 -0
  587. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/integrations/contradiction.py +0 -0
  588. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/integrations/crewai.py +0 -0
  589. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/integrations/evolution.py +0 -0
  590. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/integrations/federation_manager.py +0 -0
  591. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/integrations/freshness.py +0 -0
  592. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/integrations/hooks.py +0 -0
  593. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/integrations/langchain.py +0 -0
  594. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/integrations/llamaindex.py +0 -0
  595. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/integrations/loop.py +0 -0
  596. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/integrations/mcp_tools.py +0 -0
  597. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/integrations/notifier.py +0 -0
  598. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/integrations/openai_agents.py +0 -0
  599. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/integrations/openai_endpoint.py +0 -0
  600. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/integrations/openai_shapes.py +0 -0
  601. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/integrations/population.py +0 -0
  602. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/integrations/quickstart.py +0 -0
  603. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/integrations/research.py +0 -0
  604. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/integrations/sse.py +0 -0
  605. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/integrations/startup.py +0 -0
  606. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/integrations/topic_clustering.py +0 -0
  607. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/integrations/webhook_server.py +0 -0
  608. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/integrations/working_memory.py +0 -0
  609. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/knowledge/__init__.py +0 -0
  610. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/knowledge/citation_graph.py +0 -0
  611. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/knowledge/correlated_agreement.py +0 -0
  612. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/knowledge/embedding_registry.py +0 -0
  613. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/knowledge/kernel_store.py +0 -0
  614. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/knowledge/rekor.py +0 -0
  615. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/knowledge/reputation.py +0 -0
  616. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/knowledge/reputation_store.py +0 -0
  617. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/knowledge/swarm_memory.py +0 -0
  618. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/knowledge/transparency.py +0 -0
  619. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/machine.py +0 -0
  620. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/mcp/__init__.py +0 -0
  621. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/mcp/bridge.py +0 -0
  622. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/mcp/client.py +0 -0
  623. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/mcp/provenance.py +0 -0
  624. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/mcp/relata_tools.py +0 -0
  625. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/mcp/server.py +0 -0
  626. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/mcp/transport.py +0 -0
  627. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/mind/__init__.py +0 -0
  628. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/mind/active.py +0 -0
  629. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/mind/belief.py +0 -0
  630. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/mind/deliberator.py +0 -0
  631. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/mind/diversity.py +0 -0
  632. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/mind/epistemic_transfer.py +0 -0
  633. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/mind/evolve.py +0 -0
  634. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/mind/federation.py +0 -0
  635. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/mind/fitness.py +0 -0
  636. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/mind/goals.py +0 -0
  637. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/mind/grounding_gaps.py +0 -0
  638. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/mind/integration.py +0 -0
  639. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/mind/mediator.py +0 -0
  640. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/mind/memory_store.py +0 -0
  641. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/mind/metacognition.py +0 -0
  642. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/mind/niche.py +0 -0
  643. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/mind/policy.py +0 -0
  644. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/mind/records.py +0 -0
  645. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/mind/roles.py +0 -0
  646. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/mind/selfplay.py +0 -0
  647. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/mind/skills.py +0 -0
  648. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/mind/sybil_guard.py +0 -0
  649. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/mind/world_model.py +0 -0
  650. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/moa/__init__.py +0 -0
  651. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/moa/aggregate.py +0 -0
  652. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/moa/benchmark.py +0 -0
  653. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/moa/codeexec.py +0 -0
  654. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/moa/costs.py +0 -0
  655. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/moa/digest.py +0 -0
  656. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/moa/federation.py +0 -0
  657. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/moa/gaps.py +0 -0
  658. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/moa/learn.py +0 -0
  659. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/moa/model.py +0 -0
  660. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/moa/orchestration_evolution.py +0 -0
  661. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/moa/population.py +0 -0
  662. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/moa/propose.py +0 -0
  663. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/moa/readiness.py +0 -0
  664. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/moa/refine.py +0 -0
  665. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/moa/reproducibility.py +0 -0
  666. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/moa/serve.py +0 -0
  667. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/moa/verifiability.py +0 -0
  668. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/namespace.py +0 -0
  669. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/namespace_policy.py +0 -0
  670. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/observability/__init__.py +0 -0
  671. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/observability/asgi.py +0 -0
  672. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/observability/cost.py +0 -0
  673. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/observability/health.py +0 -0
  674. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/observability/logging_config.py +0 -0
  675. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/observability/metrics.py +0 -0
  676. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/observability/otel_export.py +0 -0
  677. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/observability/recorder.py +0 -0
  678. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/observability/sample_efficiency.py +0 -0
  679. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/observability/silent_failures.py +0 -0
  680. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/observability/swarm_trace.py +0 -0
  681. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/__init__.py +0 -0
  682. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/adversarial_gate.py +0 -0
  683. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/analysis.py +0 -0
  684. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/anchor.py +0 -0
  685. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/charter.py +0 -0
  686. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/coevolution.py +0 -0
  687. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/context.py +0 -0
  688. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/corpus.py +0 -0
  689. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/decomposition_search.py +0 -0
  690. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/deliberate.py +0 -0
  691. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/distributed/__init__.py +0 -0
  692. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/distributed/__main__.py +0 -0
  693. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/distributed/coordinator.py +0 -0
  694. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/distributed/planning.py +0 -0
  695. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/distributed/protocol.py +0 -0
  696. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/distributed/provision.py +0 -0
  697. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/distributed/serde.py +0 -0
  698. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/distributed/worker.py +0 -0
  699. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/entities.py +0 -0
  700. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/evidence.py +0 -0
  701. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/experiment.py +0 -0
  702. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/graph_export.py +0 -0
  703. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/groundtruth.py +0 -0
  704. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/hypothesis.py +0 -0
  705. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/integrity_monitor.py +0 -0
  706. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/interaction.py +0 -0
  707. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/intervention.py +0 -0
  708. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/mcp_config.py +0 -0
  709. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/metrics.py +0 -0
  710. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/model.py +0 -0
  711. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/patterns.py +0 -0
  712. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/prompts.py +0 -0
  713. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/quality.py +0 -0
  714. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/query.py +0 -0
  715. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/receipt.py +0 -0
  716. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/refine.py +0 -0
  717. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/replay.py +0 -0
  718. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/report.py +0 -0
  719. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/retrieval.py +0 -0
  720. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/server.py +0 -0
  721. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/sim.py +0 -0
  722. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/source_ranking.py +0 -0
  723. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/strategies.py +0 -0
  724. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/stream.py +0 -0
  725. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/subdecompose.py +0 -0
  726. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/templates/__init__.py +0 -0
  727. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/think.py +0 -0
  728. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/tool_providers.py +0 -0
  729. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/tools.py +0 -0
  730. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/web_capture.py +0 -0
  731. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/orgs/web_crawl.py +0 -0
  732. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/pin_policy.py +0 -0
  733. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/profiles.py +0 -0
  734. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/py.typed +0 -0
  735. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/responders/__init__.py +0 -0
  736. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/responders/anthropic.py +0 -0
  737. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/responders/base.py +0 -0
  738. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/responders/cache.py +0 -0
  739. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/responders/openai.py +0 -0
  740. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/responders/router.py +0 -0
  741. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/responders/structured.py +0 -0
  742. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/responders/tools.py +0 -0
  743. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/revocation.py +0 -0
  744. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/rule_ids.py +0 -0
  745. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/schemas/encrypted_statement.cddl +0 -0
  746. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/schemas/namespace_accept.cddl +0 -0
  747. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/schemas/namespace_create.cddl +0 -0
  748. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/schemas/namespace_founding_attest.cddl +0 -0
  749. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/schemas/namespace_invite.cddl +0 -0
  750. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/schemas/wire-v0.1.cddl +0 -0
  751. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/security/__init__.py +0 -0
  752. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/security/prompt_guard.py +0 -0
  753. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/__init__.py +0 -0
  754. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/_persona_registry.py +0 -0
  755. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/_scenario_impl.py +0 -0
  756. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/app.py +0 -0
  757. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/backends/__init__.py +0 -0
  758. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/backends/anchor.py +0 -0
  759. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/backends/local.py +0 -0
  760. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/backends/server.py +0 -0
  761. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/cli_command.py +0 -0
  762. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/config.py +0 -0
  763. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/deployment.py +0 -0
  764. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/knowledge.py +0 -0
  765. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/learning.py +0 -0
  766. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/modes/__init__.py +0 -0
  767. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/modes/_eval_real_llm.py +0 -0
  768. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/modes/aar.py +0 -0
  769. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/modes/backtest.py +0 -0
  770. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/modes/binary_forecast.py +0 -0
  771. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/modes/conformance.py +0 -0
  772. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/modes/evaluation.py +0 -0
  773. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/modes/governance.py +0 -0
  774. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/modes/redteam.py +0 -0
  775. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/modes/tabletop.py +0 -0
  776. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/modes/tournament.py +0 -0
  777. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/modes/whatif.py +0 -0
  778. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/namespace.py +0 -0
  779. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/personas.py +0 -0
  780. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/prompt_generator.py +0 -0
  781. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/question_sets/geopolitics_q20.json +0 -0
  782. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/question_sets/governance_q5.json +0 -0
  783. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/question_sets/msft_outlook_q10.json +0 -0
  784. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/question_sets/whatif_q3.json +0 -0
  785. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/registry.py +0 -0
  786. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/runner.py +0 -0
  787. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/scenario.py +0 -0
  788. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/swarms.py +0 -0
  789. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/tool_handlers/__init__.py +0 -0
  790. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/tool_handlers/alpha_vantage.py +0 -0
  791. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/tool_handlers/brave.py +0 -0
  792. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/tool_handlers/newsapi.py +0 -0
  793. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/tool_handlers/openweather.py +0 -0
  794. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/tool_handlers/pinecone.py +0 -0
  795. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/tool_handlers/qdrant.py +0 -0
  796. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/tool_handlers/query_knowledge_base.py +0 -0
  797. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/tool_handlers/relata_recall.py +0 -0
  798. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/tool_handlers/retrieve_document.py +0 -0
  799. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/tool_handlers/serper.py +0 -0
  800. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/tool_handlers/tavily.py +0 -0
  801. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/tool_handlers/weaviate.py +0 -0
  802. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/tool_handlers/wikipedia.py +0 -0
  803. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/tool_handlers/wolfram.py +0 -0
  804. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/tool_handlers/yahoo_finance.py +0 -0
  805. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/tool_registry.py +0 -0
  806. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/topic_adapter.py +0 -0
  807. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/simlab/topic_questions.py +0 -0
  808. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/skill_signing.py +0 -0
  809. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/storage/backend.py +0 -0
  810. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/storage/s3_backup.py +0 -0
  811. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/storage/sqlite.py +0 -0
  812. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/sync.py +0 -0
  813. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/tal.py +0 -0
  814. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/tal_wire.py +0 -0
  815. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/tasks.py +0 -0
  816. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/testing.py +0 -0
  817. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/tools/__init__.py +0 -0
  818. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/tools/registry.py +0 -0
  819. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/transport/__init__.py +0 -0
  820. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/transport/anti_entropy.py +0 -0
  821. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/transport/bus.py +0 -0
  822. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/transport/cap_revoke_gossip.py +0 -0
  823. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/transport/knows_delta.py +0 -0
  824. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/transport/libp2p.py +0 -0
  825. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/transport/placement.py +0 -0
  826. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/transport/tcp.py +0 -0
  827. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/transport/tls_profile.py +0 -0
  828. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/types.py +0 -0
  829. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/uncertainty.py +0 -0
  830. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/wire.py +0 -0
  831. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/workflow/__init__.py +0 -0
  832. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/workflow/engine.py +0 -0
  833. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/workflow/plan.py +0 -0
  834. {hypermind-2.3.0 → hypermind-2.4.0}/src/hypermind/workflow/repair.py +0 -0
  835. {hypermind-2.3.0 → hypermind-2.4.0}/tests/__init__.py +0 -0
  836. {hypermind-2.3.0 → hypermind-2.4.0}/tests/api/__init__.py +0 -0
  837. {hypermind-2.3.0 → hypermind-2.4.0}/tests/api/test_eval_endpoints.py +0 -0
  838. {hypermind-2.3.0 → hypermind-2.4.0}/tests/api/test_events_stream.py +0 -0
  839. {hypermind-2.3.0 → hypermind-2.4.0}/tests/api/test_management_app.py +0 -0
  840. {hypermind-2.3.0 → hypermind-2.4.0}/tests/chaos/__init__.py +0 -0
  841. {hypermind-2.3.0 → hypermind-2.4.0}/tests/chaos/test_gossip_amplification.py +0 -0
  842. {hypermind-2.3.0 → hypermind-2.4.0}/tests/chaos/test_kill_agent_during_rfp.py +0 -0
  843. {hypermind-2.3.0 → hypermind-2.4.0}/tests/chaos/test_partition_during_workflow.py +0 -0
  844. {hypermind-2.3.0 → hypermind-2.4.0}/tests/chaos/test_slow_consumer_backpressure.py +0 -0
  845. {hypermind-2.3.0 → hypermind-2.4.0}/tests/chaos/test_slow_peer.py +0 -0
  846. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/__init__.py +0 -0
  847. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/generate_vectors.py +0 -0
  848. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/generate_z66.py +0 -0
  849. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/SIGNING.md +0 -0
  850. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/agent-card-01.json +0 -0
  851. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/agent-card-02.json +0 -0
  852. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/capability-01.json +0 -0
  853. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/capability-02.json +0 -0
  854. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/capability-03.json +0 -0
  855. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/dispute-01.json +0 -0
  856. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/dispute-02.json +0 -0
  857. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/dispute-03.json +0 -0
  858. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/dispute-04.json +0 -0
  859. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/dispute-05.json +0 -0
  860. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/frost-01.json +0 -0
  861. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/frost-02.json +0 -0
  862. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/frost-03.json +0 -0
  863. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/knows-delta-01.json +0 -0
  864. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/knows-delta-02.json +0 -0
  865. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/mcp-prov-01.json +0 -0
  866. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/mcp-prov-02.json +0 -0
  867. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/merkle-01.json +0 -0
  868. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/merkle-02.json +0 -0
  869. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/merkle-03.json +0 -0
  870. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/merkle-04.json +0 -0
  871. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/rep-decay-01.json +0 -0
  872. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/reputation-kernel-01.json +0 -0
  873. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/reputation-kernel-02.json +0 -0
  874. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/revocation-01.json +0 -0
  875. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/revocation-02.json +0 -0
  876. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/revocation-03.json +0 -0
  877. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/task-01.json +0 -0
  878. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/task-02.json +0 -0
  879. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/trace-01.json +0 -0
  880. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/trace-02.json +0 -0
  881. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/wire-envelope-01.json +0 -0
  882. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/wire-envelope-02.json +0 -0
  883. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/wire-envelope-03.json +0 -0
  884. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/wire-envelope-04.json +0 -0
  885. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conformance/vectors/wire-envelope-05.json +0 -0
  886. {hypermind-2.3.0 → hypermind-2.4.0}/tests/conftest.py +0 -0
  887. {hypermind-2.3.0 → hypermind-2.4.0}/tests/harness/__init__.py +0 -0
  888. {hypermind-2.3.0 → hypermind-2.4.0}/tests/harness/conftest.py +0 -0
  889. {hypermind-2.3.0 → hypermind-2.4.0}/tests/harness/test_assertion_library.py +0 -0
  890. {hypermind-2.3.0 → hypermind-2.4.0}/tests/harness/test_autonomous_evolution.py +0 -0
  891. {hypermind-2.3.0 → hypermind-2.4.0}/tests/harness/test_runner_lifecycle.py +0 -0
  892. {hypermind-2.3.0 → hypermind-2.4.0}/tests/harness/test_threat_intel_harness.py +0 -0
  893. {hypermind-2.3.0 → hypermind-2.4.0}/tests/helpers/tcp_gossip_interop_peer.py +0 -0
  894. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integration/__init__.py +0 -0
  895. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integration/test_relata_server.py +0 -0
  896. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integration/test_tool_calling_e2e.py +0 -0
  897. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/__init__.py +0 -0
  898. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_895_904_hm_calibration_feedback.py +0 -0
  899. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_989_kernel_fact_curation_tick.py +0 -0
  900. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_all_mcp_tools.py +0 -0
  901. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_autogen.py +0 -0
  902. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_autonomous.py +0 -0
  903. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_c1_gene_pool.py +0 -0
  904. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_c2_archive.py +0 -0
  905. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_crewai.py +0 -0
  906. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_datasys_hm_related_sqli.py +0 -0
  907. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_env_vars_cmd.py +0 -0
  908. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_evolution.py +0 -0
  909. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_facade.py +0 -0
  910. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_fixes_525_526_527.py +0 -0
  911. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_hooks.py +0 -0
  912. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_langchain.py +0 -0
  913. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_llamaindex.py +0 -0
  914. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_local_mode.py +0 -0
  915. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_loop_logging.py +0 -0
  916. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_loop_persistence.py +0 -0
  917. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_mcp_desktop.py +0 -0
  918. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_mcp_tool_descriptions.py +0 -0
  919. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_mcp_tools.py +0 -0
  920. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_moa_adoption_971.py +0 -0
  921. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_no_duplicate_subscriptions.py +0 -0
  922. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_notifier.py +0 -0
  923. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_openai_agents.py +0 -0
  924. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_openai_endpoint.py +0 -0
  925. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_openai_endpoint_moa.py +0 -0
  926. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_openai_shapes.py +0 -0
  927. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_otel_serve_wiring.py +0 -0
  928. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_population_checkpoint_v2.py +0 -0
  929. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_population_tools.py +0 -0
  930. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_quickstart.py +0 -0
  931. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_research_mcp_shared_client.py +0 -0
  932. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_research_tool.py +0 -0
  933. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_retrieve_author_field.py +0 -0
  934. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_sse.py +0 -0
  935. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_startup_wiring.py +0 -0
  936. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_verifiable_rag.py +0 -0
  937. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_verify_v160_tools.py +0 -0
  938. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_webhook_server.py +0 -0
  939. {hypermind-2.3.0 → hypermind-2.4.0}/tests/integrations/test_working_memory_atomic_flush.py +0 -0
  940. {hypermind-2.3.0 → hypermind-2.4.0}/tests/mcp/__init__.py +0 -0
  941. {hypermind-2.3.0 → hypermind-2.4.0}/tests/mcp/test_multi_connection.py +0 -0
  942. {hypermind-2.3.0 → hypermind-2.4.0}/tests/mind/__init__.py +0 -0
  943. {hypermind-2.3.0 → hypermind-2.4.0}/tests/mind/test_940_sybil_cluster_detection.py +0 -0
  944. {hypermind-2.3.0 → hypermind-2.4.0}/tests/mind/test_c3_goal_tool_loop.py +0 -0
  945. {hypermind-2.3.0 → hypermind-2.4.0}/tests/mind/test_deliberator_logging.py +0 -0
  946. {hypermind-2.3.0 → hypermind-2.4.0}/tests/mind/test_deliberator_otel_tick.py +0 -0
  947. {hypermind-2.3.0 → hypermind-2.4.0}/tests/mind/test_deliberator_save_learning_nonblocking.py +0 -0
  948. {hypermind-2.3.0 → hypermind-2.4.0}/tests/mind/test_deliberator_sybil_guard_default.py +0 -0
  949. {hypermind-2.3.0 → hypermind-2.4.0}/tests/mind/test_mind_assign_role.py +0 -0
  950. {hypermind-2.3.0 → hypermind-2.4.0}/tests/mind/test_mind_memory_bounds.py +0 -0
  951. {hypermind-2.3.0 → hypermind-2.4.0}/tests/mind/test_mind_research_antiherd.py +0 -0
  952. {hypermind-2.3.0 → hypermind-2.4.0}/tests/mind/test_selfplay.py +0 -0
  953. {hypermind-2.3.0 → hypermind-2.4.0}/tests/mind/test_skill_learning_pipeline.py +0 -0
  954. {hypermind-2.3.0 → hypermind-2.4.0}/tests/moa/__init__.py +0 -0
  955. {hypermind-2.3.0 → hypermind-2.4.0}/tests/moa/conftest.py +0 -0
  956. {hypermind-2.3.0 → hypermind-2.4.0}/tests/moa/test_aggregate.py +0 -0
  957. {hypermind-2.3.0 → hypermind-2.4.0}/tests/moa/test_benchmark.py +0 -0
  958. {hypermind-2.3.0 → hypermind-2.4.0}/tests/moa/test_bounds.py +0 -0
  959. {hypermind-2.3.0 → hypermind-2.4.0}/tests/moa/test_codeexec.py +0 -0
  960. {hypermind-2.3.0 → hypermind-2.4.0}/tests/moa/test_convergence_and_confidence.py +0 -0
  961. {hypermind-2.3.0 → hypermind-2.4.0}/tests/moa/test_digest.py +0 -0
  962. {hypermind-2.3.0 → hypermind-2.4.0}/tests/moa/test_federation.py +0 -0
  963. {hypermind-2.3.0 → hypermind-2.4.0}/tests/moa/test_health_gap_wiring.py +0 -0
  964. {hypermind-2.3.0 → hypermind-2.4.0}/tests/moa/test_learn.py +0 -0
  965. {hypermind-2.3.0 → hypermind-2.4.0}/tests/moa/test_model.py +0 -0
  966. {hypermind-2.3.0 → hypermind-2.4.0}/tests/moa/test_model_tiering.py +0 -0
  967. {hypermind-2.3.0 → hypermind-2.4.0}/tests/moa/test_orchestration_evolution.py +0 -0
  968. {hypermind-2.3.0 → hypermind-2.4.0}/tests/moa/test_population.py +0 -0
  969. {hypermind-2.3.0 → hypermind-2.4.0}/tests/moa/test_profile_wiring.py +0 -0
  970. {hypermind-2.3.0 → hypermind-2.4.0}/tests/moa/test_propose.py +0 -0
  971. {hypermind-2.3.0 → hypermind-2.4.0}/tests/moa/test_readiness.py +0 -0
  972. {hypermind-2.3.0 → hypermind-2.4.0}/tests/moa/test_readiness_gate.py +0 -0
  973. {hypermind-2.3.0 → hypermind-2.4.0}/tests/moa/test_refine.py +0 -0
  974. {hypermind-2.3.0 → hypermind-2.4.0}/tests/moa/test_reproducibility.py +0 -0
  975. {hypermind-2.3.0 → hypermind-2.4.0}/tests/moa/test_serve.py +0 -0
  976. {hypermind-2.3.0 → hypermind-2.4.0}/tests/moa/test_verifiability.py +0 -0
  977. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/_fakes.py +0 -0
  978. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_1004_sqlite_backend_parity.py +0 -0
  979. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_1005_breadth_cap_and_tiebreak.py +0 -0
  980. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_1008_select_experts_finding_truncation.py +0 -0
  981. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_1019_auto_ingest_manifest_wiring.py +0 -0
  982. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_1021_research_probe_gate.py +0 -0
  983. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_847_intent_routing.py +0 -0
  984. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_852_auto_ingest.py +0 -0
  985. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_854_local_vector_retrieval.py +0 -0
  986. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_855_consensus_protocol.py +0 -0
  987. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_857_swarm_iq_feedback.py +0 -0
  988. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_859_pattern_detection.py +0 -0
  989. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_864_auto_distill.py +0 -0
  990. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_891_self_directed_research.py +0 -0
  991. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_892_902_dynamic_team_formation.py +0 -0
  992. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_939_select_experts_real_reputation.py +0 -0
  993. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_940_retrieval_clusters_dynamic_seats.py +0 -0
  994. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_975_checkpoint_resume.py +0 -0
  995. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_987_select_experts_recency_dispute.py +0 -0
  996. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_a1_prediction_gating.py +0 -0
  997. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_a2_oracle_anchoring.py +0 -0
  998. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_adversarial.py +0 -0
  999. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_adversarial_gate.py +0 -0
  1000. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_analysis.py +0 -0
  1001. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_anchor.py +0 -0
  1002. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_b1_source_credibility.py +0 -0
  1003. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_b4_evidence_quality.py +0 -0
  1004. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_c5_coevolution_wiring.py +0 -0
  1005. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_c5_loop_wiring.py +0 -0
  1006. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_coevolution.py +0 -0
  1007. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_coevolution_s3_backup.py +0 -0
  1008. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_concurrency.py +0 -0
  1009. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_context.py +0 -0
  1010. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_convergence.py +0 -0
  1011. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_corpus.py +0 -0
  1012. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_cross_shard.py +0 -0
  1013. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_datasys_selfreflector_wiring.py +0 -0
  1014. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_decomposition_search.py +0 -0
  1015. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_deliberator.py +0 -0
  1016. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_distributed.py +0 -0
  1017. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_embeddings.py +0 -0
  1018. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_entities.py +0 -0
  1019. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_evidence.py +0 -0
  1020. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_evidence_gate.py +0 -0
  1021. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_experiment.py +0 -0
  1022. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_fact_merge.py +0 -0
  1023. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_graph_export.py +0 -0
  1024. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_graph_retrieval.py +0 -0
  1025. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_grounding_contradiction.py +0 -0
  1026. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_grounding_verification.py +0 -0
  1027. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_groundtruth.py +0 -0
  1028. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_hybrid_retriever.py +0 -0
  1029. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_hypothesis.py +0 -0
  1030. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_integrity_monitor.py +0 -0
  1031. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_interaction.py +0 -0
  1032. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_intervention.py +0 -0
  1033. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_learned_fact_provenance.py +0 -0
  1034. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_lightweight.py +0 -0
  1035. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_mcp_config.py +0 -0
  1036. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_metrics.py +0 -0
  1037. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_model.py +0 -0
  1038. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_ner.py +0 -0
  1039. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_panel_herding.py +0 -0
  1040. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_persist_identities.py +0 -0
  1041. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_prompts.py +0 -0
  1042. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_provider_cache.py +0 -0
  1043. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_publish_atomicity.py +0 -0
  1044. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_quality.py +0 -0
  1045. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_quality_and_contradiction_wiring.py +0 -0
  1046. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_query.py +0 -0
  1047. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_rag.py +0 -0
  1048. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_receipt.py +0 -0
  1049. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_refine.py +0 -0
  1050. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_refuted_claim_retrieval.py +0 -0
  1051. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_replay.py +0 -0
  1052. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_report.py +0 -0
  1053. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_response_cache_wiring.py +0 -0
  1054. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_scale.py +0 -0
  1055. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_select_experts_relevance.py +0 -0
  1056. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_sim.py +0 -0
  1057. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_sim_events.py +0 -0
  1058. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_source_ranking.py +0 -0
  1059. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_ssrf_redirect.py +0 -0
  1060. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_strategies.py +0 -0
  1061. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_stream.py +0 -0
  1062. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_stream_query.py +0 -0
  1063. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_subdecompose.py +0 -0
  1064. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_templates.py +0 -0
  1065. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_think.py +0 -0
  1066. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_tool_outcomes_bias.py +0 -0
  1067. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_tool_providers.py +0 -0
  1068. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_tool_traces.py +0 -0
  1069. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_tools.py +0 -0
  1070. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_web_capture.py +0 -0
  1071. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_web_crawl.py +0 -0
  1072. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgs/test_zero_retrieval_abstention.py +0 -0
  1073. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/__init__.py +0 -0
  1074. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/test_gap_33_fixes.py +0 -0
  1075. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/test_gap_34_fixes.py +0 -0
  1076. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/test_gap_35_fixes.py +0 -0
  1077. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/test_gap_36_fixes.py +0 -0
  1078. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/test_gap_37_fixes.py +0 -0
  1079. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/test_gap_38_fixes.py +0 -0
  1080. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/test_gap_39_fixes.py +0 -0
  1081. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/test_gap_39b_fixes.py +0 -0
  1082. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/test_gap_40_fixes.py +0 -0
  1083. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/test_gap_41_fixes.py +0 -0
  1084. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/test_gap_42_fixes.py +0 -0
  1085. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/test_gap_46_fixes.py +0 -0
  1086. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/test_gap_47_fixes.py +0 -0
  1087. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/test_gap_48_fixes.py +0 -0
  1088. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/test_gap_49_fixes.py +0 -0
  1089. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/test_gap_50_fixes.py +0 -0
  1090. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/test_gap_50_runtime.py +0 -0
  1091. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/test_gap_50b_runtime.py +0 -0
  1092. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/test_gap_51_fixes.py +0 -0
  1093. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/test_gap_52_fixes.py +0 -0
  1094. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/test_gap_c_fixes.py +0 -0
  1095. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/test_gap_rt001_cross_run_facts.py +0 -0
  1096. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/test_gap_rt002_brier_e2e.py +0 -0
  1097. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/test_gap_rt005_done_condition.py +0 -0
  1098. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/test_gap_rt006_checkpoint_resume.py +0 -0
  1099. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/test_gap_rt007_skill_promotion.py +0 -0
  1100. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/test_gap_rt_cite_rep.py +0 -0
  1101. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/test_gap_rt_dispute_fsm.py +0 -0
  1102. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/test_gap_rt_done_factories.py +0 -0
  1103. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/test_gap_rt_wire9_evidence.py +0 -0
  1104. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/test_orgsim_observability.py +0 -0
  1105. {hypermind-2.3.0 → hypermind-2.4.0}/tests/orgsim/test_orgsim_persona_evolution.py +0 -0
  1106. {hypermind-2.3.0 → hypermind-2.4.0}/tests/responders/__init__.py +0 -0
  1107. {hypermind-2.3.0 → hypermind-2.4.0}/tests/responders/test_responders.py +0 -0
  1108. {hypermind-2.3.0 → hypermind-2.4.0}/tests/responders/test_router.py +0 -0
  1109. {hypermind-2.3.0 → hypermind-2.4.0}/tests/responders/test_structured_response.py +0 -0
  1110. {hypermind-2.3.0 → hypermind-2.4.0}/tests/responders/test_tools.py +0 -0
  1111. {hypermind-2.3.0 → hypermind-2.4.0}/tests/review/__init__.py +0 -0
  1112. {hypermind-2.3.0 → hypermind-2.4.0}/tests/review/test_agents_parser.py +0 -0
  1113. {hypermind-2.3.0 → hypermind-2.4.0}/tests/review/test_models.py +0 -0
  1114. {hypermind-2.3.0 → hypermind-2.4.0}/tests/review/test_runner.py +0 -0
  1115. {hypermind-2.3.0 → hypermind-2.4.0}/tests/simlab/__init__.py +0 -0
  1116. {hypermind-2.3.0 → hypermind-2.4.0}/tests/simlab/conftest.py +0 -0
  1117. {hypermind-2.3.0 → hypermind-2.4.0}/tests/simlab/test_app_endpoints.py +0 -0
  1118. {hypermind-2.3.0 → hypermind-2.4.0}/tests/simlab/test_knowledge.py +0 -0
  1119. {hypermind-2.3.0 → hypermind-2.4.0}/tests/simlab/test_knowledge_reuse.py +0 -0
  1120. {hypermind-2.3.0 → hypermind-2.4.0}/tests/simlab/test_modes_aar.py +0 -0
  1121. {hypermind-2.3.0 → hypermind-2.4.0}/tests/simlab/test_modes_backtest.py +0 -0
  1122. {hypermind-2.3.0 → hypermind-2.4.0}/tests/simlab/test_modes_conformance.py +0 -0
  1123. {hypermind-2.3.0 → hypermind-2.4.0}/tests/simlab/test_modes_evaluation.py +0 -0
  1124. {hypermind-2.3.0 → hypermind-2.4.0}/tests/simlab/test_modes_governance.py +0 -0
  1125. {hypermind-2.3.0 → hypermind-2.4.0}/tests/simlab/test_modes_redteam.py +0 -0
  1126. {hypermind-2.3.0 → hypermind-2.4.0}/tests/simlab/test_modes_tabletop.py +0 -0
  1127. {hypermind-2.3.0 → hypermind-2.4.0}/tests/simlab/test_modes_tournament.py +0 -0
  1128. {hypermind-2.3.0 → hypermind-2.4.0}/tests/simlab/test_modes_whatif.py +0 -0
  1129. {hypermind-2.3.0 → hypermind-2.4.0}/tests/simlab/test_personas.py +0 -0
  1130. {hypermind-2.3.0 → hypermind-2.4.0}/tests/simlab/test_personas_endpoints.py +0 -0
  1131. {hypermind-2.3.0 → hypermind-2.4.0}/tests/simlab/test_recorder_scoping.py +0 -0
  1132. {hypermind-2.3.0 → hypermind-2.4.0}/tests/simlab/test_registry.py +0 -0
  1133. {hypermind-2.3.0 → hypermind-2.4.0}/tests/simlab/test_resolve_outcomes.py +0 -0
  1134. {hypermind-2.3.0 → hypermind-2.4.0}/tests/simlab/test_responder_timeout.py +0 -0
  1135. {hypermind-2.3.0 → hypermind-2.4.0}/tests/simlab/test_runner.py +0 -0
  1136. {hypermind-2.3.0 → hypermind-2.4.0}/tests/simlab/test_swarms.py +0 -0
  1137. {hypermind-2.3.0 → hypermind-2.4.0}/tests/storage/__init__.py +0 -0
  1138. {hypermind-2.3.0 → hypermind-2.4.0}/tests/storage/test_1019_document_ingest_backends.py +0 -0
  1139. {hypermind-2.3.0 → hypermind-2.4.0}/tests/storage/test_relata_backend.py +0 -0
  1140. {hypermind-2.3.0 → hypermind-2.4.0}/tests/storage/test_s3_backup.py +0 -0
  1141. {hypermind-2.3.0 → hypermind-2.4.0}/tests/storage/test_sqlite_backend.py +0 -0
  1142. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_1019_document_ingest_manifest.py +0 -0
  1143. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_848_ingest_formats.py +0 -0
  1144. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_853_849_skill_composition_and_templates.py +0 -0
  1145. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_865_federated_skill_exchange.py +0 -0
  1146. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_866_niche_construction.py +0 -0
  1147. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_867_epistemic_transfer.py +0 -0
  1148. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_868_red_team_role.py +0 -0
  1149. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_869_metacognition.py +0 -0
  1150. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_880_weighted_retention.py +0 -0
  1151. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_884_silent_degraded_modes.py +0 -0
  1152. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_891_grounding_gap_tracker.py +0 -0
  1153. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_892_902_eigentrust.py +0 -0
  1154. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_894_903_sealed_lattice.py +0 -0
  1155. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_895_904_evolve_and_calibration_feedback.py +0 -0
  1156. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_896_905_policy_as_dispute.py +0 -0
  1157. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_900_850_skill_versioning_and_synthesis_quality_gate.py +0 -0
  1158. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_910_911_prompt_budget_and_recency.py +0 -0
  1159. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_914_storage_integrity.py +0 -0
  1160. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_918_sqlite_fts.py +0 -0
  1161. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_921_prompt_guard.py +0 -0
  1162. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_922_skill_auto_demote.py +0 -0
  1163. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_923_skill_local_persistence.py +0 -0
  1164. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_946_degenerate_score_fallback.py +0 -0
  1165. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_974_consult_knowledge_injection.py +0 -0
  1166. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_a4_reputation_persistence.py +0 -0
  1167. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_active_multi_step.py +0 -0
  1168. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_agent_card.py +0 -0
  1169. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_agent_e2e.py +0 -0
  1170. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_agent_edge.py +0 -0
  1171. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_agent_synthesize.py +0 -0
  1172. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_anthropic_responder_caching.py +0 -0
  1173. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_anti_entropy.py +0 -0
  1174. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_anti_entropy_multiround.py +0 -0
  1175. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_anti_entropy_selfheal.py +0 -0
  1176. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_appendix_z_conformance.py +0 -0
  1177. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_appendix_z_vectors.py +0 -0
  1178. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_arg_dag_edge_types.py +0 -0
  1179. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_assessment_fixes_config_and_diversity.py +0 -0
  1180. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_auto_model.py +0 -0
  1181. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_b2_hybrid_rank_fusion.py +0 -0
  1182. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_b3_routing_and_cache.py +0 -0
  1183. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_backpressure.py +0 -0
  1184. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_belief_revision.py +0 -0
  1185. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_belief_weight_per_candidate.py +0 -0
  1186. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_bias_detector.py +0 -0
  1187. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_block_reason.py +0 -0
  1188. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_c4_silent_failures.py +0 -0
  1189. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_calibration.py +0 -0
  1190. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_cap_revoke_gossip.py +0 -0
  1191. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_capability.py +0 -0
  1192. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_capability_canonical.py +0 -0
  1193. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_capability_chain.py +0 -0
  1194. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_capability_edge.py +0 -0
  1195. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_capability_enforcement.py +0 -0
  1196. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_capability_namespace_caveat.py +0 -0
  1197. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_capability_revocation.py +0 -0
  1198. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_citation_graph.py +0 -0
  1199. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_cli.py +0 -0
  1200. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_cli_agent_goal_fixes.py +0 -0
  1201. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_cli_interop.py +0 -0
  1202. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_cli_moa.py +0 -0
  1203. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_cli_orgs.py +0 -0
  1204. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_composite_lamps_prefix.py +0 -0
  1205. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_consult.py +0 -0
  1206. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_consult_stream.py +0 -0
  1207. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_consult_stream_t4.py +0 -0
  1208. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_contract_net_disputed_award.py +0 -0
  1209. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_contract_net_frost_award.py +0 -0
  1210. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_contract_net_happy.py +0 -0
  1211. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_contract_net_reputation_scoring.py +0 -0
  1212. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_contract_net_sybil_filter.py +0 -0
  1213. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_correlated_agreement.py +0 -0
  1214. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_cose_encrypt_roundtrip.py +0 -0
  1215. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_cost_tracker.py +0 -0
  1216. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_cross_namespace_consult.py +0 -0
  1217. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_crypto.py +0 -0
  1218. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_dashboard.py +0 -0
  1219. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_dataset.py +0 -0
  1220. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_datasys_atomic_loop_state.py +0 -0
  1221. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_datasys_brier_feedback_wired.py +0 -0
  1222. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_datasys_brier_no_self_assess_in_research.py +0 -0
  1223. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_datasys_citation_dedup.py +0 -0
  1224. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_datasys_claim_length_bound.py +0 -0
  1225. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_datasys_confidence_range_check.py +0 -0
  1226. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_datasys_deliberator_research_dedup.py +0 -0
  1227. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_datasys_deliberator_stop_persistence.py +0 -0
  1228. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_datasys_hm_ingest_sandbox.py +0 -0
  1229. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_datasys_hypothesis_propose_empty_reasoning.py +0 -0
  1230. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_datasys_job_ttl.py +0 -0
  1231. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_datasys_loop_security.py +0 -0
  1232. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_datasys_oracle_audit_export.py +0 -0
  1233. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_datasys_oracle_resolve_rep_signal_fallback.py +0 -0
  1234. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_datasys_orgsim_run_forever_candidate_question.py +0 -0
  1235. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_datasys_panel_size_cap.py +0 -0
  1236. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_datasys_reputation_persistence_on_close.py +0 -0
  1237. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_datasys_rounds_cap.py +0 -0
  1238. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_datasys_storage_write_failure_observability.py +0 -0
  1239. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_deliberation.py +0 -0
  1240. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_deliberator_cap.py +0 -0
  1241. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_deliberator_observe.py +0 -0
  1242. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_deliberator_parallel_tick.py +0 -0
  1243. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_deploy_mcp_http_gateway.py +0 -0
  1244. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_determinism_corpus.py +0 -0
  1245. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_dispute.py +0 -0
  1246. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_dispute_close_deliberator_notify.py +0 -0
  1247. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_dispute_fsm_full.py +0 -0
  1248. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_dispute_mediate.py +0 -0
  1249. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_dispute_quorum.py +0 -0
  1250. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_dispute_retrieval_decay.py +0 -0
  1251. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_dispute_suspended.py +0 -0
  1252. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_dissent.py +0 -0
  1253. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_diversity_guard_synthesize.py +0 -0
  1254. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_diversity_guard_synthesize_jaccard.py +0 -0
  1255. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_diversity_quorum.py +0 -0
  1256. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_dkg.py +0 -0
  1257. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_e2e_fictional_story.py +0 -0
  1258. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_e2e_research_chain.py +0 -0
  1259. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_embedding_registry.py +0 -0
  1260. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_engine_cross_process_behaviors.py +0 -0
  1261. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_eval_comparison.py +0 -0
  1262. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_eval_suite.py +0 -0
  1263. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_evolution_gaps.py +0 -0
  1264. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_examples_runnable.py +0 -0
  1265. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_final_coverage.py +0 -0
  1266. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_frost.py +0 -0
  1267. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_frost_edge.py +0 -0
  1268. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_frost_hedged_nonces.py +0 -0
  1269. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_frost_persistence.py +0 -0
  1270. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_frost_rust_interop.py +0 -0
  1271. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_frost_transcript_store_swap.py +0 -0
  1272. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_health_consumer.py +0 -0
  1273. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_hlc_clock_source.py +0 -0
  1274. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_hpke_vectors.py +0 -0
  1275. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_info_gain_routing.py +0 -0
  1276. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_issue_355_brier_apply_after_research.py +0 -0
  1277. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_issue_356_run_cycle_findings_key.py +0 -0
  1278. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_issue_357_relata_kernel_query_rows.py +0 -0
  1279. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_issue_359_deliberator_stop_on_teardown.py +0 -0
  1280. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_issue_360_curriculum_assign_called.py +0 -0
  1281. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_issue_487_loop_deliberator_observe.py +0 -0
  1282. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_issue_491_run_cycle_error_logging.py +0 -0
  1283. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_issue_492_oracle_resolve_fsm_sequence.py +0 -0
  1284. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_kernel_store.py +0 -0
  1285. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_kernel_store_bitemporal_and_citation.py +0 -0
  1286. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_kernel_store_remote.py +0 -0
  1287. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_knows_delta.py +0 -0
  1288. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_lamps_oid_canonical.py +0 -0
  1289. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_last_lines.py +0 -0
  1290. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_learning_retention.py +0 -0
  1291. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_libp2p_peer_id.py +0 -0
  1292. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_libp2p_scaffold.py +0 -0
  1293. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_libp2p_stub.py +0 -0
  1294. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_machine_identity.py +0 -0
  1295. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_mcp_bridge.py +0 -0
  1296. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_mcp_gap_fixes.py +0 -0
  1297. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_mcp_provenance.py +0 -0
  1298. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_mcp_tools_list.py +0 -0
  1299. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_mcp_transport.py +0 -0
  1300. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_merkle_transparency.py +0 -0
  1301. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_mind_active.py +0 -0
  1302. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_mind_assign_role.py +0 -0
  1303. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_mind_auto_relay_research.py +0 -0
  1304. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_mind_deliberator.py +0 -0
  1305. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_mind_diversity_sybil_mediator.py +0 -0
  1306. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_mind_evolve.py +0 -0
  1307. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_mind_goal_handle.py +0 -0
  1308. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_mind_goal_queue_bounds.py +0 -0
  1309. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_mind_goals_policy.py +0 -0
  1310. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_mind_learning_persistence.py +0 -0
  1311. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_mind_planner_wiring.py +0 -0
  1312. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_mind_records.py +0 -0
  1313. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_mind_research_antiherd.py +0 -0
  1314. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_mind_research_brier.py +0 -0
  1315. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_mind_research_ledger.py +0 -0
  1316. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_mind_research_memory.py +0 -0
  1317. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_mind_roles.py +0 -0
  1318. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_mind_world_model.py +0 -0
  1319. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_mind_world_model_priority.py +0 -0
  1320. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_misc_edge.py +0 -0
  1321. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_mldsa_rust_interop.py +0 -0
  1322. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_mtls_profile.py +0 -0
  1323. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_namespace_lifecycle.py +0 -0
  1324. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_namespace_policy.py +0 -0
  1325. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_namespace_policy_acl.py +0 -0
  1326. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_observability_asgi.py +0 -0
  1327. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_observability_issues_350_351_352.py +0 -0
  1328. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_observability_otel.py +0 -0
  1329. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_open_factory.py +0 -0
  1330. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_oracle_backprop.py +0 -0
  1331. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_oracle_resolve_closes_dispute.py +0 -0
  1332. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_oracle_resolve_events.py +0 -0
  1333. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_orgs_cmd_hypermind_home.py +0 -0
  1334. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_orgs_replay_reputation.py +0 -0
  1335. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_orgsim_kernel_store_persist.py +0 -0
  1336. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_orgsim_persona_evolution.py +0 -0
  1337. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_orgsim_persona_ticking.py +0 -0
  1338. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_otel_export.py +0 -0
  1339. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_pin_policy.py +0 -0
  1340. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_pin_policy_compose_zero.py +0 -0
  1341. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_placement_consistent_hash.py +0 -0
  1342. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_placement_hint.py +0 -0
  1343. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_plan_dag.py +0 -0
  1344. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_plan_repair.py +0 -0
  1345. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_portable_inclusion_proof.py +0 -0
  1346. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_pq_default.py +0 -0
  1347. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_pq_dual_vendor.py +0 -0
  1348. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_pq_signing.py +0 -0
  1349. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_priv_ns_conformance_coverage.py +0 -0
  1350. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_profiles.py +0 -0
  1351. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_property_based.py +0 -0
  1352. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_protocol_version.py +0 -0
  1353. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_public_surface_v05.py +0 -0
  1354. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_pursue_workflow.py +0 -0
  1355. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_rate_caveat.py +0 -0
  1356. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_recorder_bounded.py +0 -0
  1357. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_recorder_tail.py +0 -0
  1358. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_reference_verifier_v2.py +0 -0
  1359. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_rekor_client.py +0 -0
  1360. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_rekor_downgrade.py +0 -0
  1361. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_relata_author_hex.py +0 -0
  1362. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_relata_cbor_disputes.py +0 -0
  1363. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_relata_grounding.py +0 -0
  1364. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_relata_hybrid_search.py +0 -0
  1365. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_relata_memory_store.py +0 -0
  1366. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_relata_tools.py +0 -0
  1367. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_remaining_gaps.py +0 -0
  1368. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_replay.py +0 -0
  1369. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_reputation.py +0 -0
  1370. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_reputation_concurrency.py +0 -0
  1371. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_reputation_memory.py +0 -0
  1372. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_reputation_staleness.py +0 -0
  1373. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_reputation_weighted_slashing.py +0 -0
  1374. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_research_tool_gateway.py +0 -0
  1375. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_review_fixes.py +0 -0
  1376. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_revocation.py +0 -0
  1377. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_revocation_lifecycle.py +0 -0
  1378. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_room_epoch.py +0 -0
  1379. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_sample_efficiency.py +0 -0
  1380. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_schema_hash_pinned.py +0 -0
  1381. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_secret_redaction.py +0 -0
  1382. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_security_regressions_495_490_493_494.py +0 -0
  1383. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_self_heal_cycle1.py +0 -0
  1384. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_self_heal_cycle2.py +0 -0
  1385. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_self_heal_cycle3.py +0 -0
  1386. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_self_heal_cycle3_cascade_isolate.py +0 -0
  1387. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_self_heal_cycle3_governance.py +0 -0
  1388. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_self_heal_cycle4.py +0 -0
  1389. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_self_heal_cycle4_deliberator_broadcast.py +0 -0
  1390. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_self_heal_cycle5.py +0 -0
  1391. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_self_heal_cycle6.py +0 -0
  1392. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_self_heal_cycle6_security_hardening.py +0 -0
  1393. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_signer_protocol.py +0 -0
  1394. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_skill_registry.py +0 -0
  1395. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_sqlite_vector_hybrid.py +0 -0
  1396. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_sth_cross_gossip.py +0 -0
  1397. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_swarm_iq.py +0 -0
  1398. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_swarm_iq_at_scale.py +0 -0
  1399. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_swarm_iq_recommend.py +0 -0
  1400. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_swarm_memory.py +0 -0
  1401. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_swarm_memory_federation.py +0 -0
  1402. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_swarm_trace.py +0 -0
  1403. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_swarm_vector_overflow.py +0 -0
  1404. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_sybil_guard_consult.py +0 -0
  1405. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_sync_agent.py +0 -0
  1406. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_tal.py +0 -0
  1407. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_tal_decay_hlc_wallclock.py +0 -0
  1408. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_tal_decay_wired.py +0 -0
  1409. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_tal_wire.py +0 -0
  1410. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_task_execution.py +0 -0
  1411. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_task_handle.py +0 -0
  1412. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_task_handle_network.py +0 -0
  1413. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_tcp_duplicate_kid_attack.py +0 -0
  1414. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_tcp_edge.py +0 -0
  1415. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_tcp_federation.py +0 -0
  1416. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_tcp_final.py +0 -0
  1417. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_tcp_read_loop_cleanup.py +0 -0
  1418. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_tcp_transport.py +0 -0
  1419. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_tcp_transport_rust_interop.py +0 -0
  1420. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_theory_of_mind.py +0 -0
  1421. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_transport.py +0 -0
  1422. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_transport_scale_gaps.py +0 -0
  1423. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_two_impl_interop.py +0 -0
  1424. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_uncertainty.py +0 -0
  1425. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_uncertainty_edge.py +0 -0
  1426. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_verify_brier_research_not_self_referential.py +0 -0
  1427. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_verify_build_mcp_server_no_loop.py +0 -0
  1428. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_verify_deliberator_posteriors_hydrated.py +0 -0
  1429. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_verify_hypothesis_book_oracle_resolve.py +0 -0
  1430. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_verify_self_reflector_topic_kwarg.py +0 -0
  1431. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_wire.py +0 -0
  1432. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_wire_edge_cases.py +0 -0
  1433. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_wire_kid_stability.py +0 -0
  1434. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_wire_p3.py +0 -0
  1435. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_wire_v2.py +0 -0
  1436. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_wire_version.py +0 -0
  1437. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_witness_preimage_length_prefix.py +0 -0
  1438. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_workflow_compensation.py +0 -0
  1439. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_workflow_engine.py +0 -0
  1440. {hypermind-2.3.0 → hypermind-2.4.0}/tests/test_workflow_replay.py +0 -0
  1441. {hypermind-2.3.0 → hypermind-2.4.0}/tests/usecases/__init__.py +0 -0
  1442. {hypermind-2.3.0 → hypermind-2.4.0}/tests/usecases/conftest.py +0 -0
  1443. {hypermind-2.3.0 → hypermind-2.4.0}/tests/usecases/test_ai_01_fed_benchmark.py +0 -0
  1444. {hypermind-2.3.0 → hypermind-2.4.0}/tests/usecases/test_ai_alignment_redteam.py +0 -0
  1445. {hypermind-2.3.0 → hypermind-2.4.0}/tests/usecases/test_cy_05_ir_swarm.py +0 -0
  1446. {hypermind-2.3.0 → hypermind-2.4.0}/tests/usecases/test_cy_11_ransomware_intel.py +0 -0
  1447. {hypermind-2.3.0 → hypermind-2.4.0}/tests/usecases/test_ed_credentials.py +0 -0
  1448. {hypermind-2.3.0 → hypermind-2.4.0}/tests/usecases/test_en_grid_coordinate.py +0 -0
  1449. {hypermind-2.3.0 → hypermind-2.4.0}/tests/usecases/test_fi_04_bsa_314b.py +0 -0
  1450. {hypermind-2.3.0 → hypermind-2.4.0}/tests/usecases/test_fi_22_ma_dataroom.py +0 -0
  1451. {hypermind-2.3.0 → hypermind-2.4.0}/tests/usecases/test_gv_01_intel_sharing.py +0 -0
  1452. {hypermind-2.3.0 → hypermind-2.4.0}/tests/usecases/test_gv_21_red_team.py +0 -0
  1453. {hypermind-2.3.0 → hypermind-2.4.0}/tests/usecases/test_hc_06_rare_disease.py +0 -0
  1454. {hypermind-2.3.0 → hypermind-2.4.0}/tests/usecases/test_hc_21_fed_learning.py +0 -0
  1455. {hypermind-2.3.0 → hypermind-2.4.0}/tests/usecases/test_lg_ediscovery.py +0 -0
  1456. {hypermind-2.3.0 → hypermind-2.4.0}/tests/usecases/test_mf_supply_chain.py +0 -0
  1457. {hypermind-2.3.0 → hypermind-2.4.0}/transport-rust/Cargo.toml +0 -0
  1458. {hypermind-2.3.0 → hypermind-2.4.0}/transport-rust/README.md +0 -0
  1459. {hypermind-2.3.0 → hypermind-2.4.0}/transport-rust/pyproject.toml +0 -0
  1460. {hypermind-2.3.0 → hypermind-2.4.0}/transport-rust/src/lib.rs +0 -0
  1461. {hypermind-2.3.0 → hypermind-2.4.0}/uv.lock +0 -0
  1462. {hypermind-2.3.0 → hypermind-2.4.0}/vercel.json +0 -0
  1463. {hypermind-2.3.0 → hypermind-2.4.0}/webui/index.html +0 -0
  1464. {hypermind-2.3.0 → hypermind-2.4.0}/webui/package-lock.json +0 -0
  1465. {hypermind-2.3.0 → hypermind-2.4.0}/webui/package.json +0 -0
  1466. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/App.vue +0 -0
  1467. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/api/client.ts +0 -0
  1468. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/components/ActivityCanvas.vue +0 -0
  1469. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/components/AgentContribution.vue +0 -0
  1470. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/components/BrierHeatmap.vue +0 -0
  1471. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/components/CIQTrajectory.vue +0 -0
  1472. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/components/CitationGraph.vue +0 -0
  1473. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/components/DisputeTimeline.vue +0 -0
  1474. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/components/DissentList.vue +0 -0
  1475. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/components/Logo.vue +0 -0
  1476. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/components/NowAsking.vue +0 -0
  1477. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/components/PersonaRadar.vue +0 -0
  1478. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/components/PopulationGenerator.vue +0 -0
  1479. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/components/Term.vue +0 -0
  1480. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/components/forms/SchemaForm.vue +0 -0
  1481. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/components/result/AARTimeline.vue +0 -0
  1482. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/components/result/BacktestScorecard.vue +0 -0
  1483. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/components/result/ConformanceReport.vue +0 -0
  1484. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/components/result/CrisisTabletop.vue +0 -0
  1485. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/components/result/DecisionBracket.vue +0 -0
  1486. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/components/result/EvaluationReport.vue +0 -0
  1487. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/components/result/GovernanceReceipt.vue +0 -0
  1488. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/components/result/MethodNote.vue +0 -0
  1489. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/components/result/RedTeamReport.vue +0 -0
  1490. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/components/result/ScenarioTree.vue +0 -0
  1491. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/docs/index.ts +0 -0
  1492. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/docs/render.ts +0 -0
  1493. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/main.ts +0 -0
  1494. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/router.ts +0 -0
  1495. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/stores/sims.ts +0 -0
  1496. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/styles.css +0 -0
  1497. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/types/trace.ts +0 -0
  1498. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/views/Agents.vue +0 -0
  1499. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/views/Docs.vue +0 -0
  1500. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/views/Evidence.vue +0 -0
  1501. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/views/Home.vue +0 -0
  1502. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/views/HowItWorks.vue +0 -0
  1503. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/views/Knowledge.vue +0 -0
  1504. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/views/Landing.vue +0 -0
  1505. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/views/Namespaces.vue +0 -0
  1506. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/views/Report.vue +0 -0
  1507. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/views/Security.vue +0 -0
  1508. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/views/SimCompare.vue +0 -0
  1509. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/views/SimDetail.vue +0 -0
  1510. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/views/SimList.vue +0 -0
  1511. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/views/SimLive.vue +0 -0
  1512. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/views/SimNew.vue +0 -0
  1513. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/views/Tools.vue +0 -0
  1514. {hypermind-2.3.0 → hypermind-2.4.0}/webui/src/views/UseCases.vue +0 -0
  1515. {hypermind-2.3.0 → hypermind-2.4.0}/webui/tsconfig.json +0 -0
  1516. {hypermind-2.3.0 → hypermind-2.4.0}/webui/vite.config.ts +0 -0
@@ -134,6 +134,9 @@ persona_trace.json
134
134
  .mcp.json
135
135
  trace.json
136
136
 
137
+ # `hmctl show -o` — generated canvas artifact (serve mode writes no files)
138
+ hypermind-network.html
139
+
137
140
  # -----------------------------------------------------------------------------
138
141
  # Local runtime data — never commit server state.
139
142
  # `.data/` is the canonical docker-compose mount location; `data/` is legacy.
@@ -0,0 +1,7 @@
1
+ # Gitleaks false positives — documentation placeholders, not real secrets.
2
+ # The curl-auth-header rule fires on the literal `sk-your-key` placeholder in
3
+ # the deploy troubleshooting docs. Fixed at HEAD (env-var references now);
4
+ # these fingerprints cover the two occurrences in history (commit 6cb2ff1)
5
+ # that the full-history push scan still reports.
6
+ 6cb2ff17366b511c3992e9186763817040df7ba3:docs/deploy/troubleshooting.md:curl-auth-header:255
7
+ 6cb2ff17366b511c3992e9186763817040df7ba3:docs/deploy/troubleshooting.md:curl-auth-header:259
@@ -14,6 +14,85 @@ changes only on major-version bumps.
14
14
 
15
15
  ## [Unreleased]
16
16
 
17
+ ## [2.4.0] — 2026-08-24
18
+
19
+ ### Added
20
+ - **`hmctl show` — live network canvas (`hypermind.viz`).** A read-only
21
+ infinite-canvas dashboard of the swarm: graph (pan/zoom, community halos,
22
+ per-agent detail drawer), agents table with reputation meters and outcome
23
+ sparklines, conversation stream, claims, disputes (FSM badges + transition
24
+ history), research artefacts, and a timeline scrubber that replays how the
25
+ network evolved. Two modes from one renderer: **serve live** (the new
26
+ default — `hmctl show` starts a loopback-only HTTP server on
27
+ `127.0.0.1:8791`, opens the browser, and the page polls a fresh snapshot
28
+ every `--interval` seconds, re-rendering in place with a live/reconnecting
29
+ chip) and **static artifact** (`-o file.html` — a fully self-contained
30
+ page with zero network code, safe to share or archive as audit evidence).
31
+ Sources, in priority order: `--relata-url` + `--namespace` (live Relata
32
+ ledger), a `hmctl orgs simulate --export` JSONL bundle (re-read whenever
33
+ the file changes on disk), `RELATA_URL` from the environment or
34
+ `~/.hypermind/env` (the hands-free default once `hmctl setup` has run),
35
+ or `--demo` (a zero-dependency in-process demo swarm). Re-running
36
+ `hmctl show` while a previous one is serving just re-opens the page.
37
+ Untrusted text (findings, reasons, statements) reaches the DOM via
38
+ `textContent` only — never `innerHTML`.
39
+ - **Ledger tenancy onboarding: `hmctl setup` + `hypermind.storage.tenancy`.**
40
+ Closes the onboarding gap where a fresh Relata deployment + `hmctl mcp
41
+ install` pointed at a tenant nobody ever created (Relata never auto-creates
42
+ tenants on first `X-Organization-Id`; the namespace↔tenant mapping is 1:1).
43
+ New `hypermind.storage.tenancy` module: `ensure_tenant()` (idempotent
44
+ create; 409 = already exists; 404/501 = server build without a tenant admin
45
+ API → `X-Organization-Id` label scoping, still supported), `probe_key_role()`
46
+ (admin / tenant / invalid / unknown), `verify_ledger()` (read-only
47
+ reachable → tenant → Hm\* types → key check), `bootstrap_ledger()` (ensure
48
+ tenant + register the four Hm types via the existing #192 provisioning path
49
+ + verify). New `hmctl setup` command with three paths: **adopt** (deployment
50
+ already bootstrapped — verify + persist the tenant key), **elevate**
51
+ (supply an admin key once: create tenant, register types, then persist the
52
+ daily key), **local** (`--local`: SQLite ledger, zero network). Everything
53
+ is idempotent.
54
+ - **Admin/master key handling contract (`hmctl setup`).** The admin key is
55
+ never read from the environment — `--admin-key` flag or hidden prompt only,
56
+ held in memory for exactly the privileged calls, and never persisted. A
57
+ master key handed in as `--key` is probed on the server, detected, warned
58
+ about, rerouted to the bootstrap path, and *not* written to
59
+ `~/.hypermind/env` unless the operator explicitly consents
60
+ (`--allow-admin-key`). Keys are echoed as SHA-256 fingerprints only, never
61
+ in full.
62
+ - **`hmctl mcp serve --namespace`** — binds the swarm and the Relata tool
63
+ provider to one ledger tenant (they are 1:1). Also read from
64
+ `HYPERMIND_RELATA_NAMESPACE` (which `hmctl setup` writes) and from the
65
+ `namespace` key of the TOML config. The startup banner now shows the
66
+ active tenant.
67
+ - **`hmctl mcp install` harvests ledger tenancy.** `RELATA_TOKEN` and
68
+ `HYPERMIND_RELATA_NAMESPACE` join the auto-harvested env vars, sourced from
69
+ the current shell first and `~/.hypermind/env` second — the tenant + token
70
+ `hmctl setup` chose now reach host-launched MCP servers, which start with a
71
+ blank environment.
72
+ - **`hmctl doctor` ledger checks.** When `RELATA_URL` is configured, doctor
73
+ verifies the chain `hmctl setup` establishes — server reachable → tenant →
74
+ Hm\* types registered → `RELATA_TOKEN` accepted — with fix hints pointing
75
+ at `hmctl setup`. Unset `RELATA_URL` reports "local mode" instead.
76
+ - **`hmctl/envfile.py`** — merge-preserving writer for `~/.hypermind/env`
77
+ (always mode 0600; unknown keys, comments, and ordering survive rewrites).
78
+ `hmctl config` now uses it, so keys written by `hmctl setup` (or by hand)
79
+ are no longer clobbered when the wizard re-saves; the wizard also prompts
80
+ for `RELATA_TOKEN` / `HYPERMIND_RELATA_NAMESPACE` and displays them in its
81
+ status table.
82
+
83
+ ### Fixed
84
+ - **`RelataBackend` reads survive real-server row quirks** (found by live
85
+ validation against a fresh Relata deployment, 2026-08-24):
86
+ `load_claims()` no longer crashes with `KeyError('wire_b64')` on the
87
+ internal `_sentinel` objects server builds keep in the `HmClaim` table —
88
+ every restore path (`attach_storage()`, `hmctl show --relata-url`,
89
+ `from_relata()`) was affected. The claim, stub, dispute, and reputation
90
+ loaders now `SELECT *` and project client-side: some Relata builds
91
+ intermittently return a tiny subset of rows (or none) for multi-column
92
+ projections while `SELECT *` returns them all, which silently dropped
93
+ disputes and, on some calls, every claim from ledger-sourced snapshots.
94
+ Regression-pinned in `tests/test_storage_relata_sentinels.py`.
95
+
17
96
  ## [2.3.0] — 2026-07-31
18
97
 
19
98
  Bundles the four epics from the "swarm can research a topic end-to-end"
@@ -139,7 +139,7 @@ The living-simulation + research engine (spec: `docs/spec/20-swarm-intelligence.
139
139
  - `replay.py` — `export_jsonl` dumps every record (signed claims as wire bytes + disputes/reputation/evidence/hypotheses); `replay_to_relata` re-inserts a run **without re-running the LLM work**.
140
140
  - `sim.stream()` / `select_experts()` — streaming **tools-off** query over learned knowledge; consults a panel ranked by `hits × (1 + 0.7×rep + 0.3×fact_richness)`; `model=`/`client=` enable **learn-large / serve-small**. `_fact_richness()` is a log-damped ratio of confirmed/total facts for the expert's topic.
141
141
  - `tool_providers.py` / `mcp_config.py` — per-cycle tool gateway + MCP auto-discovery. `distributed/` — TCP master/worker for horizontal scale. `templates/` — preset org factories.
142
- - **Storage**: real `RelataBackend` (typed HmClaim/HmDispute/HmReputation) + `RelataMemoryStore` (evidence + hypotheses). Provision the Hm types once (admin token) — see `deploy/relata-serve.sh`. Multi-node federation is real over `transport/tcp.py::TCPGossipBus`.
142
+ - **Storage**: real `RelataBackend` (typed HmClaim/HmDispute/HmReputation) + `RelataMemoryStore` (evidence + hypotheses). Provision the tenant + Hm types once via `hmctl setup` (admin key is prompted, never env-read — see `storage/tenancy.py`); `deploy/relata-serve.sh` / hypermind-deploy's `scripts/bootstrap-ledger.sh` do the same for scripted deployments. Multi-node federation is real over `transport/tcp.py::TCPGossipBus`.
143
143
 
144
144
  ### Other production modules
145
145
 
@@ -250,9 +250,9 @@ When changing a public verb, check that every example in `examples/` still runs
250
250
 
251
251
  ## Active milestone
252
252
 
253
- As of 2026-07-31, the SDK is at **2.3.0** on the **engineering GA** line (engineering GA shipped 2026-07-09 as 1.0.0; SemVer is binding). The protocol core, the full swarm-intelligence / mind layer, the `hypermind.orgs` deep-research engine (decomposition + self-refine, reasoning strategies + structured outcome parsing, hypothesis lifecycle with prediction-matching, architecture-native metrics, evidence retention + citations, cross-sim learned-fit persistence via KernelStore, streaming query, full-run replay, real Relata ledger + TCP federation, PDF/site-crawl discovery + RelataDB `document_ingest` alignment, goal-driven charter-decomposed swarms), and the independent Rust second-language port (`rust/`) have all landed. Remaining gates are **ecosystem, not code** — IETF I-D submission, IANA early-allocation, OpenSSF Sandbox/Incubating acceptance, third-party security audit, full Tamarin/ProVerif proofs, NLnet/Alpha-Omega awards, ≥2 non-ZySec maintainers, ≥3 pilot MOUs, 7-day chaos-test green run, side-channel CT 30d-green. See [`docs/project/roadmap.md`](docs/project/roadmap.md) for item-numbered status.
253
+ As of 2026-08-24, the SDK is at **2.4.0** on the **engineering GA** line (engineering GA shipped 2026-07-09 as 1.0.0; SemVer is binding). The protocol core, the full swarm-intelligence / mind layer, the `hypermind.orgs` deep-research engine (decomposition + self-refine, reasoning strategies + structured outcome parsing, hypothesis lifecycle with prediction-matching, architecture-native metrics, evidence retention + citations, cross-sim learned-fit persistence via KernelStore, streaming query, full-run replay, real Relata ledger + TCP federation, PDF/site-crawl discovery + RelataDB `document_ingest` alignment, goal-driven charter-decomposed swarms), and the independent Rust second-language port (`rust/`) have all landed. Remaining gates are **ecosystem, not code** — IETF I-D submission, IANA early-allocation, OpenSSF Sandbox/Incubating acceptance, third-party security audit, full Tamarin/ProVerif proofs, NLnet/Alpha-Omega awards, ≥2 non-ZySec maintainers, ≥3 pilot MOUs, 7-day chaos-test green run, side-channel CT 30d-green. See [`docs/project/roadmap.md`](docs/project/roadmap.md) for item-numbered status.
254
254
 
255
- > **Recent releases.** v2.0.0 (SemVer-major consolidation: wire-version 3 supported, deprecated-API removal, libp2p first-class transport binding, TAL v0.2 wire messages, Sealed/Citeable lattice, second-language port in progress). v2.1.0–v2.1.5 (2026-07-27): Rust port landed (`rust/`), L1–L5 autonomy stack, FTS5 storage, MoA endpoint, IEEE-defensible eval benchmark, dark-theme HTML report. v2.2.0 (2026-07-28): autonomy pass (#983) — SSRF redirect/hostname hardening, deployment `profiles`, `coevolution`, `silent_failures`/`health`, `reputation_store`, `CachingResponder`/`DifficultyRouter`, hybrid SQLite search, active grounding gates (defaults changed, API-compatible). v2.2.1 (2026-07-29): CAP_REVOKE gossip + canonical-CBOR gate (#943 P1), TAL v0.2 signed wire messages (#943 P2), bi-temporal recall + cross-namespace Merkle citation proofs (#942), streamable-HTTP MCP gateway (#1013). v2.3.0 (2026-07-31): PDF/site-crawl discovery (#1018), RelataDB `document_ingest` alignment (#1019), goal-driven charter swarms (#1020), intra-expert research probe gate (#1021). The 2026-07-25 security-hardening fixes (issues #839-#844) shipped in 2.0 Phase 0. See [`CHANGELOG.md`](CHANGELOG.md) and [`docs/project/v2.0-plan.md`](docs/project/v2.0-plan.md).
255
+ > **Recent releases.** v2.0.0 (SemVer-major consolidation: wire-version 3 supported, deprecated-API removal, libp2p first-class transport binding, TAL v0.2 wire messages, Sealed/Citeable lattice, second-language port in progress). v2.1.0–v2.1.5 (2026-07-27): Rust port landed (`rust/`), L1–L5 autonomy stack, FTS5 storage, MoA endpoint, IEEE-defensible eval benchmark, dark-theme HTML report. v2.2.0 (2026-07-28): autonomy pass (#983) — SSRF redirect/hostname hardening, deployment `profiles`, `coevolution`, `silent_failures`/`health`, `reputation_store`, `CachingResponder`/`DifficultyRouter`, hybrid SQLite search, active grounding gates (defaults changed, API-compatible). v2.2.1 (2026-07-29): CAP_REVOKE gossip + canonical-CBOR gate (#943 P1), TAL v0.2 signed wire messages (#943 P2), bi-temporal recall + cross-namespace Merkle citation proofs (#942), streamable-HTTP MCP gateway (#1013). v2.3.0 (2026-07-31): PDF/site-crawl discovery (#1018), RelataDB `document_ingest` alignment (#1019), goal-driven charter swarms (#1020), intra-expert research probe gate (#1021). v2.4.0 (2026-08-24): `hmctl show` live network canvas (`hypermind.viz`), ledger tenancy onboarding (`hmctl setup` + `hypermind.storage.tenancy`), admin-key handling contract, `mcp serve --namespace`, doctor ledger checks, live-validated Relata read fixes (sentinel rows, projection quirk). The 2026-07-25 security-hardening fixes (issues #839-#844) shipped in 2.0 Phase 0. See [`CHANGELOG.md`](CHANGELOG.md) and [`docs/project/v2.0-plan.md`](docs/project/v2.0-plan.md).
256
256
 
257
257
  > **Note on doc locations (2026-07-25):** `CHARTER.md`, `GOVERNANCE.md`, `MAINTAINERS.md`, `ROADMAP.md`, and `REPO_MAP.md` were moved from the repo root into [`docs/project/`](docs/project/) (renamed lowercase). Root retains only the GitHub platform files (`README`, `LICENSE`, `SECURITY`, `CODE_OF_CONDUCT`, `CONTRIBUTING`, `CHANGELOG`, `CODEOWNERS`) plus `CLAUDE.md`. See [`docs/INDEX.md`](docs/INDEX.md) for the full doc map.
258
258
 
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: hypermind
3
- Version: 2.3.0
3
+ Version: 2.4.0
4
4
  Summary: Federated agent intelligence — reference SDK for the HyperMind SCITT contested-claims profile
5
5
  Project-URL: Homepage, https://github.com/ZySec-AI/hypermind
6
6
  Project-URL: Documentation, https://github.com/ZySec-AI/hypermind/tree/main/docs
@@ -91,7 +91,7 @@ Agents share what they learn, dispute what they doubt, and build reputation over
91
91
  [![Python](https://img.shields.io/pypi/pyversions/hypermind?color=4c8cff)](https://pypi.org/project/hypermind/)
92
92
  [![License](https://img.shields.io/badge/license-Apache--2.0-green.svg)](LICENSE)
93
93
  [![Tests](https://img.shields.io/badge/tests-5093-brightgreen)](#status)
94
- [![Version](https://img.shields.io/badge/version-2.3.0-blue)](CHANGELOG.md)
94
+ [![Version](https://img.shields.io/badge/version-2.4.0-blue)](CHANGELOG.md)
95
95
 
96
96
  **[Quickstart](#quickstart-30-seconds)** ·
97
97
  **[MCP tools](#mcp-tools-63-tools)** ·
@@ -128,6 +128,7 @@ hits = await hm.retrieve("key size", min_trust=0.6) # → trust-
128
128
  ```bash
129
129
  hmctl mcp install # auto-wires the host (read-only by default; --write to publish)
130
130
  hmctl mcp install --local # fully offline: Ollama auto-detect + SQLite ledger, no API key
131
+ hmctl setup # using a Relata ledger? one command: tenant + types + key, verified
131
132
  ```
132
133
 
133
134
  Then just talk naturally — *"What does the swarm know about CRISPR off-target effects?"*,
@@ -337,6 +338,7 @@ hmctl ingest notes.md --topic research # ingest documents into the swarm
337
338
  hmctl dataset export --format dpo --out dpo.jsonl # export fine-tuning dataset
338
339
  hmctl population create my-lab --template research_lab --size 5
339
340
  hmctl eval # run the calibration metric suite
341
+ hmctl show # live network canvas (serve + auto-open; -o out.html for a static artifact)
340
342
  hmctl orgs simulate --template university --topic "…" --rounds 6 --live
341
343
  hmctl doctor # smoke-test the install
342
344
  ```
@@ -378,7 +380,7 @@ hmctl mcp install # wires Claude Desktop/Cursor + auto-adds fetch/Serper/SearchA
378
380
 
379
381
  ## Status
380
382
 
381
- **Engineering GA** (1.0.0, 2026-07-09; SemVer binding). Current release: **2.3.0** (2026-07-31).
383
+ **Engineering GA** (1.0.0, 2026-07-09; SemVer binding). Current release: **2.4.0** (2026-08-24).
382
384
  Remaining gates are **ecosystem, not code** (see [roadmap](docs/project/roadmap.md) §External).
383
385
 
384
386
  - **Protocol** — 33 numbered spec sections (§00–§32) + independent [`reference_verifier/`](reference_verifier/) proving two-impl interop + second-language [`rust/`](rust/) port (v2.1.0)
@@ -13,7 +13,7 @@ Agents share what they learn, dispute what they doubt, and build reputation over
13
13
  [![Python](https://img.shields.io/pypi/pyversions/hypermind?color=4c8cff)](https://pypi.org/project/hypermind/)
14
14
  [![License](https://img.shields.io/badge/license-Apache--2.0-green.svg)](LICENSE)
15
15
  [![Tests](https://img.shields.io/badge/tests-5093-brightgreen)](#status)
16
- [![Version](https://img.shields.io/badge/version-2.3.0-blue)](CHANGELOG.md)
16
+ [![Version](https://img.shields.io/badge/version-2.4.0-blue)](CHANGELOG.md)
17
17
 
18
18
  **[Quickstart](#quickstart-30-seconds)** ·
19
19
  **[MCP tools](#mcp-tools-63-tools)** ·
@@ -50,6 +50,7 @@ hits = await hm.retrieve("key size", min_trust=0.6) # → trust-
50
50
  ```bash
51
51
  hmctl mcp install # auto-wires the host (read-only by default; --write to publish)
52
52
  hmctl mcp install --local # fully offline: Ollama auto-detect + SQLite ledger, no API key
53
+ hmctl setup # using a Relata ledger? one command: tenant + types + key, verified
53
54
  ```
54
55
 
55
56
  Then just talk naturally — *"What does the swarm know about CRISPR off-target effects?"*,
@@ -259,6 +260,7 @@ hmctl ingest notes.md --topic research # ingest documents into the swarm
259
260
  hmctl dataset export --format dpo --out dpo.jsonl # export fine-tuning dataset
260
261
  hmctl population create my-lab --template research_lab --size 5
261
262
  hmctl eval # run the calibration metric suite
263
+ hmctl show # live network canvas (serve + auto-open; -o out.html for a static artifact)
262
264
  hmctl orgs simulate --template university --topic "…" --rounds 6 --live
263
265
  hmctl doctor # smoke-test the install
264
266
  ```
@@ -300,7 +302,7 @@ hmctl mcp install # wires Claude Desktop/Cursor + auto-adds fetch/Serper/SearchA
300
302
 
301
303
  ## Status
302
304
 
303
- **Engineering GA** (1.0.0, 2026-07-09; SemVer binding). Current release: **2.3.0** (2026-07-31).
305
+ **Engineering GA** (1.0.0, 2026-07-09; SemVer binding). Current release: **2.4.0** (2026-08-24).
304
306
  Remaining gates are **ecosystem, not code** (see [roadmap](docs/project/roadmap.md) §External).
305
307
 
306
308
  - **Protocol** — 33 numbered spec sections (§00–§32) + independent [`reference_verifier/`](reference_verifier/) proving two-impl interop + second-language [`rust/`](rust/) port (v2.1.0)
@@ -18,6 +18,53 @@ tuning knob in a formatted table.
18
18
 
19
19
  ---
20
20
 
21
+ ## Ledger onboarding (`hmctl setup`)
22
+
23
+ When `RELATA_URL` points at a Relata deployment, claims live in a **tenant**
24
+ — the Relata tenant the HyperMind namespace maps to, 1:1 (`HYPERMIND_RELATA_NAMESPACE`).
25
+ Relata does not auto-create tenants, so a fresh deployment needs one round of
26
+ onboarding before the SDK can persist anything:
27
+
28
+ ```bash
29
+ hmctl setup # interactive: url, tenant, keys — verifies as it goes
30
+ hmctl setup --admin-key … --key … # non-interactive elevate + adopt
31
+ hmctl setup --local # no Relata: SQLite ledger, zero network
32
+ ```
33
+
34
+ Everything `hmctl setup` does is idempotent — re-running against a
35
+ bootstrapped server is a no-op re-verify. Docker deployments bootstrapped by
36
+ [hypermind-deploy](https://github.com/ZySec-AI/hypermind-deploy)'s
37
+ `start.sh` only need the **adopt** path (verify + persist the tenant key).
38
+
39
+ **Key model (security-relevant):**
40
+
41
+ | Key | Scope | Where it lives |
42
+ |---|---|---|
43
+ | tenant / daily key | read + write on one tenant's data | `RELATA_TOKEN` in `~/.hypermind/env` |
44
+ | admin / master key | tenant creation, type registration | **nowhere** — prompted or `--admin-key`, used once in memory |
45
+
46
+ The admin key is never read from the environment and never persisted by the
47
+ SDK. If a master key is passed as the daily key (`--key`), `hmctl setup`
48
+ probes its actual role on the server, warns that it is over-privileged,
49
+ uses it ephemerally for bootstrap, and refuses to persist it without
50
+ explicit consent (`--allow-admin-key`). Keys are displayed as SHA-256
51
+ fingerprints only.
52
+
53
+ `hmctl doctor` re-checks the chain on every run: server reachable → tenant →
54
+ Hm\* types registered → token accepted, with fix hints pointing back at
55
+ `hmctl setup`.
56
+
57
+ **Tenant data isolation is a server-side guarantee.** The SDK sends
58
+ `X-Organization-Id` on every request and namespace-filters reputation rows it
59
+ reads, but query-result scoping is enforced by Relata, not the client. On the
60
+ free Relata profile (verified live 2026-08-24) all tenants' rows are returned
61
+ to every tenant — onboarding still works, but tenants on such a build share
62
+ one data plane. Enforce isolation at the Relata tier (licensed profile or a
63
+ Relata build with row-level org scoping) before relying on it for
64
+ multi-tenant deployments.
65
+
66
+ ---
67
+
21
68
  ## LLM / Responder
22
69
 
23
70
  | Variable | Default | Description |
@@ -46,7 +93,7 @@ tuning knob in a formatted table.
46
93
  | `RELATA_BEARER_TOKEN` | *(none)* | Bearer token for authenticating requests to RelataDB. Also accepted as `RELATA_TOKEN`. Required when the RelataDB instance is protected by token auth (e.g. managed cloud deployments). Source: `src/hypermind/integrations/client.py`. |
47
94
  | `RELATA_TOKEN` | *(none)* | Alias for `RELATA_BEARER_TOKEN` (checked as fallback). |
48
95
  | `RELATA_MCP_PURPOSE` | `intops` | Purpose tag stamped on claims written through the MCP server. Legacy alias `RELATA_PURPOSE` is also accepted. Source: `src/hypermind/config.py`. |
49
- | `HYPERMIND_RELATA_NAMESPACE` | `hypermind` | Relata tenant namespace shared across SDK paths (client, OrgSim, MCP server). Per-org namespaces are sub-scoped as `<tenant>:<org>` inside this tenant. Source: `src/hypermind/config.py`. |
96
+ | `HYPERMIND_RELATA_NAMESPACE` | `hypermind` | Relata tenant namespace shared across SDK paths (client, OrgSim, `mcp serve`). Per-org namespaces are sub-scoped as `<tenant>:<org>` inside this tenant. Written by `hmctl setup`; `hmctl mcp serve --namespace` overrides per-launch. Source: `src/hypermind/config.py`. |
50
97
  | `HYPERMIND_DB` | `~/.hypermind/cache.db` | Path to the local SQLite cache database. Auto-activated when `RELATA_URL` is not set. Persists claims, agent state, and hypothesis records across restarts. |
51
98
  | `HYPERMIND_STORAGE` | *(auto)* | Force a storage backend: `relata` or `sqlite`. When unset the SDK selects `relata` if `RELATA_URL` is present, otherwise `sqlite`. Source: `src/hypermind/storage/__init__.py`. |
52
99
  | `HYPERMIND_NAMESPACE` | *(sandbox default)* | Default namespace ID used when creating the storage backend. Source: `src/hypermind/storage/__init__.py`. |
@@ -443,7 +490,8 @@ The `hm-moa` model on the OpenAI-compatible endpoint is configured via the `HYPE
443
490
  ## See also
444
491
 
445
492
  - `hmctl env-vars` — print a live table of all tuning knobs with current values
446
- - `hmctl doctor` — health-check that reports `HYPERMIND_SSE_PORT`, `HYPERMIND_WEBHOOK_PORT`, and `HYPERMIND_WEBHOOK_SECRET` status
493
+ - `hmctl setup` — one-command ledger onboarding: ensure tenant, register Hm\* types, verify, persist the daily key
494
+ - `hmctl doctor` — health-check that reports `HYPERMIND_SSE_PORT`, `HYPERMIND_WEBHOOK_PORT`, `HYPERMIND_WEBHOOK_SECRET`, and (when `RELATA_URL` is set) the ledger tenant/types/token chain
447
495
  - `hmctl config` — interactive wizard for setting the most common variables
448
496
  - `hmctl status` — shows LLM, Relata, web search backend, MCP servers, and what to fix
449
497
  - [docs/integrations.md](integrations.md) — integration guide and advanced tuning knobs
@@ -546,7 +546,7 @@ def handler(args: dict) -> str:
546
546
 
547
547
  **Set in `.env`:**
548
548
  ```
549
- MY_API_KEY=sk-your-key-here
549
+ MY_API_KEY=<your-provider-key>
550
550
  ```
551
551
 
552
552
  ---
@@ -49,7 +49,7 @@ The script will:
49
49
  HyperMind setup — press Enter to keep the shown default.
50
50
 
51
51
  RELATA_TOKEN (data-store auth) [existing-token-or-generated]:
52
- OPENAI_API_KEY [keep existing]: sk-your-key-here
52
+ OPENAI_API_KEY [keep existing]: <your-openai-key>
53
53
  OPENAI_BASE_URL [https://api.minimax.io/v1]:
54
54
  HYPERMIND_LLM_MODEL [MiniMax-M3]:
55
55
 
@@ -251,13 +251,13 @@ Examples:
251
251
 
252
252
  **Step 4: Test provider is reachable**
253
253
  ```bash
254
- # From host
254
+ # From host (exports your real key first: export OPENAI_API_KEY=...)
255
255
  curl https://api.openai.com/v1/models \
256
- -H "Authorization: Bearer sk-your-key"
256
+ -H "Authorization: Bearer $OPENAI_API_KEY"
257
257
 
258
- # From inside container
258
+ # From inside container (reads the key the container already has)
259
259
  docker exec hm-engine curl https://api.openai.com/v1/models \
260
- -H "Authorization: Bearer sk-your-key"
260
+ -H "Authorization: Bearer \$OPENAI_API_KEY"
261
261
  ```
262
262
 
263
263
  If connection failed: Check firewall/proxy.
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "hypermind"
7
- version = "2.3.0"
7
+ version = "2.4.0"
8
8
  description = "Federated agent intelligence — reference SDK for the HyperMind SCITT contested-claims profile"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.12,<3.15"
@@ -55,6 +55,7 @@ def main() -> None:
55
55
  hmctl mcp install wire into Claude Desktop / Cursor
56
56
  hmctl status health-check your installation
57
57
  hmctl doctor smoke-test SDK invariants
58
+ hmctl show agents/comms/reputation as a canvas map
58
59
  """
59
60
 
60
61
 
@@ -68,6 +69,17 @@ from hmctl.eval_cmd import eval_group as _eval_group
68
69
 
69
70
  main.add_command(_eval_group, name="eval")
70
71
 
72
+ # `hmctl show` — read-only infinite-canvas map of agents/communications/
73
+ # reputation/communities, with a timeline scrubber.
74
+ from hmctl.show_cmd import show_cmd as _show_cmd
75
+
76
+ main.add_command(_show_cmd, name="show")
77
+
78
+ # `hmctl setup` — one-command ledger onboarding (tenant + types + key → env).
79
+ from hmctl.setup_cmd import setup_cmd as _setup_cmd
80
+
81
+ main.add_command(_setup_cmd, name="setup")
82
+
71
83
 
72
84
  @main.command()
73
85
  @click.option(
@@ -348,6 +360,64 @@ def doctor(check_clock: bool, strict_pq: bool) -> None:
348
360
  "HMAC verification in production."
349
361
  )
350
362
 
363
+ # (4) Ledger tenancy — when a Relata deployment is configured, verify the
364
+ # tenant/key/types chain `hmctl setup` establishes. Bounded timeout so
365
+ # doctor stays fast against a down server.
366
+ try:
367
+ from hmctl.envfile import read_env_file
368
+
369
+ _file_env = read_env_file()
370
+ except Exception:
371
+ _file_env = {}
372
+ _ledger_url = _os_doctor.environ.get("RELATA_URL") or _file_env.get("RELATA_URL") or ""
373
+ if _ledger_url:
374
+ from hypermind.storage.tenancy import verify_ledger
375
+
376
+ _ledger_tenant = (
377
+ _os_doctor.environ.get("HYPERMIND_RELATA_NAMESPACE")
378
+ or _file_env.get("HYPERMIND_RELATA_NAMESPACE")
379
+ or "hypermind"
380
+ )
381
+ _ledger_token = _os_doctor.environ.get("RELATA_TOKEN") or _file_env.get("RELATA_TOKEN")
382
+ _led = verify_ledger(
383
+ _ledger_url,
384
+ tenant=_ledger_tenant,
385
+ token=_ledger_token,
386
+ expect_types=("HmClaim", "HmDispute", "HmReputation", "HmTranscript"),
387
+ timeout_s=2.0,
388
+ )
389
+ if not _led.reachable:
390
+ click.echo(f"[doctor] ledger ~ {_ledger_url} unreachable (skipping tenant checks)")
391
+ _warnings.append(
392
+ f"RELATA_URL is set but {_ledger_url} did not answer /health — "
393
+ "claims will not persist to the ledger."
394
+ )
395
+ else:
396
+ _missing = [t for t, s in _led.types.items() if s not in ("registered", "exists")]
397
+ if _led.key_role == "invalid":
398
+ click.echo(
399
+ f"[doctor] ledger ~ {_ledger_url} reachable, but RELATA_TOKEN was rejected"
400
+ )
401
+ _warnings.append(
402
+ "RELATA_TOKEN rejected by the ledger — re-run `hmctl setup` with a valid key."
403
+ )
404
+ elif _missing:
405
+ click.echo(
406
+ f"[doctor] ledger ~ {_ledger_url} reachable, types missing: "
407
+ f"{', '.join(_missing)}"
408
+ )
409
+ _warnings.append(
410
+ f"Ledger types not registered ({', '.join(_missing)}) — run "
411
+ "`hmctl setup --admin-key …` to provision them."
412
+ )
413
+ else:
414
+ click.echo(
415
+ f"[doctor] ledger ✓ {_ledger_url} · tenant '{_ledger_tenant}' · "
416
+ f"key {_led.key_role} ({_led.key_fingerprint}) · types registered"
417
+ )
418
+ else:
419
+ click.echo("[doctor] ledger ~ not configured (local mode — see `hmctl setup --local`)")
420
+
351
421
  for _msg in _warnings:
352
422
  click.echo(f"[doctor] warn {_msg}", err=True)
353
423
  for _msg in _errors:
@@ -2235,6 +2305,16 @@ def config_cmd(non_interactive: bool) -> None:
2235
2305
  existing.get("RELATA_URL", "[dim]not set[/]"),
2236
2306
  "✓" if existing.get("RELATA_URL") else "~",
2237
2307
  )
2308
+ table.add_row(
2309
+ "RELATA_TOKEN",
2310
+ "***" if existing.get("RELATA_TOKEN") else "[dim]not set[/]",
2311
+ "✓" if existing.get("RELATA_TOKEN") else "~",
2312
+ )
2313
+ table.add_row(
2314
+ "HYPERMIND_RELATA_NAMESPACE",
2315
+ existing.get("HYPERMIND_RELATA_NAMESPACE", "[dim]hypermind (default)[/]"),
2316
+ "✓" if existing.get("HYPERMIND_RELATA_NAMESPACE") else "~",
2317
+ )
2238
2318
  table.add_row(
2239
2319
  "HYPERMIND_DB", existing.get("HYPERMIND_DB", f"[dim]auto ({_HM_HOME}/cache.db)[/]"), "✓"
2240
2320
  )
@@ -2290,6 +2370,12 @@ def config_cmd(non_interactive: bool) -> None:
2290
2370
  "RELATA_URL",
2291
2371
  "e.g. http://localhost:5432 or https://your-tenant.relatadb.dev",
2292
2372
  )
2373
+ prompt_field(
2374
+ "Tenant key", "RELATA_TOKEN", "prefer `hmctl setup` — it verifies first", secret=True
2375
+ )
2376
+ prompt_field(
2377
+ "Tenant / namespace", "HYPERMIND_RELATA_NAMESPACE", "the Relata tenant claims write to"
2378
+ )
2293
2379
  console.print()
2294
2380
 
2295
2381
  console.print("[bold]SQLite local cache[/]")
@@ -2305,25 +2391,11 @@ def config_cmd(non_interactive: bool) -> None:
2305
2391
  console.print("[dim]No changes.[/]")
2306
2392
  return
2307
2393
 
2308
- # Write env file
2309
- lines = ["# HyperMind configuration managed by hmctl config\n"]
2310
- sections = {
2311
- "LLM": ["OPENAI_API_KEY", "OPENAI_BASE_URL", "HYPERMIND_LLM_MODEL", "ANTHROPIC_API_KEY"],
2312
- "RelataDB": ["RELATA_URL"],
2313
- "SQLite": ["HYPERMIND_DB"],
2314
- "Observability": ["OTEL_EXPORTER_OTLP_ENDPOINT"],
2315
- }
2316
- for section, keys in sections.items():
2317
- written = False
2318
- for k in keys:
2319
- if updates.get(k):
2320
- if not written:
2321
- lines.append(f"\n# {section}\n")
2322
- written = True
2323
- lines.append(f"{k}={updates[k]}\n")
2324
-
2325
- with open(env_file, "w") as f:
2326
- f.writelines(lines)
2394
+ # Write env file — merge-preserving: keys this wizard doesn't know about
2395
+ # (e.g. those written by `hmctl setup`, or hand-added) survive the rewrite.
2396
+ from hmctl.envfile import update_env_file
2397
+
2398
+ update_env_file({k: v for k, v in updates.items() if v}, path=env_file)
2327
2399
 
2328
2400
  console.print(f"[green]✓[/] Saved to {env_file}")
2329
2401
  console.print("\n[bold]Restart the MCP server to apply changes:[/]")
@@ -3215,6 +3287,17 @@ main.add_command(mcp_group, name="mcp")
3215
3287
  default=False,
3216
3288
  help="Derive the --sign-as seed from this machine's hardware id (deterministic across restarts).",
3217
3289
  )
3290
+ @click.option(
3291
+ "--namespace",
3292
+ "namespace",
3293
+ envvar="HYPERMIND_RELATA_NAMESPACE",
3294
+ default=None,
3295
+ help=(
3296
+ "Ledger tenant / HyperMind namespace for both the client and the Relata "
3297
+ "tool provider (they are 1:1). Defaults to 'integrations' when unset; "
3298
+ "`hmctl setup` writes this env var. [env: HYPERMIND_RELATA_NAMESPACE]"
3299
+ ),
3300
+ )
3218
3301
  @click.option(
3219
3302
  "--log-level",
3220
3303
  "log_level",
@@ -3230,6 +3313,7 @@ def mcp_serve_cmd(
3230
3313
  writable: bool,
3231
3314
  sign_as_path: str | None,
3232
3315
  machine_identity: bool,
3316
+ namespace: str | None,
3233
3317
  sse_port: int | None,
3234
3318
  tcp_port: int | None,
3235
3319
  ws_port: int | None,
@@ -3243,6 +3327,8 @@ def mcp_serve_cmd(
3243
3327
  Pass --sign-as PATH to attribute every call to a named, revocable identity.
3244
3328
  Pass --log-level info (or debug/warning/error) to stream logs to stderr.
3245
3329
  Pass --config /path/to/mcp.toml to load all options from a TOML file (CLI flags override).
3330
+ Pass --namespace (or set HYPERMIND_RELATA_NAMESPACE, written by `hmctl setup`)
3331
+ to bind the swarm and the Relata tool provider to one ledger tenant.
3246
3332
  """
3247
3333
  # Load TOML config file; CLI flags always win (ParameterSource.DEFAULT check).
3248
3334
  if config_path:
@@ -3269,6 +3355,8 @@ def mcp_serve_cmd(
3269
3355
  sign_as_path = str(_cfg["sign_as"])
3270
3356
  if "machine_identity" in _cfg and _src("machine_identity") == ParameterSource.DEFAULT:
3271
3357
  machine_identity = bool(_cfg["machine_identity"])
3358
+ if "namespace" in _cfg and _src("namespace") == ParameterSource.DEFAULT:
3359
+ namespace = str(_cfg["namespace"])
3272
3360
  if "log_level" in _cfg and _src("log_level") == ParameterSource.DEFAULT:
3273
3361
  log_level = str(_cfg["log_level"])
3274
3362
 
@@ -3541,7 +3629,11 @@ def mcp_serve_cmd(
3541
3629
  )
3542
3630
 
3543
3631
  server, client = build_mcp_server(
3544
- swarm=swarm, writable=writable, sign_as=sign_as, responder=responder
3632
+ swarm=swarm,
3633
+ writable=writable,
3634
+ sign_as=sign_as,
3635
+ responder=responder,
3636
+ **({"namespace": namespace} if namespace else {}),
3545
3637
  )
3546
3638
 
3547
3639
  # Resolve TCP port BEFORE the banner so the banner shows the actual port.
@@ -3579,6 +3671,7 @@ def mcp_serve_cmd(
3579
3671
  f" config {'✓ ' + str(_HM_HOME) + '/env' if has_env_file else f'✗ not found → touch {_HM_HOME}/env (KEY=VALUE, one per line)'}",
3580
3672
  f" otel {'✓ ' + otel_ep if otel_ep else '✗ off → set OTEL_EXPORTER_OTLP_ENDPOINT'}",
3581
3673
  f" relata {'✓ ' + relata if relata else '✗ off → get Relata at relatadb.dev or: docker pull openworkbench/relata-db:latest'}",
3674
+ f" tenant {namespace or 'integrations'} (namespace ↔ Relata tenant; hmctl setup to change)",
3582
3675
  ]
3583
3676
 
3584
3677
  # web_search row — show active backend + tool count wired into hm_ask
@@ -3891,16 +3984,28 @@ def mcp_install_cmd(
3891
3984
  # Gap #5: Claude Desktop / Cursor launches hmctl in a blank env — shell API keys
3892
3985
  # are invisible to the host. Auto-harvest known LLM keys from the current
3893
3986
  # shell into the mcp.json entry so the host always sees them.
3987
+ # Ledger tenancy joins the harvest: the tenant + token `hmctl setup` chose
3988
+ # must reach the host-launched server, or MCP writes to the wrong tenant.
3989
+ # Source precedence: current shell first, then ~/.hypermind/env (setup's
3990
+ # persistence target) — the shell never gets shadowed by a stale file.
3894
3991
  _KEY_VARS = [
3895
3992
  "OPENAI_API_KEY",
3896
3993
  "ANTHROPIC_API_KEY",
3897
3994
  "OPENAI_BASE_URL",
3898
3995
  "HYPERMIND_LLM_MODEL",
3899
3996
  "RELATA_URL",
3997
+ "RELATA_TOKEN",
3998
+ "HYPERMIND_RELATA_NAMESPACE",
3900
3999
  "HYPERMIND_DB",
3901
4000
  ]
4001
+ try:
4002
+ from hmctl.envfile import read_env_file
4003
+
4004
+ _file_env = read_env_file()
4005
+ except Exception:
4006
+ _file_env = {}
3902
4007
  for _kv in _KEY_VARS:
3903
- _val = os.environ.get(_kv)
4008
+ _val = os.environ.get(_kv) or _file_env.get(_kv)
3904
4009
  if _val and _kv not in merged_env:
3905
4010
  merged_env[_kv] = _val
3906
4011