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