hypermind 1.8.0__tar.gz → 1.8.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1166) hide show
  1. {hypermind-1.8.0 → hypermind-1.8.2}/PKG-INFO +1 -1
  2. {hypermind-1.8.0 → hypermind-1.8.2}/deploy/docker-compose.yml +1 -1
  3. {hypermind-1.8.0 → hypermind-1.8.2}/deploy/relata-serve.sh +1 -1
  4. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/20-swarm-intelligence.md +58 -3
  5. hypermind-1.8.2/e2e_features_test.py +402 -0
  6. {hypermind-1.8.0 → hypermind-1.8.2}/examples/README.md +1 -0
  7. {hypermind-1.8.0 → hypermind-1.8.2}/pyproject.toml +1 -1
  8. {hypermind-1.8.0 → hypermind-1.8.2}/src/hmctl/cli.py +89 -0
  9. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/agent.py +78 -4
  10. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/integrations/client.py +36 -0
  11. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/integrations/mcp_tools.py +10 -7
  12. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/mind/__init__.py +8 -1
  13. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/mind/deliberator.py +13 -1
  14. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/mind/policy.py +6 -3
  15. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/mind/skills.py +244 -7
  16. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/mind/sybil_guard.py +13 -4
  17. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/hypothesis.py +22 -0
  18. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/sim.py +2 -0
  19. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/storage/relata.py +50 -1
  20. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/storage/sqlite.py +24 -0
  21. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/tal.py +48 -0
  22. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/transport/tcp.py +1 -1
  23. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conftest.py +17 -0
  24. hypermind-1.8.2/tests/mind/test_skill_learning_pipeline.py +176 -0
  25. {hypermind-1.8.0 → hypermind-1.8.2}/tests/storage/test_relata_backend.py +11 -0
  26. {hypermind-1.8.0 → hypermind-1.8.2}/.editorconfig +0 -0
  27. {hypermind-1.8.0 → hypermind-1.8.2}/.env.example +0 -0
  28. {hypermind-1.8.0 → hypermind-1.8.2}/.gitattributes +0 -0
  29. {hypermind-1.8.0 → hypermind-1.8.2}/.github/FUNDING.yml +0 -0
  30. {hypermind-1.8.0 → hypermind-1.8.2}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  31. {hypermind-1.8.0 → hypermind-1.8.2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  32. {hypermind-1.8.0 → hypermind-1.8.2}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  33. {hypermind-1.8.0 → hypermind-1.8.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  34. {hypermind-1.8.0 → hypermind-1.8.2}/.github/renovate.json +0 -0
  35. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows/check-license.yml +0 -0
  36. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows/code-review-pr.yml +0 -0
  37. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows/hotfix-security.yml +0 -0
  38. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows/issue-auto-fix.yml +0 -0
  39. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows/issue-triage.yml +0 -0
  40. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows/pr-standards.yml +0 -0
  41. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows/quality.yml +0 -0
  42. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows/release-simple.yml.bak +0 -0
  43. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows/release.yml +0 -0
  44. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows/security.yml +0 -0
  45. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows/stale.yml +0 -0
  46. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows-disabled/branch-flow-check.yml +0 -0
  47. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows-disabled/chaos.yml +0 -0
  48. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows-disabled/check-license.yml +0 -0
  49. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows-disabled/ci.yml +0 -0
  50. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows-disabled/code-freeze.yml +0 -0
  51. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows-disabled/code-review-pr.yml +0 -0
  52. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows-disabled/code-review.yml +0 -0
  53. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows-disabled/codeql.yml +0 -0
  54. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows-disabled/dco.yml +0 -0
  55. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows-disabled/docs-to-wiki.yml +0 -0
  56. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows-disabled/docs.yml +0 -0
  57. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows-disabled/formal.yml +0 -0
  58. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows-disabled/fuzz.yml +0 -0
  59. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows-disabled/hotfix-security.yml +0 -0
  60. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows-disabled/issue-auto-fix.yml +0 -0
  61. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows-disabled/issue-triage.yml +0 -0
  62. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows-disabled/merge-comment.yml +0 -0
  63. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows-disabled/pip-audit.yml +0 -0
  64. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows-disabled/pr-standards.yml +0 -0
  65. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows-disabled/quality.yml +0 -0
  66. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows-disabled/sbom.yml +0 -0
  67. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows-disabled/scorecard.yml +0 -0
  68. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows-disabled/security.yml +0 -0
  69. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows-disabled/sprint-retro.yml +0 -0
  70. {hypermind-1.8.0 → hypermind-1.8.2}/.github/workflows-disabled/stale.yml +0 -0
  71. {hypermind-1.8.0 → hypermind-1.8.2}/.gitignore +0 -0
  72. {hypermind-1.8.0 → hypermind-1.8.2}/.gitleaks.toml +0 -0
  73. {hypermind-1.8.0 → hypermind-1.8.2}/.pre-commit-config.yaml +0 -0
  74. {hypermind-1.8.0 → hypermind-1.8.2}/.tool-versions +0 -0
  75. {hypermind-1.8.0 → hypermind-1.8.2}/CHANGELOG.md +0 -0
  76. {hypermind-1.8.0 → hypermind-1.8.2}/CHARTER.md +0 -0
  77. {hypermind-1.8.0 → hypermind-1.8.2}/CLAUDE.md +0 -0
  78. {hypermind-1.8.0 → hypermind-1.8.2}/CODEOWNERS +0 -0
  79. {hypermind-1.8.0 → hypermind-1.8.2}/CODE_OF_CONDUCT.md +0 -0
  80. {hypermind-1.8.0 → hypermind-1.8.2}/CONTRIBUTING.md +0 -0
  81. {hypermind-1.8.0 → hypermind-1.8.2}/GOVERNANCE.md +0 -0
  82. {hypermind-1.8.0 → hypermind-1.8.2}/LICENSE +0 -0
  83. {hypermind-1.8.0 → hypermind-1.8.2}/MAINTAINERS.md +0 -0
  84. {hypermind-1.8.0 → hypermind-1.8.2}/Makefile +0 -0
  85. {hypermind-1.8.0 → hypermind-1.8.2}/README.md +0 -0
  86. {hypermind-1.8.0 → hypermind-1.8.2}/ROADMAP.md +0 -0
  87. {hypermind-1.8.0 → hypermind-1.8.2}/SECURITY.md +0 -0
  88. {hypermind-1.8.0 → hypermind-1.8.2}/bench/README.md +0 -0
  89. {hypermind-1.8.0 → hypermind-1.8.2}/bench/__init__.py +0 -0
  90. {hypermind-1.8.0 → hypermind-1.8.2}/bench/baselines/v0.6.json +0 -0
  91. {hypermind-1.8.0 → hypermind-1.8.2}/bench/bench_consult.py +0 -0
  92. {hypermind-1.8.0 → hypermind-1.8.2}/bench/bench_dispute.py +0 -0
  93. {hypermind-1.8.0 → hypermind-1.8.2}/bench/bench_publish.py +0 -0
  94. {hypermind-1.8.0 → hypermind-1.8.2}/bench/coordination/README.md +0 -0
  95. {hypermind-1.8.0 → hypermind-1.8.2}/bench/coordination/__init__.py +0 -0
  96. {hypermind-1.8.0 → hypermind-1.8.2}/bench/coordination/baselines/v0.10.json +0 -0
  97. {hypermind-1.8.0 → hypermind-1.8.2}/bench/coordination/bench_rfp_latency.py +0 -0
  98. {hypermind-1.8.0 → hypermind-1.8.2}/bench/coordination/bench_task_throughput.py +0 -0
  99. {hypermind-1.8.0 → hypermind-1.8.2}/bench/coordination/bench_workflow_replay.py +0 -0
  100. {hypermind-1.8.0 → hypermind-1.8.2}/bench/coordination/run_all.py +0 -0
  101. {hypermind-1.8.0 → hypermind-1.8.2}/bench/question_sets/geopolitics_q20.json +0 -0
  102. {hypermind-1.8.0 → hypermind-1.8.2}/bench/question_sets/msft_outlook_q10.json +0 -0
  103. {hypermind-1.8.0 → hypermind-1.8.2}/bench/run_bench.py +0 -0
  104. {hypermind-1.8.0 → hypermind-1.8.2}/chaos/README.md +0 -0
  105. {hypermind-1.8.0 → hypermind-1.8.2}/chaos/__init__.py +0 -0
  106. {hypermind-1.8.0 → hypermind-1.8.2}/chaos/p1_partition_recovery.py +0 -0
  107. {hypermind-1.8.0 → hypermind-1.8.2}/chaos/p2_witness_compromise.py +0 -0
  108. {hypermind-1.8.0 → hypermind-1.8.2}/chaos/p3_key_rotation.py +0 -0
  109. {hypermind-1.8.0 → hypermind-1.8.2}/chaos/p4_dispute_backlog.py +0 -0
  110. {hypermind-1.8.0 → hypermind-1.8.2}/chaos/p5_wire_cutover.py +0 -0
  111. {hypermind-1.8.0 → hypermind-1.8.2}/chaos/p6_quorum_loss.py +0 -0
  112. {hypermind-1.8.0 → hypermind-1.8.2}/chaos/p7_clock_skew.py +0 -0
  113. {hypermind-1.8.0 → hypermind-1.8.2}/chaos/p8_recorder_outage.py +0 -0
  114. {hypermind-1.8.0 → hypermind-1.8.2}/chaos/run_chaos.py +0 -0
  115. {hypermind-1.8.0 → hypermind-1.8.2}/deploy/Dockerfile +0 -0
  116. {hypermind-1.8.0 → hypermind-1.8.2}/deploy/README.md +0 -0
  117. {hypermind-1.8.0 → hypermind-1.8.2}/deploy/grafana/dashboards/hypermind-coordination.json +0 -0
  118. {hypermind-1.8.0 → hypermind-1.8.2}/deploy/grafana/dashboards/hypermind-v06.json +0 -0
  119. {hypermind-1.8.0 → hypermind-1.8.2}/deploy/grafana/dashboards/hypermind.json +0 -0
  120. {hypermind-1.8.0 → hypermind-1.8.2}/deploy/grafana/provisioning/dashboards/hypermind.yml +0 -0
  121. {hypermind-1.8.0 → hypermind-1.8.2}/deploy/grafana/provisioning/datasources/prometheus.yml +0 -0
  122. {hypermind-1.8.0 → hypermind-1.8.2}/deploy/k8s/hypermind-deployment.yaml +0 -0
  123. {hypermind-1.8.0 → hypermind-1.8.2}/deploy/k8s/orgs-distributed.yaml +0 -0
  124. {hypermind-1.8.0 → hypermind-1.8.2}/deploy/prometheus/prometheus.yml +0 -0
  125. {hypermind-1.8.0 → hypermind-1.8.2}/deploy/systemd/hypermind.service +0 -0
  126. {hypermind-1.8.0 → hypermind-1.8.2}/docs/SIMLAB.md +0 -0
  127. {hypermind-1.8.0 → hypermind-1.8.2}/docs/_meta/glossary.md +0 -0
  128. {hypermind-1.8.0 → hypermind-1.8.2}/docs/_meta/provenance.md +0 -0
  129. {hypermind-1.8.0 → hypermind-1.8.2}/docs/_meta/public-surface.md +0 -0
  130. {hypermind-1.8.0 → hypermind-1.8.2}/docs/_meta/standards-map.md +0 -0
  131. {hypermind-1.8.0 → hypermind-1.8.2}/docs/adr/0001-tcp-federation-chosen-as-v1-transport.md +0 -0
  132. {hypermind-1.8.0 → hypermind-1.8.2}/docs/adr/0002-cloud-kms-signing-removed-local-signer-is-shipped-backend.md +0 -0
  133. {hypermind-1.8.0 → hypermind-1.8.2}/docs/adr/0003-libp2p-deferred-to-optional-external-binding.md +0 -0
  134. {hypermind-1.8.0 → hypermind-1.8.2}/docs/adr/0004-verified-corpus-is-a-first-class-product-surface.md +0 -0
  135. {hypermind-1.8.0 → hypermind-1.8.2}/docs/adr/0005-ground-truth-anchoring-is-tiered-and-provenance-bearing.md +0 -0
  136. {hypermind-1.8.0 → hypermind-1.8.2}/docs/adr/0006-three-layer-event-driven-integration.md +0 -0
  137. {hypermind-1.8.0 → hypermind-1.8.2}/docs/adr/0007-per-agent-deliberator-with-declarative-role-bundles.md +0 -0
  138. {hypermind-1.8.0 → hypermind-1.8.2}/docs/adr/0008-llm-decomposed-expert-seats-and-reasoning-strategies.md +0 -0
  139. {hypermind-1.8.0 → hypermind-1.8.2}/docs/adr/0009-dual-storage-backend-sqlite-local-default-and-relata-federated.md +0 -0
  140. {hypermind-1.8.0 → hypermind-1.8.2}/docs/adr/0010-composite-ed25519-mldsa65-signing-pq-hybrid.md +0 -0
  141. {hypermind-1.8.0 → hypermind-1.8.2}/docs/adr/README.md +0 -0
  142. {hypermind-1.8.0 → hypermind-1.8.2}/docs/api/agent.md +0 -0
  143. {hypermind-1.8.0 → hypermind-1.8.2}/docs/api/agent_card.md +0 -0
  144. {hypermind-1.8.0 → hypermind-1.8.2}/docs/api/capability.md +0 -0
  145. {hypermind-1.8.0 → hypermind-1.8.2}/docs/api/contract_net.md +0 -0
  146. {hypermind-1.8.0 → hypermind-1.8.2}/docs/api/crypto.md +0 -0
  147. {hypermind-1.8.0 → hypermind-1.8.2}/docs/api/dispute.md +0 -0
  148. {hypermind-1.8.0 → hypermind-1.8.2}/docs/api/eval.md +0 -0
  149. {hypermind-1.8.0 → hypermind-1.8.2}/docs/api/knowledge.md +0 -0
  150. {hypermind-1.8.0 → hypermind-1.8.2}/docs/api/observability.md +0 -0
  151. {hypermind-1.8.0 → hypermind-1.8.2}/docs/api/revocation.md +0 -0
  152. {hypermind-1.8.0 → hypermind-1.8.2}/docs/api/simlab-openapi.yaml +0 -0
  153. {hypermind-1.8.0 → hypermind-1.8.2}/docs/api/sync.md +0 -0
  154. {hypermind-1.8.0 → hypermind-1.8.2}/docs/api/tal.md +0 -0
  155. {hypermind-1.8.0 → hypermind-1.8.2}/docs/api/tasks.md +0 -0
  156. {hypermind-1.8.0 → hypermind-1.8.2}/docs/api/transport.md +0 -0
  157. {hypermind-1.8.0 → hypermind-1.8.2}/docs/api/wire.md +0 -0
  158. {hypermind-1.8.0 → hypermind-1.8.2}/docs/assets/hero-swarm.svg +0 -0
  159. {hypermind-1.8.0 → hypermind-1.8.2}/docs/audit/findings.md +0 -0
  160. {hypermind-1.8.0 → hypermind-1.8.2}/docs/audit/scope.md +0 -0
  161. {hypermind-1.8.0 → hypermind-1.8.2}/docs/concepts.md +0 -0
  162. {hypermind-1.8.0 → hypermind-1.8.2}/docs/configuration.md +0 -0
  163. {hypermind-1.8.0 → hypermind-1.8.2}/docs/conformance/authority.md +0 -0
  164. {hypermind-1.8.0 → hypermind-1.8.2}/docs/conformance/bake-off-report.md +0 -0
  165. {hypermind-1.8.0 → hypermind-1.8.2}/docs/conformance/mark-policy.md +0 -0
  166. {hypermind-1.8.0 → hypermind-1.8.2}/docs/decide/01-disqualifiers.md +0 -0
  167. {hypermind-1.8.0 → hypermind-1.8.2}/docs/decide/02-alternatives.md +0 -0
  168. {hypermind-1.8.0 → hypermind-1.8.2}/docs/decide/03-incentive-aligned-cases.md +0 -0
  169. {hypermind-1.8.0 → hypermind-1.8.2}/docs/decide/04-use-cases.md +0 -0
  170. {hypermind-1.8.0 → hypermind-1.8.2}/docs/design/01-architecture.md +0 -0
  171. {hypermind-1.8.0 → hypermind-1.8.2}/docs/design/02-traces.md +0 -0
  172. {hypermind-1.8.0 → hypermind-1.8.2}/docs/design/03-failure-modes.md +0 -0
  173. {hypermind-1.8.0 → hypermind-1.8.2}/docs/design/04-poisoning-defenses.md +0 -0
  174. {hypermind-1.8.0 → hypermind-1.8.2}/docs/design/05-deployment-topology.md +0 -0
  175. {hypermind-1.8.0 → hypermind-1.8.2}/docs/eval-programme.html +0 -0
  176. {hypermind-1.8.0 → hypermind-1.8.2}/docs/feature-matrix.md +0 -0
  177. {hypermind-1.8.0 → hypermind-1.8.2}/docs/getting-started.md +0 -0
  178. {hypermind-1.8.0 → hypermind-1.8.2}/docs/governance/cna.md +0 -0
  179. {hypermind-1.8.0 → hypermind-1.8.2}/docs/governance/foundation-evaluation.md +0 -0
  180. {hypermind-1.8.0 → hypermind-1.8.2}/docs/index.md +0 -0
  181. {hypermind-1.8.0 → hypermind-1.8.2}/docs/integrations.md +0 -0
  182. {hypermind-1.8.0 → hypermind-1.8.2}/docs/legal/export-classification.md +0 -0
  183. {hypermind-1.8.0 → hypermind-1.8.2}/docs/lts.md +0 -0
  184. {hypermind-1.8.0 → hypermind-1.8.2}/docs/migrate/v0.x-to-v1.0.md +0 -0
  185. {hypermind-1.8.0 → hypermind-1.8.2}/docs/onboarding/00-prerequisites.md +0 -0
  186. {hypermind-1.8.0 → hypermind-1.8.2}/docs/onboarding/README.md +0 -0
  187. {hypermind-1.8.0 → hypermind-1.8.2}/docs/onboarding/after.md +0 -0
  188. {hypermind-1.8.0 → hypermind-1.8.2}/docs/onboarding/exercises/e01-run-the-loop.md +0 -0
  189. {hypermind-1.8.0 → hypermind-1.8.2}/docs/onboarding/exercises/e02-draw-the-architecture.md +0 -0
  190. {hypermind-1.8.0 → hypermind-1.8.2}/docs/onboarding/exercises/e03-trace-a-claim.md +0 -0
  191. {hypermind-1.8.0 → hypermind-1.8.2}/docs/onboarding/exercises/e04-read-a-spec-section.md +0 -0
  192. {hypermind-1.8.0 → hypermind-1.8.2}/docs/onboarding/exercises/e05-break-it.md +0 -0
  193. {hypermind-1.8.0 → hypermind-1.8.2}/docs/onboarding/exercises/e06-add-a-test.md +0 -0
  194. {hypermind-1.8.0 → hypermind-1.8.2}/docs/onboarding/exercises/e07-first-pr.md +0 -0
  195. {hypermind-1.8.0 → hypermind-1.8.2}/docs/onboarding/glossary.md +0 -0
  196. {hypermind-1.8.0 → hypermind-1.8.2}/docs/onboarding/topics/00-what-is-hypermind.md +0 -0
  197. {hypermind-1.8.0 → hypermind-1.8.2}/docs/onboarding/topics/01-agents-and-swarms.md +0 -0
  198. {hypermind-1.8.0 → hypermind-1.8.2}/docs/onboarding/topics/02-architecture-tour.md +0 -0
  199. {hypermind-1.8.0 → hypermind-1.8.2}/docs/onboarding/topics/03-spec-literacy.md +0 -0
  200. {hypermind-1.8.0 → hypermind-1.8.2}/docs/onboarding/topics/04-cryptography.md +0 -0
  201. {hypermind-1.8.0 → hypermind-1.8.2}/docs/onboarding/topics/05-cbor-cose.md +0 -0
  202. {hypermind-1.8.0 → hypermind-1.8.2}/docs/onboarding/topics/06-transparency-logs.md +0 -0
  203. {hypermind-1.8.0 → hypermind-1.8.2}/docs/onboarding/topics/07-distributed-systems.md +0 -0
  204. {hypermind-1.8.0 → hypermind-1.8.2}/docs/onboarding/topics/08-async-python.md +0 -0
  205. {hypermind-1.8.0 → hypermind-1.8.2}/docs/onboarding/topics/09-security-mindset.md +0 -0
  206. {hypermind-1.8.0 → hypermind-1.8.2}/docs/onboarding/week-1-foundations.md +0 -0
  207. {hypermind-1.8.0 → hypermind-1.8.2}/docs/onboarding/week-2-deep-dive.md +0 -0
  208. {hypermind-1.8.0 → hypermind-1.8.2}/docs/operate/01-deployment.md +0 -0
  209. {hypermind-1.8.0 → hypermind-1.8.2}/docs/operate/02-runbook.md +0 -0
  210. {hypermind-1.8.0 → hypermind-1.8.2}/docs/operate/03-resource-budget.md +0 -0
  211. {hypermind-1.8.0 → hypermind-1.8.2}/docs/operate/backup-restore.md +0 -0
  212. {hypermind-1.8.0 → hypermind-1.8.2}/docs/operate/data-residency.md +0 -0
  213. {hypermind-1.8.0 → hypermind-1.8.2}/docs/operate/key-rotation.md +0 -0
  214. {hypermind-1.8.0 → hypermind-1.8.2}/docs/operate/runbooks/dispute-backlog-drain.md +0 -0
  215. {hypermind-1.8.0 → hypermind-1.8.2}/docs/operate/runbooks/key-rotation.md +0 -0
  216. {hypermind-1.8.0 → hypermind-1.8.2}/docs/operate/runbooks/kms-rotation.md +0 -0
  217. {hypermind-1.8.0 → hypermind-1.8.2}/docs/operate/runbooks/multi-host-deploy.md +0 -0
  218. {hypermind-1.8.0 → hypermind-1.8.2}/docs/operate/runbooks/partition-heal.md +0 -0
  219. {hypermind-1.8.0 → hypermind-1.8.2}/docs/operate/runbooks/quorum-loss.md +0 -0
  220. {hypermind-1.8.0 → hypermind-1.8.2}/docs/operate/runbooks/rfp-dispute-triage.md +0 -0
  221. {hypermind-1.8.0 → hypermind-1.8.2}/docs/operate/runbooks/wire-cutover.md +0 -0
  222. {hypermind-1.8.0 → hypermind-1.8.2}/docs/operate/runbooks/witness-compromise.md +0 -0
  223. {hypermind-1.8.0 → hypermind-1.8.2}/docs/operate/runbooks/workflow-replay.md +0 -0
  224. {hypermind-1.8.0 → hypermind-1.8.2}/docs/operate/slo.md +0 -0
  225. {hypermind-1.8.0 → hypermind-1.8.2}/docs/paper/00-patent.md +0 -0
  226. {hypermind-1.8.0 → hypermind-1.8.2}/docs/paper/hypermind-paper-draft.md +0 -0
  227. {hypermind-1.8.0 → hypermind-1.8.2}/docs/paper/hypermind-paper.docx +0 -0
  228. {hypermind-1.8.0 → hypermind-1.8.2}/docs/paper/hypermind-paper.tex +0 -0
  229. {hypermind-1.8.0 → hypermind-1.8.2}/docs/quickstart.md +0 -0
  230. {hypermind-1.8.0 → hypermind-1.8.2}/docs/release-notes/v1.0.0.md +0 -0
  231. {hypermind-1.8.0 → hypermind-1.8.2}/docs/release-notes/v1.1.0.md +0 -0
  232. {hypermind-1.8.0 → hypermind-1.8.2}/docs/release-notes/v1.2.0.md +0 -0
  233. {hypermind-1.8.0 → hypermind-1.8.2}/docs/release-notes/v1.3.0.md +0 -0
  234. {hypermind-1.8.0 → hypermind-1.8.2}/docs/release-notes/v1.4.0.md +0 -0
  235. {hypermind-1.8.0 → hypermind-1.8.2}/docs/release-notes/v1.5.0.md +0 -0
  236. {hypermind-1.8.0 → hypermind-1.8.2}/docs/release-notes/v1.6.0.md +0 -0
  237. {hypermind-1.8.0 → hypermind-1.8.2}/docs/release-notes/v1.6.1.md +0 -0
  238. {hypermind-1.8.0 → hypermind-1.8.2}/docs/release-notes/v1.6.2.md +0 -0
  239. {hypermind-1.8.0 → hypermind-1.8.2}/docs/release-notes/v1.6.3.md +0 -0
  240. {hypermind-1.8.0 → hypermind-1.8.2}/docs/release-notes/v1.6.4.md +0 -0
  241. {hypermind-1.8.0 → hypermind-1.8.2}/docs/release-notes/v1.6.5.md +0 -0
  242. {hypermind-1.8.0 → hypermind-1.8.2}/docs/release-notes/v1.6.6.md +0 -0
  243. {hypermind-1.8.0 → hypermind-1.8.2}/docs/release-notes/v1.6.7.md +0 -0
  244. {hypermind-1.8.0 → hypermind-1.8.2}/docs/release-notes/v1.6.8.md +0 -0
  245. {hypermind-1.8.0 → hypermind-1.8.2}/docs/release-notes/v1.6.9.md +0 -0
  246. {hypermind-1.8.0 → hypermind-1.8.2}/docs/release-notes/v1.7.0.md +0 -0
  247. {hypermind-1.8.0 → hypermind-1.8.2}/docs/release-notes/v1.7.1.md +0 -0
  248. {hypermind-1.8.0 → hypermind-1.8.2}/docs/release-notes/v1.7.2.md +0 -0
  249. {hypermind-1.8.0 → hypermind-1.8.2}/docs/release-notes/v1.7.3.md +0 -0
  250. {hypermind-1.8.0 → hypermind-1.8.2}/docs/security/threat-model.md +0 -0
  251. {hypermind-1.8.0 → hypermind-1.8.2}/docs/simlab/modes.md +0 -0
  252. {hypermind-1.8.0 → hypermind-1.8.2}/docs/simulations.md +0 -0
  253. {hypermind-1.8.0 → hypermind-1.8.2}/docs/sop-knowledge-quality.md +0 -0
  254. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/00-overview.md +0 -0
  255. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/01-transport.md +0 -0
  256. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/02-cryptography.md +0 -0
  257. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/03-messages.md +0 -0
  258. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/04-knowledge-model.md +0 -0
  259. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/05-routing.md +0 -0
  260. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/06-conformance.md +0 -0
  261. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/07-trust-access-layer.md +0 -0
  262. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/08-onboarding-contract.md +0 -0
  263. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/09-agent-sdk.md +0 -0
  264. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/10-disputes.md +0 -0
  265. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/11-witness-transparency.md +0 -0
  266. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/12-governance.md +0 -0
  267. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/13-observability.md +0 -0
  268. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/14-threat-model.md +0 -0
  269. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/15-living-transmission.md +0 -0
  270. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/16-reference-comparisons.md +0 -0
  271. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/17-upgrade-v1.md +0 -0
  272. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/18-revocation.md +0 -0
  273. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/19-autonomy-contract.md +0 -0
  274. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/21-private-namespaces.md +0 -0
  275. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/22-transport-mtls.md +0 -0
  276. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/23-envelope-encryption.md +0 -0
  277. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/24-namespace-identity.md +0 -0
  278. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/25-capability-extensions.md +0 -0
  279. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/26-workflow.md +0 -0
  280. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/27-contract-net.md +0 -0
  281. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/28-distributed-trace.md +0 -0
  282. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/29-verified-corpus.md +0 -0
  283. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/30-ground-truth-anchor.md +0 -0
  284. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/31-deep-research-engine.md +0 -0
  285. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/32-belief-state.md +0 -0
  286. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/appendix-N-calibration.md +0 -0
  287. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/appendix-TLA.md +0 -0
  288. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/appendix-z.md +0 -0
  289. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/errata.md +0 -0
  290. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/index.md +0 -0
  291. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/invariants.md +0 -0
  292. {hypermind-1.8.0 → hypermind-1.8.2}/docs/spec/normative-trace.md +0 -0
  293. {hypermind-1.8.0 → hypermind-1.8.2}/docs/supply-chain/sbom.md +0 -0
  294. {hypermind-1.8.0 → hypermind-1.8.2}/docs/supply-chain/slsa.md +0 -0
  295. {hypermind-1.8.0 → hypermind-1.8.2}/docs/supply-chain/verify-self.md +0 -0
  296. {hypermind-1.8.0 → hypermind-1.8.2}/docs/sustainability.md +0 -0
  297. {hypermind-1.8.0 → hypermind-1.8.2}/docs/verified-corpus.md +0 -0
  298. {hypermind-1.8.0 → hypermind-1.8.2}/e2e_mcp_sequential.py +0 -0
  299. {hypermind-1.8.0 → hypermind-1.8.2}/e2e_mcp_test.py +0 -0
  300. {hypermind-1.8.0 → hypermind-1.8.2}/examples/01_hello_world.py +0 -0
  301. {hypermind-1.8.0 → hypermind-1.8.2}/examples/02_two_agents_dispute.py +0 -0
  302. {hypermind-1.8.0 → hypermind-1.8.2}/examples/03_consult_panel.py +0 -0
  303. {hypermind-1.8.0 → hypermind-1.8.2}/examples/04_oracle_resolve.py +0 -0
  304. {hypermind-1.8.0 → hypermind-1.8.2}/examples/05_consult_to_synthesis.py +0 -0
  305. {hypermind-1.8.0 → hypermind-1.8.2}/examples/06_hybrid_pq.py +0 -0
  306. {hypermind-1.8.0 → hypermind-1.8.2}/examples/07_frost_threshold.py +0 -0
  307. {hypermind-1.8.0 → hypermind-1.8.2}/examples/08_ramp_and_diagnostics.py +0 -0
  308. {hypermind-1.8.0 → hypermind-1.8.2}/examples/09_audit_export_chain.py +0 -0
  309. {hypermind-1.8.0 → hypermind-1.8.2}/examples/10_autonomous_agent.py +0 -0
  310. {hypermind-1.8.0 → hypermind-1.8.2}/examples/11_swarm_deliberation.py +0 -0
  311. {hypermind-1.8.0 → hypermind-1.8.2}/examples/12_swarm_iq_scorecard.py +0 -0
  312. {hypermind-1.8.0 → hypermind-1.8.2}/examples/13_role_specialisation.py +0 -0
  313. {hypermind-1.8.0 → hypermind-1.8.2}/examples/14_active_learning_loop.py +0 -0
  314. {hypermind-1.8.0 → hypermind-1.8.2}/examples/16_wire_message.py +0 -0
  315. {hypermind-1.8.0 → hypermind-1.8.2}/examples/17_tool_delegation.py +0 -0
  316. {hypermind-1.8.0 → hypermind-1.8.2}/examples/18_custom_responder.py +0 -0
  317. {hypermind-1.8.0 → hypermind-1.8.2}/examples/19_governance.py +0 -0
  318. {hypermind-1.8.0 → hypermind-1.8.2}/examples/20_conformance_check.py +0 -0
  319. {hypermind-1.8.0 → hypermind-1.8.2}/examples/21_revocation.py +0 -0
  320. {hypermind-1.8.0 → hypermind-1.8.2}/examples/22_agent_card.py +0 -0
  321. {hypermind-1.8.0 → hypermind-1.8.2}/examples/23_task_delegation.py +0 -0
  322. {hypermind-1.8.0 → hypermind-1.8.2}/examples/24_mcp_tool_call.py +0 -0
  323. {hypermind-1.8.0 → hypermind-1.8.2}/examples/25_swarm_trace.py +0 -0
  324. {hypermind-1.8.0 → hypermind-1.8.2}/examples/26_submit_goal_and_goal_handle.py +0 -0
  325. {hypermind-1.8.0 → hypermind-1.8.2}/examples/27_safety_policies.py +0 -0
  326. {hypermind-1.8.0 → hypermind-1.8.2}/examples/28_relata_connection.py +0 -0
  327. {hypermind-1.8.0 → hypermind-1.8.2}/examples/29_quick_research_sim.py +0 -0
  328. {hypermind-1.8.0 → hypermind-1.8.2}/examples/coordination/01_durable_workflow.py +0 -0
  329. {hypermind-1.8.0 → hypermind-1.8.2}/examples/coordination/02_contract_net.py +0 -0
  330. {hypermind-1.8.0 → hypermind-1.8.2}/examples/coordination/03_belief_and_plan.py +0 -0
  331. {hypermind-1.8.0 → hypermind-1.8.2}/examples/coordination/__init__.py +0 -0
  332. {hypermind-1.8.0 → hypermind-1.8.2}/examples/coordination/usecases/__init__.py +0 -0
  333. {hypermind-1.8.0 → hypermind-1.8.2}/examples/coordination/usecases/ai_01_fed_benchmark.py +0 -0
  334. {hypermind-1.8.0 → hypermind-1.8.2}/examples/coordination/usecases/ai_alignment_redteam.py +0 -0
  335. {hypermind-1.8.0 → hypermind-1.8.2}/examples/coordination/usecases/cy_05_ir_swarm.py +0 -0
  336. {hypermind-1.8.0 → hypermind-1.8.2}/examples/coordination/usecases/cy_11_ransomware_intel.py +0 -0
  337. {hypermind-1.8.0 → hypermind-1.8.2}/examples/coordination/usecases/ed_credentials.py +0 -0
  338. {hypermind-1.8.0 → hypermind-1.8.2}/examples/coordination/usecases/en_grid_coordinate.py +0 -0
  339. {hypermind-1.8.0 → hypermind-1.8.2}/examples/coordination/usecases/fi_04_bsa_314b.py +0 -0
  340. {hypermind-1.8.0 → hypermind-1.8.2}/examples/coordination/usecases/fi_22_ma_dataroom.py +0 -0
  341. {hypermind-1.8.0 → hypermind-1.8.2}/examples/coordination/usecases/gv_01_intel_sharing.py +0 -0
  342. {hypermind-1.8.0 → hypermind-1.8.2}/examples/coordination/usecases/gv_21_red_team.py +0 -0
  343. {hypermind-1.8.0 → hypermind-1.8.2}/examples/coordination/usecases/hc_06_rare_disease.py +0 -0
  344. {hypermind-1.8.0 → hypermind-1.8.2}/examples/coordination/usecases/hc_21_fed_learning.py +0 -0
  345. {hypermind-1.8.0 → hypermind-1.8.2}/examples/coordination/usecases/lg_ediscovery.py +0 -0
  346. {hypermind-1.8.0 → hypermind-1.8.2}/examples/coordination/usecases/mf_supply_chain.py +0 -0
  347. {hypermind-1.8.0 → hypermind-1.8.2}/examples/e2e_many_agents.py +0 -0
  348. {hypermind-1.8.0 → hypermind-1.8.2}/examples/full_e2e_demo.py +0 -0
  349. {hypermind-1.8.0 → hypermind-1.8.2}/examples/lifecycle.py +0 -0
  350. {hypermind-1.8.0 → hypermind-1.8.2}/examples/org_distributed.py +0 -0
  351. {hypermind-1.8.0 → hypermind-1.8.2}/examples/org_university.py +0 -0
  352. {hypermind-1.8.0 → hypermind-1.8.2}/examples/scenario_aar.py +0 -0
  353. {hypermind-1.8.0 → hypermind-1.8.2}/examples/scenario_backtest.py +0 -0
  354. {hypermind-1.8.0 → hypermind-1.8.2}/examples/scenario_capability_attenuation.py +0 -0
  355. {hypermind-1.8.0 → hypermind-1.8.2}/examples/scenario_conformance.py +0 -0
  356. {hypermind-1.8.0 → hypermind-1.8.2}/examples/scenario_crisis_tabletop.py +0 -0
  357. {hypermind-1.8.0 → hypermind-1.8.2}/examples/scenario_cross_namespace_federation.py +0 -0
  358. {hypermind-1.8.0 → hypermind-1.8.2}/examples/scenario_decision_tournament.py +0 -0
  359. {hypermind-1.8.0 → hypermind-1.8.2}/examples/scenario_dispute_lifecycle_async.py +0 -0
  360. {hypermind-1.8.0 → hypermind-1.8.2}/examples/scenario_evaluation.py +0 -0
  361. {hypermind-1.8.0 → hypermind-1.8.2}/examples/scenario_geopolitical_crisis.py +0 -0
  362. {hypermind-1.8.0 → hypermind-1.8.2}/examples/scenario_geopolitical_traced.py +0 -0
  363. {hypermind-1.8.0 → hypermind-1.8.2}/examples/scenario_governance_committee.py +0 -0
  364. {hypermind-1.8.0 → hypermind-1.8.2}/examples/scenario_information_pipeline.py +0 -0
  365. {hypermind-1.8.0 → hypermind-1.8.2}/examples/scenario_ingest_pipeline.py +0 -0
  366. {hypermind-1.8.0 → hypermind-1.8.2}/examples/scenario_learning_loop.py +0 -0
  367. {hypermind-1.8.0 → hypermind-1.8.2}/examples/scenario_namespace_trust.py +0 -0
  368. {hypermind-1.8.0 → hypermind-1.8.2}/examples/scenario_persona_panel.py +0 -0
  369. {hypermind-1.8.0 → hypermind-1.8.2}/examples/scenario_population_lifecycle.py +0 -0
  370. {hypermind-1.8.0 → hypermind-1.8.2}/examples/scenario_private_namespace.py +0 -0
  371. {hypermind-1.8.0 → hypermind-1.8.2}/examples/scenario_red_team.py +0 -0
  372. {hypermind-1.8.0 → hypermind-1.8.2}/examples/scenario_regulated_consortium.py +0 -0
  373. {hypermind-1.8.0 → hypermind-1.8.2}/examples/scenario_threat_intel.py +0 -0
  374. {hypermind-1.8.0 → hypermind-1.8.2}/examples/scenario_vouch_chain.py +0 -0
  375. {hypermind-1.8.0 → hypermind-1.8.2}/examples/scenario_what_if_tree.py +0 -0
  376. {hypermind-1.8.0 → hypermind-1.8.2}/examples/serve_api.py +0 -0
  377. {hypermind-1.8.0 → hypermind-1.8.2}/examples/two_node_tcp.py +0 -0
  378. {hypermind-1.8.0 → hypermind-1.8.2}/formal/README.md +0 -0
  379. {hypermind-1.8.0 → hypermind-1.8.2}/formal/hax-rust/README.md +0 -0
  380. {hypermind-1.8.0 → hypermind-1.8.2}/formal/hax-rust/scope.md +0 -0
  381. {hypermind-1.8.0 → hypermind-1.8.2}/formal/proverif/dispute_fsm.pv +0 -0
  382. {hypermind-1.8.0 → hypermind-1.8.2}/formal/proverif/dispute_liveness.pv +0 -0
  383. {hypermind-1.8.0 → hypermind-1.8.2}/formal/tamarin/capability_chain.spthy +0 -0
  384. {hypermind-1.8.0 → hypermind-1.8.2}/formal/tamarin/dispute_fsm.spthy +0 -0
  385. {hypermind-1.8.0 → hypermind-1.8.2}/formal/tamarin/signed_statement.spthy +0 -0
  386. {hypermind-1.8.0 → hypermind-1.8.2}/formal/tamarin/wire_security.spthy +0 -0
  387. {hypermind-1.8.0 → hypermind-1.8.2}/fuzz/README.md +0 -0
  388. {hypermind-1.8.0 → hypermind-1.8.2}/fuzz/__init__.py +0 -0
  389. {hypermind-1.8.0 → hypermind-1.8.2}/fuzz/fuzz_agent_card.py +0 -0
  390. {hypermind-1.8.0 → hypermind-1.8.2}/fuzz/fuzz_anti_entropy.py +0 -0
  391. {hypermind-1.8.0 → hypermind-1.8.2}/fuzz/fuzz_capability.py +0 -0
  392. {hypermind-1.8.0 → hypermind-1.8.2}/fuzz/fuzz_dispute.py +0 -0
  393. {hypermind-1.8.0 → hypermind-1.8.2}/fuzz/fuzz_inclusion_proof.py +0 -0
  394. {hypermind-1.8.0 → hypermind-1.8.2}/fuzz/fuzz_wire.py +0 -0
  395. {hypermind-1.8.0 → hypermind-1.8.2}/fuzz/seed_corpus.py +0 -0
  396. {hypermind-1.8.0 → hypermind-1.8.2}/harness/__init__.py +0 -0
  397. {hypermind-1.8.0 → hypermind-1.8.2}/harness/__main__.py +0 -0
  398. {hypermind-1.8.0 → hypermind-1.8.2}/harness/assertions.py +0 -0
  399. {hypermind-1.8.0 → hypermind-1.8.2}/harness/fixtures.py +0 -0
  400. {hypermind-1.8.0 → hypermind-1.8.2}/harness/report.py +0 -0
  401. {hypermind-1.8.0 → hypermind-1.8.2}/harness/roles.py +0 -0
  402. {hypermind-1.8.0 → hypermind-1.8.2}/harness/runner.py +0 -0
  403. {hypermind-1.8.0 → hypermind-1.8.2}/harness/scenario.py +0 -0
  404. {hypermind-1.8.0 → hypermind-1.8.2}/harness/scenarios/__init__.py +0 -0
  405. {hypermind-1.8.0 → hypermind-1.8.2}/harness/scenarios/autonomous_evolution.py +0 -0
  406. {hypermind-1.8.0 → hypermind-1.8.2}/harness/scenarios/swarm_iq_benchmark.py +0 -0
  407. {hypermind-1.8.0 → hypermind-1.8.2}/harness/scenarios/threat_intel.py +0 -0
  408. {hypermind-1.8.0 → hypermind-1.8.2}/mkdocs.yml +0 -0
  409. {hypermind-1.8.0 → hypermind-1.8.2}/reference_verifier/__init__.py +0 -0
  410. {hypermind-1.8.0 → hypermind-1.8.2}/reference_verifier/schemas/encrypted_statement.cddl +0 -0
  411. {hypermind-1.8.0 → hypermind-1.8.2}/reference_verifier/schemas/namespace_accept.cddl +0 -0
  412. {hypermind-1.8.0 → hypermind-1.8.2}/reference_verifier/schemas/namespace_create.cddl +0 -0
  413. {hypermind-1.8.0 → hypermind-1.8.2}/reference_verifier/schemas/namespace_founding_attest.cddl +0 -0
  414. {hypermind-1.8.0 → hypermind-1.8.2}/reference_verifier/schemas/namespace_invite.cddl +0 -0
  415. {hypermind-1.8.0 → hypermind-1.8.2}/reference_verifier/schemas/wire-v0.1.cddl +0 -0
  416. {hypermind-1.8.0 → hypermind-1.8.2}/reference_verifier/verifier.py +0 -0
  417. {hypermind-1.8.0 → hypermind-1.8.2}/review/__init__.py +0 -0
  418. {hypermind-1.8.0 → hypermind-1.8.2}/review/__main__.py +0 -0
  419. {hypermind-1.8.0 → hypermind-1.8.2}/review/agents.py +0 -0
  420. {hypermind-1.8.0 → hypermind-1.8.2}/review/models.py +0 -0
  421. {hypermind-1.8.0 → hypermind-1.8.2}/review/runner.py +0 -0
  422. {hypermind-1.8.0 → hypermind-1.8.2}/src/hmctl/__init__.py +0 -0
  423. {hypermind-1.8.0 → hypermind-1.8.2}/src/hmctl/dashboard.py +0 -0
  424. {hypermind-1.8.0 → hypermind-1.8.2}/src/hmctl/orgs_cmd.py +0 -0
  425. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/__init__.py +0 -0
  426. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/_deprecations.py +0 -0
  427. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/agent_card.py +0 -0
  428. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/api/__init__.py +0 -0
  429. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/api/app.py +0 -0
  430. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/capability.py +0 -0
  431. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/consult.py +0 -0
  432. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/consult_bias.py +0 -0
  433. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/contract_net.py +0 -0
  434. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/crypto/__init__.py +0 -0
  435. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/crypto/cose_encrypt.py +0 -0
  436. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/crypto/dkg.py +0 -0
  437. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/crypto/domain.py +0 -0
  438. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/crypto/frost.py +0 -0
  439. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/crypto/hashing.py +0 -0
  440. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/crypto/hlc.py +0 -0
  441. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/crypto/hpke.py +0 -0
  442. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/crypto/kms.py +0 -0
  443. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/crypto/namespace_root.py +0 -0
  444. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/crypto/pq.py +0 -0
  445. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/crypto/room_epoch.py +0 -0
  446. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/crypto/signing.py +0 -0
  447. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/dataset.py +0 -0
  448. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/deliberation.py +0 -0
  449. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/did_web.py +0 -0
  450. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/dispute.py +0 -0
  451. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/domains/__init__.py +0 -0
  452. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/domains/defense.py +0 -0
  453. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/domains/legal.py +0 -0
  454. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/domains/medical.py +0 -0
  455. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/errors.py +0 -0
  456. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/eval/__init__.py +0 -0
  457. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/eval/calibration.py +0 -0
  458. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/eval/comparison.py +0 -0
  459. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/eval/composite.py +0 -0
  460. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/eval/dispute_bench.py +0 -0
  461. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/eval/replay.py +0 -0
  462. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/eval/report.py +0 -0
  463. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/eval/suite.py +0 -0
  464. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/eval/swarm_iq.py +0 -0
  465. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/ingest.py +0 -0
  466. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/integrations/__init__.py +0 -0
  467. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/integrations/autogen.py +0 -0
  468. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/integrations/contradiction.py +0 -0
  469. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/integrations/crewai.py +0 -0
  470. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/integrations/evolution.py +0 -0
  471. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/integrations/federation_manager.py +0 -0
  472. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/integrations/freshness.py +0 -0
  473. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/integrations/hooks.py +0 -0
  474. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/integrations/langchain.py +0 -0
  475. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/integrations/llamaindex.py +0 -0
  476. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/integrations/loop.py +0 -0
  477. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/integrations/notifier.py +0 -0
  478. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/integrations/openai_agents.py +0 -0
  479. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/integrations/openai_endpoint.py +0 -0
  480. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/integrations/population.py +0 -0
  481. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/integrations/quickstart.py +0 -0
  482. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/integrations/research.py +0 -0
  483. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/integrations/sse.py +0 -0
  484. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/integrations/startup.py +0 -0
  485. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/integrations/topic_clustering.py +0 -0
  486. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/integrations/webhook_server.py +0 -0
  487. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/integrations/working_memory.py +0 -0
  488. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/knowledge/__init__.py +0 -0
  489. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/knowledge/citation_graph.py +0 -0
  490. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/knowledge/correlated_agreement.py +0 -0
  491. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/knowledge/embedding_registry.py +0 -0
  492. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/knowledge/kernel_store.py +0 -0
  493. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/knowledge/rekor.py +0 -0
  494. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/knowledge/reputation.py +0 -0
  495. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/knowledge/swarm_memory.py +0 -0
  496. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/knowledge/transparency.py +0 -0
  497. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/machine.py +0 -0
  498. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/mcp/__init__.py +0 -0
  499. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/mcp/bridge.py +0 -0
  500. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/mcp/client.py +0 -0
  501. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/mcp/provenance.py +0 -0
  502. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/mcp/relata_tools.py +0 -0
  503. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/mcp/server.py +0 -0
  504. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/mcp/transport.py +0 -0
  505. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/mind/active.py +0 -0
  506. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/mind/belief.py +0 -0
  507. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/mind/diversity.py +0 -0
  508. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/mind/evolve.py +0 -0
  509. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/mind/federation.py +0 -0
  510. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/mind/fitness.py +0 -0
  511. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/mind/goals.py +0 -0
  512. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/mind/integration.py +0 -0
  513. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/mind/mediator.py +0 -0
  514. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/mind/memory_store.py +0 -0
  515. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/mind/records.py +0 -0
  516. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/mind/roles.py +0 -0
  517. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/mind/selfplay.py +0 -0
  518. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/mind/world_model.py +0 -0
  519. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/namespace.py +0 -0
  520. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/namespace_policy.py +0 -0
  521. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/observability/__init__.py +0 -0
  522. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/observability/asgi.py +0 -0
  523. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/observability/cost.py +0 -0
  524. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/observability/logging_config.py +0 -0
  525. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/observability/metrics.py +0 -0
  526. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/observability/otel_export.py +0 -0
  527. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/observability/recorder.py +0 -0
  528. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/observability/swarm_trace.py +0 -0
  529. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/__init__.py +0 -0
  530. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/analysis.py +0 -0
  531. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/anchor.py +0 -0
  532. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/charter.py +0 -0
  533. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/context.py +0 -0
  534. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/corpus.py +0 -0
  535. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/deliberate.py +0 -0
  536. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/distributed/__init__.py +0 -0
  537. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/distributed/__main__.py +0 -0
  538. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/distributed/coordinator.py +0 -0
  539. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/distributed/planning.py +0 -0
  540. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/distributed/protocol.py +0 -0
  541. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/distributed/provision.py +0 -0
  542. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/distributed/serde.py +0 -0
  543. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/distributed/worker.py +0 -0
  544. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/evidence.py +0 -0
  545. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/experiment.py +0 -0
  546. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/groundtruth.py +0 -0
  547. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/interaction.py +0 -0
  548. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/intervention.py +0 -0
  549. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/mcp_config.py +0 -0
  550. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/metrics.py +0 -0
  551. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/model.py +0 -0
  552. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/prompts.py +0 -0
  553. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/quality.py +0 -0
  554. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/query.py +0 -0
  555. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/receipt.py +0 -0
  556. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/refine.py +0 -0
  557. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/replay.py +0 -0
  558. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/report.py +0 -0
  559. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/retrieval.py +0 -0
  560. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/strategies.py +0 -0
  561. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/stream.py +0 -0
  562. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/templates/__init__.py +0 -0
  563. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/think.py +0 -0
  564. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/tool_providers.py +0 -0
  565. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/orgs/tools.py +0 -0
  566. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/pin_policy.py +0 -0
  567. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/py.typed +0 -0
  568. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/responders/__init__.py +0 -0
  569. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/responders/anthropic.py +0 -0
  570. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/responders/base.py +0 -0
  571. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/responders/openai.py +0 -0
  572. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/responders/router.py +0 -0
  573. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/responders/structured.py +0 -0
  574. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/responders/tools.py +0 -0
  575. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/revocation.py +0 -0
  576. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/rule_ids.py +0 -0
  577. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/schemas/encrypted_statement.cddl +0 -0
  578. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/schemas/namespace_accept.cddl +0 -0
  579. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/schemas/namespace_create.cddl +0 -0
  580. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/schemas/namespace_founding_attest.cddl +0 -0
  581. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/schemas/namespace_invite.cddl +0 -0
  582. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/schemas/wire-v0.1.cddl +0 -0
  583. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/__init__.py +0 -0
  584. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/_persona_registry.py +0 -0
  585. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/_scenario_impl.py +0 -0
  586. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/app.py +0 -0
  587. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/backends/__init__.py +0 -0
  588. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/backends/anchor.py +0 -0
  589. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/backends/local.py +0 -0
  590. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/backends/server.py +0 -0
  591. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/cli_command.py +0 -0
  592. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/config.py +0 -0
  593. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/deployment.py +0 -0
  594. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/knowledge.py +0 -0
  595. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/learning.py +0 -0
  596. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/modes/__init__.py +0 -0
  597. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/modes/_eval_real_llm.py +0 -0
  598. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/modes/aar.py +0 -0
  599. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/modes/backtest.py +0 -0
  600. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/modes/binary_forecast.py +0 -0
  601. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/modes/conformance.py +0 -0
  602. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/modes/evaluation.py +0 -0
  603. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/modes/governance.py +0 -0
  604. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/modes/redteam.py +0 -0
  605. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/modes/tabletop.py +0 -0
  606. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/modes/tournament.py +0 -0
  607. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/modes/whatif.py +0 -0
  608. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/namespace.py +0 -0
  609. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/personas.py +0 -0
  610. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/prompt_generator.py +0 -0
  611. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/question_sets/geopolitics_q20.json +0 -0
  612. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/question_sets/governance_q5.json +0 -0
  613. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/question_sets/msft_outlook_q10.json +0 -0
  614. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/question_sets/whatif_q3.json +0 -0
  615. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/registry.py +0 -0
  616. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/runner.py +0 -0
  617. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/scenario.py +0 -0
  618. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/swarms.py +0 -0
  619. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/tool_handlers/__init__.py +0 -0
  620. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/tool_handlers/alpha_vantage.py +0 -0
  621. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/tool_handlers/brave.py +0 -0
  622. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/tool_handlers/newsapi.py +0 -0
  623. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/tool_handlers/openweather.py +0 -0
  624. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/tool_handlers/pinecone.py +0 -0
  625. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/tool_handlers/qdrant.py +0 -0
  626. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/tool_handlers/query_knowledge_base.py +0 -0
  627. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/tool_handlers/relata_recall.py +0 -0
  628. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/tool_handlers/retrieve_document.py +0 -0
  629. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/tool_handlers/serper.py +0 -0
  630. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/tool_handlers/tavily.py +0 -0
  631. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/tool_handlers/weaviate.py +0 -0
  632. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/tool_handlers/wikipedia.py +0 -0
  633. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/tool_handlers/wolfram.py +0 -0
  634. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/tool_handlers/yahoo_finance.py +0 -0
  635. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/tool_registry.py +0 -0
  636. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/topic_adapter.py +0 -0
  637. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/simlab/topic_questions.py +0 -0
  638. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/storage/__init__.py +0 -0
  639. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/storage/backend.py +0 -0
  640. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/sync.py +0 -0
  641. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/tasks.py +0 -0
  642. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/testing.py +0 -0
  643. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/tools/__init__.py +0 -0
  644. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/tools/registry.py +0 -0
  645. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/transport/__init__.py +0 -0
  646. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/transport/anti_entropy.py +0 -0
  647. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/transport/bus.py +0 -0
  648. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/transport/knows_delta.py +0 -0
  649. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/transport/libp2p.py +0 -0
  650. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/transport/placement.py +0 -0
  651. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/transport/tls_profile.py +0 -0
  652. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/types.py +0 -0
  653. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/uncertainty.py +0 -0
  654. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/wire.py +0 -0
  655. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/workflow/__init__.py +0 -0
  656. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/workflow/engine.py +0 -0
  657. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/workflow/plan.py +0 -0
  658. {hypermind-1.8.0 → hypermind-1.8.2}/src/hypermind/workflow/repair.py +0 -0
  659. {hypermind-1.8.0 → hypermind-1.8.2}/tests/__init__.py +0 -0
  660. {hypermind-1.8.0 → hypermind-1.8.2}/tests/api/__init__.py +0 -0
  661. {hypermind-1.8.0 → hypermind-1.8.2}/tests/api/test_eval_endpoints.py +0 -0
  662. {hypermind-1.8.0 → hypermind-1.8.2}/tests/api/test_events_stream.py +0 -0
  663. {hypermind-1.8.0 → hypermind-1.8.2}/tests/api/test_management_app.py +0 -0
  664. {hypermind-1.8.0 → hypermind-1.8.2}/tests/chaos/__init__.py +0 -0
  665. {hypermind-1.8.0 → hypermind-1.8.2}/tests/chaos/test_gossip_amplification.py +0 -0
  666. {hypermind-1.8.0 → hypermind-1.8.2}/tests/chaos/test_kill_agent_during_rfp.py +0 -0
  667. {hypermind-1.8.0 → hypermind-1.8.2}/tests/chaos/test_partition_during_workflow.py +0 -0
  668. {hypermind-1.8.0 → hypermind-1.8.2}/tests/chaos/test_slow_consumer_backpressure.py +0 -0
  669. {hypermind-1.8.0 → hypermind-1.8.2}/tests/chaos/test_slow_peer.py +0 -0
  670. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/__init__.py +0 -0
  671. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/generate_vectors.py +0 -0
  672. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/generate_z66.py +0 -0
  673. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/SIGNING.md +0 -0
  674. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/agent-card-01.json +0 -0
  675. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/agent-card-02.json +0 -0
  676. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/capability-01.json +0 -0
  677. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/capability-02.json +0 -0
  678. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/capability-03.json +0 -0
  679. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/dispute-01.json +0 -0
  680. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/dispute-02.json +0 -0
  681. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/dispute-03.json +0 -0
  682. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/dispute-04.json +0 -0
  683. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/dispute-05.json +0 -0
  684. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/frost-01.json +0 -0
  685. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/frost-02.json +0 -0
  686. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/frost-03.json +0 -0
  687. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/knows-delta-01.json +0 -0
  688. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/knows-delta-02.json +0 -0
  689. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/mcp-prov-01.json +0 -0
  690. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/mcp-prov-02.json +0 -0
  691. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/merkle-01.json +0 -0
  692. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/merkle-02.json +0 -0
  693. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/merkle-03.json +0 -0
  694. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/merkle-04.json +0 -0
  695. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/rep-decay-01.json +0 -0
  696. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/revocation-01.json +0 -0
  697. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/revocation-02.json +0 -0
  698. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/revocation-03.json +0 -0
  699. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/task-01.json +0 -0
  700. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/task-02.json +0 -0
  701. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/trace-01.json +0 -0
  702. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/trace-02.json +0 -0
  703. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/wire-envelope-01.json +0 -0
  704. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/wire-envelope-02.json +0 -0
  705. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/wire-envelope-03.json +0 -0
  706. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/wire-envelope-04.json +0 -0
  707. {hypermind-1.8.0 → hypermind-1.8.2}/tests/conformance/vectors/wire-envelope-05.json +0 -0
  708. {hypermind-1.8.0 → hypermind-1.8.2}/tests/harness/__init__.py +0 -0
  709. {hypermind-1.8.0 → hypermind-1.8.2}/tests/harness/conftest.py +0 -0
  710. {hypermind-1.8.0 → hypermind-1.8.2}/tests/harness/test_assertion_library.py +0 -0
  711. {hypermind-1.8.0 → hypermind-1.8.2}/tests/harness/test_autonomous_evolution.py +0 -0
  712. {hypermind-1.8.0 → hypermind-1.8.2}/tests/harness/test_runner_lifecycle.py +0 -0
  713. {hypermind-1.8.0 → hypermind-1.8.2}/tests/harness/test_threat_intel_harness.py +0 -0
  714. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integration/__init__.py +0 -0
  715. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integration/test_relata_server.py +0 -0
  716. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/__init__.py +0 -0
  717. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_all_mcp_tools.py +0 -0
  718. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_autogen.py +0 -0
  719. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_autonomous.py +0 -0
  720. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_crewai.py +0 -0
  721. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_datasys_hm_related_sqli.py +0 -0
  722. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_env_vars_cmd.py +0 -0
  723. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_evolution.py +0 -0
  724. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_facade.py +0 -0
  725. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_fixes_525_526_527.py +0 -0
  726. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_hooks.py +0 -0
  727. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_langchain.py +0 -0
  728. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_llamaindex.py +0 -0
  729. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_local_mode.py +0 -0
  730. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_loop_logging.py +0 -0
  731. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_loop_persistence.py +0 -0
  732. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_mcp_desktop.py +0 -0
  733. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_mcp_tool_descriptions.py +0 -0
  734. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_mcp_tools.py +0 -0
  735. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_no_duplicate_subscriptions.py +0 -0
  736. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_notifier.py +0 -0
  737. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_openai_agents.py +0 -0
  738. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_openai_endpoint.py +0 -0
  739. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_otel_serve_wiring.py +0 -0
  740. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_population_checkpoint_v2.py +0 -0
  741. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_population_tools.py +0 -0
  742. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_quickstart.py +0 -0
  743. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_research_mcp_shared_client.py +0 -0
  744. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_research_tool.py +0 -0
  745. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_retrieve_author_field.py +0 -0
  746. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_sse.py +0 -0
  747. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_startup_wiring.py +0 -0
  748. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_verifiable_rag.py +0 -0
  749. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_verify_v160_tools.py +0 -0
  750. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_webhook_server.py +0 -0
  751. {hypermind-1.8.0 → hypermind-1.8.2}/tests/integrations/test_working_memory_atomic_flush.py +0 -0
  752. {hypermind-1.8.0 → hypermind-1.8.2}/tests/mcp/__init__.py +0 -0
  753. {hypermind-1.8.0 → hypermind-1.8.2}/tests/mcp/test_multi_connection.py +0 -0
  754. {hypermind-1.8.0 → hypermind-1.8.2}/tests/mind/__init__.py +0 -0
  755. {hypermind-1.8.0 → hypermind-1.8.2}/tests/mind/test_deliberator_logging.py +0 -0
  756. {hypermind-1.8.0 → hypermind-1.8.2}/tests/mind/test_deliberator_otel_tick.py +0 -0
  757. {hypermind-1.8.0 → hypermind-1.8.2}/tests/mind/test_deliberator_save_learning_nonblocking.py +0 -0
  758. {hypermind-1.8.0 → hypermind-1.8.2}/tests/mind/test_deliberator_sybil_guard_default.py +0 -0
  759. {hypermind-1.8.0 → hypermind-1.8.2}/tests/mind/test_mind_assign_role.py +0 -0
  760. {hypermind-1.8.0 → hypermind-1.8.2}/tests/mind/test_mind_memory_bounds.py +0 -0
  761. {hypermind-1.8.0 → hypermind-1.8.2}/tests/mind/test_mind_research_antiherd.py +0 -0
  762. {hypermind-1.8.0 → hypermind-1.8.2}/tests/mind/test_selfplay.py +0 -0
  763. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/_fakes.py +0 -0
  764. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_adversarial.py +0 -0
  765. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_analysis.py +0 -0
  766. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_anchor.py +0 -0
  767. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_concurrency.py +0 -0
  768. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_context.py +0 -0
  769. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_convergence.py +0 -0
  770. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_corpus.py +0 -0
  771. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_cross_shard.py +0 -0
  772. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_datasys_selfreflector_wiring.py +0 -0
  773. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_deliberator.py +0 -0
  774. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_distributed.py +0 -0
  775. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_embeddings.py +0 -0
  776. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_evidence.py +0 -0
  777. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_experiment.py +0 -0
  778. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_graph_retrieval.py +0 -0
  779. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_groundtruth.py +0 -0
  780. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_hybrid_retriever.py +0 -0
  781. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_hypothesis.py +0 -0
  782. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_interaction.py +0 -0
  783. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_intervention.py +0 -0
  784. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_lightweight.py +0 -0
  785. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_mcp_config.py +0 -0
  786. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_metrics.py +0 -0
  787. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_model.py +0 -0
  788. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_ner.py +0 -0
  789. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_persist_identities.py +0 -0
  790. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_prompts.py +0 -0
  791. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_quality.py +0 -0
  792. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_query.py +0 -0
  793. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_rag.py +0 -0
  794. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_receipt.py +0 -0
  795. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_refine.py +0 -0
  796. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_replay.py +0 -0
  797. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_report.py +0 -0
  798. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_scale.py +0 -0
  799. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_sim.py +0 -0
  800. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_strategies.py +0 -0
  801. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_stream.py +0 -0
  802. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_stream_query.py +0 -0
  803. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_templates.py +0 -0
  804. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_think.py +0 -0
  805. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_tool_providers.py +0 -0
  806. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_tool_traces.py +0 -0
  807. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgs/test_tools.py +0 -0
  808. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgsim/__init__.py +0 -0
  809. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgsim/test_orgsim_observability.py +0 -0
  810. {hypermind-1.8.0 → hypermind-1.8.2}/tests/orgsim/test_orgsim_persona_evolution.py +0 -0
  811. {hypermind-1.8.0 → hypermind-1.8.2}/tests/responders/__init__.py +0 -0
  812. {hypermind-1.8.0 → hypermind-1.8.2}/tests/responders/test_responders.py +0 -0
  813. {hypermind-1.8.0 → hypermind-1.8.2}/tests/responders/test_router.py +0 -0
  814. {hypermind-1.8.0 → hypermind-1.8.2}/tests/responders/test_structured_response.py +0 -0
  815. {hypermind-1.8.0 → hypermind-1.8.2}/tests/responders/test_tools.py +0 -0
  816. {hypermind-1.8.0 → hypermind-1.8.2}/tests/review/__init__.py +0 -0
  817. {hypermind-1.8.0 → hypermind-1.8.2}/tests/review/test_agents_parser.py +0 -0
  818. {hypermind-1.8.0 → hypermind-1.8.2}/tests/review/test_models.py +0 -0
  819. {hypermind-1.8.0 → hypermind-1.8.2}/tests/review/test_runner.py +0 -0
  820. {hypermind-1.8.0 → hypermind-1.8.2}/tests/simlab/__init__.py +0 -0
  821. {hypermind-1.8.0 → hypermind-1.8.2}/tests/simlab/conftest.py +0 -0
  822. {hypermind-1.8.0 → hypermind-1.8.2}/tests/simlab/test_app_endpoints.py +0 -0
  823. {hypermind-1.8.0 → hypermind-1.8.2}/tests/simlab/test_knowledge.py +0 -0
  824. {hypermind-1.8.0 → hypermind-1.8.2}/tests/simlab/test_knowledge_reuse.py +0 -0
  825. {hypermind-1.8.0 → hypermind-1.8.2}/tests/simlab/test_modes_aar.py +0 -0
  826. {hypermind-1.8.0 → hypermind-1.8.2}/tests/simlab/test_modes_backtest.py +0 -0
  827. {hypermind-1.8.0 → hypermind-1.8.2}/tests/simlab/test_modes_conformance.py +0 -0
  828. {hypermind-1.8.0 → hypermind-1.8.2}/tests/simlab/test_modes_evaluation.py +0 -0
  829. {hypermind-1.8.0 → hypermind-1.8.2}/tests/simlab/test_modes_governance.py +0 -0
  830. {hypermind-1.8.0 → hypermind-1.8.2}/tests/simlab/test_modes_redteam.py +0 -0
  831. {hypermind-1.8.0 → hypermind-1.8.2}/tests/simlab/test_modes_tabletop.py +0 -0
  832. {hypermind-1.8.0 → hypermind-1.8.2}/tests/simlab/test_modes_tournament.py +0 -0
  833. {hypermind-1.8.0 → hypermind-1.8.2}/tests/simlab/test_modes_whatif.py +0 -0
  834. {hypermind-1.8.0 → hypermind-1.8.2}/tests/simlab/test_personas.py +0 -0
  835. {hypermind-1.8.0 → hypermind-1.8.2}/tests/simlab/test_personas_endpoints.py +0 -0
  836. {hypermind-1.8.0 → hypermind-1.8.2}/tests/simlab/test_recorder_scoping.py +0 -0
  837. {hypermind-1.8.0 → hypermind-1.8.2}/tests/simlab/test_registry.py +0 -0
  838. {hypermind-1.8.0 → hypermind-1.8.2}/tests/simlab/test_resolve_outcomes.py +0 -0
  839. {hypermind-1.8.0 → hypermind-1.8.2}/tests/simlab/test_responder_timeout.py +0 -0
  840. {hypermind-1.8.0 → hypermind-1.8.2}/tests/simlab/test_runner.py +0 -0
  841. {hypermind-1.8.0 → hypermind-1.8.2}/tests/simlab/test_swarms.py +0 -0
  842. {hypermind-1.8.0 → hypermind-1.8.2}/tests/storage/__init__.py +0 -0
  843. {hypermind-1.8.0 → hypermind-1.8.2}/tests/storage/test_sqlite_backend.py +0 -0
  844. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_active_multi_step.py +0 -0
  845. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_agent_card.py +0 -0
  846. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_agent_e2e.py +0 -0
  847. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_agent_edge.py +0 -0
  848. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_agent_synthesize.py +0 -0
  849. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_anthropic_responder_caching.py +0 -0
  850. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_anti_entropy.py +0 -0
  851. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_anti_entropy_multiround.py +0 -0
  852. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_anti_entropy_selfheal.py +0 -0
  853. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_appendix_z_conformance.py +0 -0
  854. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_appendix_z_vectors.py +0 -0
  855. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_arg_dag_edge_types.py +0 -0
  856. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_backpressure.py +0 -0
  857. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_belief_revision.py +0 -0
  858. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_belief_weight_per_candidate.py +0 -0
  859. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_bias_detector.py +0 -0
  860. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_block_reason.py +0 -0
  861. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_calibration.py +0 -0
  862. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_capability.py +0 -0
  863. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_capability_canonical.py +0 -0
  864. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_capability_chain.py +0 -0
  865. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_capability_edge.py +0 -0
  866. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_capability_enforcement.py +0 -0
  867. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_capability_namespace_caveat.py +0 -0
  868. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_capability_revocation.py +0 -0
  869. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_citation_graph.py +0 -0
  870. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_cli.py +0 -0
  871. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_cli_agent_goal_fixes.py +0 -0
  872. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_cli_interop.py +0 -0
  873. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_cli_mcp_install.py +0 -0
  874. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_cli_orgs.py +0 -0
  875. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_composite_lamps_prefix.py +0 -0
  876. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_consult.py +0 -0
  877. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_consult_stream.py +0 -0
  878. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_consult_stream_t4.py +0 -0
  879. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_contract_net_disputed_award.py +0 -0
  880. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_contract_net_frost_award.py +0 -0
  881. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_contract_net_happy.py +0 -0
  882. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_contract_net_reputation_scoring.py +0 -0
  883. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_contract_net_sybil_filter.py +0 -0
  884. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_correlated_agreement.py +0 -0
  885. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_cose_encrypt_roundtrip.py +0 -0
  886. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_cost_tracker.py +0 -0
  887. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_cross_namespace_consult.py +0 -0
  888. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_crypto.py +0 -0
  889. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_dashboard.py +0 -0
  890. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_dataset.py +0 -0
  891. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_datasys_atomic_loop_state.py +0 -0
  892. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_datasys_brier_feedback_wired.py +0 -0
  893. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_datasys_brier_no_self_assess_in_research.py +0 -0
  894. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_datasys_citation_dedup.py +0 -0
  895. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_datasys_claim_length_bound.py +0 -0
  896. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_datasys_confidence_range_check.py +0 -0
  897. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_datasys_deliberator_research_dedup.py +0 -0
  898. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_datasys_deliberator_stop_persistence.py +0 -0
  899. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_datasys_hm_ingest_sandbox.py +0 -0
  900. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_datasys_hypothesis_propose_empty_reasoning.py +0 -0
  901. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_datasys_job_ttl.py +0 -0
  902. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_datasys_loop_security.py +0 -0
  903. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_datasys_oracle_audit_export.py +0 -0
  904. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_datasys_oracle_resolve_rep_signal_fallback.py +0 -0
  905. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_datasys_orgsim_run_forever_candidate_question.py +0 -0
  906. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_datasys_panel_size_cap.py +0 -0
  907. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_datasys_reputation_persistence_on_close.py +0 -0
  908. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_datasys_rounds_cap.py +0 -0
  909. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_datasys_storage_write_failure_observability.py +0 -0
  910. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_deliberation.py +0 -0
  911. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_deliberator_cap.py +0 -0
  912. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_deliberator_observe.py +0 -0
  913. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_deliberator_parallel_tick.py +0 -0
  914. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_deprecation_registry.py +0 -0
  915. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_determinism_corpus.py +0 -0
  916. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_dispute.py +0 -0
  917. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_dispute_close_deliberator_notify.py +0 -0
  918. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_dispute_fsm_full.py +0 -0
  919. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_dispute_mediate.py +0 -0
  920. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_dispute_quorum.py +0 -0
  921. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_dispute_retrieval_decay.py +0 -0
  922. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_dispute_suspended.py +0 -0
  923. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_dissent.py +0 -0
  924. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_diversity_guard_synthesize.py +0 -0
  925. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_diversity_guard_synthesize_jaccard.py +0 -0
  926. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_diversity_quorum.py +0 -0
  927. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_dkg.py +0 -0
  928. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_e2e_research_chain.py +0 -0
  929. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_embedding_registry.py +0 -0
  930. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_eval_comparison.py +0 -0
  931. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_eval_suite.py +0 -0
  932. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_examples_runnable.py +0 -0
  933. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_final_coverage.py +0 -0
  934. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_frost.py +0 -0
  935. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_frost_edge.py +0 -0
  936. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_frost_hedged_nonces.py +0 -0
  937. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_frost_persistence.py +0 -0
  938. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_frost_transcript_store_swap.py +0 -0
  939. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_hlc_clock_source.py +0 -0
  940. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_hpke_vectors.py +0 -0
  941. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_info_gain_routing.py +0 -0
  942. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_issue_355_brier_apply_after_research.py +0 -0
  943. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_issue_356_run_cycle_findings_key.py +0 -0
  944. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_issue_357_relata_kernel_query_rows.py +0 -0
  945. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_issue_359_deliberator_stop_on_teardown.py +0 -0
  946. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_issue_360_curriculum_assign_called.py +0 -0
  947. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_issue_487_loop_deliberator_observe.py +0 -0
  948. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_issue_491_run_cycle_error_logging.py +0 -0
  949. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_issue_492_oracle_resolve_fsm_sequence.py +0 -0
  950. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_kernel_store.py +0 -0
  951. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_kernel_store_remote.py +0 -0
  952. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_knows_delta.py +0 -0
  953. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_lamps_oid_canonical.py +0 -0
  954. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_last_lines.py +0 -0
  955. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_libp2p_peer_id.py +0 -0
  956. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_libp2p_scaffold.py +0 -0
  957. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_libp2p_stub.py +0 -0
  958. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_machine_identity.py +0 -0
  959. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_mcp_bridge.py +0 -0
  960. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_mcp_provenance.py +0 -0
  961. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_mcp_tools_list.py +0 -0
  962. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_mcp_transport.py +0 -0
  963. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_merkle_transparency.py +0 -0
  964. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_mind_active.py +0 -0
  965. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_mind_assign_role.py +0 -0
  966. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_mind_auto_relay_research.py +0 -0
  967. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_mind_deliberator.py +0 -0
  968. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_mind_diversity_sybil_mediator.py +0 -0
  969. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_mind_evolve.py +0 -0
  970. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_mind_goal_handle.py +0 -0
  971. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_mind_goal_queue_bounds.py +0 -0
  972. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_mind_goals_policy.py +0 -0
  973. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_mind_learning_persistence.py +0 -0
  974. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_mind_planner_wiring.py +0 -0
  975. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_mind_records.py +0 -0
  976. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_mind_research_antiherd.py +0 -0
  977. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_mind_research_brier.py +0 -0
  978. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_mind_research_ledger.py +0 -0
  979. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_mind_research_memory.py +0 -0
  980. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_mind_roles.py +0 -0
  981. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_mind_world_model.py +0 -0
  982. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_mind_world_model_priority.py +0 -0
  983. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_misc_edge.py +0 -0
  984. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_mtls_profile.py +0 -0
  985. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_namespace_lifecycle.py +0 -0
  986. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_namespace_policy.py +0 -0
  987. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_namespace_policy_acl.py +0 -0
  988. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_observability_asgi.py +0 -0
  989. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_observability_issues_350_351_352.py +0 -0
  990. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_observability_otel.py +0 -0
  991. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_open_factory.py +0 -0
  992. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_oracle_backprop.py +0 -0
  993. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_oracle_resolve_closes_dispute.py +0 -0
  994. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_oracle_resolve_events.py +0 -0
  995. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_orgs_replay_reputation.py +0 -0
  996. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_orgsim_kernel_store_persist.py +0 -0
  997. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_orgsim_persona_evolution.py +0 -0
  998. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_orgsim_persona_ticking.py +0 -0
  999. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_otel_export.py +0 -0
  1000. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_pin_policy.py +0 -0
  1001. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_pin_policy_compose_zero.py +0 -0
  1002. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_placement_consistent_hash.py +0 -0
  1003. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_placement_hint.py +0 -0
  1004. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_plan_dag.py +0 -0
  1005. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_plan_repair.py +0 -0
  1006. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_portable_inclusion_proof.py +0 -0
  1007. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_pq_default.py +0 -0
  1008. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_pq_dual_vendor.py +0 -0
  1009. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_pq_signing.py +0 -0
  1010. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_priv_ns_conformance_coverage.py +0 -0
  1011. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_property_based.py +0 -0
  1012. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_protocol_version.py +0 -0
  1013. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_public_surface_v05.py +0 -0
  1014. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_pursue_workflow.py +0 -0
  1015. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_rate_caveat.py +0 -0
  1016. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_recorder_bounded.py +0 -0
  1017. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_recorder_tail.py +0 -0
  1018. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_reference_verifier_v2.py +0 -0
  1019. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_rekor_client.py +0 -0
  1020. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_rekor_downgrade.py +0 -0
  1021. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_relata_author_hex.py +0 -0
  1022. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_relata_cbor_disputes.py +0 -0
  1023. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_relata_hybrid_search.py +0 -0
  1024. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_relata_memory_store.py +0 -0
  1025. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_relata_tools.py +0 -0
  1026. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_remaining_gaps.py +0 -0
  1027. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_replay.py +0 -0
  1028. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_reputation.py +0 -0
  1029. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_reputation_concurrency.py +0 -0
  1030. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_reputation_memory.py +0 -0
  1031. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_reputation_staleness.py +0 -0
  1032. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_review_fixes.py +0 -0
  1033. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_revocation.py +0 -0
  1034. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_revocation_lifecycle.py +0 -0
  1035. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_room_epoch.py +0 -0
  1036. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_schema_hash_pinned.py +0 -0
  1037. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_secret_redaction.py +0 -0
  1038. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_security_regressions_495_490_493_494.py +0 -0
  1039. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_self_heal_cycle1.py +0 -0
  1040. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_self_heal_cycle2.py +0 -0
  1041. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_self_heal_cycle3.py +0 -0
  1042. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_self_heal_cycle3_cascade_isolate.py +0 -0
  1043. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_self_heal_cycle3_governance.py +0 -0
  1044. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_self_heal_cycle4.py +0 -0
  1045. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_self_heal_cycle4_deliberator_broadcast.py +0 -0
  1046. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_self_heal_cycle5.py +0 -0
  1047. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_signer_protocol.py +0 -0
  1048. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_skill_registry.py +0 -0
  1049. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_sth_cross_gossip.py +0 -0
  1050. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_swarm_iq.py +0 -0
  1051. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_swarm_iq_at_scale.py +0 -0
  1052. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_swarm_iq_recommend.py +0 -0
  1053. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_swarm_memory.py +0 -0
  1054. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_swarm_memory_federation.py +0 -0
  1055. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_swarm_trace.py +0 -0
  1056. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_swarm_vector_overflow.py +0 -0
  1057. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_sybil_guard_consult.py +0 -0
  1058. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_sync_agent.py +0 -0
  1059. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_tal.py +0 -0
  1060. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_tal_decay_hlc_wallclock.py +0 -0
  1061. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_tal_decay_wired.py +0 -0
  1062. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_task_handle.py +0 -0
  1063. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_task_handle_network.py +0 -0
  1064. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_tcp_duplicate_kid_attack.py +0 -0
  1065. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_tcp_edge.py +0 -0
  1066. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_tcp_federation.py +0 -0
  1067. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_tcp_final.py +0 -0
  1068. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_tcp_read_loop_cleanup.py +0 -0
  1069. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_tcp_transport.py +0 -0
  1070. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_theory_of_mind.py +0 -0
  1071. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_transport.py +0 -0
  1072. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_transport_scale_gaps.py +0 -0
  1073. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_two_impl_interop.py +0 -0
  1074. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_uncertainty.py +0 -0
  1075. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_uncertainty_edge.py +0 -0
  1076. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_verify_brier_research_not_self_referential.py +0 -0
  1077. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_verify_build_mcp_server_no_loop.py +0 -0
  1078. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_verify_deliberator_posteriors_hydrated.py +0 -0
  1079. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_verify_hypothesis_book_oracle_resolve.py +0 -0
  1080. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_verify_self_reflector_topic_kwarg.py +0 -0
  1081. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_wire.py +0 -0
  1082. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_wire_edge_cases.py +0 -0
  1083. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_wire_kid_stability.py +0 -0
  1084. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_wire_p3.py +0 -0
  1085. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_wire_v2.py +0 -0
  1086. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_wire_version.py +0 -0
  1087. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_witness_preimage_length_prefix.py +0 -0
  1088. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_workflow_compensation.py +0 -0
  1089. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_workflow_engine.py +0 -0
  1090. {hypermind-1.8.0 → hypermind-1.8.2}/tests/test_workflow_replay.py +0 -0
  1091. {hypermind-1.8.0 → hypermind-1.8.2}/tests/usecases/__init__.py +0 -0
  1092. {hypermind-1.8.0 → hypermind-1.8.2}/tests/usecases/conftest.py +0 -0
  1093. {hypermind-1.8.0 → hypermind-1.8.2}/tests/usecases/test_ai_01_fed_benchmark.py +0 -0
  1094. {hypermind-1.8.0 → hypermind-1.8.2}/tests/usecases/test_ai_alignment_redteam.py +0 -0
  1095. {hypermind-1.8.0 → hypermind-1.8.2}/tests/usecases/test_cy_05_ir_swarm.py +0 -0
  1096. {hypermind-1.8.0 → hypermind-1.8.2}/tests/usecases/test_cy_11_ransomware_intel.py +0 -0
  1097. {hypermind-1.8.0 → hypermind-1.8.2}/tests/usecases/test_ed_credentials.py +0 -0
  1098. {hypermind-1.8.0 → hypermind-1.8.2}/tests/usecases/test_en_grid_coordinate.py +0 -0
  1099. {hypermind-1.8.0 → hypermind-1.8.2}/tests/usecases/test_fi_04_bsa_314b.py +0 -0
  1100. {hypermind-1.8.0 → hypermind-1.8.2}/tests/usecases/test_fi_22_ma_dataroom.py +0 -0
  1101. {hypermind-1.8.0 → hypermind-1.8.2}/tests/usecases/test_gv_01_intel_sharing.py +0 -0
  1102. {hypermind-1.8.0 → hypermind-1.8.2}/tests/usecases/test_gv_21_red_team.py +0 -0
  1103. {hypermind-1.8.0 → hypermind-1.8.2}/tests/usecases/test_hc_06_rare_disease.py +0 -0
  1104. {hypermind-1.8.0 → hypermind-1.8.2}/tests/usecases/test_hc_21_fed_learning.py +0 -0
  1105. {hypermind-1.8.0 → hypermind-1.8.2}/tests/usecases/test_lg_ediscovery.py +0 -0
  1106. {hypermind-1.8.0 → hypermind-1.8.2}/tests/usecases/test_mf_supply_chain.py +0 -0
  1107. {hypermind-1.8.0 → hypermind-1.8.2}/transport-rust/Cargo.toml +0 -0
  1108. {hypermind-1.8.0 → hypermind-1.8.2}/transport-rust/README.md +0 -0
  1109. {hypermind-1.8.0 → hypermind-1.8.2}/transport-rust/pyproject.toml +0 -0
  1110. {hypermind-1.8.0 → hypermind-1.8.2}/transport-rust/src/lib.rs +0 -0
  1111. {hypermind-1.8.0 → hypermind-1.8.2}/uv.lock +0 -0
  1112. {hypermind-1.8.0 → hypermind-1.8.2}/vercel.json +0 -0
  1113. {hypermind-1.8.0 → hypermind-1.8.2}/webui/index.html +0 -0
  1114. {hypermind-1.8.0 → hypermind-1.8.2}/webui/package-lock.json +0 -0
  1115. {hypermind-1.8.0 → hypermind-1.8.2}/webui/package.json +0 -0
  1116. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/App.vue +0 -0
  1117. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/api/client.ts +0 -0
  1118. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/components/ActivityCanvas.vue +0 -0
  1119. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/components/AgentContribution.vue +0 -0
  1120. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/components/BrierHeatmap.vue +0 -0
  1121. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/components/CIQTrajectory.vue +0 -0
  1122. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/components/CitationGraph.vue +0 -0
  1123. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/components/DisputeTimeline.vue +0 -0
  1124. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/components/DissentList.vue +0 -0
  1125. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/components/Logo.vue +0 -0
  1126. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/components/NowAsking.vue +0 -0
  1127. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/components/PersonaRadar.vue +0 -0
  1128. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/components/PopulationGenerator.vue +0 -0
  1129. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/components/Term.vue +0 -0
  1130. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/components/forms/SchemaForm.vue +0 -0
  1131. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/components/result/AARTimeline.vue +0 -0
  1132. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/components/result/BacktestScorecard.vue +0 -0
  1133. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/components/result/ConformanceReport.vue +0 -0
  1134. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/components/result/CrisisTabletop.vue +0 -0
  1135. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/components/result/DecisionBracket.vue +0 -0
  1136. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/components/result/EvaluationReport.vue +0 -0
  1137. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/components/result/GovernanceReceipt.vue +0 -0
  1138. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/components/result/MethodNote.vue +0 -0
  1139. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/components/result/RedTeamReport.vue +0 -0
  1140. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/components/result/ScenarioTree.vue +0 -0
  1141. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/docs/index.ts +0 -0
  1142. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/docs/render.ts +0 -0
  1143. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/main.ts +0 -0
  1144. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/router.ts +0 -0
  1145. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/stores/sims.ts +0 -0
  1146. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/styles.css +0 -0
  1147. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/types/trace.ts +0 -0
  1148. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/views/Agents.vue +0 -0
  1149. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/views/Docs.vue +0 -0
  1150. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/views/Evidence.vue +0 -0
  1151. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/views/Home.vue +0 -0
  1152. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/views/HowItWorks.vue +0 -0
  1153. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/views/Knowledge.vue +0 -0
  1154. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/views/Landing.vue +0 -0
  1155. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/views/Namespaces.vue +0 -0
  1156. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/views/Report.vue +0 -0
  1157. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/views/Security.vue +0 -0
  1158. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/views/SimCompare.vue +0 -0
  1159. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/views/SimDetail.vue +0 -0
  1160. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/views/SimList.vue +0 -0
  1161. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/views/SimLive.vue +0 -0
  1162. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/views/SimNew.vue +0 -0
  1163. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/views/Tools.vue +0 -0
  1164. {hypermind-1.8.0 → hypermind-1.8.2}/webui/src/views/UseCases.vue +0 -0
  1165. {hypermind-1.8.0 → hypermind-1.8.2}/webui/tsconfig.json +0 -0
  1166. {hypermind-1.8.0 → hypermind-1.8.2}/webui/vite.config.ts +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hypermind
3
- Version: 1.8.0
3
+ Version: 1.8.2
4
4
  Summary: Federated agent intelligence — reference SDK for the HyperMind SCITT contested-claims profile
5
5
  Project-URL: Homepage, https://github.com/ZySec-AI/hypermind
6
6
  Project-URL: Documentation, https://github.com/ZySec-AI/hypermind/tree/main/docs
@@ -22,7 +22,7 @@ services:
22
22
  command: ["serve"]
23
23
  environment:
24
24
  - RELATA_ORG_MODE=lite
25
- - RELATA_ACL_GRANT=HmClaim:read+write,HmDispute:read+write,HmReputation:read+write,HmTranscript:read+write
25
+ - RELATA_ACL_GRANT=HmClaim:read+write,HmDispute:read+write,HmReputation:read+write,HmTranscript:read+write,HmSkill:read+write
26
26
  - RELATA_STORE_MAX_RAM_MB=2048
27
27
  ports:
28
28
  - "9090:9090"
@@ -6,7 +6,7 @@ export RELATA_PROFILE=free
6
6
  export RELATA_BEARER_TOKEN="${RELATA_BEARER_TOKEN:-perftoken}"
7
7
  export RELATA_ADMIN_TOKEN="${RELATA_ADMIN_TOKEN:-perfadmin-perfto}"
8
8
  # grant the bearer principal read+write on the four Hm ledger types (boot-time)
9
- export RELATA_ACL_GRANT="HmClaim:read+write,HmDispute:read+write,HmReputation:read+write,HmTranscript:read+write"
9
+ export RELATA_ACL_GRANT="HmClaim:read+write,HmDispute:read+write,HmReputation:read+write,HmTranscript:read+write,HmSkill:read+write"
10
10
  export RELATA_RATE_LIMIT_RPS=99999
11
11
  export RELATA_RATE_LIMIT_AUTH_FAIL_RPS=99999
12
12
  export RELATA_PORT="${RELATA_PORT:-8080}"
@@ -253,14 +253,69 @@ agent asserted what, when, and with what confidence — and whether it was right
253
253
  }
254
254
  ```
255
255
 
256
- ## §20.7 Conformance
256
+ ## §20.7 Skill Evolution Loop
257
+
258
+ **Classification: Original**
259
+
260
+ The skill evolution loop is the mechanism by which an agent's repeated deliberation patterns
261
+ are automatically promoted into reusable, executable skills — closing the learn→act→improve cycle
262
+ without human intervention.
263
+
264
+ ### §20.7.1 Work History
265
+
266
+ Every `Deliberator` maintains a rolling `_work_history` deque (max 500 entries). An entry
267
+ `{"action": <ActionKind.value>, "topic": <str>}` is appended **before** each `_dispatch()` call,
268
+ so failed attempts are recorded alongside successes.
269
+
270
+ ### §20.7.2 Auto-Promotion
271
+
272
+ `SkillRegistry.auto_promote(history, store, min_repetitions=3)` scans work_history for
273
+ `(action, topic)` pairs that appear at least `min_repetitions` times. For each qualifying pair:
274
+
275
+ 1. `topic` is sanitised: non-alphanumeric characters (except `._-`) are replaced with `_`,
276
+ truncated to 64 characters. This is a **security invariant** — raw topic strings MUST NOT
277
+ reach filesystem or registry key paths unsanitised.
278
+ 2. A `skill_id` of the form `<action>.<sanitised_topic>` is validated against the allowlist
279
+ `^[a-zA-Z0-9][a-zA-Z0-9._-]{0,63}$`. Invalid ids are skipped with a warning log.
280
+ 3. A Python `async def run(agent, **kwargs)` body is generated from the per-`ActionKind`
281
+ template in `_SKILL_CODE_TEMPLATES` and written to `<skill_dir>/<skill_id>.md`
282
+ (YAML front-matter + fenced `python` block).
283
+ 4. The skill is immediately `exec()`'d and registered in the in-process `SkillRegistry` —
284
+ hot-loaded with no restart required.
285
+
286
+ ### §20.7.3 Checkpoint Integration
287
+
288
+ `_NamespaceWorld.checkpoint_reputation()` invokes `auto_promote()` over the merged
289
+ `work_history` of all agents in the world. Successfully promoted skill ids are recorded as
290
+ `skill_evolved.<skill_id>` hypotheses in the `HypothesisBook`, providing an auditable
291
+ chain of custody for every evolved capability.
292
+
293
+ ### §20.7.4 Skill Storage
294
+
295
+ Skills are stored as `.md` files with YAML front-matter (`skill_id`, `description`, `tags`,
296
+ `created_at`) and a single fenced `python` code block. `SkillFileStore` is the local
297
+ filesystem fallback; a `RelataBackend` is used when available. Skills are auto-loaded from
298
+ the backing store on `sandbox()` startup.
299
+
300
+ ### §20.7.5 Security Invariants
301
+
302
+ | Invariant | Enforcement |
303
+ |-----------|-------------|
304
+ | No injection via topic | `_sanitise_topic()` in `skills.py` before any template fill |
305
+ | No path traversal via skill_id | `_validate_skill_id()` allowlist on read **and** write |
306
+ | No registry key poisoning | `_validate_skill_id()` called in `upsert_skill()` and `auto_promote()` |
307
+ | No test cross-contamination | `reset_skill_registry` autouse fixture restores singleton state |
308
+
309
+ ## §20.8 Conformance
257
310
 
258
311
  A v1.0.0-conformant implementation MUST:
259
312
 
260
313
  * Pass `tests/test_swarm_iq.py` (Layer A).
261
314
  * Pass `tests/test_self_heal_cycle4.py` (cross-layer adversarial regressions).
262
315
  * Pass `tests/simlab/test_resolve_outcomes.py` (oracle feedback loop).
316
+ * Pass `tests/mind/test_skill_learning_pipeline.py` (skill evolution loop).
263
317
  * Provide `hmctl swarm-iq <namespace>` emitting `SwarmIQReport` JSON.
318
+ * Auto-promote skills after `min_repetitions` (default 3) without requiring a human gate.
264
319
 
265
320
  A v1.0.0-conformant implementation SHOULD:
266
321
 
@@ -270,8 +325,8 @@ A v1.0.0-conformant implementation SHOULD:
270
325
  * Provide `LookaheadPolicy` with the sandbox Beta WorldModel (Layer E).
271
326
  * Implement the oracle resolution endpoint (§20.6.2) for empirical validation.
272
327
 
273
- ## §20.8 Standards-map entry
328
+ ## §20.9 Standards-map entry
274
329
 
275
330
  ```
276
- | §20 Swarm Intelligence | Original | hypermind.eval.swarm_iq + hypermind.mind.{roles,active,world_model} + hypermind.knowledge.swarm_memory + simlab.app._handle_resolve_outcomes | v1.0.0 |
331
+ | §20 Swarm Intelligence | Original | hypermind.eval.swarm_iq + hypermind.mind.{roles,active,world_model,skills,deliberator} + hypermind.knowledge.swarm_memory + simlab.app._handle_resolve_outcomes | v1.0.0 |
277
332
  ```
@@ -0,0 +1,402 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ End-to-end feature test: Skills lifecycle, storage persistence,
4
+ MCP tool coverage, and world wiring.
5
+ Run with: .venv/bin/python e2e_features_test.py
6
+ """
7
+ import asyncio
8
+ import json
9
+ import os
10
+ import sys
11
+ import tempfile
12
+ import textwrap
13
+
14
+ HOST, PORT = "127.0.0.1", 8484
15
+ PASS, FAIL, SKIP = "✓", "✗", "–"
16
+
17
+ results: list[tuple[str, str, str]] = []
18
+
19
+
20
+ def record(label: str, ok: bool | None, note: str = "") -> None:
21
+ sym = PASS if ok else (SKIP if ok is None else FAIL)
22
+ results.append((sym, label, note))
23
+ print(f" {sym} {label:<50} {note}")
24
+
25
+
26
+ # ── MCP helpers ────────────────────────────────────────────────────────────
27
+
28
+ async def raw_call(method: str, params: dict, timeout: float = 20.0) -> dict:
29
+ r, w = await asyncio.open_connection(HOST, PORT)
30
+ try:
31
+ init = json.dumps({"jsonrpc": "2.0", "id": 1, "method": "initialize",
32
+ "params": {"protocolVersion": "1.0", "capabilities": {},
33
+ "clientInfo": {"name": "e2e", "version": "0"}}}) + "\n"
34
+ w.write(init.encode()); await w.drain()
35
+ await asyncio.wait_for(r.readline(), timeout=10)
36
+ call = json.dumps({"jsonrpc": "2.0", "id": 2, "method": method, "params": params}) + "\n"
37
+ w.write(call.encode()); await w.drain()
38
+ return json.loads(await asyncio.wait_for(r.readline(), timeout=timeout))
39
+ finally:
40
+ w.close()
41
+ try: await w.wait_closed()
42
+ except Exception: pass
43
+
44
+
45
+ async def tool(name: str, args: dict | None = None, timeout: float = 20.0) -> tuple[bool, str]:
46
+ try:
47
+ resp = await raw_call("tools/call", {"name": name, "arguments": args or {}}, timeout)
48
+ except TimeoutError:
49
+ return False, f"TIMEOUT after {timeout}s"
50
+ if "error" in resp:
51
+ return False, resp["error"].get("message", "")[:120]
52
+ r = resp.get("result", {})
53
+ if r.get("isError"):
54
+ txt = (r.get("content") or [{}])[0].get("text", "")[:120]
55
+ return False, f"tool error: {txt}"
56
+ txt = (r.get("content") or [{}])[0].get("text", "")
57
+ return True, txt[:120]
58
+
59
+
60
+ # ── 1. Skills lifecycle ─────────────────────────────────────────────────────
61
+
62
+ def test_skills_lifecycle() -> None:
63
+ print("\n── 1. Skills lifecycle ─────────────────────────────────────────")
64
+
65
+ from hypermind.mind.skills import SkillFileStore, _parse_frontmatter, get_default_registry
66
+
67
+ with tempfile.TemporaryDirectory() as td:
68
+ store = SkillFileStore(td)
69
+
70
+ # 1a. frontmatter parser — .md format with fenced code block
71
+ text = "---\nskill_id: greet\ndescription: say hello\ntags: util\n---\n\n```python\nasync def run(name): return f'hello {name}'\n```\n"
72
+ meta, code = _parse_frontmatter(text)
73
+ record("frontmatter: skill_id parsed", meta.get("skill_id") == "greet")
74
+ record("frontmatter: code extracted", "async def run" in code)
75
+
76
+ # 1b. SkillFileStore upsert
77
+ store.upsert_skill("greet", code, "say hello", "util")
78
+ path = os.path.join(td, "greet.md")
79
+ record("SkillFileStore.upsert_skill writes file", os.path.exists(path))
80
+
81
+ # 1c. load_skills round-trips
82
+ rows = store.load_skills()
83
+ record("SkillFileStore.load_skills returns row", len(rows) == 1)
84
+ record("load_skills: skill_id correct", rows[0]["skill_id"] == "greet")
85
+ record("load_skills: code preserved", "async def run" in rows[0]["code"])
86
+
87
+ # 1d. get_skill point-lookup
88
+ r = store.get_skill("greet")
89
+ record("SkillFileStore.get_skill returns entry", r is not None)
90
+ record("get_skill: description correct", r and r["description"] == "say hello")
91
+ record("get_skill: miss returns None", store.get_skill("nonexistent") is None)
92
+
93
+ # 1e. load_from_backend into registry
94
+ reg = get_default_registry()
95
+ before = len(reg._skills)
96
+ loaded = reg.load_from_backend(store)
97
+ record("load_from_backend: count > 0", loaded >= 1)
98
+ record("load_from_backend: skill registered", "greet" in reg._skills or loaded >= 1)
99
+
100
+ # 1f. exec'd skill is callable
101
+ entry = reg._skills.get("greet")
102
+ if entry is not None:
103
+ record("registered skill has description", entry.description == "say hello")
104
+ record("registered skill is callable", callable(entry.fn))
105
+ else:
106
+ record("registered skill has description", None, "skill not found in registry")
107
+ record("registered skill is callable", None)
108
+
109
+ # 1g. second store — no frontmatter, uses filename as id
110
+ store2 = SkillFileStore(td)
111
+ bare_code = "def run(): return 42\n"
112
+ path2 = os.path.join(td, "bare.md")
113
+ with open(path2, "w") as fh:
114
+ fh.write(bare_code)
115
+ rows2 = store2.load_skills()
116
+ ids = {r["skill_id"] for r in rows2}
117
+ record("bare .md file uses filename as skill_id", "bare" in ids)
118
+
119
+
120
+ # ── 2. hmctl skill CLI ──────────────────────────────────────────────────────
121
+
122
+ def test_hmctl_skill_cli() -> None:
123
+ import subprocess
124
+ print("\n── 2. hmctl skill CLI ──────────────────────────────────────────")
125
+
126
+ with tempfile.TemporaryDirectory() as td:
127
+ skill_file = os.path.join(td, "my_skill.md")
128
+ with open(skill_file, "w") as fh:
129
+ fh.write("---\nskill_id: my_skill\ndescription: test skill\ntags: test\n---\n\n```python\nasync def run(): return 'ok'\n```\n")
130
+
131
+ env = {**os.environ, "HYPERMIND_SKILL_DIR": td, "HYPERMIND_NO_ENV_FILE": "1"}
132
+ # Override the default skill dir by patching via env — but SkillFileStore uses
133
+ # _DEFAULT_SKILL_DIR. Use a fresh temp skill dir for upload.
134
+ skill_dir = os.path.join(td, "skills")
135
+
136
+ # Upload
137
+ result = subprocess.run(
138
+ [".venv/bin/python", "-c",
139
+ f"""
140
+ import sys; sys.path.insert(0, 'src')
141
+ from hypermind.mind.skills import SkillFileStore, _parse_frontmatter
142
+ text = open({skill_file!r}).read()
143
+ meta, code = _parse_frontmatter(text)
144
+ s = SkillFileStore({skill_dir!r})
145
+ s.upsert_skill(meta['skill_id'], code, meta.get('description',''), meta.get('tags',''))
146
+ rows = s.load_skills()
147
+ print(rows[0]['skill_id'])
148
+ """],
149
+ capture_output=True, text=True, cwd="/Volumes/Workspace/code/hypermind-specs"
150
+ )
151
+ out = result.stdout.strip()
152
+ record("hmctl skill upload (via SkillFileStore)", out == "my_skill", out or result.stderr[:60])
153
+
154
+ # List
155
+ result2 = subprocess.run(
156
+ [".venv/bin/python", "-c",
157
+ f"""
158
+ import sys; sys.path.insert(0, 'src')
159
+ from hypermind.mind.skills import SkillFileStore
160
+ rows = SkillFileStore({skill_dir!r}).load_skills()
161
+ for r in rows: print(r['skill_id'])
162
+ """],
163
+ capture_output=True, text=True, cwd="/Volumes/Workspace/code/hypermind-specs"
164
+ )
165
+ record("hmctl skill list returns uploaded skill", "my_skill" in result2.stdout)
166
+
167
+ # Get
168
+ result3 = subprocess.run(
169
+ [".venv/bin/python", "-c",
170
+ f"""
171
+ import sys; sys.path.insert(0, 'src')
172
+ from hypermind.mind.skills import SkillFileStore
173
+ r = SkillFileStore({skill_dir!r}).get_skill('my_skill')
174
+ print(r['code'] if r else 'NOT FOUND')
175
+ """],
176
+ capture_output=True, text=True, cwd="/Volumes/Workspace/code/hypermind-specs"
177
+ )
178
+ record("hmctl skill get returns code", "async def run" in result3.stdout)
179
+
180
+
181
+ # ── 3. Storage persistence wiring ──────────────────────────────────────────
182
+
183
+ async def test_storage_persistence() -> None:
184
+ print("\n── 3. Storage persistence (sandbox + SQLite) ───────────────────")
185
+ import os
186
+
187
+ os.environ["HYPERMIND_NO_ENV_FILE"] = "1"
188
+
189
+ with tempfile.NamedTemporaryFile(suffix=".db", delete=False) as f:
190
+ db_path = f.name
191
+
192
+ try:
193
+ from hypermind.integrations.client import HyperMindClient
194
+
195
+ # Session 1: publish, open dispute, create TAL room
196
+ client1 = HyperMindClient.sandbox(db_path=db_path)
197
+ kid1 = await client1.publish("persistence test claim", topic="test")
198
+ record("sandbox: publish returns kid", isinstance(kid1, bytes) and len(kid1) == 32)
199
+
200
+ world1 = client1._primary._world
201
+ record("sandbox: world.storage wired to SQLite", world1.storage is not None)
202
+
203
+ # Check claim landed in world.sealed
204
+ record("sandbox: claim in world.sealed", kid1 in world1.sealed)
205
+
206
+ # TAL room
207
+ world1.tal.create_room("test-room", 0.0, client1._primary.keypair.kid)
208
+ record("TAL: room created", world1.tal.get_room("test-room") is not None)
209
+
210
+ # Hypothesis
211
+ world1.hypothesis_book.propose("h1", "test hypothesis", author="tester")
212
+ record("HypothesisBook: hypothesis added", world1.hypothesis_book.get("h1") is not None)
213
+
214
+ # Checkpoint (saves rep + TAL + hypotheses)
215
+ world1.checkpoint_reputation()
216
+ await client1.close()
217
+
218
+ # Session 2: reload from same db_path
219
+ client2 = HyperMindClient.sandbox(db_path=db_path)
220
+ world2 = client2._primary._world
221
+
222
+ # Claims restored into world.sealed
223
+ record("restart: claim restored to world.sealed", kid1 in world2.sealed)
224
+
225
+ # Citation graph rebuilt
226
+ n = client2._rebuild_citation_graph()
227
+ record("restart: citation graph rebuilt", n >= 0)
228
+
229
+ # TAL room restored
230
+ room2 = world2.tal.get_room("test-room")
231
+ record("restart: TAL room restored", room2 is not None)
232
+
233
+ # HypothesisBook restored
234
+ h = world2.hypothesis_book.get("h1")
235
+ record("restart: hypothesis restored", h is not None and h.statement == "test hypothesis")
236
+
237
+ await client2.close()
238
+
239
+ finally:
240
+ try: os.unlink(db_path)
241
+ except OSError: pass
242
+ os.environ.pop("HYPERMIND_NO_ENV_FILE", None)
243
+
244
+
245
+ # ── 4. MCP tool smoke tests ─────────────────────────────────────────────────
246
+
247
+ async def test_mcp_tools() -> None:
248
+ print("\n── 4. MCP tool smoke tests (live server :8484) ─────────────────")
249
+
250
+ # Basic tools that require no prior state
251
+ for name, args in [
252
+ ("hm_version", {}),
253
+ ("hm_status", {}),
254
+ ("hm_doctor", {}),
255
+ ("hm_tools", {}),
256
+ ("hm_agent_list", {}),
257
+ ("hm_agents", {}),
258
+ ("hm_reputation", {}),
259
+ ("hm_reputation_show", {}),
260
+ ("hm_dispute_list", {}),
261
+ ("hm_disputes", {}),
262
+ ("hm_goal_status", {}),
263
+ ("hm_hooks", {}),
264
+ ("hm_pool_status", {}),
265
+ ("hm_org_roster", {"template": "city_at_war"}),
266
+ ("hm_list_templates", {}),
267
+ ("hm_population", {}),
268
+ ]:
269
+ ok, note = await tool(name, args)
270
+ record(f"MCP: {name}", ok, note[:80] if not ok else "")
271
+
272
+ # Stateful tools — publish first
273
+ ok, note = await tool("hm_publish_claim", {"topic": "e2e", "text": "e2e test claim"})
274
+ record("MCP: hm_publish_claim", ok, note[:80] if not ok else "")
275
+ kid = None
276
+ if ok:
277
+ try: kid = json.loads(note).get("kid") or json.loads(note).get("claim_kid")
278
+ except Exception: pass
279
+
280
+ for name, args in [
281
+ ("hm_claims_list", {"topic": "e2e"}),
282
+ ("hm_audit", {"topic": "e2e"}),
283
+ ("hm_audit_export", {"topic": "e2e", "format": "jsonl"}),
284
+ ("hm_stale", {"topic": "e2e"}),
285
+ ("hm_recall", {"query": "test", "topic": "e2e"}),
286
+ ("hm_retrieve", {"query": "e2e", "topic": "e2e"}),
287
+ ("hm_session_summary", {}),
288
+ ("hm_agent_memory", {"topic": "e2e"}),
289
+ ]:
290
+ ok, note = await tool(name, args)
291
+ record(f"MCP: {name}", ok, note[:80] if not ok else "")
292
+
293
+ if kid:
294
+ ok, note = await tool("hm_justify", {"claim_kid": kid})
295
+ record("MCP: hm_justify (with real kid)", ok, note[:80] if not ok else "")
296
+ ok, note = await tool("hm_related", {"claim_kid": kid})
297
+ record("MCP: hm_related (with real kid)", ok, note[:80] if not ok else "")
298
+
299
+ # Dispute lifecycle
300
+ dispute_id = None
301
+ if kid:
302
+ ok, note = await tool("hm_dispute_open", {"claim_kid": kid, "reason": "e2e", "topic": "e2e"})
303
+ record("MCP: hm_dispute_open", ok, note[:80] if not ok else "")
304
+ if ok:
305
+ try: dispute_id = json.loads(note).get("dispute_id") or json.loads(note).get("id")
306
+ except Exception: pass
307
+
308
+ # Ingest + learn + hypothesize (no LLM calls)
309
+ # hm_ingest needs a file inside the server's cwd (HYPERMIND_INGEST_ROOT default = cwd)
310
+ import os as _os
311
+ _ingest_path = _os.path.abspath("_e2e_ingest_tmp.txt")
312
+ with open(_ingest_path, "w") as _tf:
313
+ _tf.write("FROST threshold signing enables k-of-n")
314
+ ok, note = await tool("hm_ingest", {"path": _ingest_path, "topic": "e2e"}, timeout=20)
315
+ record("MCP: hm_ingest", ok, note[:80] if not ok else "")
316
+ try: _os.unlink(_ingest_path)
317
+ except OSError: pass
318
+
319
+ ok, note = await tool("hm_learn", {"text": "SCITT ledgers are append-only", "topic": "e2e"}, timeout=20)
320
+ record("MCP: hm_learn", ok, note[:80] if not ok else "")
321
+
322
+ ok, note = await tool("hm_hypothesis", {"hypothesis": "HyperMind uses RFC 6962 Merkle trees", "topic": "e2e"}, timeout=20)
323
+ record("MCP: hm_hypothesis", ok, note[:80] if not ok else "")
324
+
325
+ # LLM-heavy tools — short timeout, mark as skip on timeout (not failure)
326
+ for name, args in [
327
+ ("hm_scan_contradictions", {"topic": "e2e"}),
328
+ ("hm_calibration", {"topic": "e2e"}),
329
+ ("hm_swarm_iq", {"topic": "e2e"}),
330
+ ]:
331
+ ok, note = await tool(name, args, timeout=15)
332
+ if "TIMEOUT" in note:
333
+ record(f"MCP: {name}", None, "LLM call — needs live API key")
334
+ else:
335
+ record(f"MCP: {name}", ok, note[:80] if not ok else "")
336
+
337
+
338
+ # ── 5. Skills in MCP context ────────────────────────────────────────────────
339
+
340
+ async def test_mcp_skills() -> None:
341
+ print("\n── 5. Skills via MCP (hm_tools shows skill registry) ───────────")
342
+
343
+ ok, note = await tool("hm_tools", {})
344
+ record("MCP: hm_tools responds", ok)
345
+ if ok:
346
+ try:
347
+ data = json.loads(note)
348
+ # hm_tools returns tool listing — check it's structured
349
+ record("MCP: hm_tools returns structured data", isinstance(data, (dict, list)))
350
+ except Exception:
351
+ record("MCP: hm_tools returns structured data", None, "non-JSON response (ok)")
352
+
353
+ # Publish a cite chain to exercise citation graph
354
+ ok1, n1 = await tool("hm_publish_claim", {"topic": "skills-test", "text":"base claim for citations"})
355
+ if ok1:
356
+ try: base_kid = json.loads(n1).get("kid")
357
+ except Exception: base_kid = None
358
+ if base_kid:
359
+ ok2, n2 = await tool("hm_publish_cite", {
360
+ "text":"citing the base claim", "topic": "skills-test",
361
+ "cite_kids": [base_kid]
362
+ })
363
+ record("MCP: hm_publish_cite (citation graph)", ok2, n2[:80] if not ok2 else "")
364
+ ok3, n3 = await tool("hm_related", {"claim_kid": base_kid})
365
+ record("MCP: hm_related after cite", ok3, n3[:80] if not ok3 else "")
366
+ else:
367
+ record("MCP: hm_publish_cite (citation graph)", None, "no kid from publish")
368
+ else:
369
+ record("MCP: hm_publish_cite (citation graph)", None, "base publish failed")
370
+
371
+
372
+ # ── main ────────────────────────────────────────────────────────────────────
373
+
374
+ async def main() -> None:
375
+ print("=" * 70)
376
+ print("HyperMind end-to-end feature test")
377
+ print("=" * 70)
378
+
379
+ test_skills_lifecycle()
380
+ test_hmctl_skill_cli()
381
+ await test_storage_persistence()
382
+ await test_mcp_tools()
383
+ await test_mcp_skills()
384
+
385
+ passed = sum(1 for s, _, _ in results if s == PASS)
386
+ failed = sum(1 for s, _, _ in results if s == FAIL)
387
+ skipped = sum(1 for s, _, _ in results if s == SKIP)
388
+ total = len(results)
389
+
390
+ print("\n" + "=" * 70)
391
+ print(f"RESULT {passed}/{total} passed ({failed} failed, {skipped} skipped)")
392
+ print("=" * 70)
393
+ if failed:
394
+ print("\nFailed:")
395
+ for s, label, note in results:
396
+ if s == FAIL:
397
+ print(f" ✗ {label} {note}")
398
+ sys.exit(0 if failed == 0 else 1)
399
+
400
+
401
+ if __name__ == "__main__":
402
+ asyncio.run(main())
@@ -114,6 +114,7 @@ production-shaped pilots — they explain *how a community forms* and
114
114
  |---|---|
115
115
  | [`scenario_vouch_chain.py`](scenario_vouch_chain.py) | How does a community grow? Newcomer → vouched → established → voucher. The 5%-of-α vouch cap explained explicitly. |
116
116
  | [`scenario_learning_loop.py`](scenario_learning_loop.py) | What's the full feedback loop? `working_memory` → `checkpoint()` → cited by peers → reputation reward. |
117
+ | [`scenario_skill_evolution.py`](scenario_skill_evolution.py) | How do repeated deliberation patterns become reusable skills? Deliberator work_history → `auto_promote()` → hot-loaded skill registry — no human gate required. |
117
118
  | [`scenario_cross_namespace_federation.py`](scenario_cross_namespace_federation.py) | How do you query expertise that lives in *another* namespace without silently merging trust? Bridge-mediated federated consult. |
118
119
 
119
120
  ### Security mechanics & dispute lifecycle
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "hypermind"
7
- version = "1.8.0"
7
+ version = "1.8.2"
8
8
  description = "Federated agent intelligence — reference SDK for the HyperMind SCITT contested-claims profile"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11,<3.14"
@@ -496,6 +496,7 @@ def doctor(check_clock: bool, strict_pq: bool) -> None:
496
496
  for k, v in result.items():
497
497
  table.add_row(k, v)
498
498
  console.print(table)
499
+ console.print("\n[dim]To use HyperMind in Claude Desktop: [bold]hmctl mcp install[/] then restart Claude.[/]")
499
500
 
500
501
 
501
502
  def _doctor_check_clock() -> None:
@@ -3152,5 +3153,93 @@ def webhook_serve_cmd(port: int, secret: str, swarm: int) -> None:
3152
3153
  asyncio.run(_run())
3153
3154
 
3154
3155
 
3156
+ @main.group()
3157
+ def skill() -> None:
3158
+ """Manage persistent skills (Relata if configured, else ~/.hypermind/skills/)."""
3159
+
3160
+
3161
+ def _skill_store() -> object:
3162
+ """Return the active skill store: RelataBackend if RELATA_URL set, else SkillFileStore."""
3163
+ import os
3164
+
3165
+ from hypermind.mind.skills import SkillFileStore
3166
+
3167
+ relata_url = os.environ.get("RELATA_URL")
3168
+ if relata_url:
3169
+ from hypermind.storage.relata import RelataBackend
3170
+
3171
+ b = RelataBackend(relata_url)
3172
+ b.open()
3173
+ return b
3174
+ return SkillFileStore()
3175
+
3176
+
3177
+ @skill.command("upload")
3178
+ @click.argument("path", type=click.Path(exists=True))
3179
+ def skill_upload(path: str) -> None:
3180
+ """Upload a .skill file to Relata (if configured) or ~/.hypermind/skills/."""
3181
+ import os
3182
+
3183
+ from hypermind.mind.skills import _parse_frontmatter
3184
+
3185
+ text = open(path).read()
3186
+ meta, code = _parse_frontmatter(text)
3187
+ skill_id = meta.get("skill_id") or os.path.splitext(os.path.basename(path))[0]
3188
+ description = meta.get("description", "")
3189
+ tags = meta.get("tags", "")
3190
+ store = _skill_store()
3191
+ store.upsert_skill(skill_id, code, description, tags)
3192
+ dest = getattr(store, "directory", os.environ.get("RELATA_URL", "relata"))
3193
+ click.echo(f"uploaded skill {skill_id!r} → {dest}")
3194
+
3195
+
3196
+ @skill.command("list")
3197
+ @click.option("--candidates", is_flag=True, default=False,
3198
+ help="Show skill candidates surfaced from deliberator work history.")
3199
+ def skill_list(candidates: bool) -> None:
3200
+ """List skills from Relata (if configured) or ~/.hypermind/skills/.
3201
+
3202
+ With --candidates: show skill candidates logged in the agent's hypothesis book
3203
+ (entries prefixed with 'skill_candidate.') instead of installed skills.
3204
+ """
3205
+ if candidates:
3206
+ import os as _os
3207
+ _os.environ.setdefault("HYPERMIND_NO_ENV_FILE", "1")
3208
+ from hypermind.integrations.client import HyperMindClient
3209
+ client = HyperMindClient.sandbox()
3210
+ book = getattr(getattr(client._primary, "_world", None), "hypothesis_book", None)
3211
+ if book is None:
3212
+ click.echo("no hypothesis book available")
3213
+ return
3214
+ found = False
3215
+ for record in book.to_records():
3216
+ if record.get("id", "").startswith("skill_candidate."):
3217
+ found = True
3218
+ status = record.get("status", "open")
3219
+ click.echo(f"{record['id']:<50} [{status}] {record.get('statement', '')[:80]}")
3220
+ if not found:
3221
+ click.echo("no skill candidates yet — run agents with a Deliberator to accumulate work history")
3222
+ return
3223
+ rows = _skill_store().load_skills()
3224
+ if not rows:
3225
+ click.echo("no skills stored")
3226
+ return
3227
+ for r in rows:
3228
+ click.echo(f"{r['skill_id']:<30} {r['description']}")
3229
+
3230
+
3231
+ @skill.command("get")
3232
+ @click.argument("skill_id")
3233
+ def skill_get(skill_id: str) -> None:
3234
+ """Print skill code from Relata (if configured) or ~/.hypermind/skills/."""
3235
+ store = _skill_store()
3236
+ r = store.get_skill(skill_id)
3237
+ if r is not None:
3238
+ click.echo(r["code"])
3239
+ return
3240
+ click.echo(f"skill {skill_id!r} not found", err=True)
3241
+ raise SystemExit(1)
3242
+
3243
+
3155
3244
  if __name__ == "__main__": # pragma: no cover
3156
3245
  main()