hypermind 0.22.0__tar.gz → 0.24.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (924) hide show
  1. {hypermind-0.22.0 → hypermind-0.24.0}/CHANGELOG.md +38 -1
  2. {hypermind-0.22.0 → hypermind-0.24.0}/PKG-INFO +7 -3
  3. {hypermind-0.22.0 → hypermind-0.24.0}/README.md +6 -2
  4. {hypermind-0.22.0 → hypermind-0.24.0}/examples/README.md +1 -0
  5. hypermind-0.24.0/examples/org_distributed.py +74 -0
  6. {hypermind-0.22.0 → hypermind-0.24.0}/pyproject.toml +1 -1
  7. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/__init__.py +1 -1
  8. hypermind-0.24.0/src/hypermind/orgs/distributed/__init__.py +135 -0
  9. hypermind-0.24.0/src/hypermind/orgs/distributed/__main__.py +110 -0
  10. hypermind-0.24.0/src/hypermind/orgs/distributed/coordinator.py +251 -0
  11. hypermind-0.24.0/src/hypermind/orgs/distributed/planning.py +170 -0
  12. hypermind-0.24.0/src/hypermind/orgs/distributed/protocol.py +47 -0
  13. hypermind-0.24.0/src/hypermind/orgs/distributed/provision.py +57 -0
  14. hypermind-0.24.0/src/hypermind/orgs/distributed/serde.py +71 -0
  15. hypermind-0.24.0/src/hypermind/orgs/distributed/worker.py +119 -0
  16. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/orgs/sim.py +41 -0
  17. hypermind-0.24.0/tests/orgs/test_distributed.py +566 -0
  18. {hypermind-0.22.0 → hypermind-0.24.0}/.editorconfig +0 -0
  19. {hypermind-0.22.0 → hypermind-0.24.0}/.gitattributes +0 -0
  20. {hypermind-0.22.0 → hypermind-0.24.0}/.github/FUNDING.yml +0 -0
  21. {hypermind-0.22.0 → hypermind-0.24.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  22. {hypermind-0.22.0 → hypermind-0.24.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  23. {hypermind-0.22.0 → hypermind-0.24.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  24. {hypermind-0.22.0 → hypermind-0.24.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  25. {hypermind-0.22.0 → hypermind-0.24.0}/.github/renovate.json +0 -0
  26. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows/check-license.yml +0 -0
  27. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows/code-review-pr.yml +0 -0
  28. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows/hotfix-security.yml +0 -0
  29. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows/issue-auto-fix.yml +0 -0
  30. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows/issue-triage.yml +0 -0
  31. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows/pr-standards.yml +0 -0
  32. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows/quality.yml +0 -0
  33. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows/release.yml +0 -0
  34. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows/security.yml +0 -0
  35. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows/stale.yml +0 -0
  36. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows-disabled/branch-flow-check.yml +0 -0
  37. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows-disabled/chaos.yml +0 -0
  38. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows-disabled/check-license.yml +0 -0
  39. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows-disabled/ci.yml +0 -0
  40. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows-disabled/code-freeze.yml +0 -0
  41. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows-disabled/code-review-pr.yml +0 -0
  42. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows-disabled/code-review.yml +0 -0
  43. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows-disabled/codeql.yml +0 -0
  44. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows-disabled/dco.yml +0 -0
  45. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows-disabled/docs-to-wiki.yml +0 -0
  46. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows-disabled/docs.yml +0 -0
  47. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows-disabled/formal.yml +0 -0
  48. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows-disabled/fuzz.yml +0 -0
  49. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows-disabled/hotfix-security.yml +0 -0
  50. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows-disabled/issue-auto-fix.yml +0 -0
  51. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows-disabled/issue-triage.yml +0 -0
  52. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows-disabled/merge-comment.yml +0 -0
  53. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows-disabled/pip-audit.yml +0 -0
  54. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows-disabled/pr-standards.yml +0 -0
  55. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows-disabled/quality.yml +0 -0
  56. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows-disabled/release.yml +0 -0
  57. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows-disabled/sbom.yml +0 -0
  58. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows-disabled/scorecard.yml +0 -0
  59. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows-disabled/security.yml +0 -0
  60. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows-disabled/sprint-retro.yml +0 -0
  61. {hypermind-0.22.0 → hypermind-0.24.0}/.github/workflows-disabled/stale.yml +0 -0
  62. {hypermind-0.22.0 → hypermind-0.24.0}/.gitignore +0 -0
  63. {hypermind-0.22.0 → hypermind-0.24.0}/.pre-commit-config.yaml +0 -0
  64. {hypermind-0.22.0 → hypermind-0.24.0}/.tool-versions +0 -0
  65. {hypermind-0.22.0 → hypermind-0.24.0}/CHARTER.md +0 -0
  66. {hypermind-0.22.0 → hypermind-0.24.0}/CODEOWNERS +0 -0
  67. {hypermind-0.22.0 → hypermind-0.24.0}/CODE_OF_CONDUCT.md +0 -0
  68. {hypermind-0.22.0 → hypermind-0.24.0}/CONTRIBUTING.md +0 -0
  69. {hypermind-0.22.0 → hypermind-0.24.0}/GOVERNANCE.md +0 -0
  70. {hypermind-0.22.0 → hypermind-0.24.0}/LICENSE +0 -0
  71. {hypermind-0.22.0 → hypermind-0.24.0}/MAINTAINERS.md +0 -0
  72. {hypermind-0.22.0 → hypermind-0.24.0}/Makefile +0 -0
  73. {hypermind-0.22.0 → hypermind-0.24.0}/RELATA_COMPATIBILITY.md +0 -0
  74. {hypermind-0.22.0 → hypermind-0.24.0}/RELATA_INTEGRATION_PLAN.md +0 -0
  75. {hypermind-0.22.0 → hypermind-0.24.0}/RELATA_STORAGE.md +0 -0
  76. {hypermind-0.22.0 → hypermind-0.24.0}/ROADMAP.md +0 -0
  77. {hypermind-0.22.0 → hypermind-0.24.0}/SECURITY.md +0 -0
  78. {hypermind-0.22.0 → hypermind-0.24.0}/bench/README.md +0 -0
  79. {hypermind-0.22.0 → hypermind-0.24.0}/bench/__init__.py +0 -0
  80. {hypermind-0.22.0 → hypermind-0.24.0}/bench/baselines/v0.6.json +0 -0
  81. {hypermind-0.22.0 → hypermind-0.24.0}/bench/bench_consult.py +0 -0
  82. {hypermind-0.22.0 → hypermind-0.24.0}/bench/bench_dispute.py +0 -0
  83. {hypermind-0.22.0 → hypermind-0.24.0}/bench/bench_publish.py +0 -0
  84. {hypermind-0.22.0 → hypermind-0.24.0}/bench/coordination/README.md +0 -0
  85. {hypermind-0.22.0 → hypermind-0.24.0}/bench/coordination/__init__.py +0 -0
  86. {hypermind-0.22.0 → hypermind-0.24.0}/bench/coordination/baselines/v0.10.json +0 -0
  87. {hypermind-0.22.0 → hypermind-0.24.0}/bench/coordination/bench_rfp_latency.py +0 -0
  88. {hypermind-0.22.0 → hypermind-0.24.0}/bench/coordination/bench_task_throughput.py +0 -0
  89. {hypermind-0.22.0 → hypermind-0.24.0}/bench/coordination/bench_workflow_replay.py +0 -0
  90. {hypermind-0.22.0 → hypermind-0.24.0}/bench/coordination/run_all.py +0 -0
  91. {hypermind-0.22.0 → hypermind-0.24.0}/bench/question_sets/geopolitics_q20.json +0 -0
  92. {hypermind-0.22.0 → hypermind-0.24.0}/bench/question_sets/msft_outlook_q10.json +0 -0
  93. {hypermind-0.22.0 → hypermind-0.24.0}/bench/run_bench.py +0 -0
  94. {hypermind-0.22.0 → hypermind-0.24.0}/chaos/README.md +0 -0
  95. {hypermind-0.22.0 → hypermind-0.24.0}/chaos/__init__.py +0 -0
  96. {hypermind-0.22.0 → hypermind-0.24.0}/chaos/p1_partition_recovery.py +0 -0
  97. {hypermind-0.22.0 → hypermind-0.24.0}/chaos/p2_witness_compromise.py +0 -0
  98. {hypermind-0.22.0 → hypermind-0.24.0}/chaos/p3_key_rotation.py +0 -0
  99. {hypermind-0.22.0 → hypermind-0.24.0}/chaos/p4_dispute_backlog.py +0 -0
  100. {hypermind-0.22.0 → hypermind-0.24.0}/chaos/p5_wire_cutover.py +0 -0
  101. {hypermind-0.22.0 → hypermind-0.24.0}/chaos/p6_quorum_loss.py +0 -0
  102. {hypermind-0.22.0 → hypermind-0.24.0}/chaos/p7_clock_skew.py +0 -0
  103. {hypermind-0.22.0 → hypermind-0.24.0}/chaos/p8_recorder_outage.py +0 -0
  104. {hypermind-0.22.0 → hypermind-0.24.0}/chaos/run_chaos.py +0 -0
  105. {hypermind-0.22.0 → hypermind-0.24.0}/deploy/Dockerfile +0 -0
  106. {hypermind-0.22.0 → hypermind-0.24.0}/deploy/README.md +0 -0
  107. {hypermind-0.22.0 → hypermind-0.24.0}/deploy/docker-compose.yml +0 -0
  108. {hypermind-0.22.0 → hypermind-0.24.0}/deploy/grafana/dashboards/hypermind-coordination.json +0 -0
  109. {hypermind-0.22.0 → hypermind-0.24.0}/deploy/grafana/dashboards/hypermind-v06.json +0 -0
  110. {hypermind-0.22.0 → hypermind-0.24.0}/deploy/grafana/dashboards/hypermind.json +0 -0
  111. {hypermind-0.22.0 → hypermind-0.24.0}/deploy/grafana/provisioning/dashboards/hypermind.yml +0 -0
  112. {hypermind-0.22.0 → hypermind-0.24.0}/deploy/grafana/provisioning/datasources/prometheus.yml +0 -0
  113. {hypermind-0.22.0 → hypermind-0.24.0}/deploy/k8s/hypermind-deployment.yaml +0 -0
  114. {hypermind-0.22.0 → hypermind-0.24.0}/deploy/prometheus/prometheus.yml +0 -0
  115. {hypermind-0.22.0 → hypermind-0.24.0}/deploy/systemd/hypermind.service +0 -0
  116. {hypermind-0.22.0 → hypermind-0.24.0}/docs/README.md +0 -0
  117. {hypermind-0.22.0 → hypermind-0.24.0}/docs/SIMLAB.md +0 -0
  118. {hypermind-0.22.0 → hypermind-0.24.0}/docs/SIMLAB_AUDIT_PLAN.md +0 -0
  119. {hypermind-0.22.0 → hypermind-0.24.0}/docs/_meta/glossary.md +0 -0
  120. {hypermind-0.22.0 → hypermind-0.24.0}/docs/_meta/provenance.md +0 -0
  121. {hypermind-0.22.0 → hypermind-0.24.0}/docs/_meta/public-surface.md +0 -0
  122. {hypermind-0.22.0 → hypermind-0.24.0}/docs/_meta/standards-map.md +0 -0
  123. {hypermind-0.22.0 → hypermind-0.24.0}/docs/api/agent.md +0 -0
  124. {hypermind-0.22.0 → hypermind-0.24.0}/docs/api/agent_card.md +0 -0
  125. {hypermind-0.22.0 → hypermind-0.24.0}/docs/api/capability.md +0 -0
  126. {hypermind-0.22.0 → hypermind-0.24.0}/docs/api/crypto.md +0 -0
  127. {hypermind-0.22.0 → hypermind-0.24.0}/docs/api/dispute.md +0 -0
  128. {hypermind-0.22.0 → hypermind-0.24.0}/docs/api/knowledge.md +0 -0
  129. {hypermind-0.22.0 → hypermind-0.24.0}/docs/api/observability.md +0 -0
  130. {hypermind-0.22.0 → hypermind-0.24.0}/docs/api/simlab-openapi.yaml +0 -0
  131. {hypermind-0.22.0 → hypermind-0.24.0}/docs/api/sync.md +0 -0
  132. {hypermind-0.22.0 → hypermind-0.24.0}/docs/api/tasks.md +0 -0
  133. {hypermind-0.22.0 → hypermind-0.24.0}/docs/api/transport.md +0 -0
  134. {hypermind-0.22.0 → hypermind-0.24.0}/docs/api/wire.md +0 -0
  135. {hypermind-0.22.0 → hypermind-0.24.0}/docs/architecture-v0.6.md +0 -0
  136. {hypermind-0.22.0 → hypermind-0.24.0}/docs/assets/hero-swarm.svg +0 -0
  137. {hypermind-0.22.0 → hypermind-0.24.0}/docs/audit/findings.md +0 -0
  138. {hypermind-0.22.0 → hypermind-0.24.0}/docs/audit/scope.md +0 -0
  139. {hypermind-0.22.0 → hypermind-0.24.0}/docs/concepts.md +0 -0
  140. {hypermind-0.22.0 → hypermind-0.24.0}/docs/conformance/authority.md +0 -0
  141. {hypermind-0.22.0 → hypermind-0.24.0}/docs/conformance/bake-off-report.md +0 -0
  142. {hypermind-0.22.0 → hypermind-0.24.0}/docs/conformance/mark-policy.md +0 -0
  143. {hypermind-0.22.0 → hypermind-0.24.0}/docs/decide/01-disqualifiers.md +0 -0
  144. {hypermind-0.22.0 → hypermind-0.24.0}/docs/decide/02-alternatives.md +0 -0
  145. {hypermind-0.22.0 → hypermind-0.24.0}/docs/decide/03-incentive-aligned-cases.md +0 -0
  146. {hypermind-0.22.0 → hypermind-0.24.0}/docs/decide/04-use-cases.md +0 -0
  147. {hypermind-0.22.0 → hypermind-0.24.0}/docs/design/01-architecture.md +0 -0
  148. {hypermind-0.22.0 → hypermind-0.24.0}/docs/design/02-traces.md +0 -0
  149. {hypermind-0.22.0 → hypermind-0.24.0}/docs/design/03-failure-modes.md +0 -0
  150. {hypermind-0.22.0 → hypermind-0.24.0}/docs/design/04-poisoning-defenses.md +0 -0
  151. {hypermind-0.22.0 → hypermind-0.24.0}/docs/design/05-deployment-topology.md +0 -0
  152. {hypermind-0.22.0 → hypermind-0.24.0}/docs/feature-matrix.md +0 -0
  153. {hypermind-0.22.0 → hypermind-0.24.0}/docs/getting-started.md +0 -0
  154. {hypermind-0.22.0 → hypermind-0.24.0}/docs/governance/cna.md +0 -0
  155. {hypermind-0.22.0 → hypermind-0.24.0}/docs/governance/foundation-evaluation.md +0 -0
  156. {hypermind-0.22.0 → hypermind-0.24.0}/docs/hypermind-protocol-spec.md +0 -0
  157. {hypermind-0.22.0 → hypermind-0.24.0}/docs/index.md +0 -0
  158. {hypermind-0.22.0 → hypermind-0.24.0}/docs/legal/export-classification.md +0 -0
  159. {hypermind-0.22.0 → hypermind-0.24.0}/docs/lts.md +0 -0
  160. {hypermind-0.22.0 → hypermind-0.24.0}/docs/migrate/v0.x-to-v1.0.md +0 -0
  161. {hypermind-0.22.0 → hypermind-0.24.0}/docs/migration/v0.7.md +0 -0
  162. {hypermind-0.22.0 → hypermind-0.24.0}/docs/onboarding/00-prerequisites.md +0 -0
  163. {hypermind-0.22.0 → hypermind-0.24.0}/docs/onboarding/README.md +0 -0
  164. {hypermind-0.22.0 → hypermind-0.24.0}/docs/onboarding/after.md +0 -0
  165. {hypermind-0.22.0 → hypermind-0.24.0}/docs/onboarding/exercises/e01-run-the-loop.md +0 -0
  166. {hypermind-0.22.0 → hypermind-0.24.0}/docs/onboarding/exercises/e02-draw-the-architecture.md +0 -0
  167. {hypermind-0.22.0 → hypermind-0.24.0}/docs/onboarding/exercises/e03-trace-a-claim.md +0 -0
  168. {hypermind-0.22.0 → hypermind-0.24.0}/docs/onboarding/exercises/e04-read-a-spec-section.md +0 -0
  169. {hypermind-0.22.0 → hypermind-0.24.0}/docs/onboarding/exercises/e05-break-it.md +0 -0
  170. {hypermind-0.22.0 → hypermind-0.24.0}/docs/onboarding/exercises/e06-add-a-test.md +0 -0
  171. {hypermind-0.22.0 → hypermind-0.24.0}/docs/onboarding/exercises/e07-first-pr.md +0 -0
  172. {hypermind-0.22.0 → hypermind-0.24.0}/docs/onboarding/glossary.md +0 -0
  173. {hypermind-0.22.0 → hypermind-0.24.0}/docs/onboarding/topics/00-what-is-hypermind.md +0 -0
  174. {hypermind-0.22.0 → hypermind-0.24.0}/docs/onboarding/topics/01-agents-and-swarms.md +0 -0
  175. {hypermind-0.22.0 → hypermind-0.24.0}/docs/onboarding/topics/02-architecture-tour.md +0 -0
  176. {hypermind-0.22.0 → hypermind-0.24.0}/docs/onboarding/topics/03-spec-literacy.md +0 -0
  177. {hypermind-0.22.0 → hypermind-0.24.0}/docs/onboarding/topics/04-cryptography.md +0 -0
  178. {hypermind-0.22.0 → hypermind-0.24.0}/docs/onboarding/topics/05-cbor-cose.md +0 -0
  179. {hypermind-0.22.0 → hypermind-0.24.0}/docs/onboarding/topics/06-transparency-logs.md +0 -0
  180. {hypermind-0.22.0 → hypermind-0.24.0}/docs/onboarding/topics/07-distributed-systems.md +0 -0
  181. {hypermind-0.22.0 → hypermind-0.24.0}/docs/onboarding/topics/08-async-python.md +0 -0
  182. {hypermind-0.22.0 → hypermind-0.24.0}/docs/onboarding/topics/09-security-mindset.md +0 -0
  183. {hypermind-0.22.0 → hypermind-0.24.0}/docs/onboarding/week-1-foundations.md +0 -0
  184. {hypermind-0.22.0 → hypermind-0.24.0}/docs/onboarding/week-2-deep-dive.md +0 -0
  185. {hypermind-0.22.0 → hypermind-0.24.0}/docs/operate/01-deployment.md +0 -0
  186. {hypermind-0.22.0 → hypermind-0.24.0}/docs/operate/02-runbook.md +0 -0
  187. {hypermind-0.22.0 → hypermind-0.24.0}/docs/operate/03-resource-budget.md +0 -0
  188. {hypermind-0.22.0 → hypermind-0.24.0}/docs/operate/backup-restore.md +0 -0
  189. {hypermind-0.22.0 → hypermind-0.24.0}/docs/operate/data-residency.md +0 -0
  190. {hypermind-0.22.0 → hypermind-0.24.0}/docs/operate/key-rotation.md +0 -0
  191. {hypermind-0.22.0 → hypermind-0.24.0}/docs/operate/runbooks/dispute-backlog-drain.md +0 -0
  192. {hypermind-0.22.0 → hypermind-0.24.0}/docs/operate/runbooks/key-rotation.md +0 -0
  193. {hypermind-0.22.0 → hypermind-0.24.0}/docs/operate/runbooks/kms-rotation.md +0 -0
  194. {hypermind-0.22.0 → hypermind-0.24.0}/docs/operate/runbooks/multi-host-deploy.md +0 -0
  195. {hypermind-0.22.0 → hypermind-0.24.0}/docs/operate/runbooks/partition-heal.md +0 -0
  196. {hypermind-0.22.0 → hypermind-0.24.0}/docs/operate/runbooks/quorum-loss.md +0 -0
  197. {hypermind-0.22.0 → hypermind-0.24.0}/docs/operate/runbooks/rfp-dispute-triage.md +0 -0
  198. {hypermind-0.22.0 → hypermind-0.24.0}/docs/operate/runbooks/wire-cutover.md +0 -0
  199. {hypermind-0.22.0 → hypermind-0.24.0}/docs/operate/runbooks/witness-compromise.md +0 -0
  200. {hypermind-0.22.0 → hypermind-0.24.0}/docs/operate/runbooks/workflow-replay.md +0 -0
  201. {hypermind-0.22.0 → hypermind-0.24.0}/docs/operate/slo.md +0 -0
  202. {hypermind-0.22.0 → hypermind-0.24.0}/docs/paper/00-patent.md +0 -0
  203. {hypermind-0.22.0 → hypermind-0.24.0}/docs/paper/hypermind-paper-draft.md +0 -0
  204. {hypermind-0.22.0 → hypermind-0.24.0}/docs/paper/hypermind-paper.docx +0 -0
  205. {hypermind-0.22.0 → hypermind-0.24.0}/docs/paper/hypermind-paper.tex +0 -0
  206. {hypermind-0.22.0 → hypermind-0.24.0}/docs/release-notes/v1.0-checklist.md +0 -0
  207. {hypermind-0.22.0 → hypermind-0.24.0}/docs/release-notes/v1.0.0.md +0 -0
  208. {hypermind-0.22.0 → hypermind-0.24.0}/docs/security/threat-model.md +0 -0
  209. {hypermind-0.22.0 → hypermind-0.24.0}/docs/simlab/modes.md +0 -0
  210. {hypermind-0.22.0 → hypermind-0.24.0}/docs/simulations.md +0 -0
  211. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/00-overview.md +0 -0
  212. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/01-transport.md +0 -0
  213. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/02-cryptography.md +0 -0
  214. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/03-messages.md +0 -0
  215. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/04-knowledge-model.md +0 -0
  216. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/05-routing.md +0 -0
  217. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/06-conformance.md +0 -0
  218. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/07-trust-access-layer.md +0 -0
  219. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/08-onboarding-contract.md +0 -0
  220. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/09-agent-sdk.md +0 -0
  221. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/10-disputes.md +0 -0
  222. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/11-witness-transparency.md +0 -0
  223. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/12-governance.md +0 -0
  224. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/13-observability.md +0 -0
  225. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/14-threat-model.md +0 -0
  226. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/15-living-transmission.md +0 -0
  227. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/16-reference-comparisons.md +0 -0
  228. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/17-upgrade-v1.md +0 -0
  229. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/18-revocation.md +0 -0
  230. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/19-autonomy-contract.md +0 -0
  231. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/20-swarm-intelligence.md +0 -0
  232. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/21-belief-state.md +0 -0
  233. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/21-private-namespaces.md +0 -0
  234. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/22-transport-mtls.md +0 -0
  235. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/23-envelope-encryption.md +0 -0
  236. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/24-namespace-identity.md +0 -0
  237. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/25-capability-extensions.md +0 -0
  238. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/26-workflow.md +0 -0
  239. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/27-contract-net.md +0 -0
  240. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/28-distributed-trace.md +0 -0
  241. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/_meta/gaps-closed.md +0 -0
  242. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/appendix-N-calibration.md +0 -0
  243. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/appendix-TLA.md +0 -0
  244. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/appendix-z.md +0 -0
  245. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/errata.md +0 -0
  246. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/index.md +0 -0
  247. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/invariants.md +0 -0
  248. {hypermind-0.22.0 → hypermind-0.24.0}/docs/spec/normative-trace.md +0 -0
  249. {hypermind-0.22.0 → hypermind-0.24.0}/docs/supply-chain/sbom.md +0 -0
  250. {hypermind-0.22.0 → hypermind-0.24.0}/docs/supply-chain/slsa.md +0 -0
  251. {hypermind-0.22.0 → hypermind-0.24.0}/docs/supply-chain/verify-self.md +0 -0
  252. {hypermind-0.22.0 → hypermind-0.24.0}/docs/sustainability.md +0 -0
  253. {hypermind-0.22.0 → hypermind-0.24.0}/examples/01_hello_world.py +0 -0
  254. {hypermind-0.22.0 → hypermind-0.24.0}/examples/02_two_agents_dispute.py +0 -0
  255. {hypermind-0.22.0 → hypermind-0.24.0}/examples/03_consult_panel.py +0 -0
  256. {hypermind-0.22.0 → hypermind-0.24.0}/examples/04_oracle_resolve.py +0 -0
  257. {hypermind-0.22.0 → hypermind-0.24.0}/examples/05_consult_to_synthesis.py +0 -0
  258. {hypermind-0.22.0 → hypermind-0.24.0}/examples/06_hybrid_pq.py +0 -0
  259. {hypermind-0.22.0 → hypermind-0.24.0}/examples/07_frost_threshold.py +0 -0
  260. {hypermind-0.22.0 → hypermind-0.24.0}/examples/08_ramp_and_diagnostics.py +0 -0
  261. {hypermind-0.22.0 → hypermind-0.24.0}/examples/09_audit_export_chain.py +0 -0
  262. {hypermind-0.22.0 → hypermind-0.24.0}/examples/10_autonomous_agent.py +0 -0
  263. {hypermind-0.22.0 → hypermind-0.24.0}/examples/11_swarm_deliberation.py +0 -0
  264. {hypermind-0.22.0 → hypermind-0.24.0}/examples/12_swarm_iq_scorecard.py +0 -0
  265. {hypermind-0.22.0 → hypermind-0.24.0}/examples/13_role_specialisation.py +0 -0
  266. {hypermind-0.22.0 → hypermind-0.24.0}/examples/14_active_learning_loop.py +0 -0
  267. {hypermind-0.22.0 → hypermind-0.24.0}/examples/16_wire_message.py +0 -0
  268. {hypermind-0.22.0 → hypermind-0.24.0}/examples/17_tool_delegation.py +0 -0
  269. {hypermind-0.22.0 → hypermind-0.24.0}/examples/18_custom_responder.py +0 -0
  270. {hypermind-0.22.0 → hypermind-0.24.0}/examples/19_governance.py +0 -0
  271. {hypermind-0.22.0 → hypermind-0.24.0}/examples/20_conformance_check.py +0 -0
  272. {hypermind-0.22.0 → hypermind-0.24.0}/examples/21_revocation.py +0 -0
  273. {hypermind-0.22.0 → hypermind-0.24.0}/examples/22_agent_card.py +0 -0
  274. {hypermind-0.22.0 → hypermind-0.24.0}/examples/23_task_delegation.py +0 -0
  275. {hypermind-0.22.0 → hypermind-0.24.0}/examples/24_mcp_tool_call.py +0 -0
  276. {hypermind-0.22.0 → hypermind-0.24.0}/examples/25_swarm_trace.py +0 -0
  277. {hypermind-0.22.0 → hypermind-0.24.0}/examples/coordination/01_durable_workflow.py +0 -0
  278. {hypermind-0.22.0 → hypermind-0.24.0}/examples/coordination/02_contract_net.py +0 -0
  279. {hypermind-0.22.0 → hypermind-0.24.0}/examples/coordination/03_belief_and_plan.py +0 -0
  280. {hypermind-0.22.0 → hypermind-0.24.0}/examples/coordination/__init__.py +0 -0
  281. {hypermind-0.22.0 → hypermind-0.24.0}/examples/coordination/usecases/__init__.py +0 -0
  282. {hypermind-0.22.0 → hypermind-0.24.0}/examples/coordination/usecases/ai_01_fed_benchmark.py +0 -0
  283. {hypermind-0.22.0 → hypermind-0.24.0}/examples/coordination/usecases/ai_alignment_redteam.py +0 -0
  284. {hypermind-0.22.0 → hypermind-0.24.0}/examples/coordination/usecases/cy_05_ir_swarm.py +0 -0
  285. {hypermind-0.22.0 → hypermind-0.24.0}/examples/coordination/usecases/cy_11_ransomware_intel.py +0 -0
  286. {hypermind-0.22.0 → hypermind-0.24.0}/examples/coordination/usecases/ed_credentials.py +0 -0
  287. {hypermind-0.22.0 → hypermind-0.24.0}/examples/coordination/usecases/en_grid_coordinate.py +0 -0
  288. {hypermind-0.22.0 → hypermind-0.24.0}/examples/coordination/usecases/fi_04_bsa_314b.py +0 -0
  289. {hypermind-0.22.0 → hypermind-0.24.0}/examples/coordination/usecases/fi_22_ma_dataroom.py +0 -0
  290. {hypermind-0.22.0 → hypermind-0.24.0}/examples/coordination/usecases/gv_01_intel_sharing.py +0 -0
  291. {hypermind-0.22.0 → hypermind-0.24.0}/examples/coordination/usecases/gv_21_red_team.py +0 -0
  292. {hypermind-0.22.0 → hypermind-0.24.0}/examples/coordination/usecases/hc_06_rare_disease.py +0 -0
  293. {hypermind-0.22.0 → hypermind-0.24.0}/examples/coordination/usecases/hc_21_fed_learning.py +0 -0
  294. {hypermind-0.22.0 → hypermind-0.24.0}/examples/coordination/usecases/lg_ediscovery.py +0 -0
  295. {hypermind-0.22.0 → hypermind-0.24.0}/examples/coordination/usecases/mf_supply_chain.py +0 -0
  296. {hypermind-0.22.0 → hypermind-0.24.0}/examples/e2e_many_agents.py +0 -0
  297. {hypermind-0.22.0 → hypermind-0.24.0}/examples/full_e2e_demo.py +0 -0
  298. {hypermind-0.22.0 → hypermind-0.24.0}/examples/lifecycle.py +0 -0
  299. {hypermind-0.22.0 → hypermind-0.24.0}/examples/org_university.py +0 -0
  300. {hypermind-0.22.0 → hypermind-0.24.0}/examples/scenario_aar.py +0 -0
  301. {hypermind-0.22.0 → hypermind-0.24.0}/examples/scenario_backtest.py +0 -0
  302. {hypermind-0.22.0 → hypermind-0.24.0}/examples/scenario_capability_attenuation.py +0 -0
  303. {hypermind-0.22.0 → hypermind-0.24.0}/examples/scenario_conformance.py +0 -0
  304. {hypermind-0.22.0 → hypermind-0.24.0}/examples/scenario_crisis_tabletop.py +0 -0
  305. {hypermind-0.22.0 → hypermind-0.24.0}/examples/scenario_cross_namespace_federation.py +0 -0
  306. {hypermind-0.22.0 → hypermind-0.24.0}/examples/scenario_decision_tournament.py +0 -0
  307. {hypermind-0.22.0 → hypermind-0.24.0}/examples/scenario_dispute_lifecycle_async.py +0 -0
  308. {hypermind-0.22.0 → hypermind-0.24.0}/examples/scenario_evaluation.py +0 -0
  309. {hypermind-0.22.0 → hypermind-0.24.0}/examples/scenario_geopolitical_crisis.py +0 -0
  310. {hypermind-0.22.0 → hypermind-0.24.0}/examples/scenario_geopolitical_traced.py +0 -0
  311. {hypermind-0.22.0 → hypermind-0.24.0}/examples/scenario_governance_committee.py +0 -0
  312. {hypermind-0.22.0 → hypermind-0.24.0}/examples/scenario_information_pipeline.py +0 -0
  313. {hypermind-0.22.0 → hypermind-0.24.0}/examples/scenario_learning_loop.py +0 -0
  314. {hypermind-0.22.0 → hypermind-0.24.0}/examples/scenario_namespace_trust.py +0 -0
  315. {hypermind-0.22.0 → hypermind-0.24.0}/examples/scenario_persona_panel.py +0 -0
  316. {hypermind-0.22.0 → hypermind-0.24.0}/examples/scenario_private_namespace.py +0 -0
  317. {hypermind-0.22.0 → hypermind-0.24.0}/examples/scenario_red_team.py +0 -0
  318. {hypermind-0.22.0 → hypermind-0.24.0}/examples/scenario_regulated_consortium.py +0 -0
  319. {hypermind-0.22.0 → hypermind-0.24.0}/examples/scenario_threat_intel.py +0 -0
  320. {hypermind-0.22.0 → hypermind-0.24.0}/examples/scenario_vouch_chain.py +0 -0
  321. {hypermind-0.22.0 → hypermind-0.24.0}/examples/scenario_what_if_tree.py +0 -0
  322. {hypermind-0.22.0 → hypermind-0.24.0}/examples/serve_api.py +0 -0
  323. {hypermind-0.22.0 → hypermind-0.24.0}/examples/two_node_tcp.py +0 -0
  324. {hypermind-0.22.0 → hypermind-0.24.0}/formal/README.md +0 -0
  325. {hypermind-0.22.0 → hypermind-0.24.0}/formal/hax-rust/README.md +0 -0
  326. {hypermind-0.22.0 → hypermind-0.24.0}/formal/hax-rust/scope.md +0 -0
  327. {hypermind-0.22.0 → hypermind-0.24.0}/formal/proverif/dispute_fsm.pv +0 -0
  328. {hypermind-0.22.0 → hypermind-0.24.0}/formal/proverif/dispute_liveness.pv +0 -0
  329. {hypermind-0.22.0 → hypermind-0.24.0}/formal/tamarin/capability_chain.spthy +0 -0
  330. {hypermind-0.22.0 → hypermind-0.24.0}/formal/tamarin/dispute_fsm.spthy +0 -0
  331. {hypermind-0.22.0 → hypermind-0.24.0}/formal/tamarin/signed_statement.spthy +0 -0
  332. {hypermind-0.22.0 → hypermind-0.24.0}/formal/tamarin/wire_security.spthy +0 -0
  333. {hypermind-0.22.0 → hypermind-0.24.0}/fuzz/README.md +0 -0
  334. {hypermind-0.22.0 → hypermind-0.24.0}/fuzz/__init__.py +0 -0
  335. {hypermind-0.22.0 → hypermind-0.24.0}/fuzz/fuzz_agent_card.py +0 -0
  336. {hypermind-0.22.0 → hypermind-0.24.0}/fuzz/fuzz_anti_entropy.py +0 -0
  337. {hypermind-0.22.0 → hypermind-0.24.0}/fuzz/fuzz_capability.py +0 -0
  338. {hypermind-0.22.0 → hypermind-0.24.0}/fuzz/fuzz_dispute.py +0 -0
  339. {hypermind-0.22.0 → hypermind-0.24.0}/fuzz/fuzz_inclusion_proof.py +0 -0
  340. {hypermind-0.22.0 → hypermind-0.24.0}/fuzz/fuzz_wire.py +0 -0
  341. {hypermind-0.22.0 → hypermind-0.24.0}/fuzz/seed_corpus.py +0 -0
  342. {hypermind-0.22.0 → hypermind-0.24.0}/harness/__init__.py +0 -0
  343. {hypermind-0.22.0 → hypermind-0.24.0}/harness/__main__.py +0 -0
  344. {hypermind-0.22.0 → hypermind-0.24.0}/harness/assertions.py +0 -0
  345. {hypermind-0.22.0 → hypermind-0.24.0}/harness/fixtures.py +0 -0
  346. {hypermind-0.22.0 → hypermind-0.24.0}/harness/report.py +0 -0
  347. {hypermind-0.22.0 → hypermind-0.24.0}/harness/roles.py +0 -0
  348. {hypermind-0.22.0 → hypermind-0.24.0}/harness/runner.py +0 -0
  349. {hypermind-0.22.0 → hypermind-0.24.0}/harness/scenario.py +0 -0
  350. {hypermind-0.22.0 → hypermind-0.24.0}/harness/scenarios/__init__.py +0 -0
  351. {hypermind-0.22.0 → hypermind-0.24.0}/harness/scenarios/autonomous_evolution.py +0 -0
  352. {hypermind-0.22.0 → hypermind-0.24.0}/harness/scenarios/swarm_iq_benchmark.py +0 -0
  353. {hypermind-0.22.0 → hypermind-0.24.0}/harness/scenarios/threat_intel.py +0 -0
  354. {hypermind-0.22.0 → hypermind-0.24.0}/mkdocs.yml +0 -0
  355. {hypermind-0.22.0 → hypermind-0.24.0}/reference_verifier/__init__.py +0 -0
  356. {hypermind-0.22.0 → hypermind-0.24.0}/reference_verifier/schemas/encrypted_statement.cddl +0 -0
  357. {hypermind-0.22.0 → hypermind-0.24.0}/reference_verifier/schemas/namespace_accept.cddl +0 -0
  358. {hypermind-0.22.0 → hypermind-0.24.0}/reference_verifier/schemas/namespace_create.cddl +0 -0
  359. {hypermind-0.22.0 → hypermind-0.24.0}/reference_verifier/schemas/namespace_founding_attest.cddl +0 -0
  360. {hypermind-0.22.0 → hypermind-0.24.0}/reference_verifier/schemas/namespace_invite.cddl +0 -0
  361. {hypermind-0.22.0 → hypermind-0.24.0}/reference_verifier/schemas/wire-v0.1.cddl +0 -0
  362. {hypermind-0.22.0 → hypermind-0.24.0}/reference_verifier/verifier.py +0 -0
  363. {hypermind-0.22.0 → hypermind-0.24.0}/review/__init__.py +0 -0
  364. {hypermind-0.22.0 → hypermind-0.24.0}/review/__main__.py +0 -0
  365. {hypermind-0.22.0 → hypermind-0.24.0}/review/agents.py +0 -0
  366. {hypermind-0.22.0 → hypermind-0.24.0}/review/models.py +0 -0
  367. {hypermind-0.22.0 → hypermind-0.24.0}/review/runner.py +0 -0
  368. {hypermind-0.22.0 → hypermind-0.24.0}/src/hmctl/__init__.py +0 -0
  369. {hypermind-0.22.0 → hypermind-0.24.0}/src/hmctl/cli.py +0 -0
  370. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/_deprecations.py +0 -0
  371. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/agent.py +0 -0
  372. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/agent_card.py +0 -0
  373. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/api/__init__.py +0 -0
  374. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/api/app.py +0 -0
  375. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/capability.py +0 -0
  376. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/consult.py +0 -0
  377. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/consult_bias.py +0 -0
  378. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/contract_net.py +0 -0
  379. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/crypto/__init__.py +0 -0
  380. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/crypto/cose_encrypt.py +0 -0
  381. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/crypto/dkg.py +0 -0
  382. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/crypto/domain.py +0 -0
  383. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/crypto/frost.py +0 -0
  384. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/crypto/hashing.py +0 -0
  385. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/crypto/hlc.py +0 -0
  386. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/crypto/hpke.py +0 -0
  387. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/crypto/kms.py +0 -0
  388. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/crypto/kms_backends/__init__.py +0 -0
  389. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/crypto/kms_backends/aws.py +0 -0
  390. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/crypto/kms_backends/azure.py +0 -0
  391. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/crypto/kms_backends/gcp.py +0 -0
  392. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/crypto/kms_backends/vault.py +0 -0
  393. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/crypto/namespace_root.py +0 -0
  394. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/crypto/pq.py +0 -0
  395. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/crypto/room_epoch.py +0 -0
  396. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/crypto/signing.py +0 -0
  397. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/deliberation.py +0 -0
  398. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/did_web.py +0 -0
  399. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/dispute.py +0 -0
  400. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/errors.py +0 -0
  401. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/eval/__init__.py +0 -0
  402. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/eval/calibration.py +0 -0
  403. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/eval/comparison.py +0 -0
  404. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/eval/replay.py +0 -0
  405. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/eval/swarm_iq.py +0 -0
  406. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/knowledge/__init__.py +0 -0
  407. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/knowledge/citation_graph.py +0 -0
  408. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/knowledge/correlated_agreement.py +0 -0
  409. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/knowledge/embedding_registry.py +0 -0
  410. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/knowledge/kernel_store.py +0 -0
  411. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/knowledge/rekor.py +0 -0
  412. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/knowledge/reputation.py +0 -0
  413. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/knowledge/swarm_memory.py +0 -0
  414. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/knowledge/transparency.py +0 -0
  415. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/mcp/__init__.py +0 -0
  416. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/mcp/bridge.py +0 -0
  417. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/mcp/client.py +0 -0
  418. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/mcp/provenance.py +0 -0
  419. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/mcp/relata_tools.py +0 -0
  420. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/mcp/server.py +0 -0
  421. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/mcp/transport.py +0 -0
  422. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/mind/__init__.py +0 -0
  423. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/mind/active.py +0 -0
  424. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/mind/belief.py +0 -0
  425. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/mind/deliberator.py +0 -0
  426. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/mind/diversity.py +0 -0
  427. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/mind/evolve.py +0 -0
  428. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/mind/federation.py +0 -0
  429. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/mind/goals.py +0 -0
  430. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/mind/integration.py +0 -0
  431. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/mind/mediator.py +0 -0
  432. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/mind/memory_store.py +0 -0
  433. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/mind/policy.py +0 -0
  434. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/mind/records.py +0 -0
  435. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/mind/roles.py +0 -0
  436. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/mind/sybil_guard.py +0 -0
  437. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/mind/world_model.py +0 -0
  438. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/namespace.py +0 -0
  439. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/namespace_policy.py +0 -0
  440. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/observability/__init__.py +0 -0
  441. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/observability/asgi.py +0 -0
  442. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/observability/cost.py +0 -0
  443. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/observability/otel_export.py +0 -0
  444. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/observability/recorder.py +0 -0
  445. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/observability/swarm_trace.py +0 -0
  446. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/orgs/__init__.py +0 -0
  447. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/orgs/context.py +0 -0
  448. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/orgs/deliberate.py +0 -0
  449. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/orgs/experiment.py +0 -0
  450. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/orgs/groundtruth.py +0 -0
  451. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/orgs/interaction.py +0 -0
  452. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/orgs/intervention.py +0 -0
  453. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/orgs/metrics.py +0 -0
  454. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/orgs/model.py +0 -0
  455. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/orgs/quality.py +0 -0
  456. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/orgs/query.py +0 -0
  457. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/orgs/receipt.py +0 -0
  458. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/orgs/report.py +0 -0
  459. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/orgs/retrieval.py +0 -0
  460. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/orgs/stream.py +0 -0
  461. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/orgs/templates/__init__.py +0 -0
  462. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/orgs/think.py +0 -0
  463. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/orgs/tools.py +0 -0
  464. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/pin_policy.py +0 -0
  465. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/py.typed +0 -0
  466. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/responders/__init__.py +0 -0
  467. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/responders/anthropic.py +0 -0
  468. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/responders/base.py +0 -0
  469. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/responders/openai.py +0 -0
  470. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/responders/router.py +0 -0
  471. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/responders/structured.py +0 -0
  472. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/responders/tools.py +0 -0
  473. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/revocation.py +0 -0
  474. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/rule_ids.py +0 -0
  475. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/schemas/encrypted_statement.cddl +0 -0
  476. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/schemas/namespace_accept.cddl +0 -0
  477. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/schemas/namespace_create.cddl +0 -0
  478. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/schemas/namespace_founding_attest.cddl +0 -0
  479. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/schemas/namespace_invite.cddl +0 -0
  480. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/schemas/wire-v0.1.cddl +0 -0
  481. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/__init__.py +0 -0
  482. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/_persona_registry.py +0 -0
  483. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/_scenario_impl.py +0 -0
  484. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/app.py +0 -0
  485. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/backends/__init__.py +0 -0
  486. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/backends/anchor.py +0 -0
  487. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/backends/local.py +0 -0
  488. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/backends/server.py +0 -0
  489. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/cli_command.py +0 -0
  490. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/config.py +0 -0
  491. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/deployment.py +0 -0
  492. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/knowledge.py +0 -0
  493. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/learning.py +0 -0
  494. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/modes/__init__.py +0 -0
  495. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/modes/_eval_real_llm.py +0 -0
  496. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/modes/aar.py +0 -0
  497. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/modes/backtest.py +0 -0
  498. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/modes/binary_forecast.py +0 -0
  499. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/modes/conformance.py +0 -0
  500. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/modes/evaluation.py +0 -0
  501. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/modes/governance.py +0 -0
  502. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/modes/redteam.py +0 -0
  503. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/modes/tabletop.py +0 -0
  504. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/modes/tournament.py +0 -0
  505. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/modes/whatif.py +0 -0
  506. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/namespace.py +0 -0
  507. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/personas.py +0 -0
  508. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/prompt_generator.py +0 -0
  509. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/question_sets/geopolitics_q20.json +0 -0
  510. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/question_sets/governance_q5.json +0 -0
  511. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/question_sets/msft_outlook_q10.json +0 -0
  512. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/question_sets/whatif_q3.json +0 -0
  513. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/registry.py +0 -0
  514. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/runner.py +0 -0
  515. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/scenario.py +0 -0
  516. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/swarms.py +0 -0
  517. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/tool_handlers/__init__.py +0 -0
  518. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/tool_handlers/alpha_vantage.py +0 -0
  519. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/tool_handlers/brave.py +0 -0
  520. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/tool_handlers/newsapi.py +0 -0
  521. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/tool_handlers/openweather.py +0 -0
  522. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/tool_handlers/pinecone.py +0 -0
  523. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/tool_handlers/qdrant.py +0 -0
  524. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/tool_handlers/query_knowledge_base.py +0 -0
  525. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/tool_handlers/relata_recall.py +0 -0
  526. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/tool_handlers/retrieve_document.py +0 -0
  527. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/tool_handlers/serper.py +0 -0
  528. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/tool_handlers/tavily.py +0 -0
  529. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/tool_handlers/weaviate.py +0 -0
  530. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/tool_handlers/wikipedia.py +0 -0
  531. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/tool_handlers/wolfram.py +0 -0
  532. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/tool_handlers/yahoo_finance.py +0 -0
  533. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/tool_registry.py +0 -0
  534. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/topic_adapter.py +0 -0
  535. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/simlab/topic_questions.py +0 -0
  536. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/storage/__init__.py +0 -0
  537. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/storage/backend.py +0 -0
  538. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/storage/relata.py +0 -0
  539. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/storage/sqlite.py +0 -0
  540. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/sync.py +0 -0
  541. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/tal.py +0 -0
  542. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/tasks.py +0 -0
  543. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/testing.py +0 -0
  544. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/tools/__init__.py +0 -0
  545. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/tools/registry.py +0 -0
  546. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/transport/__init__.py +0 -0
  547. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/transport/anti_entropy.py +0 -0
  548. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/transport/bus.py +0 -0
  549. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/transport/knows_delta.py +0 -0
  550. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/transport/libp2p.py +0 -0
  551. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/transport/placement.py +0 -0
  552. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/transport/tcp.py +0 -0
  553. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/transport/tls_profile.py +0 -0
  554. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/types.py +0 -0
  555. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/uncertainty.py +0 -0
  556. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/wire.py +0 -0
  557. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/workflow/__init__.py +0 -0
  558. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/workflow/engine.py +0 -0
  559. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/workflow/plan.py +0 -0
  560. {hypermind-0.22.0 → hypermind-0.24.0}/src/hypermind/workflow/repair.py +0 -0
  561. {hypermind-0.22.0 → hypermind-0.24.0}/storage-backend-requirements.md +0 -0
  562. {hypermind-0.22.0 → hypermind-0.24.0}/tests/__init__.py +0 -0
  563. {hypermind-0.22.0 → hypermind-0.24.0}/tests/api/__init__.py +0 -0
  564. {hypermind-0.22.0 → hypermind-0.24.0}/tests/api/test_eval_endpoints.py +0 -0
  565. {hypermind-0.22.0 → hypermind-0.24.0}/tests/api/test_events_stream.py +0 -0
  566. {hypermind-0.22.0 → hypermind-0.24.0}/tests/api/test_management_app.py +0 -0
  567. {hypermind-0.22.0 → hypermind-0.24.0}/tests/chaos/__init__.py +0 -0
  568. {hypermind-0.22.0 → hypermind-0.24.0}/tests/chaos/test_gossip_amplification.py +0 -0
  569. {hypermind-0.22.0 → hypermind-0.24.0}/tests/chaos/test_kill_agent_during_rfp.py +0 -0
  570. {hypermind-0.22.0 → hypermind-0.24.0}/tests/chaos/test_partition_during_workflow.py +0 -0
  571. {hypermind-0.22.0 → hypermind-0.24.0}/tests/chaos/test_slow_consumer_backpressure.py +0 -0
  572. {hypermind-0.22.0 → hypermind-0.24.0}/tests/chaos/test_slow_peer.py +0 -0
  573. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/__init__.py +0 -0
  574. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/generate_vectors.py +0 -0
  575. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/vectors/SIGNING.md +0 -0
  576. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/vectors/agent-card-01.json +0 -0
  577. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/vectors/agent-card-02.json +0 -0
  578. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/vectors/capability-01.json +0 -0
  579. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/vectors/capability-02.json +0 -0
  580. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/vectors/capability-03.json +0 -0
  581. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/vectors/dispute-01.json +0 -0
  582. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/vectors/dispute-02.json +0 -0
  583. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/vectors/dispute-03.json +0 -0
  584. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/vectors/dispute-04.json +0 -0
  585. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/vectors/dispute-05.json +0 -0
  586. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/vectors/frost-01.json +0 -0
  587. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/vectors/frost-02.json +0 -0
  588. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/vectors/frost-03.json +0 -0
  589. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/vectors/knows-delta-01.json +0 -0
  590. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/vectors/knows-delta-02.json +0 -0
  591. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/vectors/mcp-prov-01.json +0 -0
  592. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/vectors/mcp-prov-02.json +0 -0
  593. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/vectors/merkle-01.json +0 -0
  594. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/vectors/merkle-02.json +0 -0
  595. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/vectors/merkle-03.json +0 -0
  596. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/vectors/merkle-04.json +0 -0
  597. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/vectors/rep-decay-01.json +0 -0
  598. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/vectors/task-01.json +0 -0
  599. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/vectors/task-02.json +0 -0
  600. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/vectors/trace-01.json +0 -0
  601. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/vectors/trace-02.json +0 -0
  602. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/vectors/wire-envelope-01.json +0 -0
  603. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/vectors/wire-envelope-02.json +0 -0
  604. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/vectors/wire-envelope-03.json +0 -0
  605. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/vectors/wire-envelope-04.json +0 -0
  606. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conformance/vectors/wire-envelope-05.json +0 -0
  607. {hypermind-0.22.0 → hypermind-0.24.0}/tests/conftest.py +0 -0
  608. {hypermind-0.22.0 → hypermind-0.24.0}/tests/fake_kms.py +0 -0
  609. {hypermind-0.22.0 → hypermind-0.24.0}/tests/harness/__init__.py +0 -0
  610. {hypermind-0.22.0 → hypermind-0.24.0}/tests/harness/conftest.py +0 -0
  611. {hypermind-0.22.0 → hypermind-0.24.0}/tests/harness/test_assertion_library.py +0 -0
  612. {hypermind-0.22.0 → hypermind-0.24.0}/tests/harness/test_runner_lifecycle.py +0 -0
  613. {hypermind-0.22.0 → hypermind-0.24.0}/tests/harness/test_threat_intel_harness.py +0 -0
  614. {hypermind-0.22.0 → hypermind-0.24.0}/tests/integration/__init__.py +0 -0
  615. {hypermind-0.22.0 → hypermind-0.24.0}/tests/integration/test_kms_aws.py +0 -0
  616. {hypermind-0.22.0 → hypermind-0.24.0}/tests/integration/test_kms_azure.py +0 -0
  617. {hypermind-0.22.0 → hypermind-0.24.0}/tests/integration/test_kms_gcp.py +0 -0
  618. {hypermind-0.22.0 → hypermind-0.24.0}/tests/integration/test_kms_vault.py +0 -0
  619. {hypermind-0.22.0 → hypermind-0.24.0}/tests/integration/test_relata_server.py +0 -0
  620. {hypermind-0.22.0 → hypermind-0.24.0}/tests/orgs/_fakes.py +0 -0
  621. {hypermind-0.22.0 → hypermind-0.24.0}/tests/orgs/test_adversarial.py +0 -0
  622. {hypermind-0.22.0 → hypermind-0.24.0}/tests/orgs/test_concurrency.py +0 -0
  623. {hypermind-0.22.0 → hypermind-0.24.0}/tests/orgs/test_context.py +0 -0
  624. {hypermind-0.22.0 → hypermind-0.24.0}/tests/orgs/test_convergence.py +0 -0
  625. {hypermind-0.22.0 → hypermind-0.24.0}/tests/orgs/test_deliberator.py +0 -0
  626. {hypermind-0.22.0 → hypermind-0.24.0}/tests/orgs/test_embeddings.py +0 -0
  627. {hypermind-0.22.0 → hypermind-0.24.0}/tests/orgs/test_experiment.py +0 -0
  628. {hypermind-0.22.0 → hypermind-0.24.0}/tests/orgs/test_graph_retrieval.py +0 -0
  629. {hypermind-0.22.0 → hypermind-0.24.0}/tests/orgs/test_groundtruth.py +0 -0
  630. {hypermind-0.22.0 → hypermind-0.24.0}/tests/orgs/test_hybrid_retriever.py +0 -0
  631. {hypermind-0.22.0 → hypermind-0.24.0}/tests/orgs/test_interaction.py +0 -0
  632. {hypermind-0.22.0 → hypermind-0.24.0}/tests/orgs/test_intervention.py +0 -0
  633. {hypermind-0.22.0 → hypermind-0.24.0}/tests/orgs/test_lightweight.py +0 -0
  634. {hypermind-0.22.0 → hypermind-0.24.0}/tests/orgs/test_metrics.py +0 -0
  635. {hypermind-0.22.0 → hypermind-0.24.0}/tests/orgs/test_model.py +0 -0
  636. {hypermind-0.22.0 → hypermind-0.24.0}/tests/orgs/test_ner.py +0 -0
  637. {hypermind-0.22.0 → hypermind-0.24.0}/tests/orgs/test_quality.py +0 -0
  638. {hypermind-0.22.0 → hypermind-0.24.0}/tests/orgs/test_query.py +0 -0
  639. {hypermind-0.22.0 → hypermind-0.24.0}/tests/orgs/test_rag.py +0 -0
  640. {hypermind-0.22.0 → hypermind-0.24.0}/tests/orgs/test_receipt.py +0 -0
  641. {hypermind-0.22.0 → hypermind-0.24.0}/tests/orgs/test_report.py +0 -0
  642. {hypermind-0.22.0 → hypermind-0.24.0}/tests/orgs/test_scale.py +0 -0
  643. {hypermind-0.22.0 → hypermind-0.24.0}/tests/orgs/test_sim.py +0 -0
  644. {hypermind-0.22.0 → hypermind-0.24.0}/tests/orgs/test_stream.py +0 -0
  645. {hypermind-0.22.0 → hypermind-0.24.0}/tests/orgs/test_templates.py +0 -0
  646. {hypermind-0.22.0 → hypermind-0.24.0}/tests/orgs/test_think.py +0 -0
  647. {hypermind-0.22.0 → hypermind-0.24.0}/tests/orgs/test_tool_traces.py +0 -0
  648. {hypermind-0.22.0 → hypermind-0.24.0}/tests/orgs/test_tools.py +0 -0
  649. {hypermind-0.22.0 → hypermind-0.24.0}/tests/responders/__init__.py +0 -0
  650. {hypermind-0.22.0 → hypermind-0.24.0}/tests/responders/test_responders.py +0 -0
  651. {hypermind-0.22.0 → hypermind-0.24.0}/tests/responders/test_router.py +0 -0
  652. {hypermind-0.22.0 → hypermind-0.24.0}/tests/responders/test_structured_response.py +0 -0
  653. {hypermind-0.22.0 → hypermind-0.24.0}/tests/responders/test_tools.py +0 -0
  654. {hypermind-0.22.0 → hypermind-0.24.0}/tests/review/__init__.py +0 -0
  655. {hypermind-0.22.0 → hypermind-0.24.0}/tests/review/test_agents_parser.py +0 -0
  656. {hypermind-0.22.0 → hypermind-0.24.0}/tests/review/test_models.py +0 -0
  657. {hypermind-0.22.0 → hypermind-0.24.0}/tests/review/test_runner.py +0 -0
  658. {hypermind-0.22.0 → hypermind-0.24.0}/tests/simlab/__init__.py +0 -0
  659. {hypermind-0.22.0 → hypermind-0.24.0}/tests/simlab/conftest.py +0 -0
  660. {hypermind-0.22.0 → hypermind-0.24.0}/tests/simlab/test_app_endpoints.py +0 -0
  661. {hypermind-0.22.0 → hypermind-0.24.0}/tests/simlab/test_knowledge.py +0 -0
  662. {hypermind-0.22.0 → hypermind-0.24.0}/tests/simlab/test_knowledge_reuse.py +0 -0
  663. {hypermind-0.22.0 → hypermind-0.24.0}/tests/simlab/test_modes_aar.py +0 -0
  664. {hypermind-0.22.0 → hypermind-0.24.0}/tests/simlab/test_modes_backtest.py +0 -0
  665. {hypermind-0.22.0 → hypermind-0.24.0}/tests/simlab/test_modes_conformance.py +0 -0
  666. {hypermind-0.22.0 → hypermind-0.24.0}/tests/simlab/test_modes_evaluation.py +0 -0
  667. {hypermind-0.22.0 → hypermind-0.24.0}/tests/simlab/test_modes_governance.py +0 -0
  668. {hypermind-0.22.0 → hypermind-0.24.0}/tests/simlab/test_modes_redteam.py +0 -0
  669. {hypermind-0.22.0 → hypermind-0.24.0}/tests/simlab/test_modes_tabletop.py +0 -0
  670. {hypermind-0.22.0 → hypermind-0.24.0}/tests/simlab/test_modes_tournament.py +0 -0
  671. {hypermind-0.22.0 → hypermind-0.24.0}/tests/simlab/test_modes_whatif.py +0 -0
  672. {hypermind-0.22.0 → hypermind-0.24.0}/tests/simlab/test_personas.py +0 -0
  673. {hypermind-0.22.0 → hypermind-0.24.0}/tests/simlab/test_personas_endpoints.py +0 -0
  674. {hypermind-0.22.0 → hypermind-0.24.0}/tests/simlab/test_recorder_scoping.py +0 -0
  675. {hypermind-0.22.0 → hypermind-0.24.0}/tests/simlab/test_registry.py +0 -0
  676. {hypermind-0.22.0 → hypermind-0.24.0}/tests/simlab/test_resolve_outcomes.py +0 -0
  677. {hypermind-0.22.0 → hypermind-0.24.0}/tests/simlab/test_responder_timeout.py +0 -0
  678. {hypermind-0.22.0 → hypermind-0.24.0}/tests/simlab/test_runner.py +0 -0
  679. {hypermind-0.22.0 → hypermind-0.24.0}/tests/simlab/test_swarms.py +0 -0
  680. {hypermind-0.22.0 → hypermind-0.24.0}/tests/storage/__init__.py +0 -0
  681. {hypermind-0.22.0 → hypermind-0.24.0}/tests/storage/test_relata_backend.py +0 -0
  682. {hypermind-0.22.0 → hypermind-0.24.0}/tests/storage/test_sqlite_backend.py +0 -0
  683. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_active_multi_step.py +0 -0
  684. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_agent_card.py +0 -0
  685. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_agent_e2e.py +0 -0
  686. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_agent_edge.py +0 -0
  687. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_anti_entropy.py +0 -0
  688. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_anti_entropy_multiround.py +0 -0
  689. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_anti_entropy_selfheal.py +0 -0
  690. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_appendix_z_conformance.py +0 -0
  691. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_appendix_z_vectors.py +0 -0
  692. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_arg_dag_edge_types.py +0 -0
  693. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_backpressure.py +0 -0
  694. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_belief_revision.py +0 -0
  695. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_bias_detector.py +0 -0
  696. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_block_reason.py +0 -0
  697. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_calibration.py +0 -0
  698. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_capability.py +0 -0
  699. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_capability_canonical.py +0 -0
  700. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_capability_chain.py +0 -0
  701. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_capability_edge.py +0 -0
  702. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_capability_enforcement.py +0 -0
  703. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_capability_namespace_caveat.py +0 -0
  704. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_capability_revocation.py +0 -0
  705. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_citation_graph.py +0 -0
  706. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_cli.py +0 -0
  707. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_cli_interop.py +0 -0
  708. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_composite_lamps_prefix.py +0 -0
  709. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_consult.py +0 -0
  710. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_consult_stream.py +0 -0
  711. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_consult_stream_t4.py +0 -0
  712. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_contract_net_disputed_award.py +0 -0
  713. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_contract_net_frost_award.py +0 -0
  714. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_contract_net_happy.py +0 -0
  715. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_contract_net_reputation_scoring.py +0 -0
  716. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_contract_net_sybil_filter.py +0 -0
  717. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_correlated_agreement.py +0 -0
  718. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_cose_encrypt_roundtrip.py +0 -0
  719. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_cost_tracker.py +0 -0
  720. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_cross_namespace_consult.py +0 -0
  721. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_crypto.py +0 -0
  722. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_deliberation.py +0 -0
  723. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_deliberator_cap.py +0 -0
  724. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_deliberator_observe.py +0 -0
  725. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_deprecation_registry.py +0 -0
  726. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_determinism_corpus.py +0 -0
  727. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_dispute.py +0 -0
  728. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_dispute_fsm_full.py +0 -0
  729. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_dispute_mediate.py +0 -0
  730. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_dispute_quorum.py +0 -0
  731. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_dissent.py +0 -0
  732. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_diversity_quorum.py +0 -0
  733. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_dkg.py +0 -0
  734. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_embedding_registry.py +0 -0
  735. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_eval_comparison.py +0 -0
  736. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_examples_runnable.py +0 -0
  737. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_final_coverage.py +0 -0
  738. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_frost.py +0 -0
  739. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_frost_edge.py +0 -0
  740. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_frost_hedged_nonces.py +0 -0
  741. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_frost_persistence.py +0 -0
  742. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_frost_transcript_store_swap.py +0 -0
  743. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_hlc_clock_source.py +0 -0
  744. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_hpke_vectors.py +0 -0
  745. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_info_gain_routing.py +0 -0
  746. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_kernel_store.py +0 -0
  747. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_kms_backends.py +0 -0
  748. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_kms_fake.py +0 -0
  749. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_knows_delta.py +0 -0
  750. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_lamps_oid_canonical.py +0 -0
  751. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_last_lines.py +0 -0
  752. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_libp2p_peer_id.py +0 -0
  753. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_libp2p_scaffold.py +0 -0
  754. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_libp2p_stub.py +0 -0
  755. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_mcp_bridge.py +0 -0
  756. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_mcp_provenance.py +0 -0
  757. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_mcp_tools_list.py +0 -0
  758. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_mcp_transport.py +0 -0
  759. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_merkle_transparency.py +0 -0
  760. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_mind_active.py +0 -0
  761. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_mind_deliberator.py +0 -0
  762. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_mind_diversity_sybil_mediator.py +0 -0
  763. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_mind_evolve.py +0 -0
  764. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_mind_goals_policy.py +0 -0
  765. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_mind_records.py +0 -0
  766. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_mind_roles.py +0 -0
  767. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_mind_world_model.py +0 -0
  768. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_misc_edge.py +0 -0
  769. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_mtls_profile.py +0 -0
  770. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_namespace_lifecycle.py +0 -0
  771. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_namespace_policy.py +0 -0
  772. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_namespace_policy_acl.py +0 -0
  773. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_observability_asgi.py +0 -0
  774. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_observability_otel.py +0 -0
  775. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_open_factory.py +0 -0
  776. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_oracle_backprop.py +0 -0
  777. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_otel_export.py +0 -0
  778. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_pin_policy.py +0 -0
  779. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_placement_consistent_hash.py +0 -0
  780. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_placement_hint.py +0 -0
  781. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_plan_dag.py +0 -0
  782. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_plan_repair.py +0 -0
  783. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_portable_inclusion_proof.py +0 -0
  784. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_pq_default.py +0 -0
  785. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_pq_dual_vendor.py +0 -0
  786. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_pq_signing.py +0 -0
  787. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_priv_ns_conformance_coverage.py +0 -0
  788. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_property_based.py +0 -0
  789. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_protocol_version.py +0 -0
  790. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_public_surface_v05.py +0 -0
  791. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_pursue_workflow.py +0 -0
  792. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_rate_caveat.py +0 -0
  793. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_recorder_bounded.py +0 -0
  794. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_recorder_tail.py +0 -0
  795. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_reference_verifier_v2.py +0 -0
  796. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_rekor_client.py +0 -0
  797. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_rekor_downgrade.py +0 -0
  798. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_relata_memory_store.py +0 -0
  799. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_relata_tools.py +0 -0
  800. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_remaining_gaps.py +0 -0
  801. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_replay.py +0 -0
  802. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_reputation.py +0 -0
  803. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_reputation_memory.py +0 -0
  804. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_reputation_staleness.py +0 -0
  805. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_review_fixes.py +0 -0
  806. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_revocation.py +0 -0
  807. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_revocation_lifecycle.py +0 -0
  808. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_room_epoch.py +0 -0
  809. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_schema_hash_pinned.py +0 -0
  810. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_secret_redaction.py +0 -0
  811. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_self_heal_cycle1.py +0 -0
  812. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_self_heal_cycle2.py +0 -0
  813. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_self_heal_cycle3.py +0 -0
  814. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_self_heal_cycle3_cascade_isolate.py +0 -0
  815. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_self_heal_cycle3_governance.py +0 -0
  816. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_self_heal_cycle4.py +0 -0
  817. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_self_heal_cycle4_deliberator_broadcast.py +0 -0
  818. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_self_heal_cycle5.py +0 -0
  819. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_signer_protocol.py +0 -0
  820. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_sth_cross_gossip.py +0 -0
  821. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_swarm_iq.py +0 -0
  822. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_swarm_iq_at_scale.py +0 -0
  823. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_swarm_iq_recommend.py +0 -0
  824. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_swarm_memory.py +0 -0
  825. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_swarm_memory_federation.py +0 -0
  826. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_swarm_trace.py +0 -0
  827. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_swarm_vector_overflow.py +0 -0
  828. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_sync_agent.py +0 -0
  829. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_tal.py +0 -0
  830. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_task_handle.py +0 -0
  831. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_task_handle_network.py +0 -0
  832. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_tcp_duplicate_kid_attack.py +0 -0
  833. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_tcp_edge.py +0 -0
  834. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_tcp_final.py +0 -0
  835. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_tcp_read_loop_cleanup.py +0 -0
  836. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_tcp_transport.py +0 -0
  837. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_theory_of_mind.py +0 -0
  838. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_transport.py +0 -0
  839. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_two_impl_interop.py +0 -0
  840. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_uncertainty.py +0 -0
  841. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_uncertainty_edge.py +0 -0
  842. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_wire.py +0 -0
  843. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_wire_edge_cases.py +0 -0
  844. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_wire_kid_stability.py +0 -0
  845. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_wire_p3.py +0 -0
  846. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_wire_v2.py +0 -0
  847. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_wire_version.py +0 -0
  848. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_witness_preimage_length_prefix.py +0 -0
  849. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_workflow_compensation.py +0 -0
  850. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_workflow_engine.py +0 -0
  851. {hypermind-0.22.0 → hypermind-0.24.0}/tests/test_workflow_replay.py +0 -0
  852. {hypermind-0.22.0 → hypermind-0.24.0}/tests/usecases/__init__.py +0 -0
  853. {hypermind-0.22.0 → hypermind-0.24.0}/tests/usecases/conftest.py +0 -0
  854. {hypermind-0.22.0 → hypermind-0.24.0}/tests/usecases/test_ai_01_fed_benchmark.py +0 -0
  855. {hypermind-0.22.0 → hypermind-0.24.0}/tests/usecases/test_ai_alignment_redteam.py +0 -0
  856. {hypermind-0.22.0 → hypermind-0.24.0}/tests/usecases/test_cy_05_ir_swarm.py +0 -0
  857. {hypermind-0.22.0 → hypermind-0.24.0}/tests/usecases/test_cy_11_ransomware_intel.py +0 -0
  858. {hypermind-0.22.0 → hypermind-0.24.0}/tests/usecases/test_ed_credentials.py +0 -0
  859. {hypermind-0.22.0 → hypermind-0.24.0}/tests/usecases/test_en_grid_coordinate.py +0 -0
  860. {hypermind-0.22.0 → hypermind-0.24.0}/tests/usecases/test_fi_04_bsa_314b.py +0 -0
  861. {hypermind-0.22.0 → hypermind-0.24.0}/tests/usecases/test_fi_22_ma_dataroom.py +0 -0
  862. {hypermind-0.22.0 → hypermind-0.24.0}/tests/usecases/test_gv_01_intel_sharing.py +0 -0
  863. {hypermind-0.22.0 → hypermind-0.24.0}/tests/usecases/test_gv_21_red_team.py +0 -0
  864. {hypermind-0.22.0 → hypermind-0.24.0}/tests/usecases/test_hc_06_rare_disease.py +0 -0
  865. {hypermind-0.22.0 → hypermind-0.24.0}/tests/usecases/test_hc_21_fed_learning.py +0 -0
  866. {hypermind-0.22.0 → hypermind-0.24.0}/tests/usecases/test_lg_ediscovery.py +0 -0
  867. {hypermind-0.22.0 → hypermind-0.24.0}/tests/usecases/test_mf_supply_chain.py +0 -0
  868. {hypermind-0.22.0 → hypermind-0.24.0}/transport-rust/Cargo.toml +0 -0
  869. {hypermind-0.22.0 → hypermind-0.24.0}/transport-rust/README.md +0 -0
  870. {hypermind-0.22.0 → hypermind-0.24.0}/transport-rust/pyproject.toml +0 -0
  871. {hypermind-0.22.0 → hypermind-0.24.0}/transport-rust/src/lib.rs +0 -0
  872. {hypermind-0.22.0 → hypermind-0.24.0}/webui/index.html +0 -0
  873. {hypermind-0.22.0 → hypermind-0.24.0}/webui/package-lock.json +0 -0
  874. {hypermind-0.22.0 → hypermind-0.24.0}/webui/package.json +0 -0
  875. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/App.vue +0 -0
  876. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/api/client.ts +0 -0
  877. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/components/ActivityCanvas.vue +0 -0
  878. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/components/AgentContribution.vue +0 -0
  879. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/components/BrierHeatmap.vue +0 -0
  880. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/components/CIQTrajectory.vue +0 -0
  881. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/components/CitationGraph.vue +0 -0
  882. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/components/DisputeTimeline.vue +0 -0
  883. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/components/DissentList.vue +0 -0
  884. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/components/Logo.vue +0 -0
  885. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/components/NowAsking.vue +0 -0
  886. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/components/PersonaRadar.vue +0 -0
  887. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/components/PopulationGenerator.vue +0 -0
  888. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/components/Term.vue +0 -0
  889. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/components/forms/SchemaForm.vue +0 -0
  890. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/components/result/AARTimeline.vue +0 -0
  891. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/components/result/BacktestScorecard.vue +0 -0
  892. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/components/result/ConformanceReport.vue +0 -0
  893. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/components/result/CrisisTabletop.vue +0 -0
  894. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/components/result/DecisionBracket.vue +0 -0
  895. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/components/result/EvaluationReport.vue +0 -0
  896. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/components/result/GovernanceReceipt.vue +0 -0
  897. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/components/result/MethodNote.vue +0 -0
  898. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/components/result/RedTeamReport.vue +0 -0
  899. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/components/result/ScenarioTree.vue +0 -0
  900. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/docs/index.ts +0 -0
  901. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/docs/render.ts +0 -0
  902. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/main.ts +0 -0
  903. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/router.ts +0 -0
  904. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/stores/sims.ts +0 -0
  905. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/styles.css +0 -0
  906. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/types/trace.ts +0 -0
  907. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/views/Agents.vue +0 -0
  908. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/views/Docs.vue +0 -0
  909. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/views/Evidence.vue +0 -0
  910. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/views/Home.vue +0 -0
  911. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/views/HowItWorks.vue +0 -0
  912. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/views/Knowledge.vue +0 -0
  913. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/views/Namespaces.vue +0 -0
  914. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/views/Report.vue +0 -0
  915. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/views/Security.vue +0 -0
  916. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/views/SimCompare.vue +0 -0
  917. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/views/SimDetail.vue +0 -0
  918. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/views/SimList.vue +0 -0
  919. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/views/SimLive.vue +0 -0
  920. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/views/SimNew.vue +0 -0
  921. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/views/Tools.vue +0 -0
  922. {hypermind-0.22.0 → hypermind-0.24.0}/webui/src/views/UseCases.vue +0 -0
  923. {hypermind-0.22.0 → hypermind-0.24.0}/webui/tsconfig.json +0 -0
  924. {hypermind-0.22.0 → hypermind-0.24.0}/webui/vite.config.ts +0 -0
@@ -14,7 +14,44 @@ changes only on major-version bumps.
14
14
 
15
15
  ## [Unreleased]
16
16
 
17
- _Current trunk; new work after v0.11.0._
17
+ _Current trunk._
18
+
19
+ ## [0.23.0] — 2026-07-08
20
+
21
+ ### Added
22
+ - **Distributed, Locust-style execution** — `hypermind.orgs.distributed`. A master coordinator shards a swarm across workers (other machines or local processes) over a TCP control plane (length-prefixed CBOR frames); each worker runs its shard as `OrgSim(lightweight=True)` against the **shared Relata namespace** and returns bounded aggregates, merged into one `OrgReport` (#177).
23
+ - `Coordinator` / `Worker`, `run_distributed(...)` (single-host convenience), and a `master` / `worker` CLI (`python -m hypermind.orgs.distributed`).
24
+ - Capacity-weighted shard planning; a worker that drops before returning is recorded as a failed shard — the run completes and notes it, never hangs.
25
+ - `OrgSim.export_aggregates()` for the merge; `OrgModel` wire (de)serialisation.
26
+
27
+ ## [0.22.0] — 2026-07-08
28
+
29
+ ### Added
30
+ - **Batched Relata writes** — `RelataBackend(write_batch_size=N)` buffers claim rows and flushes via one bulk `batch_upsert` instead of a per-claim round-trip; `OrgSim` defaults to 64. ~batch× fewer round-trips at scale (#175).
31
+ - **Bounded / streaming report** — `OrgSim(lightweight=True)` caps memory to O(members + windows), not O(records): per-member streaming aggregates + a rolling claim window, exact scorecard totals. `metrics.scorecard_from_aggregates(...)` (#176).
32
+ - Parallel keypair generation at `testbed()` spin-up (thread pool; the crypto releases the GIL) — part of #177.
33
+
34
+ ## [0.21.0] — 2026-07-08
35
+
36
+ ### Added
37
+ - **Native response-quality rubrics** — `hypermind.orgs.quality`: `sim.assess(question)` → `QualityReport`. Four rubric groups, all on by default, switchable via `disable`: native/deterministic (provenance coverage, dispute exposure, reputation support, consensus, abstention — verifiable from the signed ledger), judge-based faithfulness (grounding, hallucination rate, answer relevance, context precision), calibration (Brier, self-consistency), and context recall. Missing deps degrade to informational notes. `llm_judge(...)` factory.
38
+
39
+ ## [0.20.0] — 2026-07-08
40
+
41
+ ### Added
42
+ - **Hybrid retrieval** — `reciprocal_rank_fusion(...)` and `hybrid_retriever(*retrievers, reranker=None)` fuse dense + entity-graph + lexical signals (RRF) with an optional cross-encoder rerank, over our own Relata data. Plugs into the existing `OrgSim(retriever=...)` seam.
43
+
44
+ ## [0.12.0] – [0.19.0] — 2026-06 … 2026-07
45
+
46
+ ### Added
47
+ - **`hypermind.orgs` — the living-simulation engine.** Turn a declarative `OrgModel` / `Unit` / `Seat` into a running multi-agent simulation (research → publish → cite → dispute → resolve → learn → evolve) persisted to Relata, driven by pluggable `Interaction` strategies (`cooperative` / `adversarial` / `crowd`).
48
+ - **Template library**: `university`, `hospital`, `city_at_war`, `foreign_policy_cabinet`, `un_security_council`, `internet_crowd`, `research_lab`, … via `list_templates()` / `get_template()` — the core never imports them.
49
+ - **Per-agent models** (per-seat provider/model or a router) and **group-scoped native tools** (declarative or random grants; ungranted tools are absent, not refused).
50
+ - **Study → ask**: `sim.study(topic)` then `sim.ask(question)` — a transparent, queryable swarm that answers from what it learned, weighted by earned standing.
51
+ - **Proper RAG** for `ask`: lexical → semantic embeddings (`embedder=`, `openai_embedder`) → claim↔entity graph (`use_graph_retrieval`, `MentionGraph`) → real NER hooks (`llm_ner_extractor`, `chat_ner_extractor`, `pioneer_ner_extractor`) → Relata-backed retrieval (`relata_retriever`).
52
+ - **Scorecard & analysis**: reputation ranking, citation DAG, dispute ledger, Brier calibration (#151), convergence metrics (#152), memory-RAG (#153), deliberator mode (#154), tool-trace capture (#155), adversarial dynamics (#156), pluggable ground truth (#157), experiment/variant harness (#158), interventions (#159), visualization snapshots (#160), verifiable receipts (#161).
53
+ - **Scalability hardening** across the engine: bounded peer window, O(1) member indices, top-k cross-pollination, concurrent think phase (`asyncio.gather` + semaphore) and concurrent blocking I/O (`asyncio.to_thread`).
54
+ - `examples/org_university.py` and an expanded examples index.
18
55
 
19
56
  ## [0.11.0] — 2026-05-10
20
57
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hypermind
3
- Version: 0.22.0
3
+ Version: 0.24.0
4
4
  Summary: Federated agent intelligence — reference SDK for the HyperMind SCITT contested-claims profile
5
5
  Project-URL: Homepage, https://github.com/ZySec-AI/hypermind
6
6
  Project-URL: Documentation, https://github.com/ZySec-AI/hypermind/tree/main/docs
@@ -102,7 +102,7 @@ Agents share what they learn. Dispute what they doubt. Build trust over time.
102
102
  [![PyPI](https://img.shields.io/pypi/v/hypermind?color=4c8cff&label=pip%20install%20hypermind)](https://pypi.org/project/hypermind/)
103
103
  [![Python](https://img.shields.io/pypi/pyversions/hypermind?color=4c8cff)](https://pypi.org/project/hypermind/)
104
104
  [![License](https://img.shields.io/badge/license-Apache--2.0-green.svg)](LICENSE)
105
- [![Tests](https://img.shields.io/badge/tests-1753%20passing-brightgreen)](#testing--quality)
105
+ [![Tests](https://img.shields.io/badge/tests-2133%20passing-brightgreen)](#testing--quality)
106
106
  [![Coverage](https://img.shields.io/badge/coverage-95%25-brightgreen)](#testing--quality)
107
107
  [![Status](https://img.shields.io/badge/status-v0.10-blue)](#project-status)
108
108
 
@@ -147,7 +147,7 @@ Open **http://127.0.0.1:8765** and you'll see:
147
147
  ```bash
148
148
  make run-fast # skip the webui rebuild (when JS hasn't changed)
149
149
  make webui-dev # Vite dev server with hot-reload on :5173
150
- make test # 1753 tests pass, ~80s
150
+ make test # 2133 tests pass, ~80s
151
151
  make demo # examples/01_hello_world from the CLI
152
152
  make demos # all numbered tutorials + scenarios sequentially
153
153
  make help # show all targets
@@ -232,6 +232,10 @@ report.print() # reputation ranking · citation graph · dispute ledger
232
232
  - **Per-agent models.** Any seat can pin its own provider/model (`Seat("Professor", llm="anthropic", model="claude-opus-4-8")`), or hand `OrgSim` a router for random / cost-aware assignment.
233
233
  - **Native tools, group-scoped.** Tools (web search, retrieval, KB query, Relata research) are granted per unit/seat and enforced — an ungranted tool is *absent* from that agent's toolset. Grants can be declarative or randomised; register your own with `hypermind.orgs.register_tool(...)`.
234
234
  - **Relata end-to-end.** Organisation → tenant; member → private memory session (agent kid); claims / disputes / reputation → tenant-scoped ledger rows; chain of custody → the Merkle log. Restart replays the whole org.
235
+ - **Study → ask (a queryable swarm).** Let the swarm learn a topic, then question it: `await sim.study(topic)` then `await sim.ask("...")` — every member recalls what it learned, reasons, and the answers are aggregated weighted by earned standing. `sim.ask` studies first automatically if you skip the explicit step.
236
+ - **Proper RAG.** Retrieval for `ask` is pluggable: lexical (default), semantic embeddings (`embedder=`), the claim↔entity graph (`use_graph_retrieval=True`), or `hybrid_retriever(...)` which fuses dense + graph + lexical via Reciprocal Rank Fusion with an optional cross-encoder rerank. Relata *is* the vector store + graph (`relata_retriever(..., "search_knowledge" / "find_connections")`).
237
+ - **Answer quality, natively.** `await sim.assess(question)` returns a `QualityReport` scoring grounding, hallucination rate, calibration (Brier), self-consistency, and hm-native rubrics that are *verifiable from the signed ledger* — provenance coverage, dispute exposure, reputation-weighted support. All rubrics on by default; missing deps (judge / ground-truth) degrade to informational notes.
238
+ - **Scales like Locust.** `OrgSim(lightweight=True)` caps RAM to O(members), not O(records); Relata writes are batched. For horizontal scale, `hypermind.orgs.distributed` runs a **master/worker** control plane — shard a swarm across processes or machines against the shared Relata namespace, merged into one report (`python -m hypermind.orgs.distributed master/worker`, or `run_distributed(...)`).
235
239
 
236
240
  Worked example: [`examples/org_university.py`](examples/org_university.py). Discover all presets via `hypermind.orgs.templates.list_templates()`.
237
241
 
@@ -14,7 +14,7 @@ Agents share what they learn. Dispute what they doubt. Build trust over time.
14
14
  [![PyPI](https://img.shields.io/pypi/v/hypermind?color=4c8cff&label=pip%20install%20hypermind)](https://pypi.org/project/hypermind/)
15
15
  [![Python](https://img.shields.io/pypi/pyversions/hypermind?color=4c8cff)](https://pypi.org/project/hypermind/)
16
16
  [![License](https://img.shields.io/badge/license-Apache--2.0-green.svg)](LICENSE)
17
- [![Tests](https://img.shields.io/badge/tests-1753%20passing-brightgreen)](#testing--quality)
17
+ [![Tests](https://img.shields.io/badge/tests-2133%20passing-brightgreen)](#testing--quality)
18
18
  [![Coverage](https://img.shields.io/badge/coverage-95%25-brightgreen)](#testing--quality)
19
19
  [![Status](https://img.shields.io/badge/status-v0.10-blue)](#project-status)
20
20
 
@@ -59,7 +59,7 @@ Open **http://127.0.0.1:8765** and you'll see:
59
59
  ```bash
60
60
  make run-fast # skip the webui rebuild (when JS hasn't changed)
61
61
  make webui-dev # Vite dev server with hot-reload on :5173
62
- make test # 1753 tests pass, ~80s
62
+ make test # 2133 tests pass, ~80s
63
63
  make demo # examples/01_hello_world from the CLI
64
64
  make demos # all numbered tutorials + scenarios sequentially
65
65
  make help # show all targets
@@ -144,6 +144,10 @@ report.print() # reputation ranking · citation graph · dispute ledger
144
144
  - **Per-agent models.** Any seat can pin its own provider/model (`Seat("Professor", llm="anthropic", model="claude-opus-4-8")`), or hand `OrgSim` a router for random / cost-aware assignment.
145
145
  - **Native tools, group-scoped.** Tools (web search, retrieval, KB query, Relata research) are granted per unit/seat and enforced — an ungranted tool is *absent* from that agent's toolset. Grants can be declarative or randomised; register your own with `hypermind.orgs.register_tool(...)`.
146
146
  - **Relata end-to-end.** Organisation → tenant; member → private memory session (agent kid); claims / disputes / reputation → tenant-scoped ledger rows; chain of custody → the Merkle log. Restart replays the whole org.
147
+ - **Study → ask (a queryable swarm).** Let the swarm learn a topic, then question it: `await sim.study(topic)` then `await sim.ask("...")` — every member recalls what it learned, reasons, and the answers are aggregated weighted by earned standing. `sim.ask` studies first automatically if you skip the explicit step.
148
+ - **Proper RAG.** Retrieval for `ask` is pluggable: lexical (default), semantic embeddings (`embedder=`), the claim↔entity graph (`use_graph_retrieval=True`), or `hybrid_retriever(...)` which fuses dense + graph + lexical via Reciprocal Rank Fusion with an optional cross-encoder rerank. Relata *is* the vector store + graph (`relata_retriever(..., "search_knowledge" / "find_connections")`).
149
+ - **Answer quality, natively.** `await sim.assess(question)` returns a `QualityReport` scoring grounding, hallucination rate, calibration (Brier), self-consistency, and hm-native rubrics that are *verifiable from the signed ledger* — provenance coverage, dispute exposure, reputation-weighted support. All rubrics on by default; missing deps (judge / ground-truth) degrade to informational notes.
150
+ - **Scales like Locust.** `OrgSim(lightweight=True)` caps RAM to O(members), not O(records); Relata writes are batched. For horizontal scale, `hypermind.orgs.distributed` runs a **master/worker** control plane — shard a swarm across processes or machines against the shared Relata namespace, merged into one report (`python -m hypermind.orgs.distributed master/worker`, or `run_distributed(...)`).
147
151
 
148
152
  Worked example: [`examples/org_university.py`](examples/org_university.py). Discover all presets via `hypermind.orgs.templates.list_templates()`.
149
153
 
@@ -87,6 +87,7 @@ Pick one that matches your domain.
87
87
  | File | Domain | What it shows |
88
88
  |---|---|---|
89
89
  | [`org_university.py`](org_university.py) | Any network | Spin up a templated org (university / city / UNO / crowd), run research → cite → dispute → resolve → evolve, print a reputation + citation report. Per-agent models + group-scoped tools, persisted to Relata. |
90
+ | [`org_distributed.py`](org_distributed.py) | Scale-out | Locust-style distributed run: a master coordinator shards the swarm across workers (processes or machines) against the shared Relata namespace, merged into one report (`hypermind.orgs.distributed`). Single-host convenience + multi-machine CLI. |
90
91
 
91
92
  ### Pilot-shaped demonstrations
92
93
 
@@ -0,0 +1,74 @@
1
+ """THE STORY — one swarm, many workers: scale a simulation like Locust.
2
+
3
+ The single-process engine (``examples/org_university.py``) is great to ~1000s of
4
+ agents. Beyond that you scale *out*: ``hypermind.orgs.distributed`` runs a
5
+ **master coordinator** that shards the swarm across **workers** — processes on
6
+ this box or on other machines — each running its slice as
7
+ ``OrgSim(lightweight=True)`` against the **shared Relata namespace** (the source
8
+ of truth). The coordinator merges every worker's bounded aggregates into one
9
+ ``OrgReport``.
10
+
11
+ This script shows the single-host convenience path (``run_distributed`` starts a
12
+ coordinator plus in-process workers over loopback) — the *same* code path as
13
+ multi-machine. For true multi-machine, use the CLI instead::
14
+
15
+ # on the master host
16
+ python -m hypermind.orgs.distributed master --template university \
17
+ --topic "..." --members 10000 --rounds 8 --expected-workers 4 \
18
+ --host 0.0.0.0 --port 8765 --llm openai --llm-model openai/gpt-4o-mini
19
+
20
+ # on each worker host
21
+ python -m hypermind.orgs.distributed worker \
22
+ --master-host <master-ip> --port 8765 --capacity 2500
23
+
24
+ PREREQUISITES
25
+ * A running Relata instance: docker compose -f deploy/docker-compose.yml up -d relata
26
+ * export RELATA_URL=http://localhost:9090 RELATA_TOKEN=...
27
+ * export OPENAI_API_KEY=... (workers build their own client from env)
28
+
29
+ Run with: python -m examples.org_distributed
30
+ """
31
+
32
+ from __future__ import annotations
33
+
34
+ import asyncio
35
+ import os
36
+
37
+
38
+ async def main() -> None:
39
+ from hypermind.orgs.distributed import run_distributed
40
+ from hypermind.orgs.templates import university
41
+
42
+ relata_url = os.environ.get("RELATA_URL")
43
+ if not relata_url:
44
+ raise SystemExit(
45
+ "Set RELATA_URL (and RELATA_TOKEN) to a running Relata instance. "
46
+ "See deploy/docker-compose.yml."
47
+ )
48
+
49
+ model = university() # the shape; run_distributed scales it across workers
50
+ report = await run_distributed(
51
+ model,
52
+ topic="What limits the accuracy of ab-initio protein folding?",
53
+ members=48, # sharded across the workers below
54
+ rounds=4,
55
+ workers=4, # 4 in-process workers over loopback (each ~12 members)
56
+ config={
57
+ "llm": "openai",
58
+ "llm_model": "openai/gpt-4o-mini",
59
+ "base_url": os.environ.get("OPENAI_BASE_URL"), # e.g. OpenRouter
60
+ "relata_url": relata_url,
61
+ "relata_token": os.environ.get("RELATA_TOKEN"),
62
+ },
63
+ )
64
+
65
+ report.print()
66
+ sc = report.scorecard
67
+ print(
68
+ f"\nmerged across workers → {sc['claims']} claims · {sc['citations']} citations · "
69
+ f"{len(report.standings)} members"
70
+ )
71
+
72
+
73
+ if __name__ == "__main__":
74
+ asyncio.run(main())
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "hypermind"
7
- version = "0.22.0"
7
+ version = "0.24.0"
8
8
  description = "Federated agent intelligence — reference SDK for the HyperMind SCITT contested-claims profile"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11,<3.14"
@@ -73,7 +73,7 @@ open = HyperMindAgent.open
73
73
  #: is held until the §External & human gates clear (IETF I-D, IANA,
74
74
  #: third-party audit, OpenSSF acceptance, ≥3 pilots) — at that point we
75
75
  #: cut ``1.0.0`` GA. See ROADMAP.md §Status snapshot.
76
- __version__ = "0.22.0"
76
+ __version__ = "0.24.0"
77
77
 
78
78
  #: SLSA build-provenance level committed for every release artefact.
79
79
  #: Cosign keyless signing + slsa-github-generator + PEP 740 attestations
@@ -0,0 +1,135 @@
1
+ """Distributed, Locust-style execution for OrgSim (#177).
2
+
3
+ A **master coordinator** shards a swarm across **workers** (processes on the
4
+ same box or other machines) over a TCP control plane; every worker runs its
5
+ shard as an ``OrgSim(lightweight=True)`` against the **shared Relata namespace**
6
+ (the source of truth) and returns bounded aggregates, which the coordinator
7
+ merges into one :class:`~hypermind.orgs.report.OrgReport`.
8
+
9
+ Multi-machine (the Locust model)::
10
+
11
+ # on the master host
12
+ python -m hypermind.orgs.distributed master \
13
+ --template university --members 10000 --rounds 8 \
14
+ --expected-workers 4 --host 0.0.0.0 --port 8765
15
+
16
+ # on each worker host
17
+ python -m hypermind.orgs.distributed worker \
18
+ --master-host <master-ip> --port 8765 --capacity 2500 \
19
+ --llm openai --llm-model openai/gpt-4o-mini
20
+
21
+ Single host (convenience — coordinator + in-process workers over loopback)::
22
+
23
+ from hypermind.orgs.distributed import run_distributed
24
+ from hypermind.orgs.templates import university
25
+ report = await run_distributed(university(), "protein folding",
26
+ members=2000, rounds=6, workers=8, config={...})
27
+ """
28
+
29
+ from __future__ import annotations
30
+
31
+ import asyncio
32
+ import logging
33
+ from typing import Any
34
+
35
+ from hypermind.orgs.distributed.coordinator import Coordinator
36
+ from hypermind.orgs.distributed.planning import (
37
+ merge_results,
38
+ plan_shards,
39
+ seat_count,
40
+ validate_shardable,
41
+ )
42
+ from hypermind.orgs.distributed.provision import provision_hm_types
43
+ from hypermind.orgs.distributed.worker import Worker, default_shard_runner
44
+ from hypermind.orgs.model import OrgModel
45
+ from hypermind.orgs.report import OrgReport
46
+
47
+ logger = logging.getLogger("hypermind.orgs.distributed")
48
+
49
+ __all__ = [
50
+ "Coordinator",
51
+ "DistributedError",
52
+ "Worker",
53
+ "default_shard_runner",
54
+ "merge_results",
55
+ "plan_shards",
56
+ "provision_hm_types",
57
+ "run_distributed",
58
+ "seat_count",
59
+ "validate_shardable",
60
+ ]
61
+
62
+
63
+ class DistributedError(RuntimeError):
64
+ """Raised when a distributed run cannot produce any result (all shards failed)."""
65
+
66
+
67
+ async def run_distributed(
68
+ model: OrgModel,
69
+ topic: str,
70
+ *,
71
+ members: int,
72
+ rounds: int,
73
+ workers: int = 4,
74
+ capacity_each: int = 1,
75
+ config: dict[str, Any] | None = None,
76
+ host: str = "127.0.0.1",
77
+ shard_runner: Any = None,
78
+ ) -> OrgReport:
79
+ """Run a distributed simulation on this host: start a coordinator and
80
+ ``workers`` in-process workers (over loopback), shard ``members`` across
81
+ them, and return the merged report.
82
+
83
+ Same code path as multi-machine — the only difference is the workers live in
84
+ this process instead of on remote hosts. Pass ``shard_runner`` to stub the
85
+ per-shard work (tests); omit it for the real ``OrgSim`` runner.
86
+
87
+ Raises ``ValueError`` up front if the shard plan isn't viable (#190) and
88
+ ``DistributedError`` if every shard fails (#191).
89
+ """
90
+ # Pre-flight: fail fast with a clear message if a shard would be too small.
91
+ validate_shardable(model, members, [capacity_each] * workers)
92
+
93
+ coord = Coordinator(
94
+ model,
95
+ topic,
96
+ members=members,
97
+ rounds=rounds,
98
+ expected_workers=workers,
99
+ host=host,
100
+ port=0,
101
+ config=config,
102
+ )
103
+
104
+ async def _serve() -> OrgReport:
105
+ return await coord.run()
106
+
107
+ coord_task = asyncio.create_task(_serve())
108
+ # Wait for the server to bind before workers dial in.
109
+ while coord.port == 0:
110
+ await asyncio.sleep(0.005)
111
+
112
+ worker_tasks = [
113
+ asyncio.create_task(
114
+ Worker(
115
+ host,
116
+ coord.port,
117
+ worker_id=f"w{i}",
118
+ capacity=capacity_each,
119
+ shard_runner=shard_runner,
120
+ ).run()
121
+ )
122
+ for i in range(workers)
123
+ ]
124
+ report = await coord_task
125
+ await asyncio.gather(*worker_tasks, return_exceptions=True)
126
+
127
+ # Surface shard failures loudly (#191).
128
+ failed = next((e for e in report.events if e["event"] == "shards_failed"), None)
129
+ succeeded = next((e["shards"] for e in report.events if e["event"] == "distributed"), 0)
130
+ if failed:
131
+ msg = f"{failed['count']} shard(s) failed: {failed['detail']}"
132
+ if succeeded == 0:
133
+ raise DistributedError(f"distributed run produced no results — {msg}")
134
+ logger.warning("distributed run completed with failures — %s", msg)
135
+ return report
@@ -0,0 +1,110 @@
1
+ """CLI for distributed OrgSim (#177): ``master`` and ``worker`` subcommands.
2
+
3
+ python -m hypermind.orgs.distributed master --template university \
4
+ --members 10000 --rounds 8 --expected-workers 4 --host 0.0.0.0 --port 8765
5
+
6
+ python -m hypermind.orgs.distributed worker --master-host <ip> --port 8765 \
7
+ --capacity 2500 --llm openai --llm-model openai/gpt-4o-mini
8
+ """
9
+
10
+ from __future__ import annotations
11
+
12
+ import argparse
13
+ import asyncio
14
+ import json
15
+ import sys
16
+
17
+ from hypermind.orgs.distributed.coordinator import Coordinator
18
+ from hypermind.orgs.distributed.worker import Worker
19
+
20
+
21
+ def _load_model(args: argparse.Namespace):
22
+ from hypermind.orgs.templates import get_template
23
+
24
+ return get_template(args.template)(namespace=args.namespace)
25
+
26
+
27
+ async def _run_master(args: argparse.Namespace) -> int:
28
+ model = _load_model(args)
29
+ config = {
30
+ "llm": args.llm,
31
+ "llm_model": args.llm_model,
32
+ "relata_url": args.relata_url,
33
+ "relata_token": args.relata_token,
34
+ "base_url": args.base_url,
35
+ "api_key_env": args.api_key_env,
36
+ }
37
+ coord = Coordinator(
38
+ model,
39
+ args.topic,
40
+ members=args.members,
41
+ rounds=args.rounds,
42
+ expected_workers=args.expected_workers,
43
+ host=args.host,
44
+ port=args.port,
45
+ config=config,
46
+ )
47
+ print(
48
+ f"master: binding {args.host}:{args.port}, waiting for {args.expected_workers} worker(s)…"
49
+ )
50
+ report = await coord.run()
51
+ out = (
52
+ report.to_json() if hasattr(report, "to_json") else json.dumps(report.__dict__, default=str)
53
+ )
54
+ if args.output:
55
+ with open(args.output, "w") as f:
56
+ f.write(out)
57
+ print(f"master: wrote report → {args.output}")
58
+ else:
59
+ report.print()
60
+ return 0
61
+
62
+
63
+ async def _run_worker(args: argparse.Namespace) -> int:
64
+ print(
65
+ f"worker {args.worker_id}: connecting to {args.master_host}:{args.port} (cap {args.capacity})…"
66
+ )
67
+ await Worker(
68
+ args.master_host, args.port, worker_id=args.worker_id, capacity=args.capacity
69
+ ).run()
70
+ print(f"worker {args.worker_id}: done")
71
+ return 0
72
+
73
+
74
+ def _build_parser() -> argparse.ArgumentParser:
75
+ ap = argparse.ArgumentParser(prog="python -m hypermind.orgs.distributed")
76
+ sub = ap.add_subparsers(dest="cmd", required=True)
77
+
78
+ m = sub.add_parser("master", help="run the coordinator")
79
+ m.add_argument("--template", default="university")
80
+ m.add_argument("--namespace", default="dist-run")
81
+ m.add_argument("--topic", required=True)
82
+ m.add_argument("--members", type=int, required=True)
83
+ m.add_argument("--rounds", type=int, default=6)
84
+ m.add_argument("--expected-workers", type=int, required=True)
85
+ m.add_argument("--host", default="0.0.0.0")
86
+ m.add_argument("--port", type=int, default=8765)
87
+ m.add_argument("--llm", default="openai")
88
+ m.add_argument("--llm-model", default=None)
89
+ m.add_argument("--base-url", default=None)
90
+ m.add_argument("--api-key-env", default="OPENAI_API_KEY")
91
+ m.add_argument("--relata-url", default="http://localhost:9090")
92
+ m.add_argument("--relata-token", default=None)
93
+ m.add_argument("--output", default=None)
94
+
95
+ w = sub.add_parser("worker", help="run a worker")
96
+ w.add_argument("--master-host", required=True)
97
+ w.add_argument("--port", type=int, default=8765)
98
+ w.add_argument("--worker-id", default="worker-1")
99
+ w.add_argument("--capacity", type=int, default=1)
100
+ return ap
101
+
102
+
103
+ def main(argv: list[str] | None = None) -> int:
104
+ args = _build_parser().parse_args(argv)
105
+ runner = _run_master if args.cmd == "master" else _run_worker
106
+ return asyncio.run(runner(args))
107
+
108
+
109
+ if __name__ == "__main__":
110
+ sys.exit(main())