hypermind 2.4.0__tar.gz → 2.4.2__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 (1517) hide show
  1. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows/release.yml +6 -0
  2. {hypermind-2.4.0 → hypermind-2.4.2}/CHANGELOG.md +90 -0
  3. {hypermind-2.4.0 → hypermind-2.4.2}/CLAUDE.md +2 -2
  4. {hypermind-2.4.0 → hypermind-2.4.2}/PKG-INFO +1 -1
  5. {hypermind-2.4.0 → hypermind-2.4.2}/pyproject.toml +1 -1
  6. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/agent.py +1 -1
  7. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/storage/relata.py +88 -33
  8. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/viz/canvas_html.py +33 -2
  9. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/viz/snapshot.py +49 -1
  10. {hypermind-2.4.0 → hypermind-2.4.2}/tests/storage/test_relata_backend.py +70 -1
  11. hypermind-2.4.2/tests/test_agent_cite_default.py +24 -0
  12. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_relata_cbor_disputes.py +2 -1
  13. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_storage_relata_sentinels.py +1 -1
  14. {hypermind-2.4.0 → hypermind-2.4.2}/tests/viz/test_canvas_html.py +22 -0
  15. {hypermind-2.4.0 → hypermind-2.4.2}/tests/viz/test_relata.py +96 -0
  16. {hypermind-2.4.0 → hypermind-2.4.2}/tests/viz/test_snapshot.py +113 -0
  17. {hypermind-2.4.0 → hypermind-2.4.2}/.editorconfig +0 -0
  18. {hypermind-2.4.0 → hypermind-2.4.2}/.env.example +0 -0
  19. {hypermind-2.4.0 → hypermind-2.4.2}/.gitattributes +0 -0
  20. {hypermind-2.4.0 → hypermind-2.4.2}/.githooks/pre-push +0 -0
  21. {hypermind-2.4.0 → hypermind-2.4.2}/.github/FUNDING.yml +0 -0
  22. {hypermind-2.4.0 → hypermind-2.4.2}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  23. {hypermind-2.4.0 → hypermind-2.4.2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  24. {hypermind-2.4.0 → hypermind-2.4.2}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  25. {hypermind-2.4.0 → hypermind-2.4.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  26. {hypermind-2.4.0 → hypermind-2.4.2}/.github/renovate.json +0 -0
  27. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows/check-license.yml +0 -0
  28. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows/code-review-pr.yml +0 -0
  29. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows/hotfix-security.yml +0 -0
  30. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows/issue-auto-fix.yml +0 -0
  31. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows/issue-triage.yml +0 -0
  32. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows/pr-standards.yml +0 -0
  33. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows/quality.yml +0 -0
  34. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows/release-simple.yml.bak +0 -0
  35. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows/rust-ci.yml +0 -0
  36. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows/security.yml +0 -0
  37. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows/stale.yml +0 -0
  38. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows-disabled/branch-flow-check.yml +0 -0
  39. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows-disabled/chaos.yml +0 -0
  40. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows-disabled/check-license.yml +0 -0
  41. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows-disabled/ci.yml +0 -0
  42. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows-disabled/code-freeze.yml +0 -0
  43. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows-disabled/code-review-pr.yml +0 -0
  44. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows-disabled/code-review.yml +0 -0
  45. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows-disabled/codeql.yml +0 -0
  46. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows-disabled/dco.yml +0 -0
  47. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows-disabled/docs-to-wiki.yml +0 -0
  48. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows-disabled/docs.yml +0 -0
  49. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows-disabled/formal.yml +0 -0
  50. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows-disabled/fuzz.yml +0 -0
  51. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows-disabled/hotfix-security.yml +0 -0
  52. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows-disabled/issue-auto-fix.yml +0 -0
  53. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows-disabled/issue-triage.yml +0 -0
  54. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows-disabled/merge-comment.yml +0 -0
  55. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows-disabled/pip-audit.yml +0 -0
  56. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows-disabled/pr-standards.yml +0 -0
  57. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows-disabled/quality.yml +0 -0
  58. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows-disabled/sbom.yml +0 -0
  59. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows-disabled/scorecard.yml +0 -0
  60. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows-disabled/security.yml +0 -0
  61. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows-disabled/sprint-retro.yml +0 -0
  62. {hypermind-2.4.0 → hypermind-2.4.2}/.github/workflows-disabled/stale.yml +0 -0
  63. {hypermind-2.4.0 → hypermind-2.4.2}/.gitignore +0 -0
  64. {hypermind-2.4.0 → hypermind-2.4.2}/.gitleaks.toml +0 -0
  65. {hypermind-2.4.0 → hypermind-2.4.2}/.gitleaksignore +0 -0
  66. {hypermind-2.4.0 → hypermind-2.4.2}/.pre-commit-config.yaml +0 -0
  67. {hypermind-2.4.0 → hypermind-2.4.2}/.tool-versions +0 -0
  68. {hypermind-2.4.0 → hypermind-2.4.2}/CODEOWNERS +0 -0
  69. {hypermind-2.4.0 → hypermind-2.4.2}/CODE_OF_CONDUCT.md +0 -0
  70. {hypermind-2.4.0 → hypermind-2.4.2}/CONTRIBUTING.md +0 -0
  71. {hypermind-2.4.0 → hypermind-2.4.2}/LICENSE +0 -0
  72. {hypermind-2.4.0 → hypermind-2.4.2}/Makefile +0 -0
  73. {hypermind-2.4.0 → hypermind-2.4.2}/README.md +0 -0
  74. {hypermind-2.4.0 → hypermind-2.4.2}/SECURITY.md +0 -0
  75. {hypermind-2.4.0 → hypermind-2.4.2}/bench/README.md +0 -0
  76. {hypermind-2.4.0 → hypermind-2.4.2}/bench/__init__.py +0 -0
  77. {hypermind-2.4.0 → hypermind-2.4.2}/bench/baselines/v0.6.json +0 -0
  78. {hypermind-2.4.0 → hypermind-2.4.2}/bench/bench_consult.py +0 -0
  79. {hypermind-2.4.0 → hypermind-2.4.2}/bench/bench_dispute.py +0 -0
  80. {hypermind-2.4.0 → hypermind-2.4.2}/bench/bench_publish.py +0 -0
  81. {hypermind-2.4.0 → hypermind-2.4.2}/bench/coordination/README.md +0 -0
  82. {hypermind-2.4.0 → hypermind-2.4.2}/bench/coordination/__init__.py +0 -0
  83. {hypermind-2.4.0 → hypermind-2.4.2}/bench/coordination/baselines/v0.10.json +0 -0
  84. {hypermind-2.4.0 → hypermind-2.4.2}/bench/coordination/bench_rfp_latency.py +0 -0
  85. {hypermind-2.4.0 → hypermind-2.4.2}/bench/coordination/bench_task_throughput.py +0 -0
  86. {hypermind-2.4.0 → hypermind-2.4.2}/bench/coordination/bench_workflow_replay.py +0 -0
  87. {hypermind-2.4.0 → hypermind-2.4.2}/bench/coordination/run_all.py +0 -0
  88. {hypermind-2.4.0 → hypermind-2.4.2}/bench/question_sets/geopolitics_q20.json +0 -0
  89. {hypermind-2.4.0 → hypermind-2.4.2}/bench/question_sets/msft_outlook_q10.json +0 -0
  90. {hypermind-2.4.0 → hypermind-2.4.2}/bench/run_bench.py +0 -0
  91. {hypermind-2.4.0 → hypermind-2.4.2}/chaos/README.md +0 -0
  92. {hypermind-2.4.0 → hypermind-2.4.2}/chaos/__init__.py +0 -0
  93. {hypermind-2.4.0 → hypermind-2.4.2}/chaos/p1_partition_recovery.py +0 -0
  94. {hypermind-2.4.0 → hypermind-2.4.2}/chaos/p2_witness_compromise.py +0 -0
  95. {hypermind-2.4.0 → hypermind-2.4.2}/chaos/p3_key_rotation.py +0 -0
  96. {hypermind-2.4.0 → hypermind-2.4.2}/chaos/p4_dispute_backlog.py +0 -0
  97. {hypermind-2.4.0 → hypermind-2.4.2}/chaos/p5_wire_cutover.py +0 -0
  98. {hypermind-2.4.0 → hypermind-2.4.2}/chaos/p6_quorum_loss.py +0 -0
  99. {hypermind-2.4.0 → hypermind-2.4.2}/chaos/p7_clock_skew.py +0 -0
  100. {hypermind-2.4.0 → hypermind-2.4.2}/chaos/p8_recorder_outage.py +0 -0
  101. {hypermind-2.4.0 → hypermind-2.4.2}/chaos/run_chaos.py +0 -0
  102. {hypermind-2.4.0 → hypermind-2.4.2}/deploy/.env.example +0 -0
  103. {hypermind-2.4.0 → hypermind-2.4.2}/deploy/Dockerfile +0 -0
  104. {hypermind-2.4.0 → hypermind-2.4.2}/deploy/Dockerfile.mcp +0 -0
  105. {hypermind-2.4.0 → hypermind-2.4.2}/deploy/Dockerfile.mcp-http +0 -0
  106. {hypermind-2.4.0 → hypermind-2.4.2}/deploy/README.md +0 -0
  107. {hypermind-2.4.0 → hypermind-2.4.2}/deploy/docker-compose.mcp-http.yml +0 -0
  108. {hypermind-2.4.0 → hypermind-2.4.2}/deploy/docker-compose.mcp.yml +0 -0
  109. {hypermind-2.4.0 → hypermind-2.4.2}/deploy/k8s/hypermind-deployment.yaml +0 -0
  110. {hypermind-2.4.0 → hypermind-2.4.2}/deploy/k8s/orgs-distributed.yaml +0 -0
  111. {hypermind-2.4.0 → hypermind-2.4.2}/deploy/mcp-http-entrypoint.sh +0 -0
  112. {hypermind-2.4.0 → hypermind-2.4.2}/deploy/mcp.example.toml +0 -0
  113. {hypermind-2.4.0 → hypermind-2.4.2}/deploy/relata-serve.sh +0 -0
  114. {hypermind-2.4.0 → hypermind-2.4.2}/deploy/standalone/.env.example +0 -0
  115. {hypermind-2.4.0 → hypermind-2.4.2}/deploy/standalone/.gitignore +0 -0
  116. {hypermind-2.4.0 → hypermind-2.4.2}/deploy/standalone/README.md +0 -0
  117. {hypermind-2.4.0 → hypermind-2.4.2}/deploy/standalone/config/mcp.example.json +0 -0
  118. {hypermind-2.4.0 → hypermind-2.4.2}/deploy/standalone/docker-compose.yml +0 -0
  119. {hypermind-2.4.0 → hypermind-2.4.2}/deploy/standalone/setup.sh +0 -0
  120. {hypermind-2.4.0 → hypermind-2.4.2}/deploy/systemd/hypermind.service +0 -0
  121. {hypermind-2.4.0 → hypermind-2.4.2}/docs/INDEX.md +0 -0
  122. {hypermind-2.4.0 → hypermind-2.4.2}/docs/SIMLAB.md +0 -0
  123. {hypermind-2.4.0 → hypermind-2.4.2}/docs/_meta/glossary.md +0 -0
  124. {hypermind-2.4.0 → hypermind-2.4.2}/docs/_meta/provenance.md +0 -0
  125. {hypermind-2.4.0 → hypermind-2.4.2}/docs/_meta/public-surface.md +0 -0
  126. {hypermind-2.4.0 → hypermind-2.4.2}/docs/_meta/standards-map.md +0 -0
  127. {hypermind-2.4.0 → hypermind-2.4.2}/docs/adr/0001-tcp-federation-chosen-as-v1-transport.md +0 -0
  128. {hypermind-2.4.0 → hypermind-2.4.2}/docs/adr/0002-cloud-kms-signing-removed-local-signer-is-shipped-backend.md +0 -0
  129. {hypermind-2.4.0 → hypermind-2.4.2}/docs/adr/0003-libp2p-deferred-to-optional-external-binding.md +0 -0
  130. {hypermind-2.4.0 → hypermind-2.4.2}/docs/adr/0004-verified-corpus-is-a-first-class-product-surface.md +0 -0
  131. {hypermind-2.4.0 → hypermind-2.4.2}/docs/adr/0005-ground-truth-anchoring-is-tiered-and-provenance-bearing.md +0 -0
  132. {hypermind-2.4.0 → hypermind-2.4.2}/docs/adr/0006-three-layer-event-driven-integration.md +0 -0
  133. {hypermind-2.4.0 → hypermind-2.4.2}/docs/adr/0007-per-agent-deliberator-with-declarative-role-bundles.md +0 -0
  134. {hypermind-2.4.0 → hypermind-2.4.2}/docs/adr/0008-llm-decomposed-expert-seats-and-reasoning-strategies.md +0 -0
  135. {hypermind-2.4.0 → hypermind-2.4.2}/docs/adr/0009-dual-storage-backend-sqlite-local-default-and-relata-federated.md +0 -0
  136. {hypermind-2.4.0 → hypermind-2.4.2}/docs/adr/0010-composite-ed25519-mldsa65-signing-pq-hybrid.md +0 -0
  137. {hypermind-2.4.0 → hypermind-2.4.2}/docs/adr/README.md +0 -0
  138. {hypermind-2.4.0 → hypermind-2.4.2}/docs/api/agent.md +0 -0
  139. {hypermind-2.4.0 → hypermind-2.4.2}/docs/api/agent_card.md +0 -0
  140. {hypermind-2.4.0 → hypermind-2.4.2}/docs/api/capability.md +0 -0
  141. {hypermind-2.4.0 → hypermind-2.4.2}/docs/api/consult.md +0 -0
  142. {hypermind-2.4.0 → hypermind-2.4.2}/docs/api/contract_net.md +0 -0
  143. {hypermind-2.4.0 → hypermind-2.4.2}/docs/api/crypto.md +0 -0
  144. {hypermind-2.4.0 → hypermind-2.4.2}/docs/api/dataset.md +0 -0
  145. {hypermind-2.4.0 → hypermind-2.4.2}/docs/api/dispute.md +0 -0
  146. {hypermind-2.4.0 → hypermind-2.4.2}/docs/api/errors.md +0 -0
  147. {hypermind-2.4.0 → hypermind-2.4.2}/docs/api/eval.md +0 -0
  148. {hypermind-2.4.0 → hypermind-2.4.2}/docs/api/ingest.md +0 -0
  149. {hypermind-2.4.0 → hypermind-2.4.2}/docs/api/integrations.md +0 -0
  150. {hypermind-2.4.0 → hypermind-2.4.2}/docs/api/knowledge.md +0 -0
  151. {hypermind-2.4.0 → hypermind-2.4.2}/docs/api/mcp.md +0 -0
  152. {hypermind-2.4.0 → hypermind-2.4.2}/docs/api/mind.md +0 -0
  153. {hypermind-2.4.0 → hypermind-2.4.2}/docs/api/moa.md +0 -0
  154. {hypermind-2.4.0 → hypermind-2.4.2}/docs/api/namespace.md +0 -0
  155. {hypermind-2.4.0 → hypermind-2.4.2}/docs/api/observability.md +0 -0
  156. {hypermind-2.4.0 → hypermind-2.4.2}/docs/api/orgs.md +0 -0
  157. {hypermind-2.4.0 → hypermind-2.4.2}/docs/api/responders.md +0 -0
  158. {hypermind-2.4.0 → hypermind-2.4.2}/docs/api/revocation.md +0 -0
  159. {hypermind-2.4.0 → hypermind-2.4.2}/docs/api/simlab-openapi.yaml +0 -0
  160. {hypermind-2.4.0 → hypermind-2.4.2}/docs/api/simlab.md +0 -0
  161. {hypermind-2.4.0 → hypermind-2.4.2}/docs/api/storage.md +0 -0
  162. {hypermind-2.4.0 → hypermind-2.4.2}/docs/api/sync.md +0 -0
  163. {hypermind-2.4.0 → hypermind-2.4.2}/docs/api/tal.md +0 -0
  164. {hypermind-2.4.0 → hypermind-2.4.2}/docs/api/tasks.md +0 -0
  165. {hypermind-2.4.0 → hypermind-2.4.2}/docs/api/testing.md +0 -0
  166. {hypermind-2.4.0 → hypermind-2.4.2}/docs/api/transport.md +0 -0
  167. {hypermind-2.4.0 → hypermind-2.4.2}/docs/api/types.md +0 -0
  168. {hypermind-2.4.0 → hypermind-2.4.2}/docs/api/uncertainty.md +0 -0
  169. {hypermind-2.4.0 → hypermind-2.4.2}/docs/api/wire.md +0 -0
  170. {hypermind-2.4.0 → hypermind-2.4.2}/docs/assets/hero-swarm.svg +0 -0
  171. {hypermind-2.4.0 → hypermind-2.4.2}/docs/audit/docs-vs-code-alignment-2026-07-25.md +0 -0
  172. {hypermind-2.4.0 → hypermind-2.4.2}/docs/audit/docs-vs-code-alignment-2026-07-27.md +0 -0
  173. {hypermind-2.4.0 → hypermind-2.4.2}/docs/audit/findings.md +0 -0
  174. {hypermind-2.4.0 → hypermind-2.4.2}/docs/audit/scope.md +0 -0
  175. {hypermind-2.4.0 → hypermind-2.4.2}/docs/concepts.md +0 -0
  176. {hypermind-2.4.0 → hypermind-2.4.2}/docs/configuration.md +0 -0
  177. {hypermind-2.4.0 → hypermind-2.4.2}/docs/conformance/authority.md +0 -0
  178. {hypermind-2.4.0 → hypermind-2.4.2}/docs/conformance/bake-off-report.md +0 -0
  179. {hypermind-2.4.0 → hypermind-2.4.2}/docs/conformance/mark-policy.md +0 -0
  180. {hypermind-2.4.0 → hypermind-2.4.2}/docs/decide/01-disqualifiers.md +0 -0
  181. {hypermind-2.4.0 → hypermind-2.4.2}/docs/decide/02-alternatives.md +0 -0
  182. {hypermind-2.4.0 → hypermind-2.4.2}/docs/decide/03-incentive-aligned-cases.md +0 -0
  183. {hypermind-2.4.0 → hypermind-2.4.2}/docs/decide/04-use-cases.md +0 -0
  184. {hypermind-2.4.0 → hypermind-2.4.2}/docs/deploy/add-mcp-server.md +0 -0
  185. {hypermind-2.4.0 → hypermind-2.4.2}/docs/deploy/add-tool-provider.md +0 -0
  186. {hypermind-2.4.0 → hypermind-2.4.2}/docs/deploy/index.md +0 -0
  187. {hypermind-2.4.0 → hypermind-2.4.2}/docs/deploy/mcp-connect.md +0 -0
  188. {hypermind-2.4.0 → hypermind-2.4.2}/docs/deploy/quickstart.md +0 -0
  189. {hypermind-2.4.0 → hypermind-2.4.2}/docs/deploy/rest-api.md +0 -0
  190. {hypermind-2.4.0 → hypermind-2.4.2}/docs/deploy/scheduled-research.md +0 -0
  191. {hypermind-2.4.0 → hypermind-2.4.2}/docs/deploy/troubleshooting.md +0 -0
  192. {hypermind-2.4.0 → hypermind-2.4.2}/docs/deploy/use-cases.md +0 -0
  193. {hypermind-2.4.0 → hypermind-2.4.2}/docs/deploy/write-scenario.md +0 -0
  194. {hypermind-2.4.0 → hypermind-2.4.2}/docs/design/01-architecture.md +0 -0
  195. {hypermind-2.4.0 → hypermind-2.4.2}/docs/design/02-traces.md +0 -0
  196. {hypermind-2.4.0 → hypermind-2.4.2}/docs/design/03-failure-modes.md +0 -0
  197. {hypermind-2.4.0 → hypermind-2.4.2}/docs/design/04-poisoning-defenses.md +0 -0
  198. {hypermind-2.4.0 → hypermind-2.4.2}/docs/design/05-deployment-topology.md +0 -0
  199. {hypermind-2.4.0 → hypermind-2.4.2}/docs/eval-programme.html +0 -0
  200. {hypermind-2.4.0 → hypermind-2.4.2}/docs/feature-matrix.md +0 -0
  201. {hypermind-2.4.0 → hypermind-2.4.2}/docs/getting-started.md +0 -0
  202. {hypermind-2.4.0 → hypermind-2.4.2}/docs/governance/cna.md +0 -0
  203. {hypermind-2.4.0 → hypermind-2.4.2}/docs/governance/foundation-evaluation.md +0 -0
  204. {hypermind-2.4.0 → hypermind-2.4.2}/docs/index.md +0 -0
  205. {hypermind-2.4.0 → hypermind-2.4.2}/docs/integrations.md +0 -0
  206. {hypermind-2.4.0 → hypermind-2.4.2}/docs/legal/export-classification.md +0 -0
  207. {hypermind-2.4.0 → hypermind-2.4.2}/docs/lts.md +0 -0
  208. {hypermind-2.4.0 → hypermind-2.4.2}/docs/migrate/v0.x-to-v1.0.md +0 -0
  209. {hypermind-2.4.0 → hypermind-2.4.2}/docs/onboarding/00-prerequisites.md +0 -0
  210. {hypermind-2.4.0 → hypermind-2.4.2}/docs/onboarding/README.md +0 -0
  211. {hypermind-2.4.0 → hypermind-2.4.2}/docs/onboarding/after.md +0 -0
  212. {hypermind-2.4.0 → hypermind-2.4.2}/docs/onboarding/exercises/e01-run-the-loop.md +0 -0
  213. {hypermind-2.4.0 → hypermind-2.4.2}/docs/onboarding/exercises/e02-draw-the-architecture.md +0 -0
  214. {hypermind-2.4.0 → hypermind-2.4.2}/docs/onboarding/exercises/e03-trace-a-claim.md +0 -0
  215. {hypermind-2.4.0 → hypermind-2.4.2}/docs/onboarding/exercises/e04-read-a-spec-section.md +0 -0
  216. {hypermind-2.4.0 → hypermind-2.4.2}/docs/onboarding/exercises/e05-break-it.md +0 -0
  217. {hypermind-2.4.0 → hypermind-2.4.2}/docs/onboarding/exercises/e06-add-a-test.md +0 -0
  218. {hypermind-2.4.0 → hypermind-2.4.2}/docs/onboarding/exercises/e07-first-pr.md +0 -0
  219. {hypermind-2.4.0 → hypermind-2.4.2}/docs/onboarding/glossary.md +0 -0
  220. {hypermind-2.4.0 → hypermind-2.4.2}/docs/onboarding/topics/00-what-is-hypermind.md +0 -0
  221. {hypermind-2.4.0 → hypermind-2.4.2}/docs/onboarding/topics/01-agents-and-swarms.md +0 -0
  222. {hypermind-2.4.0 → hypermind-2.4.2}/docs/onboarding/topics/02-architecture-tour.md +0 -0
  223. {hypermind-2.4.0 → hypermind-2.4.2}/docs/onboarding/topics/03-spec-literacy.md +0 -0
  224. {hypermind-2.4.0 → hypermind-2.4.2}/docs/onboarding/topics/04-cryptography.md +0 -0
  225. {hypermind-2.4.0 → hypermind-2.4.2}/docs/onboarding/topics/05-cbor-cose.md +0 -0
  226. {hypermind-2.4.0 → hypermind-2.4.2}/docs/onboarding/topics/06-transparency-logs.md +0 -0
  227. {hypermind-2.4.0 → hypermind-2.4.2}/docs/onboarding/topics/07-distributed-systems.md +0 -0
  228. {hypermind-2.4.0 → hypermind-2.4.2}/docs/onboarding/topics/08-async-python.md +0 -0
  229. {hypermind-2.4.0 → hypermind-2.4.2}/docs/onboarding/topics/09-security-mindset.md +0 -0
  230. {hypermind-2.4.0 → hypermind-2.4.2}/docs/onboarding/week-1-foundations.md +0 -0
  231. {hypermind-2.4.0 → hypermind-2.4.2}/docs/onboarding/week-2-deep-dive.md +0 -0
  232. {hypermind-2.4.0 → hypermind-2.4.2}/docs/operate/01-deployment.md +0 -0
  233. {hypermind-2.4.0 → hypermind-2.4.2}/docs/operate/02-runbook.md +0 -0
  234. {hypermind-2.4.0 → hypermind-2.4.2}/docs/operate/03-resource-budget.md +0 -0
  235. {hypermind-2.4.0 → hypermind-2.4.2}/docs/operate/backup-restore.md +0 -0
  236. {hypermind-2.4.0 → hypermind-2.4.2}/docs/operate/data-residency.md +0 -0
  237. {hypermind-2.4.0 → hypermind-2.4.2}/docs/operate/key-rotation.md +0 -0
  238. {hypermind-2.4.0 → hypermind-2.4.2}/docs/operate/runbooks/dispute-backlog-drain.md +0 -0
  239. {hypermind-2.4.0 → hypermind-2.4.2}/docs/operate/runbooks/key-rotation.md +0 -0
  240. {hypermind-2.4.0 → hypermind-2.4.2}/docs/operate/runbooks/kms-rotation.md +0 -0
  241. {hypermind-2.4.0 → hypermind-2.4.2}/docs/operate/runbooks/multi-host-deploy.md +0 -0
  242. {hypermind-2.4.0 → hypermind-2.4.2}/docs/operate/runbooks/partition-heal.md +0 -0
  243. {hypermind-2.4.0 → hypermind-2.4.2}/docs/operate/runbooks/quorum-loss.md +0 -0
  244. {hypermind-2.4.0 → hypermind-2.4.2}/docs/operate/runbooks/rfp-dispute-triage.md +0 -0
  245. {hypermind-2.4.0 → hypermind-2.4.2}/docs/operate/runbooks/wire-cutover.md +0 -0
  246. {hypermind-2.4.0 → hypermind-2.4.2}/docs/operate/runbooks/witness-compromise.md +0 -0
  247. {hypermind-2.4.0 → hypermind-2.4.2}/docs/operate/runbooks/workflow-replay.md +0 -0
  248. {hypermind-2.4.0 → hypermind-2.4.2}/docs/operate/slo.md +0 -0
  249. {hypermind-2.4.0 → hypermind-2.4.2}/docs/paper/00-patent.md +0 -0
  250. {hypermind-2.4.0 → hypermind-2.4.2}/docs/paper/hypermind-paper-draft.md +0 -0
  251. {hypermind-2.4.0 → hypermind-2.4.2}/docs/paper/hypermind-paper.docx +0 -0
  252. {hypermind-2.4.0 → hypermind-2.4.2}/docs/paper/hypermind-paper.tex +0 -0
  253. {hypermind-2.4.0 → hypermind-2.4.2}/docs/project/autonomy-audit.md +0 -0
  254. {hypermind-2.4.0 → hypermind-2.4.2}/docs/project/charter.md +0 -0
  255. {hypermind-2.4.0 → hypermind-2.4.2}/docs/project/governance.md +0 -0
  256. {hypermind-2.4.0 → hypermind-2.4.2}/docs/project/maintainers.md +0 -0
  257. {hypermind-2.4.0 → hypermind-2.4.2}/docs/project/repo-map.md +0 -0
  258. {hypermind-2.4.0 → hypermind-2.4.2}/docs/project/roadmap.md +0 -0
  259. {hypermind-2.4.0 → hypermind-2.4.2}/docs/project/v2.0-plan.md +0 -0
  260. {hypermind-2.4.0 → hypermind-2.4.2}/docs/quickstart.md +0 -0
  261. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.0.0.md +0 -0
  262. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.1.0.md +0 -0
  263. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.10.1.md +0 -0
  264. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.11.0.md +0 -0
  265. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.12.0.md +0 -0
  266. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.12.1.md +0 -0
  267. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.13.0-draft.md +0 -0
  268. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.2.0.md +0 -0
  269. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.3.0.md +0 -0
  270. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.4.0.md +0 -0
  271. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.5.0.md +0 -0
  272. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.6.0.md +0 -0
  273. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.6.1.md +0 -0
  274. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.6.2.md +0 -0
  275. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.6.3.md +0 -0
  276. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.6.4.md +0 -0
  277. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.6.5.md +0 -0
  278. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.6.6.md +0 -0
  279. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.6.7.md +0 -0
  280. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.6.8.md +0 -0
  281. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.6.9.md +0 -0
  282. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.7.0.md +0 -0
  283. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.7.1.md +0 -0
  284. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.7.10.md +0 -0
  285. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.7.2.md +0 -0
  286. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.7.3.md +0 -0
  287. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.7.4.md +0 -0
  288. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.7.5.md +0 -0
  289. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.7.6.md +0 -0
  290. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.7.7.md +0 -0
  291. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.7.8.md +0 -0
  292. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.7.9.md +0 -0
  293. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.8.0.md +0 -0
  294. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.8.1.md +0 -0
  295. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.8.2.md +0 -0
  296. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.8.3.md +0 -0
  297. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.9.0.md +0 -0
  298. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.9.1.md +0 -0
  299. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.9.3.md +0 -0
  300. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.9.4.md +0 -0
  301. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.9.5.md +0 -0
  302. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.9.6.md +0 -0
  303. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v1.9.7.md +0 -0
  304. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v2.0.0.md +0 -0
  305. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v2.1.0.md +0 -0
  306. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v2.1.1.md +0 -0
  307. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v2.1.2.md +0 -0
  308. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v2.1.3.md +0 -0
  309. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v2.1.4.md +0 -0
  310. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v2.1.5.md +0 -0
  311. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v2.2.0.md +0 -0
  312. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v2.2.1.md +0 -0
  313. {hypermind-2.4.0 → hypermind-2.4.2}/docs/release-notes/v2.3.0.md +0 -0
  314. {hypermind-2.4.0 → hypermind-2.4.2}/docs/security/threat-model.md +0 -0
  315. {hypermind-2.4.0 → hypermind-2.4.2}/docs/simlab/modes.md +0 -0
  316. {hypermind-2.4.0 → hypermind-2.4.2}/docs/simulations.md +0 -0
  317. {hypermind-2.4.0 → hypermind-2.4.2}/docs/sop-knowledge-quality.md +0 -0
  318. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/00-overview.md +0 -0
  319. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/01-transport.md +0 -0
  320. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/02-cryptography.md +0 -0
  321. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/03-messages.md +0 -0
  322. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/04-knowledge-model.md +0 -0
  323. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/05-routing.md +0 -0
  324. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/06-conformance.md +0 -0
  325. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/07-trust-access-layer.md +0 -0
  326. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/08-onboarding-contract.md +0 -0
  327. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/09-agent-sdk.md +0 -0
  328. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/10-disputes.md +0 -0
  329. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/11-witness-transparency.md +0 -0
  330. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/12-governance.md +0 -0
  331. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/13-observability.md +0 -0
  332. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/14-threat-model.md +0 -0
  333. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/15-living-transmission.md +0 -0
  334. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/16-reference-comparisons.md +0 -0
  335. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/17-upgrade-v1.md +0 -0
  336. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/18-revocation.md +0 -0
  337. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/19-autonomy-contract.md +0 -0
  338. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/20-swarm-intelligence.md +0 -0
  339. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/21-private-namespaces.md +0 -0
  340. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/22-transport-mtls.md +0 -0
  341. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/23-envelope-encryption.md +0 -0
  342. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/24-namespace-identity.md +0 -0
  343. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/25-capability-extensions.md +0 -0
  344. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/26-workflow.md +0 -0
  345. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/27-contract-net.md +0 -0
  346. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/28-distributed-trace.md +0 -0
  347. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/29-verified-corpus.md +0 -0
  348. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/30-ground-truth-anchor.md +0 -0
  349. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/31-deep-research-engine.md +0 -0
  350. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/32-belief-state.md +0 -0
  351. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/appendix-N-calibration.md +0 -0
  352. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/appendix-TLA.md +0 -0
  353. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/appendix-z.md +0 -0
  354. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/errata.md +0 -0
  355. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/index.md +0 -0
  356. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/invariants.md +0 -0
  357. {hypermind-2.4.0 → hypermind-2.4.2}/docs/spec/normative-trace.md +0 -0
  358. {hypermind-2.4.0 → hypermind-2.4.2}/docs/supply-chain/sbom.md +0 -0
  359. {hypermind-2.4.0 → hypermind-2.4.2}/docs/supply-chain/slsa.md +0 -0
  360. {hypermind-2.4.0 → hypermind-2.4.2}/docs/supply-chain/verify-self.md +0 -0
  361. {hypermind-2.4.0 → hypermind-2.4.2}/docs/sustainability.md +0 -0
  362. {hypermind-2.4.0 → hypermind-2.4.2}/docs/verified-corpus.md +0 -0
  363. {hypermind-2.4.0 → hypermind-2.4.2}/examples/01_hello_world.py +0 -0
  364. {hypermind-2.4.0 → hypermind-2.4.2}/examples/02_two_agents_dispute.py +0 -0
  365. {hypermind-2.4.0 → hypermind-2.4.2}/examples/03_consult_panel.py +0 -0
  366. {hypermind-2.4.0 → hypermind-2.4.2}/examples/04_oracle_resolve.py +0 -0
  367. {hypermind-2.4.0 → hypermind-2.4.2}/examples/05_consult_to_synthesis.py +0 -0
  368. {hypermind-2.4.0 → hypermind-2.4.2}/examples/06_hybrid_pq.py +0 -0
  369. {hypermind-2.4.0 → hypermind-2.4.2}/examples/07_frost_threshold.py +0 -0
  370. {hypermind-2.4.0 → hypermind-2.4.2}/examples/08_ramp_and_diagnostics.py +0 -0
  371. {hypermind-2.4.0 → hypermind-2.4.2}/examples/09_audit_export_chain.py +0 -0
  372. {hypermind-2.4.0 → hypermind-2.4.2}/examples/10_autonomous_agent.py +0 -0
  373. {hypermind-2.4.0 → hypermind-2.4.2}/examples/11_swarm_deliberation.py +0 -0
  374. {hypermind-2.4.0 → hypermind-2.4.2}/examples/12_swarm_iq_scorecard.py +0 -0
  375. {hypermind-2.4.0 → hypermind-2.4.2}/examples/13_role_specialisation.py +0 -0
  376. {hypermind-2.4.0 → hypermind-2.4.2}/examples/14_active_learning_loop.py +0 -0
  377. {hypermind-2.4.0 → hypermind-2.4.2}/examples/16_wire_message.py +0 -0
  378. {hypermind-2.4.0 → hypermind-2.4.2}/examples/17_tool_delegation.py +0 -0
  379. {hypermind-2.4.0 → hypermind-2.4.2}/examples/18_custom_responder.py +0 -0
  380. {hypermind-2.4.0 → hypermind-2.4.2}/examples/19_governance.py +0 -0
  381. {hypermind-2.4.0 → hypermind-2.4.2}/examples/20_conformance_check.py +0 -0
  382. {hypermind-2.4.0 → hypermind-2.4.2}/examples/21_revocation.py +0 -0
  383. {hypermind-2.4.0 → hypermind-2.4.2}/examples/22_agent_card.py +0 -0
  384. {hypermind-2.4.0 → hypermind-2.4.2}/examples/23_task_delegation.py +0 -0
  385. {hypermind-2.4.0 → hypermind-2.4.2}/examples/24_mcp_tool_call.py +0 -0
  386. {hypermind-2.4.0 → hypermind-2.4.2}/examples/25_swarm_trace.py +0 -0
  387. {hypermind-2.4.0 → hypermind-2.4.2}/examples/26_submit_goal_and_goal_handle.py +0 -0
  388. {hypermind-2.4.0 → hypermind-2.4.2}/examples/27_safety_policies.py +0 -0
  389. {hypermind-2.4.0 → hypermind-2.4.2}/examples/28_relata_connection.py +0 -0
  390. {hypermind-2.4.0 → hypermind-2.4.2}/examples/29_quick_research_sim.py +0 -0
  391. {hypermind-2.4.0 → hypermind-2.4.2}/examples/30_moa_endpoint.py +0 -0
  392. {hypermind-2.4.0 → hypermind-2.4.2}/examples/README.md +0 -0
  393. {hypermind-2.4.0 → hypermind-2.4.2}/examples/coordination/01_durable_workflow.py +0 -0
  394. {hypermind-2.4.0 → hypermind-2.4.2}/examples/coordination/02_contract_net.py +0 -0
  395. {hypermind-2.4.0 → hypermind-2.4.2}/examples/coordination/03_belief_and_plan.py +0 -0
  396. {hypermind-2.4.0 → hypermind-2.4.2}/examples/coordination/__init__.py +0 -0
  397. {hypermind-2.4.0 → hypermind-2.4.2}/examples/coordination/usecases/__init__.py +0 -0
  398. {hypermind-2.4.0 → hypermind-2.4.2}/examples/coordination/usecases/ai_01_fed_benchmark.py +0 -0
  399. {hypermind-2.4.0 → hypermind-2.4.2}/examples/coordination/usecases/ai_alignment_redteam.py +0 -0
  400. {hypermind-2.4.0 → hypermind-2.4.2}/examples/coordination/usecases/cy_05_ir_swarm.py +0 -0
  401. {hypermind-2.4.0 → hypermind-2.4.2}/examples/coordination/usecases/cy_11_ransomware_intel.py +0 -0
  402. {hypermind-2.4.0 → hypermind-2.4.2}/examples/coordination/usecases/ed_credentials.py +0 -0
  403. {hypermind-2.4.0 → hypermind-2.4.2}/examples/coordination/usecases/en_grid_coordinate.py +0 -0
  404. {hypermind-2.4.0 → hypermind-2.4.2}/examples/coordination/usecases/fi_04_bsa_314b.py +0 -0
  405. {hypermind-2.4.0 → hypermind-2.4.2}/examples/coordination/usecases/fi_22_ma_dataroom.py +0 -0
  406. {hypermind-2.4.0 → hypermind-2.4.2}/examples/coordination/usecases/gv_01_intel_sharing.py +0 -0
  407. {hypermind-2.4.0 → hypermind-2.4.2}/examples/coordination/usecases/gv_21_red_team.py +0 -0
  408. {hypermind-2.4.0 → hypermind-2.4.2}/examples/coordination/usecases/hc_06_rare_disease.py +0 -0
  409. {hypermind-2.4.0 → hypermind-2.4.2}/examples/coordination/usecases/hc_21_fed_learning.py +0 -0
  410. {hypermind-2.4.0 → hypermind-2.4.2}/examples/coordination/usecases/lg_ediscovery.py +0 -0
  411. {hypermind-2.4.0 → hypermind-2.4.2}/examples/coordination/usecases/mf_supply_chain.py +0 -0
  412. {hypermind-2.4.0 → hypermind-2.4.2}/examples/e2e_many_agents.py +0 -0
  413. {hypermind-2.4.0 → hypermind-2.4.2}/examples/full_e2e_demo.py +0 -0
  414. {hypermind-2.4.0 → hypermind-2.4.2}/examples/lifecycle.py +0 -0
  415. {hypermind-2.4.0 → hypermind-2.4.2}/examples/org_distributed.py +0 -0
  416. {hypermind-2.4.0 → hypermind-2.4.2}/examples/org_university.py +0 -0
  417. {hypermind-2.4.0 → hypermind-2.4.2}/examples/scenario_aar.py +0 -0
  418. {hypermind-2.4.0 → hypermind-2.4.2}/examples/scenario_backtest.py +0 -0
  419. {hypermind-2.4.0 → hypermind-2.4.2}/examples/scenario_capability_attenuation.py +0 -0
  420. {hypermind-2.4.0 → hypermind-2.4.2}/examples/scenario_conformance.py +0 -0
  421. {hypermind-2.4.0 → hypermind-2.4.2}/examples/scenario_crisis_tabletop.py +0 -0
  422. {hypermind-2.4.0 → hypermind-2.4.2}/examples/scenario_cross_namespace_federation.py +0 -0
  423. {hypermind-2.4.0 → hypermind-2.4.2}/examples/scenario_decision_tournament.py +0 -0
  424. {hypermind-2.4.0 → hypermind-2.4.2}/examples/scenario_dispute_lifecycle_async.py +0 -0
  425. {hypermind-2.4.0 → hypermind-2.4.2}/examples/scenario_evaluation.py +0 -0
  426. {hypermind-2.4.0 → hypermind-2.4.2}/examples/scenario_geopolitical_crisis.py +0 -0
  427. {hypermind-2.4.0 → hypermind-2.4.2}/examples/scenario_geopolitical_traced.py +0 -0
  428. {hypermind-2.4.0 → hypermind-2.4.2}/examples/scenario_governance_committee.py +0 -0
  429. {hypermind-2.4.0 → hypermind-2.4.2}/examples/scenario_information_pipeline.py +0 -0
  430. {hypermind-2.4.0 → hypermind-2.4.2}/examples/scenario_ingest_pipeline.py +0 -0
  431. {hypermind-2.4.0 → hypermind-2.4.2}/examples/scenario_learning_loop.py +0 -0
  432. {hypermind-2.4.0 → hypermind-2.4.2}/examples/scenario_namespace_trust.py +0 -0
  433. {hypermind-2.4.0 → hypermind-2.4.2}/examples/scenario_persona_panel.py +0 -0
  434. {hypermind-2.4.0 → hypermind-2.4.2}/examples/scenario_population_lifecycle.py +0 -0
  435. {hypermind-2.4.0 → hypermind-2.4.2}/examples/scenario_private_namespace.py +0 -0
  436. {hypermind-2.4.0 → hypermind-2.4.2}/examples/scenario_red_team.py +0 -0
  437. {hypermind-2.4.0 → hypermind-2.4.2}/examples/scenario_regulated_consortium.py +0 -0
  438. {hypermind-2.4.0 → hypermind-2.4.2}/examples/scenario_social_media_research.py +0 -0
  439. {hypermind-2.4.0 → hypermind-2.4.2}/examples/scenario_threat_intel.py +0 -0
  440. {hypermind-2.4.0 → hypermind-2.4.2}/examples/scenario_vouch_chain.py +0 -0
  441. {hypermind-2.4.0 → hypermind-2.4.2}/examples/scenario_what_if_tree.py +0 -0
  442. {hypermind-2.4.0 → hypermind-2.4.2}/examples/serve_api.py +0 -0
  443. {hypermind-2.4.0 → hypermind-2.4.2}/examples/sim_criminology_tech.py +0 -0
  444. {hypermind-2.4.0 → hypermind-2.4.2}/examples/two_node_tcp.py +0 -0
  445. {hypermind-2.4.0 → hypermind-2.4.2}/formal/README.md +0 -0
  446. {hypermind-2.4.0 → hypermind-2.4.2}/formal/hax-rust/README.md +0 -0
  447. {hypermind-2.4.0 → hypermind-2.4.2}/formal/hax-rust/scope.md +0 -0
  448. {hypermind-2.4.0 → hypermind-2.4.2}/formal/proverif/dispute_fsm.pv +0 -0
  449. {hypermind-2.4.0 → hypermind-2.4.2}/formal/proverif/dispute_liveness.pv +0 -0
  450. {hypermind-2.4.0 → hypermind-2.4.2}/formal/tamarin/capability_chain.spthy +0 -0
  451. {hypermind-2.4.0 → hypermind-2.4.2}/formal/tamarin/dispute_fsm.spthy +0 -0
  452. {hypermind-2.4.0 → hypermind-2.4.2}/formal/tamarin/signed_statement.spthy +0 -0
  453. {hypermind-2.4.0 → hypermind-2.4.2}/formal/tamarin/wire_security.spthy +0 -0
  454. {hypermind-2.4.0 → hypermind-2.4.2}/fuzz/README.md +0 -0
  455. {hypermind-2.4.0 → hypermind-2.4.2}/fuzz/__init__.py +0 -0
  456. {hypermind-2.4.0 → hypermind-2.4.2}/fuzz/fuzz_agent_card.py +0 -0
  457. {hypermind-2.4.0 → hypermind-2.4.2}/fuzz/fuzz_anti_entropy.py +0 -0
  458. {hypermind-2.4.0 → hypermind-2.4.2}/fuzz/fuzz_capability.py +0 -0
  459. {hypermind-2.4.0 → hypermind-2.4.2}/fuzz/fuzz_dispute.py +0 -0
  460. {hypermind-2.4.0 → hypermind-2.4.2}/fuzz/fuzz_inclusion_proof.py +0 -0
  461. {hypermind-2.4.0 → hypermind-2.4.2}/fuzz/fuzz_wire.py +0 -0
  462. {hypermind-2.4.0 → hypermind-2.4.2}/fuzz/seed_corpus.py +0 -0
  463. {hypermind-2.4.0 → hypermind-2.4.2}/harness/__init__.py +0 -0
  464. {hypermind-2.4.0 → hypermind-2.4.2}/harness/__main__.py +0 -0
  465. {hypermind-2.4.0 → hypermind-2.4.2}/harness/assertions.py +0 -0
  466. {hypermind-2.4.0 → hypermind-2.4.2}/harness/fixtures.py +0 -0
  467. {hypermind-2.4.0 → hypermind-2.4.2}/harness/report.py +0 -0
  468. {hypermind-2.4.0 → hypermind-2.4.2}/harness/roles.py +0 -0
  469. {hypermind-2.4.0 → hypermind-2.4.2}/harness/runner.py +0 -0
  470. {hypermind-2.4.0 → hypermind-2.4.2}/harness/scenario.py +0 -0
  471. {hypermind-2.4.0 → hypermind-2.4.2}/harness/scenarios/__init__.py +0 -0
  472. {hypermind-2.4.0 → hypermind-2.4.2}/harness/scenarios/autonomous_evolution.py +0 -0
  473. {hypermind-2.4.0 → hypermind-2.4.2}/harness/scenarios/swarm_iq_benchmark.py +0 -0
  474. {hypermind-2.4.0 → hypermind-2.4.2}/harness/scenarios/threat_intel.py +0 -0
  475. {hypermind-2.4.0 → hypermind-2.4.2}/mkdocs.yml +0 -0
  476. {hypermind-2.4.0 → hypermind-2.4.2}/reference_verifier/__init__.py +0 -0
  477. {hypermind-2.4.0 → hypermind-2.4.2}/reference_verifier/schemas/encrypted_statement.cddl +0 -0
  478. {hypermind-2.4.0 → hypermind-2.4.2}/reference_verifier/schemas/namespace_accept.cddl +0 -0
  479. {hypermind-2.4.0 → hypermind-2.4.2}/reference_verifier/schemas/namespace_create.cddl +0 -0
  480. {hypermind-2.4.0 → hypermind-2.4.2}/reference_verifier/schemas/namespace_founding_attest.cddl +0 -0
  481. {hypermind-2.4.0 → hypermind-2.4.2}/reference_verifier/schemas/namespace_invite.cddl +0 -0
  482. {hypermind-2.4.0 → hypermind-2.4.2}/reference_verifier/schemas/wire-v0.1.cddl +0 -0
  483. {hypermind-2.4.0 → hypermind-2.4.2}/reference_verifier/verifier.py +0 -0
  484. {hypermind-2.4.0 → hypermind-2.4.2}/review/__init__.py +0 -0
  485. {hypermind-2.4.0 → hypermind-2.4.2}/review/__main__.py +0 -0
  486. {hypermind-2.4.0 → hypermind-2.4.2}/review/agents.py +0 -0
  487. {hypermind-2.4.0 → hypermind-2.4.2}/review/models.py +0 -0
  488. {hypermind-2.4.0 → hypermind-2.4.2}/review/runner.py +0 -0
  489. {hypermind-2.4.0 → hypermind-2.4.2}/rust/Cargo.lock +0 -0
  490. {hypermind-2.4.0 → hypermind-2.4.2}/rust/Cargo.toml +0 -0
  491. {hypermind-2.4.0 → hypermind-2.4.2}/rust/README.md +0 -0
  492. {hypermind-2.4.0 → hypermind-2.4.2}/rust/crates/hmctl/Cargo.toml +0 -0
  493. {hypermind-2.4.0 → hypermind-2.4.2}/rust/crates/hmctl/src/config.rs +0 -0
  494. {hypermind-2.4.0 → hypermind-2.4.2}/rust/crates/hmctl/src/daemon.rs +0 -0
  495. {hypermind-2.4.0 → hypermind-2.4.2}/rust/crates/hmctl/src/main.rs +0 -0
  496. {hypermind-2.4.0 → hypermind-2.4.2}/rust/crates/hypermind-proto/Cargo.toml +0 -0
  497. {hypermind-2.4.0 → hypermind-2.4.2}/rust/crates/hypermind-proto/examples/frost_interop.rs +0 -0
  498. {hypermind-2.4.0 → hypermind-2.4.2}/rust/crates/hypermind-proto/examples/mldsa_interop.rs +0 -0
  499. {hypermind-2.4.0 → hypermind-2.4.2}/rust/crates/hypermind-proto/examples/tcp_interop.rs +0 -0
  500. {hypermind-2.4.0 → hypermind-2.4.2}/rust/crates/hypermind-proto/examples/wire_interop.rs +0 -0
  501. {hypermind-2.4.0 → hypermind-2.4.2}/rust/crates/hypermind-proto/schemas/namespace_accept.cddl +0 -0
  502. {hypermind-2.4.0 → hypermind-2.4.2}/rust/crates/hypermind-proto/schemas/namespace_create.cddl +0 -0
  503. {hypermind-2.4.0 → hypermind-2.4.2}/rust/crates/hypermind-proto/schemas/namespace_founding_attest.cddl +0 -0
  504. {hypermind-2.4.0 → hypermind-2.4.2}/rust/crates/hypermind-proto/schemas/namespace_invite.cddl +0 -0
  505. {hypermind-2.4.0 → hypermind-2.4.2}/rust/crates/hypermind-proto/schemas/wire-v0.1.cddl +0 -0
  506. {hypermind-2.4.0 → hypermind-2.4.2}/rust/crates/hypermind-proto/src/anti_entropy.rs +0 -0
  507. {hypermind-2.4.0 → hypermind-2.4.2}/rust/crates/hypermind-proto/src/cbor.rs +0 -0
  508. {hypermind-2.4.0 → hypermind-2.4.2}/rust/crates/hypermind-proto/src/dispute.rs +0 -0
  509. {hypermind-2.4.0 → hypermind-2.4.2}/rust/crates/hypermind-proto/src/domain.rs +0 -0
  510. {hypermind-2.4.0 → hypermind-2.4.2}/rust/crates/hypermind-proto/src/frost.rs +0 -0
  511. {hypermind-2.4.0 → hypermind-2.4.2}/rust/crates/hypermind-proto/src/hlc.rs +0 -0
  512. {hypermind-2.4.0 → hypermind-2.4.2}/rust/crates/hypermind-proto/src/lib.rs +0 -0
  513. {hypermind-2.4.0 → hypermind-2.4.2}/rust/crates/hypermind-proto/src/reputation.rs +0 -0
  514. {hypermind-2.4.0 → hypermind-2.4.2}/rust/crates/hypermind-proto/src/signing.rs +0 -0
  515. {hypermind-2.4.0 → hypermind-2.4.2}/rust/crates/hypermind-proto/src/transport.rs +0 -0
  516. {hypermind-2.4.0 → hypermind-2.4.2}/rust/crates/hypermind-proto/src/wire.rs +0 -0
  517. {hypermind-2.4.0 → hypermind-2.4.2}/rust/crates/hypermind-proto/tests/conformance_frost.rs +0 -0
  518. {hypermind-2.4.0 → hypermind-2.4.2}/rust/crates/hypermind-proto/tests/conformance_reputation_dispute.rs +0 -0
  519. {hypermind-2.4.0 → hypermind-2.4.2}/rust/crates/hypermind-proto/tests/conformance_wire.rs +0 -0
  520. {hypermind-2.4.0 → hypermind-2.4.2}/rust/crates/hypermind-proto/tests/proptest_roundtrip.rs +0 -0
  521. {hypermind-2.4.0 → hypermind-2.4.2}/scripts/e2e/README.md +0 -0
  522. {hypermind-2.4.0 → hypermind-2.4.2}/scripts/e2e/e2e_features_test.py +0 -0
  523. {hypermind-2.4.0 → hypermind-2.4.2}/scripts/e2e/e2e_mcp_sequential.py +0 -0
  524. {hypermind-2.4.0 → hypermind-2.4.2}/scripts/e2e/e2e_mcp_test.py +0 -0
  525. {hypermind-2.4.0 → hypermind-2.4.2}/scripts/sync_version.py +0 -0
  526. {hypermind-2.4.0 → hypermind-2.4.2}/src/hmctl/__init__.py +0 -0
  527. {hypermind-2.4.0 → hypermind-2.4.2}/src/hmctl/cli.py +0 -0
  528. {hypermind-2.4.0 → hypermind-2.4.2}/src/hmctl/dashboard.py +0 -0
  529. {hypermind-2.4.0 → hypermind-2.4.2}/src/hmctl/envfile.py +0 -0
  530. {hypermind-2.4.0 → hypermind-2.4.2}/src/hmctl/eval_cmd.py +0 -0
  531. {hypermind-2.4.0 → hypermind-2.4.2}/src/hmctl/orgs_cmd.py +0 -0
  532. {hypermind-2.4.0 → hypermind-2.4.2}/src/hmctl/setup_cmd.py +0 -0
  533. {hypermind-2.4.0 → hypermind-2.4.2}/src/hmctl/show_cmd.py +0 -0
  534. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/__init__.py +0 -0
  535. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/agent_card.py +0 -0
  536. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/api/__init__.py +0 -0
  537. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/api/app.py +0 -0
  538. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/cap_revocation.py +0 -0
  539. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/capability.py +0 -0
  540. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/config.py +0 -0
  541. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/consult.py +0 -0
  542. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/consult_bias.py +0 -0
  543. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/contract_net.py +0 -0
  544. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/crypto/__init__.py +0 -0
  545. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/crypto/cose_encrypt.py +0 -0
  546. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/crypto/dkg.py +0 -0
  547. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/crypto/domain.py +0 -0
  548. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/crypto/frost.py +0 -0
  549. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/crypto/hashing.py +0 -0
  550. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/crypto/hlc.py +0 -0
  551. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/crypto/hpke.py +0 -0
  552. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/crypto/kms.py +0 -0
  553. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/crypto/namespace_root.py +0 -0
  554. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/crypto/pq.py +0 -0
  555. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/crypto/room_epoch.py +0 -0
  556. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/crypto/signing.py +0 -0
  557. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/dataset.py +0 -0
  558. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/deliberation.py +0 -0
  559. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/did_web.py +0 -0
  560. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/dispute.py +0 -0
  561. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/domains/__init__.py +0 -0
  562. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/domains/defense.py +0 -0
  563. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/domains/legal.py +0 -0
  564. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/domains/medical.py +0 -0
  565. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/errors.py +0 -0
  566. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/eval/__init__.py +0 -0
  567. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/eval/calibration.py +0 -0
  568. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/eval/comparison.py +0 -0
  569. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/eval/composite.py +0 -0
  570. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/eval/dispute_bench.py +0 -0
  571. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/eval/replay.py +0 -0
  572. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/eval/report.py +0 -0
  573. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/eval/suite.py +0 -0
  574. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/eval/swarm_iq.py +0 -0
  575. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/ingest.py +0 -0
  576. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/integrations/__init__.py +0 -0
  577. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/integrations/autogen.py +0 -0
  578. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/integrations/client.py +0 -0
  579. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/integrations/contradiction.py +0 -0
  580. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/integrations/crewai.py +0 -0
  581. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/integrations/evolution.py +0 -0
  582. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/integrations/federation_manager.py +0 -0
  583. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/integrations/freshness.py +0 -0
  584. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/integrations/hooks.py +0 -0
  585. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/integrations/langchain.py +0 -0
  586. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/integrations/llamaindex.py +0 -0
  587. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/integrations/loop.py +0 -0
  588. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/integrations/mcp_tools.py +0 -0
  589. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/integrations/notifier.py +0 -0
  590. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/integrations/openai_agents.py +0 -0
  591. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/integrations/openai_endpoint.py +0 -0
  592. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/integrations/openai_shapes.py +0 -0
  593. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/integrations/population.py +0 -0
  594. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/integrations/quickstart.py +0 -0
  595. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/integrations/research.py +0 -0
  596. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/integrations/sse.py +0 -0
  597. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/integrations/startup.py +0 -0
  598. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/integrations/topic_clustering.py +0 -0
  599. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/integrations/webhook_server.py +0 -0
  600. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/integrations/working_memory.py +0 -0
  601. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/knowledge/__init__.py +0 -0
  602. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/knowledge/citation_graph.py +0 -0
  603. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/knowledge/correlated_agreement.py +0 -0
  604. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/knowledge/embedding_registry.py +0 -0
  605. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/knowledge/kernel_store.py +0 -0
  606. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/knowledge/rekor.py +0 -0
  607. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/knowledge/reputation.py +0 -0
  608. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/knowledge/reputation_store.py +0 -0
  609. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/knowledge/swarm_memory.py +0 -0
  610. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/knowledge/transparency.py +0 -0
  611. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/machine.py +0 -0
  612. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/mcp/__init__.py +0 -0
  613. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/mcp/bridge.py +0 -0
  614. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/mcp/client.py +0 -0
  615. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/mcp/provenance.py +0 -0
  616. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/mcp/relata_tools.py +0 -0
  617. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/mcp/server.py +0 -0
  618. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/mcp/transport.py +0 -0
  619. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/mind/__init__.py +0 -0
  620. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/mind/active.py +0 -0
  621. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/mind/belief.py +0 -0
  622. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/mind/deliberator.py +0 -0
  623. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/mind/diversity.py +0 -0
  624. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/mind/epistemic_transfer.py +0 -0
  625. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/mind/evolve.py +0 -0
  626. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/mind/federation.py +0 -0
  627. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/mind/fitness.py +0 -0
  628. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/mind/goals.py +0 -0
  629. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/mind/grounding_gaps.py +0 -0
  630. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/mind/integration.py +0 -0
  631. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/mind/mediator.py +0 -0
  632. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/mind/memory_store.py +0 -0
  633. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/mind/metacognition.py +0 -0
  634. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/mind/niche.py +0 -0
  635. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/mind/policy.py +0 -0
  636. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/mind/records.py +0 -0
  637. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/mind/roles.py +0 -0
  638. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/mind/selfplay.py +0 -0
  639. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/mind/skills.py +0 -0
  640. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/mind/sybil_guard.py +0 -0
  641. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/mind/world_model.py +0 -0
  642. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/moa/__init__.py +0 -0
  643. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/moa/aggregate.py +0 -0
  644. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/moa/benchmark.py +0 -0
  645. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/moa/codeexec.py +0 -0
  646. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/moa/costs.py +0 -0
  647. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/moa/digest.py +0 -0
  648. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/moa/federation.py +0 -0
  649. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/moa/gaps.py +0 -0
  650. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/moa/learn.py +0 -0
  651. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/moa/model.py +0 -0
  652. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/moa/orchestration_evolution.py +0 -0
  653. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/moa/population.py +0 -0
  654. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/moa/propose.py +0 -0
  655. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/moa/readiness.py +0 -0
  656. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/moa/refine.py +0 -0
  657. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/moa/reproducibility.py +0 -0
  658. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/moa/serve.py +0 -0
  659. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/moa/verifiability.py +0 -0
  660. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/namespace.py +0 -0
  661. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/namespace_policy.py +0 -0
  662. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/observability/__init__.py +0 -0
  663. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/observability/asgi.py +0 -0
  664. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/observability/cost.py +0 -0
  665. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/observability/health.py +0 -0
  666. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/observability/logging_config.py +0 -0
  667. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/observability/metrics.py +0 -0
  668. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/observability/otel_export.py +0 -0
  669. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/observability/recorder.py +0 -0
  670. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/observability/sample_efficiency.py +0 -0
  671. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/observability/silent_failures.py +0 -0
  672. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/observability/swarm_trace.py +0 -0
  673. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/__init__.py +0 -0
  674. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/adversarial_gate.py +0 -0
  675. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/analysis.py +0 -0
  676. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/anchor.py +0 -0
  677. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/charter.py +0 -0
  678. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/coevolution.py +0 -0
  679. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/context.py +0 -0
  680. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/corpus.py +0 -0
  681. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/decomposition_search.py +0 -0
  682. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/deliberate.py +0 -0
  683. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/distributed/__init__.py +0 -0
  684. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/distributed/__main__.py +0 -0
  685. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/distributed/coordinator.py +0 -0
  686. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/distributed/planning.py +0 -0
  687. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/distributed/protocol.py +0 -0
  688. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/distributed/provision.py +0 -0
  689. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/distributed/serde.py +0 -0
  690. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/distributed/worker.py +0 -0
  691. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/entities.py +0 -0
  692. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/evidence.py +0 -0
  693. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/experiment.py +0 -0
  694. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/graph_export.py +0 -0
  695. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/groundtruth.py +0 -0
  696. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/hypothesis.py +0 -0
  697. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/integrity_monitor.py +0 -0
  698. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/interaction.py +0 -0
  699. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/intervention.py +0 -0
  700. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/mcp_config.py +0 -0
  701. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/metrics.py +0 -0
  702. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/model.py +0 -0
  703. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/patterns.py +0 -0
  704. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/prompts.py +0 -0
  705. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/quality.py +0 -0
  706. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/query.py +0 -0
  707. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/receipt.py +0 -0
  708. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/refine.py +0 -0
  709. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/replay.py +0 -0
  710. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/report.py +0 -0
  711. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/retrieval.py +0 -0
  712. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/server.py +0 -0
  713. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/sim.py +0 -0
  714. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/source_ranking.py +0 -0
  715. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/strategies.py +0 -0
  716. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/stream.py +0 -0
  717. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/subdecompose.py +0 -0
  718. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/templates/__init__.py +0 -0
  719. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/think.py +0 -0
  720. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/tool_providers.py +0 -0
  721. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/tools.py +0 -0
  722. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/web_capture.py +0 -0
  723. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/orgs/web_crawl.py +0 -0
  724. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/pin_policy.py +0 -0
  725. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/profiles.py +0 -0
  726. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/py.typed +0 -0
  727. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/responders/__init__.py +0 -0
  728. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/responders/anthropic.py +0 -0
  729. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/responders/base.py +0 -0
  730. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/responders/cache.py +0 -0
  731. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/responders/openai.py +0 -0
  732. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/responders/router.py +0 -0
  733. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/responders/structured.py +0 -0
  734. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/responders/tools.py +0 -0
  735. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/revocation.py +0 -0
  736. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/rule_ids.py +0 -0
  737. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/schemas/encrypted_statement.cddl +0 -0
  738. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/schemas/namespace_accept.cddl +0 -0
  739. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/schemas/namespace_create.cddl +0 -0
  740. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/schemas/namespace_founding_attest.cddl +0 -0
  741. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/schemas/namespace_invite.cddl +0 -0
  742. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/schemas/wire-v0.1.cddl +0 -0
  743. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/security/__init__.py +0 -0
  744. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/security/prompt_guard.py +0 -0
  745. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/__init__.py +0 -0
  746. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/_persona_registry.py +0 -0
  747. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/_scenario_impl.py +0 -0
  748. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/app.py +0 -0
  749. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/backends/__init__.py +0 -0
  750. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/backends/anchor.py +0 -0
  751. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/backends/local.py +0 -0
  752. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/backends/server.py +0 -0
  753. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/cli_command.py +0 -0
  754. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/config.py +0 -0
  755. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/deployment.py +0 -0
  756. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/knowledge.py +0 -0
  757. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/learning.py +0 -0
  758. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/modes/__init__.py +0 -0
  759. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/modes/_eval_real_llm.py +0 -0
  760. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/modes/aar.py +0 -0
  761. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/modes/backtest.py +0 -0
  762. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/modes/binary_forecast.py +0 -0
  763. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/modes/conformance.py +0 -0
  764. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/modes/evaluation.py +0 -0
  765. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/modes/governance.py +0 -0
  766. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/modes/redteam.py +0 -0
  767. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/modes/tabletop.py +0 -0
  768. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/modes/tournament.py +0 -0
  769. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/modes/whatif.py +0 -0
  770. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/namespace.py +0 -0
  771. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/personas.py +0 -0
  772. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/prompt_generator.py +0 -0
  773. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/question_sets/geopolitics_q20.json +0 -0
  774. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/question_sets/governance_q5.json +0 -0
  775. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/question_sets/msft_outlook_q10.json +0 -0
  776. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/question_sets/whatif_q3.json +0 -0
  777. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/registry.py +0 -0
  778. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/runner.py +0 -0
  779. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/scenario.py +0 -0
  780. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/swarms.py +0 -0
  781. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/tool_handlers/__init__.py +0 -0
  782. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/tool_handlers/alpha_vantage.py +0 -0
  783. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/tool_handlers/brave.py +0 -0
  784. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/tool_handlers/newsapi.py +0 -0
  785. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/tool_handlers/openweather.py +0 -0
  786. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/tool_handlers/pinecone.py +0 -0
  787. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/tool_handlers/qdrant.py +0 -0
  788. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/tool_handlers/query_knowledge_base.py +0 -0
  789. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/tool_handlers/relata_recall.py +0 -0
  790. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/tool_handlers/retrieve_document.py +0 -0
  791. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/tool_handlers/serper.py +0 -0
  792. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/tool_handlers/tavily.py +0 -0
  793. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/tool_handlers/weaviate.py +0 -0
  794. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/tool_handlers/wikipedia.py +0 -0
  795. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/tool_handlers/wolfram.py +0 -0
  796. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/tool_handlers/yahoo_finance.py +0 -0
  797. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/tool_registry.py +0 -0
  798. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/topic_adapter.py +0 -0
  799. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/simlab/topic_questions.py +0 -0
  800. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/skill_signing.py +0 -0
  801. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/storage/__init__.py +0 -0
  802. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/storage/backend.py +0 -0
  803. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/storage/s3_backup.py +0 -0
  804. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/storage/sqlite.py +0 -0
  805. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/storage/tenancy.py +0 -0
  806. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/sync.py +0 -0
  807. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/tal.py +0 -0
  808. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/tal_wire.py +0 -0
  809. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/tasks.py +0 -0
  810. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/testing.py +0 -0
  811. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/tools/__init__.py +0 -0
  812. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/tools/registry.py +0 -0
  813. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/transport/__init__.py +0 -0
  814. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/transport/anti_entropy.py +0 -0
  815. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/transport/bus.py +0 -0
  816. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/transport/cap_revoke_gossip.py +0 -0
  817. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/transport/knows_delta.py +0 -0
  818. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/transport/libp2p.py +0 -0
  819. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/transport/placement.py +0 -0
  820. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/transport/tcp.py +0 -0
  821. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/transport/tls_profile.py +0 -0
  822. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/types.py +0 -0
  823. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/uncertainty.py +0 -0
  824. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/viz/__init__.py +0 -0
  825. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/viz/server.py +0 -0
  826. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/wire.py +0 -0
  827. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/workflow/__init__.py +0 -0
  828. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/workflow/engine.py +0 -0
  829. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/workflow/plan.py +0 -0
  830. {hypermind-2.4.0 → hypermind-2.4.2}/src/hypermind/workflow/repair.py +0 -0
  831. {hypermind-2.4.0 → hypermind-2.4.2}/tests/__init__.py +0 -0
  832. {hypermind-2.4.0 → hypermind-2.4.2}/tests/api/__init__.py +0 -0
  833. {hypermind-2.4.0 → hypermind-2.4.2}/tests/api/test_eval_endpoints.py +0 -0
  834. {hypermind-2.4.0 → hypermind-2.4.2}/tests/api/test_events_stream.py +0 -0
  835. {hypermind-2.4.0 → hypermind-2.4.2}/tests/api/test_management_app.py +0 -0
  836. {hypermind-2.4.0 → hypermind-2.4.2}/tests/chaos/__init__.py +0 -0
  837. {hypermind-2.4.0 → hypermind-2.4.2}/tests/chaos/test_gossip_amplification.py +0 -0
  838. {hypermind-2.4.0 → hypermind-2.4.2}/tests/chaos/test_kill_agent_during_rfp.py +0 -0
  839. {hypermind-2.4.0 → hypermind-2.4.2}/tests/chaos/test_partition_during_workflow.py +0 -0
  840. {hypermind-2.4.0 → hypermind-2.4.2}/tests/chaos/test_slow_consumer_backpressure.py +0 -0
  841. {hypermind-2.4.0 → hypermind-2.4.2}/tests/chaos/test_slow_peer.py +0 -0
  842. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/__init__.py +0 -0
  843. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/generate_vectors.py +0 -0
  844. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/generate_z66.py +0 -0
  845. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/SIGNING.md +0 -0
  846. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/agent-card-01.json +0 -0
  847. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/agent-card-02.json +0 -0
  848. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/capability-01.json +0 -0
  849. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/capability-02.json +0 -0
  850. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/capability-03.json +0 -0
  851. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/dispute-01.json +0 -0
  852. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/dispute-02.json +0 -0
  853. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/dispute-03.json +0 -0
  854. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/dispute-04.json +0 -0
  855. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/dispute-05.json +0 -0
  856. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/frost-01.json +0 -0
  857. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/frost-02.json +0 -0
  858. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/frost-03.json +0 -0
  859. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/knows-delta-01.json +0 -0
  860. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/knows-delta-02.json +0 -0
  861. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/mcp-prov-01.json +0 -0
  862. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/mcp-prov-02.json +0 -0
  863. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/merkle-01.json +0 -0
  864. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/merkle-02.json +0 -0
  865. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/merkle-03.json +0 -0
  866. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/merkle-04.json +0 -0
  867. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/rep-decay-01.json +0 -0
  868. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/reputation-kernel-01.json +0 -0
  869. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/reputation-kernel-02.json +0 -0
  870. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/revocation-01.json +0 -0
  871. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/revocation-02.json +0 -0
  872. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/revocation-03.json +0 -0
  873. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/task-01.json +0 -0
  874. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/task-02.json +0 -0
  875. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/trace-01.json +0 -0
  876. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/trace-02.json +0 -0
  877. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/wire-envelope-01.json +0 -0
  878. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/wire-envelope-02.json +0 -0
  879. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/wire-envelope-03.json +0 -0
  880. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/wire-envelope-04.json +0 -0
  881. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conformance/vectors/wire-envelope-05.json +0 -0
  882. {hypermind-2.4.0 → hypermind-2.4.2}/tests/conftest.py +0 -0
  883. {hypermind-2.4.0 → hypermind-2.4.2}/tests/harness/__init__.py +0 -0
  884. {hypermind-2.4.0 → hypermind-2.4.2}/tests/harness/conftest.py +0 -0
  885. {hypermind-2.4.0 → hypermind-2.4.2}/tests/harness/test_assertion_library.py +0 -0
  886. {hypermind-2.4.0 → hypermind-2.4.2}/tests/harness/test_autonomous_evolution.py +0 -0
  887. {hypermind-2.4.0 → hypermind-2.4.2}/tests/harness/test_runner_lifecycle.py +0 -0
  888. {hypermind-2.4.0 → hypermind-2.4.2}/tests/harness/test_threat_intel_harness.py +0 -0
  889. {hypermind-2.4.0 → hypermind-2.4.2}/tests/helpers/tcp_gossip_interop_peer.py +0 -0
  890. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integration/__init__.py +0 -0
  891. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integration/test_relata_server.py +0 -0
  892. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integration/test_tool_calling_e2e.py +0 -0
  893. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/__init__.py +0 -0
  894. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_895_904_hm_calibration_feedback.py +0 -0
  895. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_989_kernel_fact_curation_tick.py +0 -0
  896. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_all_mcp_tools.py +0 -0
  897. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_autogen.py +0 -0
  898. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_autonomous.py +0 -0
  899. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_c1_gene_pool.py +0 -0
  900. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_c2_archive.py +0 -0
  901. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_crewai.py +0 -0
  902. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_datasys_hm_related_sqli.py +0 -0
  903. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_env_vars_cmd.py +0 -0
  904. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_evolution.py +0 -0
  905. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_facade.py +0 -0
  906. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_fixes_525_526_527.py +0 -0
  907. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_hooks.py +0 -0
  908. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_langchain.py +0 -0
  909. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_llamaindex.py +0 -0
  910. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_local_mode.py +0 -0
  911. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_loop_logging.py +0 -0
  912. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_loop_persistence.py +0 -0
  913. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_mcp_desktop.py +0 -0
  914. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_mcp_tool_descriptions.py +0 -0
  915. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_mcp_tools.py +0 -0
  916. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_moa_adoption_971.py +0 -0
  917. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_no_duplicate_subscriptions.py +0 -0
  918. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_notifier.py +0 -0
  919. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_openai_agents.py +0 -0
  920. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_openai_endpoint.py +0 -0
  921. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_openai_endpoint_moa.py +0 -0
  922. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_openai_shapes.py +0 -0
  923. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_otel_serve_wiring.py +0 -0
  924. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_population_checkpoint_v2.py +0 -0
  925. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_population_tools.py +0 -0
  926. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_quickstart.py +0 -0
  927. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_research_mcp_shared_client.py +0 -0
  928. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_research_tool.py +0 -0
  929. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_retrieve_author_field.py +0 -0
  930. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_sse.py +0 -0
  931. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_startup_wiring.py +0 -0
  932. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_verifiable_rag.py +0 -0
  933. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_verify_v160_tools.py +0 -0
  934. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_webhook_server.py +0 -0
  935. {hypermind-2.4.0 → hypermind-2.4.2}/tests/integrations/test_working_memory_atomic_flush.py +0 -0
  936. {hypermind-2.4.0 → hypermind-2.4.2}/tests/mcp/__init__.py +0 -0
  937. {hypermind-2.4.0 → hypermind-2.4.2}/tests/mcp/test_multi_connection.py +0 -0
  938. {hypermind-2.4.0 → hypermind-2.4.2}/tests/mind/__init__.py +0 -0
  939. {hypermind-2.4.0 → hypermind-2.4.2}/tests/mind/test_940_sybil_cluster_detection.py +0 -0
  940. {hypermind-2.4.0 → hypermind-2.4.2}/tests/mind/test_c3_goal_tool_loop.py +0 -0
  941. {hypermind-2.4.0 → hypermind-2.4.2}/tests/mind/test_deliberator_logging.py +0 -0
  942. {hypermind-2.4.0 → hypermind-2.4.2}/tests/mind/test_deliberator_otel_tick.py +0 -0
  943. {hypermind-2.4.0 → hypermind-2.4.2}/tests/mind/test_deliberator_save_learning_nonblocking.py +0 -0
  944. {hypermind-2.4.0 → hypermind-2.4.2}/tests/mind/test_deliberator_sybil_guard_default.py +0 -0
  945. {hypermind-2.4.0 → hypermind-2.4.2}/tests/mind/test_mind_assign_role.py +0 -0
  946. {hypermind-2.4.0 → hypermind-2.4.2}/tests/mind/test_mind_memory_bounds.py +0 -0
  947. {hypermind-2.4.0 → hypermind-2.4.2}/tests/mind/test_mind_research_antiherd.py +0 -0
  948. {hypermind-2.4.0 → hypermind-2.4.2}/tests/mind/test_selfplay.py +0 -0
  949. {hypermind-2.4.0 → hypermind-2.4.2}/tests/mind/test_skill_learning_pipeline.py +0 -0
  950. {hypermind-2.4.0 → hypermind-2.4.2}/tests/moa/__init__.py +0 -0
  951. {hypermind-2.4.0 → hypermind-2.4.2}/tests/moa/conftest.py +0 -0
  952. {hypermind-2.4.0 → hypermind-2.4.2}/tests/moa/test_aggregate.py +0 -0
  953. {hypermind-2.4.0 → hypermind-2.4.2}/tests/moa/test_benchmark.py +0 -0
  954. {hypermind-2.4.0 → hypermind-2.4.2}/tests/moa/test_bounds.py +0 -0
  955. {hypermind-2.4.0 → hypermind-2.4.2}/tests/moa/test_codeexec.py +0 -0
  956. {hypermind-2.4.0 → hypermind-2.4.2}/tests/moa/test_convergence_and_confidence.py +0 -0
  957. {hypermind-2.4.0 → hypermind-2.4.2}/tests/moa/test_digest.py +0 -0
  958. {hypermind-2.4.0 → hypermind-2.4.2}/tests/moa/test_federation.py +0 -0
  959. {hypermind-2.4.0 → hypermind-2.4.2}/tests/moa/test_health_gap_wiring.py +0 -0
  960. {hypermind-2.4.0 → hypermind-2.4.2}/tests/moa/test_learn.py +0 -0
  961. {hypermind-2.4.0 → hypermind-2.4.2}/tests/moa/test_model.py +0 -0
  962. {hypermind-2.4.0 → hypermind-2.4.2}/tests/moa/test_model_tiering.py +0 -0
  963. {hypermind-2.4.0 → hypermind-2.4.2}/tests/moa/test_orchestration_evolution.py +0 -0
  964. {hypermind-2.4.0 → hypermind-2.4.2}/tests/moa/test_population.py +0 -0
  965. {hypermind-2.4.0 → hypermind-2.4.2}/tests/moa/test_profile_wiring.py +0 -0
  966. {hypermind-2.4.0 → hypermind-2.4.2}/tests/moa/test_propose.py +0 -0
  967. {hypermind-2.4.0 → hypermind-2.4.2}/tests/moa/test_readiness.py +0 -0
  968. {hypermind-2.4.0 → hypermind-2.4.2}/tests/moa/test_readiness_gate.py +0 -0
  969. {hypermind-2.4.0 → hypermind-2.4.2}/tests/moa/test_refine.py +0 -0
  970. {hypermind-2.4.0 → hypermind-2.4.2}/tests/moa/test_reproducibility.py +0 -0
  971. {hypermind-2.4.0 → hypermind-2.4.2}/tests/moa/test_serve.py +0 -0
  972. {hypermind-2.4.0 → hypermind-2.4.2}/tests/moa/test_verifiability.py +0 -0
  973. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/_fakes.py +0 -0
  974. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_1004_sqlite_backend_parity.py +0 -0
  975. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_1005_breadth_cap_and_tiebreak.py +0 -0
  976. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_1008_select_experts_finding_truncation.py +0 -0
  977. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_1019_auto_ingest_manifest_wiring.py +0 -0
  978. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_1021_research_probe_gate.py +0 -0
  979. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_847_intent_routing.py +0 -0
  980. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_852_auto_ingest.py +0 -0
  981. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_854_local_vector_retrieval.py +0 -0
  982. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_855_consensus_protocol.py +0 -0
  983. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_857_swarm_iq_feedback.py +0 -0
  984. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_859_pattern_detection.py +0 -0
  985. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_864_auto_distill.py +0 -0
  986. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_891_self_directed_research.py +0 -0
  987. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_892_902_dynamic_team_formation.py +0 -0
  988. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_939_select_experts_real_reputation.py +0 -0
  989. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_940_retrieval_clusters_dynamic_seats.py +0 -0
  990. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_975_checkpoint_resume.py +0 -0
  991. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_987_select_experts_recency_dispute.py +0 -0
  992. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_a1_prediction_gating.py +0 -0
  993. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_a2_oracle_anchoring.py +0 -0
  994. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_adversarial.py +0 -0
  995. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_adversarial_gate.py +0 -0
  996. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_analysis.py +0 -0
  997. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_anchor.py +0 -0
  998. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_b1_source_credibility.py +0 -0
  999. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_b4_evidence_quality.py +0 -0
  1000. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_c5_coevolution_wiring.py +0 -0
  1001. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_c5_loop_wiring.py +0 -0
  1002. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_coevolution.py +0 -0
  1003. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_coevolution_s3_backup.py +0 -0
  1004. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_concurrency.py +0 -0
  1005. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_context.py +0 -0
  1006. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_convergence.py +0 -0
  1007. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_corpus.py +0 -0
  1008. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_cross_shard.py +0 -0
  1009. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_datasys_selfreflector_wiring.py +0 -0
  1010. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_decomposition_search.py +0 -0
  1011. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_deliberator.py +0 -0
  1012. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_distributed.py +0 -0
  1013. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_embeddings.py +0 -0
  1014. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_entities.py +0 -0
  1015. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_evidence.py +0 -0
  1016. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_evidence_gate.py +0 -0
  1017. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_experiment.py +0 -0
  1018. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_fact_merge.py +0 -0
  1019. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_graph_export.py +0 -0
  1020. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_graph_retrieval.py +0 -0
  1021. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_grounding_contradiction.py +0 -0
  1022. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_grounding_verification.py +0 -0
  1023. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_groundtruth.py +0 -0
  1024. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_hybrid_retriever.py +0 -0
  1025. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_hypothesis.py +0 -0
  1026. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_integrity_monitor.py +0 -0
  1027. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_interaction.py +0 -0
  1028. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_intervention.py +0 -0
  1029. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_learned_fact_provenance.py +0 -0
  1030. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_lightweight.py +0 -0
  1031. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_mcp_config.py +0 -0
  1032. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_metrics.py +0 -0
  1033. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_model.py +0 -0
  1034. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_ner.py +0 -0
  1035. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_panel_herding.py +0 -0
  1036. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_persist_identities.py +0 -0
  1037. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_prompts.py +0 -0
  1038. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_provider_cache.py +0 -0
  1039. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_publish_atomicity.py +0 -0
  1040. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_quality.py +0 -0
  1041. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_quality_and_contradiction_wiring.py +0 -0
  1042. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_query.py +0 -0
  1043. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_rag.py +0 -0
  1044. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_receipt.py +0 -0
  1045. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_refine.py +0 -0
  1046. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_refuted_claim_retrieval.py +0 -0
  1047. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_replay.py +0 -0
  1048. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_report.py +0 -0
  1049. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_response_cache_wiring.py +0 -0
  1050. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_scale.py +0 -0
  1051. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_select_experts_relevance.py +0 -0
  1052. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_sim.py +0 -0
  1053. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_sim_events.py +0 -0
  1054. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_source_ranking.py +0 -0
  1055. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_ssrf_redirect.py +0 -0
  1056. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_strategies.py +0 -0
  1057. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_stream.py +0 -0
  1058. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_stream_query.py +0 -0
  1059. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_subdecompose.py +0 -0
  1060. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_templates.py +0 -0
  1061. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_think.py +0 -0
  1062. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_tool_outcomes_bias.py +0 -0
  1063. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_tool_providers.py +0 -0
  1064. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_tool_traces.py +0 -0
  1065. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_tools.py +0 -0
  1066. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_web_capture.py +0 -0
  1067. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_web_crawl.py +0 -0
  1068. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgs/test_zero_retrieval_abstention.py +0 -0
  1069. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/__init__.py +0 -0
  1070. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/test_gap_33_fixes.py +0 -0
  1071. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/test_gap_34_fixes.py +0 -0
  1072. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/test_gap_35_fixes.py +0 -0
  1073. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/test_gap_36_fixes.py +0 -0
  1074. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/test_gap_37_fixes.py +0 -0
  1075. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/test_gap_38_fixes.py +0 -0
  1076. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/test_gap_39_fixes.py +0 -0
  1077. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/test_gap_39b_fixes.py +0 -0
  1078. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/test_gap_40_fixes.py +0 -0
  1079. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/test_gap_41_fixes.py +0 -0
  1080. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/test_gap_42_fixes.py +0 -0
  1081. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/test_gap_46_fixes.py +0 -0
  1082. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/test_gap_47_fixes.py +0 -0
  1083. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/test_gap_48_fixes.py +0 -0
  1084. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/test_gap_49_fixes.py +0 -0
  1085. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/test_gap_50_fixes.py +0 -0
  1086. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/test_gap_50_runtime.py +0 -0
  1087. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/test_gap_50b_runtime.py +0 -0
  1088. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/test_gap_51_fixes.py +0 -0
  1089. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/test_gap_52_fixes.py +0 -0
  1090. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/test_gap_c_fixes.py +0 -0
  1091. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/test_gap_rt001_cross_run_facts.py +0 -0
  1092. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/test_gap_rt002_brier_e2e.py +0 -0
  1093. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/test_gap_rt005_done_condition.py +0 -0
  1094. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/test_gap_rt006_checkpoint_resume.py +0 -0
  1095. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/test_gap_rt007_skill_promotion.py +0 -0
  1096. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/test_gap_rt_cite_rep.py +0 -0
  1097. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/test_gap_rt_dispute_fsm.py +0 -0
  1098. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/test_gap_rt_done_factories.py +0 -0
  1099. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/test_gap_rt_wire9_evidence.py +0 -0
  1100. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/test_orgsim_observability.py +0 -0
  1101. {hypermind-2.4.0 → hypermind-2.4.2}/tests/orgsim/test_orgsim_persona_evolution.py +0 -0
  1102. {hypermind-2.4.0 → hypermind-2.4.2}/tests/responders/__init__.py +0 -0
  1103. {hypermind-2.4.0 → hypermind-2.4.2}/tests/responders/test_responders.py +0 -0
  1104. {hypermind-2.4.0 → hypermind-2.4.2}/tests/responders/test_router.py +0 -0
  1105. {hypermind-2.4.0 → hypermind-2.4.2}/tests/responders/test_structured_response.py +0 -0
  1106. {hypermind-2.4.0 → hypermind-2.4.2}/tests/responders/test_tools.py +0 -0
  1107. {hypermind-2.4.0 → hypermind-2.4.2}/tests/review/__init__.py +0 -0
  1108. {hypermind-2.4.0 → hypermind-2.4.2}/tests/review/test_agents_parser.py +0 -0
  1109. {hypermind-2.4.0 → hypermind-2.4.2}/tests/review/test_models.py +0 -0
  1110. {hypermind-2.4.0 → hypermind-2.4.2}/tests/review/test_runner.py +0 -0
  1111. {hypermind-2.4.0 → hypermind-2.4.2}/tests/simlab/__init__.py +0 -0
  1112. {hypermind-2.4.0 → hypermind-2.4.2}/tests/simlab/conftest.py +0 -0
  1113. {hypermind-2.4.0 → hypermind-2.4.2}/tests/simlab/test_app_endpoints.py +0 -0
  1114. {hypermind-2.4.0 → hypermind-2.4.2}/tests/simlab/test_knowledge.py +0 -0
  1115. {hypermind-2.4.0 → hypermind-2.4.2}/tests/simlab/test_knowledge_reuse.py +0 -0
  1116. {hypermind-2.4.0 → hypermind-2.4.2}/tests/simlab/test_modes_aar.py +0 -0
  1117. {hypermind-2.4.0 → hypermind-2.4.2}/tests/simlab/test_modes_backtest.py +0 -0
  1118. {hypermind-2.4.0 → hypermind-2.4.2}/tests/simlab/test_modes_conformance.py +0 -0
  1119. {hypermind-2.4.0 → hypermind-2.4.2}/tests/simlab/test_modes_evaluation.py +0 -0
  1120. {hypermind-2.4.0 → hypermind-2.4.2}/tests/simlab/test_modes_governance.py +0 -0
  1121. {hypermind-2.4.0 → hypermind-2.4.2}/tests/simlab/test_modes_redteam.py +0 -0
  1122. {hypermind-2.4.0 → hypermind-2.4.2}/tests/simlab/test_modes_tabletop.py +0 -0
  1123. {hypermind-2.4.0 → hypermind-2.4.2}/tests/simlab/test_modes_tournament.py +0 -0
  1124. {hypermind-2.4.0 → hypermind-2.4.2}/tests/simlab/test_modes_whatif.py +0 -0
  1125. {hypermind-2.4.0 → hypermind-2.4.2}/tests/simlab/test_personas.py +0 -0
  1126. {hypermind-2.4.0 → hypermind-2.4.2}/tests/simlab/test_personas_endpoints.py +0 -0
  1127. {hypermind-2.4.0 → hypermind-2.4.2}/tests/simlab/test_recorder_scoping.py +0 -0
  1128. {hypermind-2.4.0 → hypermind-2.4.2}/tests/simlab/test_registry.py +0 -0
  1129. {hypermind-2.4.0 → hypermind-2.4.2}/tests/simlab/test_resolve_outcomes.py +0 -0
  1130. {hypermind-2.4.0 → hypermind-2.4.2}/tests/simlab/test_responder_timeout.py +0 -0
  1131. {hypermind-2.4.0 → hypermind-2.4.2}/tests/simlab/test_runner.py +0 -0
  1132. {hypermind-2.4.0 → hypermind-2.4.2}/tests/simlab/test_swarms.py +0 -0
  1133. {hypermind-2.4.0 → hypermind-2.4.2}/tests/storage/__init__.py +0 -0
  1134. {hypermind-2.4.0 → hypermind-2.4.2}/tests/storage/test_1019_document_ingest_backends.py +0 -0
  1135. {hypermind-2.4.0 → hypermind-2.4.2}/tests/storage/test_s3_backup.py +0 -0
  1136. {hypermind-2.4.0 → hypermind-2.4.2}/tests/storage/test_sqlite_backend.py +0 -0
  1137. {hypermind-2.4.0 → hypermind-2.4.2}/tests/storage/test_tenancy.py +0 -0
  1138. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_1019_document_ingest_manifest.py +0 -0
  1139. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_848_ingest_formats.py +0 -0
  1140. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_853_849_skill_composition_and_templates.py +0 -0
  1141. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_865_federated_skill_exchange.py +0 -0
  1142. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_866_niche_construction.py +0 -0
  1143. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_867_epistemic_transfer.py +0 -0
  1144. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_868_red_team_role.py +0 -0
  1145. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_869_metacognition.py +0 -0
  1146. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_880_weighted_retention.py +0 -0
  1147. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_884_silent_degraded_modes.py +0 -0
  1148. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_891_grounding_gap_tracker.py +0 -0
  1149. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_892_902_eigentrust.py +0 -0
  1150. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_894_903_sealed_lattice.py +0 -0
  1151. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_895_904_evolve_and_calibration_feedback.py +0 -0
  1152. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_896_905_policy_as_dispute.py +0 -0
  1153. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_900_850_skill_versioning_and_synthesis_quality_gate.py +0 -0
  1154. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_910_911_prompt_budget_and_recency.py +0 -0
  1155. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_914_storage_integrity.py +0 -0
  1156. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_918_sqlite_fts.py +0 -0
  1157. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_921_prompt_guard.py +0 -0
  1158. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_922_skill_auto_demote.py +0 -0
  1159. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_923_skill_local_persistence.py +0 -0
  1160. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_946_degenerate_score_fallback.py +0 -0
  1161. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_974_consult_knowledge_injection.py +0 -0
  1162. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_a4_reputation_persistence.py +0 -0
  1163. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_active_multi_step.py +0 -0
  1164. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_agent_card.py +0 -0
  1165. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_agent_e2e.py +0 -0
  1166. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_agent_edge.py +0 -0
  1167. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_agent_synthesize.py +0 -0
  1168. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_anthropic_responder_caching.py +0 -0
  1169. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_anti_entropy.py +0 -0
  1170. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_anti_entropy_multiround.py +0 -0
  1171. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_anti_entropy_selfheal.py +0 -0
  1172. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_appendix_z_conformance.py +0 -0
  1173. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_appendix_z_vectors.py +0 -0
  1174. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_arg_dag_edge_types.py +0 -0
  1175. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_assessment_fixes_config_and_diversity.py +0 -0
  1176. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_auto_model.py +0 -0
  1177. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_b2_hybrid_rank_fusion.py +0 -0
  1178. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_b3_routing_and_cache.py +0 -0
  1179. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_backpressure.py +0 -0
  1180. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_belief_revision.py +0 -0
  1181. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_belief_weight_per_candidate.py +0 -0
  1182. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_bias_detector.py +0 -0
  1183. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_block_reason.py +0 -0
  1184. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_c4_silent_failures.py +0 -0
  1185. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_calibration.py +0 -0
  1186. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_cap_revoke_gossip.py +0 -0
  1187. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_capability.py +0 -0
  1188. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_capability_canonical.py +0 -0
  1189. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_capability_chain.py +0 -0
  1190. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_capability_edge.py +0 -0
  1191. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_capability_enforcement.py +0 -0
  1192. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_capability_namespace_caveat.py +0 -0
  1193. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_capability_revocation.py +0 -0
  1194. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_citation_graph.py +0 -0
  1195. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_cli.py +0 -0
  1196. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_cli_agent_goal_fixes.py +0 -0
  1197. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_cli_doctor_ledger.py +0 -0
  1198. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_cli_interop.py +0 -0
  1199. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_cli_mcp_install.py +0 -0
  1200. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_cli_moa.py +0 -0
  1201. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_cli_orgs.py +0 -0
  1202. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_cli_setup.py +0 -0
  1203. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_cli_show.py +0 -0
  1204. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_composite_lamps_prefix.py +0 -0
  1205. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_consult.py +0 -0
  1206. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_consult_stream.py +0 -0
  1207. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_consult_stream_t4.py +0 -0
  1208. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_contract_net_disputed_award.py +0 -0
  1209. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_contract_net_frost_award.py +0 -0
  1210. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_contract_net_happy.py +0 -0
  1211. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_contract_net_reputation_scoring.py +0 -0
  1212. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_contract_net_sybil_filter.py +0 -0
  1213. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_correlated_agreement.py +0 -0
  1214. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_cose_encrypt_roundtrip.py +0 -0
  1215. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_cost_tracker.py +0 -0
  1216. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_cross_namespace_consult.py +0 -0
  1217. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_crypto.py +0 -0
  1218. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_dashboard.py +0 -0
  1219. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_dataset.py +0 -0
  1220. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_datasys_atomic_loop_state.py +0 -0
  1221. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_datasys_brier_feedback_wired.py +0 -0
  1222. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_datasys_brier_no_self_assess_in_research.py +0 -0
  1223. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_datasys_citation_dedup.py +0 -0
  1224. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_datasys_claim_length_bound.py +0 -0
  1225. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_datasys_confidence_range_check.py +0 -0
  1226. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_datasys_deliberator_research_dedup.py +0 -0
  1227. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_datasys_deliberator_stop_persistence.py +0 -0
  1228. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_datasys_hm_ingest_sandbox.py +0 -0
  1229. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_datasys_hypothesis_propose_empty_reasoning.py +0 -0
  1230. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_datasys_job_ttl.py +0 -0
  1231. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_datasys_loop_security.py +0 -0
  1232. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_datasys_oracle_audit_export.py +0 -0
  1233. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_datasys_oracle_resolve_rep_signal_fallback.py +0 -0
  1234. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_datasys_orgsim_run_forever_candidate_question.py +0 -0
  1235. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_datasys_panel_size_cap.py +0 -0
  1236. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_datasys_reputation_persistence_on_close.py +0 -0
  1237. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_datasys_rounds_cap.py +0 -0
  1238. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_datasys_storage_write_failure_observability.py +0 -0
  1239. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_deliberation.py +0 -0
  1240. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_deliberator_cap.py +0 -0
  1241. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_deliberator_observe.py +0 -0
  1242. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_deliberator_parallel_tick.py +0 -0
  1243. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_deploy_mcp_http_gateway.py +0 -0
  1244. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_determinism_corpus.py +0 -0
  1245. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_dispute.py +0 -0
  1246. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_dispute_close_deliberator_notify.py +0 -0
  1247. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_dispute_fsm_full.py +0 -0
  1248. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_dispute_mediate.py +0 -0
  1249. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_dispute_quorum.py +0 -0
  1250. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_dispute_retrieval_decay.py +0 -0
  1251. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_dispute_suspended.py +0 -0
  1252. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_dissent.py +0 -0
  1253. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_diversity_guard_synthesize.py +0 -0
  1254. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_diversity_guard_synthesize_jaccard.py +0 -0
  1255. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_diversity_quorum.py +0 -0
  1256. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_dkg.py +0 -0
  1257. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_e2e_fictional_story.py +0 -0
  1258. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_e2e_research_chain.py +0 -0
  1259. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_embedding_registry.py +0 -0
  1260. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_engine_cross_process_behaviors.py +0 -0
  1261. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_envfile.py +0 -0
  1262. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_eval_comparison.py +0 -0
  1263. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_eval_suite.py +0 -0
  1264. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_evolution_gaps.py +0 -0
  1265. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_examples_runnable.py +0 -0
  1266. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_final_coverage.py +0 -0
  1267. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_frost.py +0 -0
  1268. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_frost_edge.py +0 -0
  1269. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_frost_hedged_nonces.py +0 -0
  1270. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_frost_persistence.py +0 -0
  1271. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_frost_rust_interop.py +0 -0
  1272. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_frost_transcript_store_swap.py +0 -0
  1273. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_health_consumer.py +0 -0
  1274. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_hlc_clock_source.py +0 -0
  1275. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_hpke_vectors.py +0 -0
  1276. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_info_gain_routing.py +0 -0
  1277. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_issue_355_brier_apply_after_research.py +0 -0
  1278. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_issue_356_run_cycle_findings_key.py +0 -0
  1279. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_issue_357_relata_kernel_query_rows.py +0 -0
  1280. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_issue_359_deliberator_stop_on_teardown.py +0 -0
  1281. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_issue_360_curriculum_assign_called.py +0 -0
  1282. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_issue_487_loop_deliberator_observe.py +0 -0
  1283. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_issue_491_run_cycle_error_logging.py +0 -0
  1284. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_issue_492_oracle_resolve_fsm_sequence.py +0 -0
  1285. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_kernel_store.py +0 -0
  1286. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_kernel_store_bitemporal_and_citation.py +0 -0
  1287. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_kernel_store_remote.py +0 -0
  1288. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_knows_delta.py +0 -0
  1289. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_lamps_oid_canonical.py +0 -0
  1290. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_last_lines.py +0 -0
  1291. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_learning_retention.py +0 -0
  1292. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_libp2p_peer_id.py +0 -0
  1293. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_libp2p_scaffold.py +0 -0
  1294. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_libp2p_stub.py +0 -0
  1295. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_machine_identity.py +0 -0
  1296. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_mcp_bridge.py +0 -0
  1297. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_mcp_gap_fixes.py +0 -0
  1298. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_mcp_provenance.py +0 -0
  1299. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_mcp_tools_list.py +0 -0
  1300. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_mcp_transport.py +0 -0
  1301. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_merkle_transparency.py +0 -0
  1302. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_mind_active.py +0 -0
  1303. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_mind_assign_role.py +0 -0
  1304. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_mind_auto_relay_research.py +0 -0
  1305. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_mind_deliberator.py +0 -0
  1306. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_mind_diversity_sybil_mediator.py +0 -0
  1307. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_mind_evolve.py +0 -0
  1308. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_mind_goal_handle.py +0 -0
  1309. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_mind_goal_queue_bounds.py +0 -0
  1310. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_mind_goals_policy.py +0 -0
  1311. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_mind_learning_persistence.py +0 -0
  1312. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_mind_planner_wiring.py +0 -0
  1313. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_mind_records.py +0 -0
  1314. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_mind_research_antiherd.py +0 -0
  1315. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_mind_research_brier.py +0 -0
  1316. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_mind_research_ledger.py +0 -0
  1317. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_mind_research_memory.py +0 -0
  1318. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_mind_roles.py +0 -0
  1319. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_mind_world_model.py +0 -0
  1320. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_mind_world_model_priority.py +0 -0
  1321. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_misc_edge.py +0 -0
  1322. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_mldsa_rust_interop.py +0 -0
  1323. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_mtls_profile.py +0 -0
  1324. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_namespace_lifecycle.py +0 -0
  1325. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_namespace_policy.py +0 -0
  1326. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_namespace_policy_acl.py +0 -0
  1327. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_observability_asgi.py +0 -0
  1328. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_observability_issues_350_351_352.py +0 -0
  1329. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_observability_otel.py +0 -0
  1330. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_open_factory.py +0 -0
  1331. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_oracle_backprop.py +0 -0
  1332. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_oracle_resolve_closes_dispute.py +0 -0
  1333. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_oracle_resolve_events.py +0 -0
  1334. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_orgs_cmd_hypermind_home.py +0 -0
  1335. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_orgs_replay_reputation.py +0 -0
  1336. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_orgsim_kernel_store_persist.py +0 -0
  1337. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_orgsim_persona_evolution.py +0 -0
  1338. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_orgsim_persona_ticking.py +0 -0
  1339. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_otel_export.py +0 -0
  1340. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_pin_policy.py +0 -0
  1341. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_pin_policy_compose_zero.py +0 -0
  1342. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_placement_consistent_hash.py +0 -0
  1343. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_placement_hint.py +0 -0
  1344. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_plan_dag.py +0 -0
  1345. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_plan_repair.py +0 -0
  1346. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_portable_inclusion_proof.py +0 -0
  1347. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_pq_default.py +0 -0
  1348. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_pq_dual_vendor.py +0 -0
  1349. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_pq_signing.py +0 -0
  1350. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_priv_ns_conformance_coverage.py +0 -0
  1351. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_profiles.py +0 -0
  1352. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_property_based.py +0 -0
  1353. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_protocol_version.py +0 -0
  1354. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_public_surface_v05.py +0 -0
  1355. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_pursue_workflow.py +0 -0
  1356. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_rate_caveat.py +0 -0
  1357. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_recorder_bounded.py +0 -0
  1358. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_recorder_tail.py +0 -0
  1359. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_reference_verifier_v2.py +0 -0
  1360. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_rekor_client.py +0 -0
  1361. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_rekor_downgrade.py +0 -0
  1362. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_relata_author_hex.py +0 -0
  1363. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_relata_grounding.py +0 -0
  1364. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_relata_hybrid_search.py +0 -0
  1365. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_relata_memory_store.py +0 -0
  1366. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_relata_tools.py +0 -0
  1367. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_remaining_gaps.py +0 -0
  1368. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_replay.py +0 -0
  1369. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_reputation.py +0 -0
  1370. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_reputation_concurrency.py +0 -0
  1371. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_reputation_memory.py +0 -0
  1372. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_reputation_staleness.py +0 -0
  1373. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_reputation_weighted_slashing.py +0 -0
  1374. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_research_tool_gateway.py +0 -0
  1375. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_review_fixes.py +0 -0
  1376. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_revocation.py +0 -0
  1377. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_revocation_lifecycle.py +0 -0
  1378. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_room_epoch.py +0 -0
  1379. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_sample_efficiency.py +0 -0
  1380. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_schema_hash_pinned.py +0 -0
  1381. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_secret_redaction.py +0 -0
  1382. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_security_regressions_495_490_493_494.py +0 -0
  1383. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_self_heal_cycle1.py +0 -0
  1384. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_self_heal_cycle2.py +0 -0
  1385. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_self_heal_cycle3.py +0 -0
  1386. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_self_heal_cycle3_cascade_isolate.py +0 -0
  1387. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_self_heal_cycle3_governance.py +0 -0
  1388. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_self_heal_cycle4.py +0 -0
  1389. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_self_heal_cycle4_deliberator_broadcast.py +0 -0
  1390. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_self_heal_cycle5.py +0 -0
  1391. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_self_heal_cycle6.py +0 -0
  1392. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_self_heal_cycle6_security_hardening.py +0 -0
  1393. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_signer_protocol.py +0 -0
  1394. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_skill_registry.py +0 -0
  1395. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_sqlite_vector_hybrid.py +0 -0
  1396. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_sth_cross_gossip.py +0 -0
  1397. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_swarm_iq.py +0 -0
  1398. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_swarm_iq_at_scale.py +0 -0
  1399. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_swarm_iq_recommend.py +0 -0
  1400. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_swarm_memory.py +0 -0
  1401. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_swarm_memory_federation.py +0 -0
  1402. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_swarm_trace.py +0 -0
  1403. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_swarm_vector_overflow.py +0 -0
  1404. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_sybil_guard_consult.py +0 -0
  1405. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_sync_agent.py +0 -0
  1406. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_tal.py +0 -0
  1407. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_tal_decay_hlc_wallclock.py +0 -0
  1408. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_tal_decay_wired.py +0 -0
  1409. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_tal_wire.py +0 -0
  1410. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_task_execution.py +0 -0
  1411. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_task_handle.py +0 -0
  1412. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_task_handle_network.py +0 -0
  1413. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_tcp_duplicate_kid_attack.py +0 -0
  1414. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_tcp_edge.py +0 -0
  1415. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_tcp_federation.py +0 -0
  1416. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_tcp_final.py +0 -0
  1417. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_tcp_read_loop_cleanup.py +0 -0
  1418. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_tcp_transport.py +0 -0
  1419. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_tcp_transport_rust_interop.py +0 -0
  1420. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_theory_of_mind.py +0 -0
  1421. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_transport.py +0 -0
  1422. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_transport_scale_gaps.py +0 -0
  1423. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_two_impl_interop.py +0 -0
  1424. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_uncertainty.py +0 -0
  1425. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_uncertainty_edge.py +0 -0
  1426. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_verify_brier_research_not_self_referential.py +0 -0
  1427. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_verify_build_mcp_server_no_loop.py +0 -0
  1428. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_verify_deliberator_posteriors_hydrated.py +0 -0
  1429. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_verify_hypothesis_book_oracle_resolve.py +0 -0
  1430. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_verify_self_reflector_topic_kwarg.py +0 -0
  1431. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_wire.py +0 -0
  1432. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_wire_edge_cases.py +0 -0
  1433. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_wire_kid_stability.py +0 -0
  1434. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_wire_p3.py +0 -0
  1435. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_wire_v2.py +0 -0
  1436. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_wire_version.py +0 -0
  1437. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_witness_preimage_length_prefix.py +0 -0
  1438. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_workflow_compensation.py +0 -0
  1439. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_workflow_engine.py +0 -0
  1440. {hypermind-2.4.0 → hypermind-2.4.2}/tests/test_workflow_replay.py +0 -0
  1441. {hypermind-2.4.0 → hypermind-2.4.2}/tests/usecases/__init__.py +0 -0
  1442. {hypermind-2.4.0 → hypermind-2.4.2}/tests/usecases/conftest.py +0 -0
  1443. {hypermind-2.4.0 → hypermind-2.4.2}/tests/usecases/test_ai_01_fed_benchmark.py +0 -0
  1444. {hypermind-2.4.0 → hypermind-2.4.2}/tests/usecases/test_ai_alignment_redteam.py +0 -0
  1445. {hypermind-2.4.0 → hypermind-2.4.2}/tests/usecases/test_cy_05_ir_swarm.py +0 -0
  1446. {hypermind-2.4.0 → hypermind-2.4.2}/tests/usecases/test_cy_11_ransomware_intel.py +0 -0
  1447. {hypermind-2.4.0 → hypermind-2.4.2}/tests/usecases/test_ed_credentials.py +0 -0
  1448. {hypermind-2.4.0 → hypermind-2.4.2}/tests/usecases/test_en_grid_coordinate.py +0 -0
  1449. {hypermind-2.4.0 → hypermind-2.4.2}/tests/usecases/test_fi_04_bsa_314b.py +0 -0
  1450. {hypermind-2.4.0 → hypermind-2.4.2}/tests/usecases/test_fi_22_ma_dataroom.py +0 -0
  1451. {hypermind-2.4.0 → hypermind-2.4.2}/tests/usecases/test_gv_01_intel_sharing.py +0 -0
  1452. {hypermind-2.4.0 → hypermind-2.4.2}/tests/usecases/test_gv_21_red_team.py +0 -0
  1453. {hypermind-2.4.0 → hypermind-2.4.2}/tests/usecases/test_hc_06_rare_disease.py +0 -0
  1454. {hypermind-2.4.0 → hypermind-2.4.2}/tests/usecases/test_hc_21_fed_learning.py +0 -0
  1455. {hypermind-2.4.0 → hypermind-2.4.2}/tests/usecases/test_lg_ediscovery.py +0 -0
  1456. {hypermind-2.4.0 → hypermind-2.4.2}/tests/usecases/test_mf_supply_chain.py +0 -0
  1457. {hypermind-2.4.0 → hypermind-2.4.2}/tests/viz/test_server.py +0 -0
  1458. {hypermind-2.4.0 → hypermind-2.4.2}/transport-rust/Cargo.toml +0 -0
  1459. {hypermind-2.4.0 → hypermind-2.4.2}/transport-rust/README.md +0 -0
  1460. {hypermind-2.4.0 → hypermind-2.4.2}/transport-rust/pyproject.toml +0 -0
  1461. {hypermind-2.4.0 → hypermind-2.4.2}/transport-rust/src/lib.rs +0 -0
  1462. {hypermind-2.4.0 → hypermind-2.4.2}/uv.lock +0 -0
  1463. {hypermind-2.4.0 → hypermind-2.4.2}/vercel.json +0 -0
  1464. {hypermind-2.4.0 → hypermind-2.4.2}/webui/index.html +0 -0
  1465. {hypermind-2.4.0 → hypermind-2.4.2}/webui/package-lock.json +0 -0
  1466. {hypermind-2.4.0 → hypermind-2.4.2}/webui/package.json +0 -0
  1467. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/App.vue +0 -0
  1468. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/api/client.ts +0 -0
  1469. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/components/ActivityCanvas.vue +0 -0
  1470. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/components/AgentContribution.vue +0 -0
  1471. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/components/BrierHeatmap.vue +0 -0
  1472. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/components/CIQTrajectory.vue +0 -0
  1473. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/components/CitationGraph.vue +0 -0
  1474. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/components/DisputeTimeline.vue +0 -0
  1475. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/components/DissentList.vue +0 -0
  1476. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/components/Logo.vue +0 -0
  1477. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/components/NowAsking.vue +0 -0
  1478. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/components/PersonaRadar.vue +0 -0
  1479. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/components/PopulationGenerator.vue +0 -0
  1480. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/components/Term.vue +0 -0
  1481. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/components/forms/SchemaForm.vue +0 -0
  1482. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/components/result/AARTimeline.vue +0 -0
  1483. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/components/result/BacktestScorecard.vue +0 -0
  1484. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/components/result/ConformanceReport.vue +0 -0
  1485. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/components/result/CrisisTabletop.vue +0 -0
  1486. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/components/result/DecisionBracket.vue +0 -0
  1487. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/components/result/EvaluationReport.vue +0 -0
  1488. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/components/result/GovernanceReceipt.vue +0 -0
  1489. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/components/result/MethodNote.vue +0 -0
  1490. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/components/result/RedTeamReport.vue +0 -0
  1491. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/components/result/ScenarioTree.vue +0 -0
  1492. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/docs/index.ts +0 -0
  1493. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/docs/render.ts +0 -0
  1494. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/main.ts +0 -0
  1495. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/router.ts +0 -0
  1496. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/stores/sims.ts +0 -0
  1497. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/styles.css +0 -0
  1498. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/types/trace.ts +0 -0
  1499. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/views/Agents.vue +0 -0
  1500. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/views/Docs.vue +0 -0
  1501. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/views/Evidence.vue +0 -0
  1502. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/views/Home.vue +0 -0
  1503. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/views/HowItWorks.vue +0 -0
  1504. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/views/Knowledge.vue +0 -0
  1505. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/views/Landing.vue +0 -0
  1506. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/views/Namespaces.vue +0 -0
  1507. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/views/Report.vue +0 -0
  1508. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/views/Security.vue +0 -0
  1509. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/views/SimCompare.vue +0 -0
  1510. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/views/SimDetail.vue +0 -0
  1511. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/views/SimList.vue +0 -0
  1512. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/views/SimLive.vue +0 -0
  1513. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/views/SimNew.vue +0 -0
  1514. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/views/Tools.vue +0 -0
  1515. {hypermind-2.4.0 → hypermind-2.4.2}/webui/src/views/UseCases.vue +0 -0
  1516. {hypermind-2.4.0 → hypermind-2.4.2}/webui/tsconfig.json +0 -0
  1517. {hypermind-2.4.0 → hypermind-2.4.2}/webui/vite.config.ts +0 -0
@@ -40,6 +40,9 @@ jobs:
40
40
  name: test (py${{ matrix.python }})
41
41
  needs: guard-source-branch
42
42
  runs-on: ubuntu-latest
43
+ # A wedged self-hosted runner would otherwise sit on the 360-min default
44
+ # (observed 2026-08-24: run tests step stalled 24+ min vs ~6 min baseline).
45
+ timeout-minutes: 25
43
46
  strategy:
44
47
  fail-fast: false
45
48
  matrix:
@@ -59,6 +62,7 @@ jobs:
59
62
  build:
60
63
  name: build sdist + wheel
61
64
  runs-on: ubuntu-latest
65
+ timeout-minutes: 15
62
66
  needs: test
63
67
  outputs:
64
68
  hashes: ${{ steps.hash.outputs.hashes }}
@@ -159,6 +163,7 @@ jobs:
159
163
  publish-pypi:
160
164
  name: publish → PyPI
161
165
  runs-on: ubuntu-latest
166
+ timeout-minutes: 15
162
167
  needs: build
163
168
  if: startsWith(github.ref, 'refs/tags/v')
164
169
  environment:
@@ -232,6 +237,7 @@ jobs:
232
237
  docker:
233
238
  name: docker — hub.docker.com/openworkbench/hypermind
234
239
  runs-on: ubuntu-latest
240
+ timeout-minutes: 45 # multi-arch (amd64+arm64) QEMU build; observed ~95s warm, ~15 min cold
235
241
  needs: build
236
242
  if: startsWith(github.ref, 'refs/tags/v')
237
243
  permissions:
@@ -14,6 +14,96 @@ changes only on major-version bumps.
14
14
 
15
15
  ## [Unreleased]
16
16
 
17
+ (nothing yet)
18
+
19
+ ## [2.4.2] — 2026-08-24
20
+
21
+ ### Fixed
22
+ All three fixes below are live-validated workarounds for relata-db 2.0.0
23
+ (build 2026-08-10) server bugs, filed upstream as
24
+ [relatadb/RelataDB#4627](https://github.com/relatadb/RelataDB/issues/4627)–[#4629](https://github.com/relatadb/RelataDB/issues/4629).
25
+
26
+ - **Relata disputes and citation counters silently lost (`/ingest` async queue).**
27
+ The relata server's single-row `upsert` endpoint (`POST /ingest`) returns an
28
+ *async task receipt* — the write only becomes query-visible when the
29
+ server's background ingest queue drains, and is dropped entirely if the
30
+ server stops first. `RelataBackend.append_dispute` and
31
+ `increment_citations` used that path, so disputes filed late in a run
32
+ vanished on restart and citation counts lagged indefinitely
33
+ (live-observed 2026-08-24). Both now route through `batch_upsert`
34
+ (`POST /ingest/bulk`), which commits synchronously — read-after-write
35
+ holds and a stop can no longer drop the write.
36
+ - **Relata reads return every bi-temporal version, not current state.**
37
+ A plain relata `SELECT` on the 2026-08-10 build returns all versions of a
38
+ row (live-observed 2026-08-24: re-appending the same kid under
39
+ `on_conflict=skip` left seq-1 and seq-2 rows, and both came back), so
40
+ restore/replay double-counted re-published claims. `load_claims` and
41
+ `load_claim_stubs` now collapse duplicates by kid (first / newest version
42
+ respectively); `load_disputes` orders by `updated_ms` so last-write-wins
43
+ keeps the latest dispute state.
44
+ - **Relata single-column `SELECT`s return 0 rows.** On the 2026-08-10
45
+ relata-db build, a single-column projection (`SELECT wire_b64 FROM HmClaim`,
46
+ `SELECT seq FROM HmClaim … LIMIT 1`) deterministically returns 0 rows while
47
+ adding any second column returns every row (live-observed 2026-08-24, same
48
+ session, same data). `load_claims` came back empty (blank `hmctl show`
49
+ canvases from Relata) and the `open()` high-water probe silently reset the
50
+ sequence counter, breaking append order across restarts. Both now project
51
+ two columns and read the one they need; the other reads were already
52
+ multi-column.
53
+
54
+ ### Deployment notes
55
+ - **macOS hosts: do not put the relata data dir on a virtiofs bind mount.**
56
+ The server's WAL-mirror sync fails continuously under virtiofs
57
+ (`ETag mismatch`) and seal-time compaction then silently loses the entire
58
+ ledger — across restarts *and* mid-session (live-observed 2026-08-24, filed
59
+ upstream as
60
+ [#4627](https://github.com/relatadb/RelataDB/issues/4627)). The Apple
61
+ `container` runtime path in hypermind-deploy's `start.sh` now runs
62
+ hm-relatadb on the container's own disk; see that repo for details and the
63
+ Docker-compose caveat.
64
+
65
+ ## [2.4.1] — 2026-08-24
66
+
67
+ ### Fixed
68
+ - **Relata read path broken by relata-db ≥2026-08-10 builds (`AS OF CURRENT`).**
69
+ Every `RelataBackend` read (`load_claims`, `load_claim_stubs`, head-seq,
70
+ recent-findings) carried a bi-temporal `AS OF CURRENT` clause; on the
71
+ 2026-08-10 server build that filter reduces `HmClaim` queries to the
72
+ table's internal sentinel rows only (live-validated 2026-08-24: 1
73
+ sentinel row returned vs 411 claims without the clause), so every
74
+ Relata-backed read — restore-on-startup, `hmctl show --relata-url`,
75
+ replay — silently came back empty. A plain `SELECT` is already
76
+ current-state semantics and works on every build; the clause is removed
77
+ from all four read sites.
78
+ - **`from_relata()` node labels.** DB-sourced canvases showed bare hex ids;
79
+ the per-author label is now harvested from the GAP-R10 claim stubs
80
+ alongside unit/role.
81
+ - **`hmctl show` community/unit mapping (org structure was invisible).**
82
+ Communities detected from cite/vouch affinity were labelled anonymously
83
+ ("community 1/2/…") and org structure (e.g. a university template's
84
+ departments) leaked into the *topic* filter instead. The canvas now:
85
+ - names each community after its members' dominant `unit` (nodes carry
86
+ `community`; `meta.communities` lists them; clusters with no unit info
87
+ keep the stable generic label);
88
+ - ships a dedicated **community filter** (`#hm-community`) across the
89
+ agents / conversation / claims panes, and the cluster legend uses the
90
+ real names;
91
+ - `from_relata()` harvests per-author unit/role from the GAP-R10 claim
92
+ stub columns, so DB-sourced canvases carry attribution without a live
93
+ world;
94
+ - `RelataBackend.append_claim()` derives `label`/`unit`/`role` from the
95
+ claim payload when the caller passes none (GAP-R10 parity for the bare
96
+ agent path — `world.persist_claim` → `append_claim(stmt)` used to
97
+ persist empty attribution for every plain `publish_claim()`).
98
+ Regression-pinned in `tests/viz/` (naming, fallback label, from_relata
99
+ enrichment, filter markup).
100
+ - **`HyperMindAgent.cite()` default-uncertainty crash.** The no-`uncertainty=`
101
+ branch built `Uncertainty(alpha=9.0, beta=1.0)` against the current
102
+ `(kind, params)` constructor, so every cite without an explicit
103
+ `Uncertainty` raised `TypeError`. Found live during tenant-onboarding
104
+ validation (2026-08-24); regression-pinned in
105
+ `tests/test_agent_cite_default.py`.
106
+
17
107
  ## [2.4.0] — 2026-08-24
18
108
 
19
109
  ### Added
@@ -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-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.
253
+ As of 2026-08-24, the SDK is at **2.4.2** 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). 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).
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). v2.4.1 (2026-08-24): drop `AS OF CURRENT` from all Relata reads (new server build returns sentinel-only). v2.4.2 (2026-08-24): three more live-validated Relata durability/correctness fixes — synchronous bulk writes for disputes/citations, ≥2-column projections (1-column SELECTs return 0 rows), bi-temporal version collapse on reads; macOS virtiofs data-loss deployment note (upstream relatadb/RelataDB#4627–#4630). 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
1
  Metadata-Version: 2.5
2
2
  Name: hypermind
3
- Version: 2.4.0
3
+ Version: 2.4.2
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
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "hypermind"
7
- version = "2.4.0"
7
+ version = "2.4.2"
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"
@@ -3173,7 +3173,7 @@ class HyperMindAgent:
3173
3173
  # Publish the citation record so it is sealed and auditable.
3174
3174
  from hypermind.uncertainty import Uncertainty as _Uncertainty
3175
3175
 
3176
- _unc = uncertainty if uncertainty is not None else _Uncertainty(alpha=9.0, beta=1.0)
3176
+ _unc = uncertainty if uncertainty is not None else _Uncertainty("beta", (9.0, 1.0))
3177
3177
  return await self.publish_claim(
3178
3178
  {
3179
3179
  "claim_type": "cite",
@@ -140,7 +140,15 @@ class RelataBackend:
140
140
  # Initialise next_seq from the high-water mark so append order survives
141
141
  # restart. Relata's SQL subset rejects COALESCE(MAX(...)); use ORDER BY
142
142
  # DESC LIMIT 1 instead (verified against the live server).
143
- rows = self._rows("SELECT seq FROM HmClaim AS OF CURRENT ORDER BY seq DESC LIMIT 1")
143
+ # NOTE: deliberately no `AS OF CURRENT` the relata-db 2026-08-10
144
+ # build's bi-temporal filter reduces `SELECT * … AS OF CURRENT` to
145
+ # the table's internal sentinel rows only (live-validated 2026-08-24:
146
+ # 1 sentinel row vs 411 claims without the clause). A plain SELECT is
147
+ # already current-state semantics, and works on every build.
148
+ # RELATA-1COL-BUG: never project a single column — `SELECT seq …`
149
+ # returns 0 rows on this build (see load_claims), which would silently
150
+ # reset the sequence counter and break append order.
151
+ rows = self._rows("SELECT id, seq FROM HmClaim ORDER BY seq DESC LIMIT 1")
144
152
  # Sentinel rows share the table and carry no seq (see load_claims).
145
153
  self._seq = (int(rows[0]["seq"]) + 1) if rows and rows[0].get("seq") is not None else 1
146
154
 
@@ -203,6 +211,14 @@ class RelataBackend:
203
211
  confidence = float(user.get("confidence", 0.7))
204
212
  if topic is None:
205
213
  topic = user.get("topic") or None
214
+ # GAP-R10 parity for the bare agent path: ``world.persist_claim``
215
+ # calls ``append_claim(stmt)`` with no attribution kwargs, which
216
+ # left label/unit/role empty for every plain ``publish_claim()``.
217
+ # Derive from the payload exactly like text/topic so DB-backed
218
+ # canvases can name communities by unit.
219
+ label = label or str(user.get("label", "") or "")
220
+ unit = unit or str(user.get("unit", "") or "")
221
+ role = role or str(user.get("role", "") or "")
206
222
  source_url = str(user.get("source_url", "") or "")
207
223
  source_type = str(user.get("source_type", "") or "")
208
224
  arxiv_id = str(user.get("arxiv_id", "") or "")
@@ -302,7 +318,10 @@ class RelataBackend:
302
318
  try:
303
319
  existing = self._obj.get("HmClaim", kid_hex) or {}
304
320
  count = int(existing.get("citations_received") or 0) + 1
305
- self._obj.upsert("HmClaim", kid_hex, {"citations_received": count})
321
+ # RELATA-ASYNC-INGEST: batch_upsert commits synchronously (see
322
+ # append_dispute) — single upsert would only queue the counter
323
+ # write and lose it on server shutdown.
324
+ self._obj.batch_upsert("HmClaim", [{"id": kid_hex, "citations_received": count}])
306
325
  except Exception as _sf_exc:
307
326
  _record_suppressed("storage.relata.increment_citations", _sf_exc)
308
327
 
@@ -321,7 +340,7 @@ class RelataBackend:
321
340
  self.flush_claims()
322
341
  # RELATA-005: include namespace column so cross-sim claim bleed is filtered.
323
342
  rows = self._rows(
324
- f"SELECT wire_b64, namespace FROM HmClaim AS OF CURRENT ORDER BY created_ms DESC LIMIT {int(max(1, limit))}"
343
+ f"SELECT wire_b64, namespace FROM HmClaim ORDER BY created_ms DESC LIMIT {int(max(1, limit))}"
325
344
  )
326
345
  _ns = self._ns
327
346
  out: list[tuple[str, str]] = []
@@ -345,12 +364,23 @@ class RelataBackend:
345
364
  from hypermind.wire import SignedStatement
346
365
 
347
366
  self.flush_claims()
348
- # SELECT * some Relata builds intermittently return a tiny subset of
349
- # rows for multi-column projections while SELECT * returns them all
350
- # (observed live 2026-08-24); read all columns and project here.
351
- rows = self._rows("SELECT * FROM HmClaim AS OF CURRENT ORDER BY seq ASC")
367
+ # RELATA-1COL-BUG: single-column projections deterministically return
368
+ # 0 rows on this build (live-observed 2026-08-24: `SELECT wire_b64 …`
369
+ # 0 rows while `SELECT id, wire_b64 …` → all rows, same session)
370
+ # always project at least two columns and read the one we need.
371
+ rows = self._rows("SELECT id, wire_b64 FROM HmClaim ORDER BY seq ASC")
352
372
  out: list[SignedStatement] = []
373
+ seen_ids: set[str] = set()
353
374
  for r in rows:
375
+ # Plain SELECT returns every bi-temporal version, not just current
376
+ # state (live-observed 2026-08-24: re-appending the same kid under
377
+ # on_conflict=skip still leaves seq 1 and seq 2 rows). Collapse to
378
+ # the first version — the original publish order.
379
+ _id = r.get("id")
380
+ if _id:
381
+ if _id in seen_ids:
382
+ continue
383
+ seen_ids.add(_id)
354
384
  wire = r.get("wire_b64")
355
385
  if not wire:
356
386
  # Server builds keep internal sentinel objects in the HmClaim
@@ -367,42 +397,67 @@ class RelataBackend:
367
397
  survives restarts without a full CBOR decode.
368
398
  """
369
399
  self.flush_claims()
370
- rows = self._rows("SELECT * FROM HmClaim AS OF CURRENT ORDER BY seq DESC")
371
- return [
372
- {
373
- "kid_hex": r.get("id", ""),
374
- "author_hex": r.get("author_hex", ""),
375
- "label": r.get("label", ""),
376
- "unit": r.get("unit", ""),
377
- "role": r.get("role", ""),
378
- "confidence": float(r.get("confidence") or 0.7),
379
- "finding": str(r.get("text") or ""),
380
- "evidenced": bool(r.get("evidenced")),
381
- "topic": r.get("topic", ""),
382
- }
383
- for r in rows[:limit]
384
- ]
400
+ # ≥2-column projection (1-col SELECTs return 0 rows see load_claims).
401
+ # Rows are seq DESC → first row per id is the newest version; collapse
402
+ # the bi-temporal duplicates.
403
+ rows = self._rows(
404
+ "SELECT id, author_hex, label, unit, role, confidence, "
405
+ "text, evidenced, topic FROM HmClaim ORDER BY seq DESC"
406
+ )
407
+ stubs: list[dict[str, Any]] = []
408
+ seen: set[str] = set()
409
+ for r in rows:
410
+ kid_hex = r.get("id") or ""
411
+ if kid_hex in seen:
412
+ continue
413
+ seen.add(kid_hex)
414
+ stubs.append(
415
+ {
416
+ "kid_hex": kid_hex,
417
+ "author_hex": r.get("author_hex", ""),
418
+ "label": r.get("label", ""),
419
+ "unit": r.get("unit", ""),
420
+ "role": r.get("role", ""),
421
+ "confidence": float(r.get("confidence") or 0.7),
422
+ "finding": str(r.get("text") or ""),
423
+ "evidenced": bool(r.get("evidenced")),
424
+ "topic": r.get("topic", ""),
425
+ }
426
+ )
427
+ if len(stubs) >= limit:
428
+ break
429
+ return stubs
385
430
 
386
431
  # ---- Disputes (upsert by claim kid) ---------------------------------
387
432
 
388
433
  def append_dispute(self, kid: Kid, dispute: Dispute) -> None:
389
434
  payload = _dispute_to_cbor(dispute)
390
- self._obj.upsert(
435
+ kid_hex = bytes(kid).hex()
436
+ # RELATA-ASYNC-INGEST: the single-row `upsert` (`POST /ingest`) returns
437
+ # an async task receipt (rows_queued/task_id) — the write only becomes
438
+ # query-visible when the server's background ingest queue drains, and
439
+ # is LOST if the server stops first (live-observed 2026-08-24: seeded
440
+ # disputes vanished on container restart). `/ingest/bulk`
441
+ # (batch_upsert) commits synchronously, so route the one-row write
442
+ # through it — read-after-write holds and shutdown can't drop it.
443
+ self._obj.batch_upsert(
391
444
  "HmDispute",
392
- bytes(kid).hex(),
393
- {
394
- "claim_kid": bytes(kid).hex(),
395
- "payload_b64": base64.b64encode(payload).decode("ascii"),
396
- "updated_ms": int(time.time() * 1000),
397
- },
445
+ [
446
+ {
447
+ "id": kid_hex,
448
+ "claim_kid": kid_hex,
449
+ "payload_b64": base64.b64encode(payload).decode("ascii"),
450
+ "updated_ms": int(time.time() * 1000),
451
+ }
452
+ ],
398
453
  )
399
454
 
400
455
  def load_disputes(self) -> dict[Kid, Dispute]:
401
456
  out: dict[bytes, Dispute] = {}
402
- # SELECT * some Relata builds return 0 rows for a multi-column
403
- # projection on HmDispute while SELECT * returns the same rows
404
- # (observed live 2026-08-24); read all columns and project here.
405
- for r in self._rows("SELECT * FROM HmDispute"):
457
+ # explicit ≥2-column projection (see load_claims). Plain SELECT
458
+ # returns every bi-temporal version; ordered ASC by updated_ms so the
459
+ # dict's last-write-wins keeps the LATEST dispute state per kid.
460
+ for r in self._rows("SELECT claim_kid, payload_b64 FROM HmDispute ORDER BY updated_ms ASC"):
406
461
  try:
407
462
  out[bytes.fromhex(r["claim_kid"])] = _cbor_to_dispute(
408
463
  base64.b64decode(r["payload_b64"])
@@ -300,6 +300,7 @@ def render_canvas_html(
300
300
  <div class="filters" id="hm-filters">
301
301
  <input id="hm-search" type="search" placeholder="Search agents, findings, reasons…" autocomplete="off">
302
302
  <select id="hm-topic" aria-label="filter by topic"><option value="">all topics</option></select>
303
+ <select id="hm-community" aria-label="filter by community"><option value="">all communities</option></select>
303
304
  <label class="toggle"><input type="checkbox" checked data-edge="cites"><span class="key cites"></span>cites</label>
304
305
  <label class="toggle"><input type="checkbox" checked data-edge="vouches"><span class="key vouches"></span>vouches</label>
305
306
  <label class="toggle"><input type="checkbox" checked data-edge="disputes"><span class="key disputes"></span>disputes</label>
@@ -538,7 +539,7 @@ _JS = """
538
539
  function edgeColor(t) { return (EDGE_COLOR[t] || OTHER)[dark ? 1 : 0]; }
539
540
 
540
541
  // ---- state ----------------------------------------------------------
541
- var state = { tab: 'graph', search: '', topic: '', edgeTypes: { cites: true, vouches: true, disputes: true }, cursor: 0, sort: { key: null, dir: 1 } };
542
+ var state = { tab: 'graph', search: '', topic: '', community: '', edgeTypes: { cites: true, vouches: true, disputes: true }, cursor: 0, sort: { key: null, dir: 1 } };
542
543
 
543
544
  var nodeById = {};
544
545
  var clusterColor = {}, clusterLabel = {};
@@ -553,9 +554,17 @@ _JS = """
553
554
  var sizes = {};
554
555
  nodes.forEach(function (n) { var c = n.cluster == null ? 0 : n.cluster; sizes[c] = (sizes[c] || 0) + 1; });
555
556
  var order = Object.keys(sizes).sort(function (a, b) { return sizes[b] - sizes[a] || (+a) - (+b); });
557
+ // Prefer the backend-provided community name (dominant unit of the
558
+ // cluster's members — e.g. a university template's departments); fall
559
+ // back to the anonymous slot label when the source has no unit info.
560
+ var nameByCluster = {};
561
+ nodes.forEach(function (n) {
562
+ var c = String(n.cluster == null ? 0 : n.cluster);
563
+ if (n.community && !(c in nameByCluster)) nameByCluster[c] = n.community;
564
+ });
556
565
  clusterLabel = {};
557
566
  order.forEach(function (c, i) {
558
- clusterLabel[c] = i < CATEGORICAL.length ? 'community ' + (+c + 1) : 'other';
567
+ clusterLabel[c] = i < CATEGORICAL.length ? (nameByCluster[c] || 'community ' + (+c + 1)) : 'other';
559
568
  });
560
569
  return sizes;
561
570
  }
@@ -582,6 +591,19 @@ _JS = """
582
591
  });
583
592
  sel.value = (prevTopic === '' || topics[prevTopic]) ? prevTopic : '';
584
593
  state.topic = sel.value;
594
+ // Community filter options rebuilt the same way; a selection survives
595
+ // only if the community still exists.
596
+ var csel = document.getElementById('hm-community');
597
+ var prevCommunity = csel.value;
598
+ var communities = {};
599
+ nodes.forEach(function (n) { if (n.community) communities[n.community] = 1; });
600
+ csel.textContent = '';
601
+ var call = el('option'); call.value = ''; call.textContent = 'all communities'; csel.appendChild(call);
602
+ Object.keys(communities).sort().forEach(function (c) {
603
+ var o = el('option'); o.value = c; o.textContent = c; csel.appendChild(o);
604
+ });
605
+ csel.value = (prevCommunity === '' || communities[prevCommunity]) ? prevCommunity : '';
606
+ state.community = csel.value;
585
607
  // Tab badges + header stat tiles follow the new data.
586
608
  var counts = { agents: nodes.length, conversation: events.length, claims: claims.length, disputes: disputes.length, research: hypotheses.length + evidence.length };
587
609
  document.querySelectorAll('#hm-tabs .tab').forEach(function (b) {
@@ -610,6 +632,12 @@ _JS = """
610
632
  document.getElementById('hm-topic').addEventListener('change', function () {
611
633
  var sel = document.getElementById('hm-topic'); state.topic = sel.value; renderAll();
612
634
  });
635
+ document.getElementById('hm-community').addEventListener('change', function () {
636
+ var csel = document.getElementById('hm-community'); state.community = csel.value; renderAll();
637
+ });
638
+ // Community of an event/claim/dispute actor: falls back to '' (matches
639
+ // no community filter) when the actor isn't a known node.
640
+ function communityOf(id) { var n = nodeById[id]; return n ? (n.community || '') : ''; }
613
641
  function n_topic_scan() {
614
642
  var ts = [];
615
643
  claims.forEach(function (c) { if (c.topic) ts.push(c.topic); });
@@ -937,6 +965,7 @@ _JS = """
937
965
  var rows = nodes.filter(function (n) {
938
966
  if (visible && !visible[n.id]) return false;
939
967
  if (state.topic && !(n.reputation || {})[state.topic]) return false;
968
+ if (state.community && (n.community || '') !== state.community) return false;
940
969
  return true;
941
970
  });
942
971
  if (!rows.length) { host.appendChild(el('div', 'empty', 'no agents match the current filters')); return; }
@@ -1014,6 +1043,7 @@ _JS = """
1014
1043
  var visible = matchesSearch();
1015
1044
  var rows = events.filter(function (ev) {
1016
1045
  if (state.topic && ev.topic !== state.topic) return false;
1046
+ if (state.community && communityOf(ev.actor) !== state.community) return false;
1017
1047
  if (visible && !(ev.actor && visible[ev.actor]) && !(ev.target && visible[ev.target])) return false;
1018
1048
  if (state.search) {
1019
1049
  var hay = ((ev.text || '') + ' ' + (ev.detail || '') + ' ' + (ev.topic || '')).toLowerCase();
@@ -1064,6 +1094,7 @@ _JS = """
1064
1094
  host.textContent = '';
1065
1095
  var rows = claims.filter(function (c) {
1066
1096
  if (state.topic && c.topic !== state.topic) return false;
1097
+ if (state.community && communityOf(c.author) !== state.community) return false;
1067
1098
  if (state.search) {
1068
1099
  var hay = ((c.finding || '') + ' ' + (c.claim_type || '') + ' ' + (c.author || '') + ' ' + labelOf(c.author)).toLowerCase();
1069
1100
  if (hay.indexOf(state.search) === -1) return false;
@@ -26,6 +26,7 @@ from __future__ import annotations
26
26
 
27
27
  import base64
28
28
  import json
29
+ from collections import Counter
29
30
  from dataclasses import dataclass, field
30
31
  from typing import Any
31
32
 
@@ -116,6 +117,23 @@ def _finish(
116
117
  clusters = _detect_communities(nodes, edges)
117
118
  for node_id, cluster_id in clusters.items():
118
119
  nodes[node_id]["cluster"] = cluster_id
120
+ # Name each community by the dominant `unit` of its members so org
121
+ # structure (e.g. a university template's departments) is legible
122
+ # instead of an anonymous "community N". Interaction-derived clusters
123
+ # with no unit info keep the generic label.
124
+ unit_tally: dict[int, Counter[str]] = {}
125
+ for node in nodes.values():
126
+ unit = node.get("unit")
127
+ if unit:
128
+ unit_tally.setdefault(node["cluster"], Counter())[unit] += 1
129
+ community_names: dict[int, str] = {}
130
+ for cluster_id in set(clusters.values()):
131
+ tally = unit_tally.get(cluster_id)
132
+ community_names[cluster_id] = (
133
+ tally.most_common(1)[0][0] if tally else f"community {cluster_id + 1}"
134
+ )
135
+ for node in nodes.values():
136
+ node["community"] = community_names[node["cluster"]]
119
137
  node_list = sorted(nodes.values(), key=lambda n: n["id"])
120
138
  return NetworkSnapshot(
121
139
  nodes=node_list,
@@ -131,6 +149,7 @@ def _finish(
131
149
  "n_edges": len(edges),
132
150
  "n_events": len(events),
133
151
  "n_clusters": len(set(clusters.values())),
152
+ "communities": sorted(set(community_names.values())),
134
153
  "source": source,
135
154
  },
136
155
  )
@@ -438,11 +457,40 @@ def from_relata(url: str, *, namespace: str, token: str | None = None) -> Networ
438
457
  {"kid": kid.hex(), "topic": topic, "alpha": alpha, "beta": beta}
439
458
  for kid, topic, alpha, beta, _last_update_ms in backend.load_reputation()
440
459
  ]
460
+ stubs = backend.load_claim_stubs()
441
461
  finally:
442
462
  backend.close()
443
463
 
464
+ # Per-author attribution from the GAP-R10 claim columns: the majority
465
+ # unit/role/label across each author's claims. from_live_world gets this
466
+ # from the live agent objects; a Relata deployment only has what was
467
+ # persisted on claims — without this, DB-sourced canvases have no unit
468
+ # info (communities fall back to anonymous labels) and every node shows
469
+ # a bare hex id instead of a human label.
470
+ unit_tally: dict[str, Counter[str]] = {}
471
+ role_tally: dict[str, Counter[str]] = {}
472
+ label_tally: dict[str, Counter[str]] = {}
473
+ for s in stubs:
474
+ author = s.get("author_hex") or ""
475
+ if s.get("unit"):
476
+ unit_tally.setdefault(author, Counter())[s["unit"]] += 1
477
+ if s.get("role"):
478
+ role_tally.setdefault(author, Counter())[s["role"]] += 1
479
+ if s.get("label"):
480
+ label_tally.setdefault(author, Counter())[s["label"]] += 1
481
+ agents_meta = {
482
+ author: {
483
+ "role": role_tally[author].most_common(1)[0][0] if author in role_tally else None,
484
+ "unit": unit_tally[author].most_common(1)[0][0] if author in unit_tally else None,
485
+ "label": label_tally[author].most_common(1)[0][0] if author in label_tally else None,
486
+ "namespace": namespace,
487
+ "rooms": [],
488
+ }
489
+ for author in set(role_tally) | set(unit_tally) | set(label_tally)
490
+ }
491
+
444
492
  return _build_from_native(
445
- agents_meta={},
493
+ agents_meta=agents_meta,
446
494
  sealed=sealed,
447
495
  disputes=disputes,
448
496
  rep_rows=rep_rows,
@@ -124,7 +124,9 @@ class _FakeClient:
124
124
  return _FakeResult([{"seq": max(seqs)}] if seqs else [])
125
125
  if "FROM HmClaim" in sql:
126
126
  rows = sorted(objs.get("HmClaim", {}).values(), key=lambda f: f["seq"])
127
- return _FakeResult([{"wire_b64": f["wire_b64"], "seq": f["seq"]} for f in rows])
127
+ return _FakeResult(
128
+ [{"id": f["id"], "wire_b64": f["wire_b64"], "seq": f["seq"]} for f in rows]
129
+ )
128
130
  if "FROM HmDispute" in sql:
129
131
  return _FakeResult(
130
132
  [
@@ -246,6 +248,73 @@ def test_dispute_round_trip():
246
248
  b.close()
247
249
 
248
250
 
251
+ def test_reads_collapse_bi_temporal_version_duplicates(monkeypatch):
252
+ """A plain relata SELECT returns every bi-temporal version, not just
253
+ current state (live-observed 2026-08-24 on relata-db 2026-08-10:
254
+ re-appending the same kid under on_conflict=skip left seq-1 and seq-2
255
+ rows; both came back). The read paths must collapse duplicates so
256
+ restore/replay never double-counts a claim."""
257
+ from hypermind.crypto.hlc import HLC
258
+ from hypermind.crypto.signing import Keypair
259
+ from hypermind.wire import SignedStatement
260
+
261
+ b = _backend()
262
+ b.open()
263
+ kp = Keypair.generate()
264
+ stmt = SignedStatement.sign(
265
+ keypair=kp,
266
+ record_type="SEAL",
267
+ namespace_id=b"\x00" * 16,
268
+ hlc=HLC(logical_ms=1, counter=0, node_id=b"\x00" * 8),
269
+ payload=b"versioned",
270
+ )
271
+ wire = stmt.to_bytes()
272
+ import base64 as _b64
273
+
274
+ wire_b64 = _b64.b64encode(wire).decode("ascii")
275
+ kid_hex = stmt.kid.hex()
276
+
277
+ def fake_rows(sql: str):
278
+ if "ORDER BY seq ASC" in sql: # load_claims
279
+ return [
280
+ {"id": kid_hex, "wire_b64": wire_b64, "seq": 1},
281
+ {"id": kid_hex, "wire_b64": wire_b64, "seq": 2},
282
+ ]
283
+ if "ORDER BY seq DESC" in sql: # load_claim_stubs
284
+ return [
285
+ {
286
+ "id": kid_hex,
287
+ "author_hex": kp.kid.hex(),
288
+ "label": "",
289
+ "unit": "u",
290
+ "role": "",
291
+ "confidence": 0.9,
292
+ "text": "v2",
293
+ "evidenced": 0,
294
+ "topic": "t",
295
+ },
296
+ {
297
+ "id": kid_hex,
298
+ "author_hex": kp.kid.hex(),
299
+ "label": "",
300
+ "unit": "u",
301
+ "role": "",
302
+ "confidence": 0.5,
303
+ "text": "v1",
304
+ "evidenced": 0,
305
+ "topic": "t",
306
+ },
307
+ ]
308
+ return []
309
+
310
+ monkeypatch.setattr(b, "_rows", fake_rows)
311
+ assert len(b.load_claims()) == 1
312
+ stubs = b.load_claim_stubs()
313
+ assert len(stubs) == 1
314
+ assert stubs[0]["finding"] == "v2" # newest version wins
315
+ b.close()
316
+
317
+
249
318
  # --------------------------------------------------------------------------
250
319
  # Agent integration — publish persists, and a fresh backend restores
251
320
  # --------------------------------------------------------------------------
@@ -0,0 +1,24 @@
1
+ """Regression: `cite()` with no explicit uncertainty must not crash.
2
+
3
+ The default branch once built `Uncertainty(alpha=9.0, beta=1.0)` against a
4
+ constructor that takes `(kind, params)` — found live while onboarding a tenant
5
+ (2026-08-24). Every other path passed an explicit Uncertainty, so only the
6
+ default was broken.
7
+ """
8
+
9
+ from hypermind import HyperMindAgent, Uncertainty
10
+
11
+
12
+ async def test_cite_without_explicit_uncertainty_uses_beta_default() -> None:
13
+ async with HyperMindAgent.sandbox(room="cite-default") as alice:
14
+ first = await alice.publish_claim(
15
+ {"finding": "ground truth for the citation"},
16
+ uncertainty=Uncertainty.beta(7, 3),
17
+ )
18
+ second = await alice.publish_claim(
19
+ {"finding": "the citing claim"},
20
+ uncertainty=Uncertainty.beta(5, 5),
21
+ )
22
+ # No `uncertainty=` — exercises the default-branch constructor.
23
+ cite_kid = await alice.cite(second, first)
24
+ assert cite_kid.hex() != first.hex()