hypermind 0.11.0__tar.gz → 0.13.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (886) hide show
  1. {hypermind-0.11.0 → hypermind-0.13.0}/PKG-INFO +27 -3
  2. {hypermind-0.11.0 → hypermind-0.13.0}/README.md +26 -2
  3. {hypermind-0.11.0 → hypermind-0.13.0}/examples/README.md +6 -0
  4. hypermind-0.13.0/examples/org_university.py +66 -0
  5. {hypermind-0.11.0 → hypermind-0.13.0}/pyproject.toml +1 -1
  6. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/__init__.py +1 -1
  7. hypermind-0.13.0/src/hypermind/orgs/__init__.py +85 -0
  8. hypermind-0.13.0/src/hypermind/orgs/groundtruth.py +126 -0
  9. hypermind-0.13.0/src/hypermind/orgs/interaction.py +177 -0
  10. hypermind-0.13.0/src/hypermind/orgs/metrics.py +148 -0
  11. hypermind-0.13.0/src/hypermind/orgs/model.py +255 -0
  12. hypermind-0.13.0/src/hypermind/orgs/report.py +95 -0
  13. hypermind-0.13.0/src/hypermind/orgs/sim.py +522 -0
  14. hypermind-0.13.0/src/hypermind/orgs/templates/__init__.py +411 -0
  15. hypermind-0.13.0/src/hypermind/orgs/think.py +109 -0
  16. hypermind-0.13.0/src/hypermind/orgs/tools.py +202 -0
  17. hypermind-0.13.0/tests/orgs/_fakes.py +93 -0
  18. hypermind-0.13.0/tests/orgs/test_convergence.py +117 -0
  19. hypermind-0.13.0/tests/orgs/test_groundtruth.py +149 -0
  20. hypermind-0.13.0/tests/orgs/test_interaction.py +123 -0
  21. hypermind-0.13.0/tests/orgs/test_metrics.py +171 -0
  22. hypermind-0.13.0/tests/orgs/test_model.py +207 -0
  23. hypermind-0.13.0/tests/orgs/test_report.py +91 -0
  24. hypermind-0.13.0/tests/orgs/test_sim.py +448 -0
  25. hypermind-0.13.0/tests/orgs/test_templates.py +37 -0
  26. hypermind-0.13.0/tests/orgs/test_think.py +91 -0
  27. hypermind-0.13.0/tests/orgs/test_tools.py +143 -0
  28. {hypermind-0.11.0 → hypermind-0.13.0}/.editorconfig +0 -0
  29. {hypermind-0.11.0 → hypermind-0.13.0}/.gitattributes +0 -0
  30. {hypermind-0.11.0 → hypermind-0.13.0}/.github/FUNDING.yml +0 -0
  31. {hypermind-0.11.0 → hypermind-0.13.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  32. {hypermind-0.11.0 → hypermind-0.13.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  33. {hypermind-0.11.0 → hypermind-0.13.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  34. {hypermind-0.11.0 → hypermind-0.13.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  35. {hypermind-0.11.0 → hypermind-0.13.0}/.github/renovate.json +0 -0
  36. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows/check-license.yml +0 -0
  37. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows/code-review-pr.yml +0 -0
  38. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows/hotfix-security.yml +0 -0
  39. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows/issue-auto-fix.yml +0 -0
  40. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows/issue-triage.yml +0 -0
  41. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows/pr-standards.yml +0 -0
  42. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows/quality.yml +0 -0
  43. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows/release.yml +0 -0
  44. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows/security.yml +0 -0
  45. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows/stale.yml +0 -0
  46. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/branch-flow-check.yml +0 -0
  47. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/chaos.yml +0 -0
  48. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/check-license.yml +0 -0
  49. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/ci.yml +0 -0
  50. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/code-freeze.yml +0 -0
  51. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/code-review-pr.yml +0 -0
  52. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/code-review.yml +0 -0
  53. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/codeql.yml +0 -0
  54. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/dco.yml +0 -0
  55. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/docs-to-wiki.yml +0 -0
  56. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/docs.yml +0 -0
  57. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/formal.yml +0 -0
  58. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/fuzz.yml +0 -0
  59. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/hotfix-security.yml +0 -0
  60. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/issue-auto-fix.yml +0 -0
  61. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/issue-triage.yml +0 -0
  62. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/merge-comment.yml +0 -0
  63. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/pip-audit.yml +0 -0
  64. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/pr-standards.yml +0 -0
  65. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/quality.yml +0 -0
  66. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/release.yml +0 -0
  67. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/sbom.yml +0 -0
  68. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/scorecard.yml +0 -0
  69. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/security.yml +0 -0
  70. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/sprint-retro.yml +0 -0
  71. {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/stale.yml +0 -0
  72. {hypermind-0.11.0 → hypermind-0.13.0}/.gitignore +0 -0
  73. {hypermind-0.11.0 → hypermind-0.13.0}/.pre-commit-config.yaml +0 -0
  74. {hypermind-0.11.0 → hypermind-0.13.0}/.tool-versions +0 -0
  75. {hypermind-0.11.0 → hypermind-0.13.0}/CHANGELOG.md +0 -0
  76. {hypermind-0.11.0 → hypermind-0.13.0}/CHARTER.md +0 -0
  77. {hypermind-0.11.0 → hypermind-0.13.0}/CODEOWNERS +0 -0
  78. {hypermind-0.11.0 → hypermind-0.13.0}/CODE_OF_CONDUCT.md +0 -0
  79. {hypermind-0.11.0 → hypermind-0.13.0}/CONTRIBUTING.md +0 -0
  80. {hypermind-0.11.0 → hypermind-0.13.0}/GOVERNANCE.md +0 -0
  81. {hypermind-0.11.0 → hypermind-0.13.0}/LICENSE +0 -0
  82. {hypermind-0.11.0 → hypermind-0.13.0}/MAINTAINERS.md +0 -0
  83. {hypermind-0.11.0 → hypermind-0.13.0}/Makefile +0 -0
  84. {hypermind-0.11.0 → hypermind-0.13.0}/RELATA_COMPATIBILITY.md +0 -0
  85. {hypermind-0.11.0 → hypermind-0.13.0}/RELATA_INTEGRATION_PLAN.md +0 -0
  86. {hypermind-0.11.0 → hypermind-0.13.0}/ROADMAP.md +0 -0
  87. {hypermind-0.11.0 → hypermind-0.13.0}/SECURITY.md +0 -0
  88. {hypermind-0.11.0 → hypermind-0.13.0}/bench/README.md +0 -0
  89. {hypermind-0.11.0 → hypermind-0.13.0}/bench/__init__.py +0 -0
  90. {hypermind-0.11.0 → hypermind-0.13.0}/bench/baselines/v0.6.json +0 -0
  91. {hypermind-0.11.0 → hypermind-0.13.0}/bench/bench_consult.py +0 -0
  92. {hypermind-0.11.0 → hypermind-0.13.0}/bench/bench_dispute.py +0 -0
  93. {hypermind-0.11.0 → hypermind-0.13.0}/bench/bench_publish.py +0 -0
  94. {hypermind-0.11.0 → hypermind-0.13.0}/bench/coordination/README.md +0 -0
  95. {hypermind-0.11.0 → hypermind-0.13.0}/bench/coordination/__init__.py +0 -0
  96. {hypermind-0.11.0 → hypermind-0.13.0}/bench/coordination/baselines/v0.10.json +0 -0
  97. {hypermind-0.11.0 → hypermind-0.13.0}/bench/coordination/bench_rfp_latency.py +0 -0
  98. {hypermind-0.11.0 → hypermind-0.13.0}/bench/coordination/bench_task_throughput.py +0 -0
  99. {hypermind-0.11.0 → hypermind-0.13.0}/bench/coordination/bench_workflow_replay.py +0 -0
  100. {hypermind-0.11.0 → hypermind-0.13.0}/bench/coordination/run_all.py +0 -0
  101. {hypermind-0.11.0 → hypermind-0.13.0}/bench/question_sets/geopolitics_q20.json +0 -0
  102. {hypermind-0.11.0 → hypermind-0.13.0}/bench/question_sets/msft_outlook_q10.json +0 -0
  103. {hypermind-0.11.0 → hypermind-0.13.0}/bench/run_bench.py +0 -0
  104. {hypermind-0.11.0 → hypermind-0.13.0}/chaos/README.md +0 -0
  105. {hypermind-0.11.0 → hypermind-0.13.0}/chaos/__init__.py +0 -0
  106. {hypermind-0.11.0 → hypermind-0.13.0}/chaos/p1_partition_recovery.py +0 -0
  107. {hypermind-0.11.0 → hypermind-0.13.0}/chaos/p2_witness_compromise.py +0 -0
  108. {hypermind-0.11.0 → hypermind-0.13.0}/chaos/p3_key_rotation.py +0 -0
  109. {hypermind-0.11.0 → hypermind-0.13.0}/chaos/p4_dispute_backlog.py +0 -0
  110. {hypermind-0.11.0 → hypermind-0.13.0}/chaos/p5_wire_cutover.py +0 -0
  111. {hypermind-0.11.0 → hypermind-0.13.0}/chaos/p6_quorum_loss.py +0 -0
  112. {hypermind-0.11.0 → hypermind-0.13.0}/chaos/p7_clock_skew.py +0 -0
  113. {hypermind-0.11.0 → hypermind-0.13.0}/chaos/p8_recorder_outage.py +0 -0
  114. {hypermind-0.11.0 → hypermind-0.13.0}/chaos/run_chaos.py +0 -0
  115. {hypermind-0.11.0 → hypermind-0.13.0}/deploy/Dockerfile +0 -0
  116. {hypermind-0.11.0 → hypermind-0.13.0}/deploy/README.md +0 -0
  117. {hypermind-0.11.0 → hypermind-0.13.0}/deploy/docker-compose.yml +0 -0
  118. {hypermind-0.11.0 → hypermind-0.13.0}/deploy/grafana/dashboards/hypermind-coordination.json +0 -0
  119. {hypermind-0.11.0 → hypermind-0.13.0}/deploy/grafana/dashboards/hypermind-v06.json +0 -0
  120. {hypermind-0.11.0 → hypermind-0.13.0}/deploy/grafana/dashboards/hypermind.json +0 -0
  121. {hypermind-0.11.0 → hypermind-0.13.0}/deploy/grafana/provisioning/dashboards/hypermind.yml +0 -0
  122. {hypermind-0.11.0 → hypermind-0.13.0}/deploy/grafana/provisioning/datasources/prometheus.yml +0 -0
  123. {hypermind-0.11.0 → hypermind-0.13.0}/deploy/k8s/hypermind-deployment.yaml +0 -0
  124. {hypermind-0.11.0 → hypermind-0.13.0}/deploy/prometheus/prometheus.yml +0 -0
  125. {hypermind-0.11.0 → hypermind-0.13.0}/deploy/systemd/hypermind.service +0 -0
  126. {hypermind-0.11.0 → hypermind-0.13.0}/docs/README.md +0 -0
  127. {hypermind-0.11.0 → hypermind-0.13.0}/docs/SIMLAB.md +0 -0
  128. {hypermind-0.11.0 → hypermind-0.13.0}/docs/SIMLAB_AUDIT_PLAN.md +0 -0
  129. {hypermind-0.11.0 → hypermind-0.13.0}/docs/_meta/glossary.md +0 -0
  130. {hypermind-0.11.0 → hypermind-0.13.0}/docs/_meta/provenance.md +0 -0
  131. {hypermind-0.11.0 → hypermind-0.13.0}/docs/_meta/public-surface.md +0 -0
  132. {hypermind-0.11.0 → hypermind-0.13.0}/docs/_meta/standards-map.md +0 -0
  133. {hypermind-0.11.0 → hypermind-0.13.0}/docs/api/agent.md +0 -0
  134. {hypermind-0.11.0 → hypermind-0.13.0}/docs/api/agent_card.md +0 -0
  135. {hypermind-0.11.0 → hypermind-0.13.0}/docs/api/capability.md +0 -0
  136. {hypermind-0.11.0 → hypermind-0.13.0}/docs/api/crypto.md +0 -0
  137. {hypermind-0.11.0 → hypermind-0.13.0}/docs/api/dispute.md +0 -0
  138. {hypermind-0.11.0 → hypermind-0.13.0}/docs/api/knowledge.md +0 -0
  139. {hypermind-0.11.0 → hypermind-0.13.0}/docs/api/observability.md +0 -0
  140. {hypermind-0.11.0 → hypermind-0.13.0}/docs/api/simlab-openapi.yaml +0 -0
  141. {hypermind-0.11.0 → hypermind-0.13.0}/docs/api/sync.md +0 -0
  142. {hypermind-0.11.0 → hypermind-0.13.0}/docs/api/tasks.md +0 -0
  143. {hypermind-0.11.0 → hypermind-0.13.0}/docs/api/transport.md +0 -0
  144. {hypermind-0.11.0 → hypermind-0.13.0}/docs/api/wire.md +0 -0
  145. {hypermind-0.11.0 → hypermind-0.13.0}/docs/architecture-v0.6.md +0 -0
  146. {hypermind-0.11.0 → hypermind-0.13.0}/docs/assets/hero-swarm.svg +0 -0
  147. {hypermind-0.11.0 → hypermind-0.13.0}/docs/audit/findings.md +0 -0
  148. {hypermind-0.11.0 → hypermind-0.13.0}/docs/audit/scope.md +0 -0
  149. {hypermind-0.11.0 → hypermind-0.13.0}/docs/concepts.md +0 -0
  150. {hypermind-0.11.0 → hypermind-0.13.0}/docs/conformance/authority.md +0 -0
  151. {hypermind-0.11.0 → hypermind-0.13.0}/docs/conformance/bake-off-report.md +0 -0
  152. {hypermind-0.11.0 → hypermind-0.13.0}/docs/conformance/mark-policy.md +0 -0
  153. {hypermind-0.11.0 → hypermind-0.13.0}/docs/decide/01-disqualifiers.md +0 -0
  154. {hypermind-0.11.0 → hypermind-0.13.0}/docs/decide/02-alternatives.md +0 -0
  155. {hypermind-0.11.0 → hypermind-0.13.0}/docs/decide/03-incentive-aligned-cases.md +0 -0
  156. {hypermind-0.11.0 → hypermind-0.13.0}/docs/decide/04-use-cases.md +0 -0
  157. {hypermind-0.11.0 → hypermind-0.13.0}/docs/design/01-architecture.md +0 -0
  158. {hypermind-0.11.0 → hypermind-0.13.0}/docs/design/02-traces.md +0 -0
  159. {hypermind-0.11.0 → hypermind-0.13.0}/docs/design/03-failure-modes.md +0 -0
  160. {hypermind-0.11.0 → hypermind-0.13.0}/docs/design/04-poisoning-defenses.md +0 -0
  161. {hypermind-0.11.0 → hypermind-0.13.0}/docs/design/05-deployment-topology.md +0 -0
  162. {hypermind-0.11.0 → hypermind-0.13.0}/docs/feature-matrix.md +0 -0
  163. {hypermind-0.11.0 → hypermind-0.13.0}/docs/getting-started.md +0 -0
  164. {hypermind-0.11.0 → hypermind-0.13.0}/docs/governance/cna.md +0 -0
  165. {hypermind-0.11.0 → hypermind-0.13.0}/docs/governance/foundation-evaluation.md +0 -0
  166. {hypermind-0.11.0 → hypermind-0.13.0}/docs/hypermind-protocol-spec.md +0 -0
  167. {hypermind-0.11.0 → hypermind-0.13.0}/docs/index.md +0 -0
  168. {hypermind-0.11.0 → hypermind-0.13.0}/docs/legal/export-classification.md +0 -0
  169. {hypermind-0.11.0 → hypermind-0.13.0}/docs/lts.md +0 -0
  170. {hypermind-0.11.0 → hypermind-0.13.0}/docs/migrate/v0.x-to-v1.0.md +0 -0
  171. {hypermind-0.11.0 → hypermind-0.13.0}/docs/migration/v0.7.md +0 -0
  172. {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/00-prerequisites.md +0 -0
  173. {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/README.md +0 -0
  174. {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/after.md +0 -0
  175. {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/exercises/e01-run-the-loop.md +0 -0
  176. {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/exercises/e02-draw-the-architecture.md +0 -0
  177. {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/exercises/e03-trace-a-claim.md +0 -0
  178. {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/exercises/e04-read-a-spec-section.md +0 -0
  179. {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/exercises/e05-break-it.md +0 -0
  180. {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/exercises/e06-add-a-test.md +0 -0
  181. {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/exercises/e07-first-pr.md +0 -0
  182. {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/glossary.md +0 -0
  183. {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/topics/00-what-is-hypermind.md +0 -0
  184. {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/topics/01-agents-and-swarms.md +0 -0
  185. {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/topics/02-architecture-tour.md +0 -0
  186. {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/topics/03-spec-literacy.md +0 -0
  187. {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/topics/04-cryptography.md +0 -0
  188. {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/topics/05-cbor-cose.md +0 -0
  189. {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/topics/06-transparency-logs.md +0 -0
  190. {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/topics/07-distributed-systems.md +0 -0
  191. {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/topics/08-async-python.md +0 -0
  192. {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/topics/09-security-mindset.md +0 -0
  193. {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/week-1-foundations.md +0 -0
  194. {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/week-2-deep-dive.md +0 -0
  195. {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/01-deployment.md +0 -0
  196. {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/02-runbook.md +0 -0
  197. {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/03-resource-budget.md +0 -0
  198. {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/backup-restore.md +0 -0
  199. {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/data-residency.md +0 -0
  200. {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/key-rotation.md +0 -0
  201. {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/runbooks/dispute-backlog-drain.md +0 -0
  202. {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/runbooks/key-rotation.md +0 -0
  203. {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/runbooks/kms-rotation.md +0 -0
  204. {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/runbooks/multi-host-deploy.md +0 -0
  205. {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/runbooks/partition-heal.md +0 -0
  206. {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/runbooks/quorum-loss.md +0 -0
  207. {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/runbooks/rfp-dispute-triage.md +0 -0
  208. {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/runbooks/wire-cutover.md +0 -0
  209. {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/runbooks/witness-compromise.md +0 -0
  210. {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/runbooks/workflow-replay.md +0 -0
  211. {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/slo.md +0 -0
  212. {hypermind-0.11.0 → hypermind-0.13.0}/docs/paper/00-patent.md +0 -0
  213. {hypermind-0.11.0 → hypermind-0.13.0}/docs/paper/hypermind-paper-draft.md +0 -0
  214. {hypermind-0.11.0 → hypermind-0.13.0}/docs/paper/hypermind-paper.docx +0 -0
  215. {hypermind-0.11.0 → hypermind-0.13.0}/docs/paper/hypermind-paper.tex +0 -0
  216. {hypermind-0.11.0 → hypermind-0.13.0}/docs/release-notes/v1.0-checklist.md +0 -0
  217. {hypermind-0.11.0 → hypermind-0.13.0}/docs/release-notes/v1.0.0.md +0 -0
  218. {hypermind-0.11.0 → hypermind-0.13.0}/docs/security/threat-model.md +0 -0
  219. {hypermind-0.11.0 → hypermind-0.13.0}/docs/simlab/modes.md +0 -0
  220. {hypermind-0.11.0 → hypermind-0.13.0}/docs/simulations.md +0 -0
  221. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/00-overview.md +0 -0
  222. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/01-transport.md +0 -0
  223. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/02-cryptography.md +0 -0
  224. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/03-messages.md +0 -0
  225. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/04-knowledge-model.md +0 -0
  226. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/05-routing.md +0 -0
  227. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/06-conformance.md +0 -0
  228. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/07-trust-access-layer.md +0 -0
  229. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/08-onboarding-contract.md +0 -0
  230. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/09-agent-sdk.md +0 -0
  231. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/10-disputes.md +0 -0
  232. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/11-witness-transparency.md +0 -0
  233. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/12-governance.md +0 -0
  234. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/13-observability.md +0 -0
  235. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/14-threat-model.md +0 -0
  236. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/15-living-transmission.md +0 -0
  237. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/16-reference-comparisons.md +0 -0
  238. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/17-upgrade-v1.md +0 -0
  239. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/18-revocation.md +0 -0
  240. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/19-autonomy-contract.md +0 -0
  241. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/20-swarm-intelligence.md +0 -0
  242. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/21-belief-state.md +0 -0
  243. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/21-private-namespaces.md +0 -0
  244. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/22-transport-mtls.md +0 -0
  245. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/23-envelope-encryption.md +0 -0
  246. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/24-namespace-identity.md +0 -0
  247. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/25-capability-extensions.md +0 -0
  248. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/26-workflow.md +0 -0
  249. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/27-contract-net.md +0 -0
  250. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/28-distributed-trace.md +0 -0
  251. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/_meta/gaps-closed.md +0 -0
  252. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/appendix-N-calibration.md +0 -0
  253. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/appendix-TLA.md +0 -0
  254. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/appendix-z.md +0 -0
  255. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/errata.md +0 -0
  256. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/index.md +0 -0
  257. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/invariants.md +0 -0
  258. {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/normative-trace.md +0 -0
  259. {hypermind-0.11.0 → hypermind-0.13.0}/docs/supply-chain/sbom.md +0 -0
  260. {hypermind-0.11.0 → hypermind-0.13.0}/docs/supply-chain/slsa.md +0 -0
  261. {hypermind-0.11.0 → hypermind-0.13.0}/docs/supply-chain/verify-self.md +0 -0
  262. {hypermind-0.11.0 → hypermind-0.13.0}/docs/sustainability.md +0 -0
  263. {hypermind-0.11.0 → hypermind-0.13.0}/examples/01_hello_world.py +0 -0
  264. {hypermind-0.11.0 → hypermind-0.13.0}/examples/02_two_agents_dispute.py +0 -0
  265. {hypermind-0.11.0 → hypermind-0.13.0}/examples/03_consult_panel.py +0 -0
  266. {hypermind-0.11.0 → hypermind-0.13.0}/examples/04_oracle_resolve.py +0 -0
  267. {hypermind-0.11.0 → hypermind-0.13.0}/examples/05_consult_to_synthesis.py +0 -0
  268. {hypermind-0.11.0 → hypermind-0.13.0}/examples/06_hybrid_pq.py +0 -0
  269. {hypermind-0.11.0 → hypermind-0.13.0}/examples/07_frost_threshold.py +0 -0
  270. {hypermind-0.11.0 → hypermind-0.13.0}/examples/08_ramp_and_diagnostics.py +0 -0
  271. {hypermind-0.11.0 → hypermind-0.13.0}/examples/09_audit_export_chain.py +0 -0
  272. {hypermind-0.11.0 → hypermind-0.13.0}/examples/10_autonomous_agent.py +0 -0
  273. {hypermind-0.11.0 → hypermind-0.13.0}/examples/11_swarm_deliberation.py +0 -0
  274. {hypermind-0.11.0 → hypermind-0.13.0}/examples/12_swarm_iq_scorecard.py +0 -0
  275. {hypermind-0.11.0 → hypermind-0.13.0}/examples/13_role_specialisation.py +0 -0
  276. {hypermind-0.11.0 → hypermind-0.13.0}/examples/14_active_learning_loop.py +0 -0
  277. {hypermind-0.11.0 → hypermind-0.13.0}/examples/16_wire_message.py +0 -0
  278. {hypermind-0.11.0 → hypermind-0.13.0}/examples/17_tool_delegation.py +0 -0
  279. {hypermind-0.11.0 → hypermind-0.13.0}/examples/18_custom_responder.py +0 -0
  280. {hypermind-0.11.0 → hypermind-0.13.0}/examples/19_governance.py +0 -0
  281. {hypermind-0.11.0 → hypermind-0.13.0}/examples/20_conformance_check.py +0 -0
  282. {hypermind-0.11.0 → hypermind-0.13.0}/examples/21_revocation.py +0 -0
  283. {hypermind-0.11.0 → hypermind-0.13.0}/examples/22_agent_card.py +0 -0
  284. {hypermind-0.11.0 → hypermind-0.13.0}/examples/23_task_delegation.py +0 -0
  285. {hypermind-0.11.0 → hypermind-0.13.0}/examples/24_mcp_tool_call.py +0 -0
  286. {hypermind-0.11.0 → hypermind-0.13.0}/examples/25_swarm_trace.py +0 -0
  287. {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/01_durable_workflow.py +0 -0
  288. {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/02_contract_net.py +0 -0
  289. {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/03_belief_and_plan.py +0 -0
  290. {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/__init__.py +0 -0
  291. {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/usecases/__init__.py +0 -0
  292. {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/usecases/ai_01_fed_benchmark.py +0 -0
  293. {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/usecases/ai_alignment_redteam.py +0 -0
  294. {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/usecases/cy_05_ir_swarm.py +0 -0
  295. {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/usecases/cy_11_ransomware_intel.py +0 -0
  296. {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/usecases/ed_credentials.py +0 -0
  297. {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/usecases/en_grid_coordinate.py +0 -0
  298. {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/usecases/fi_04_bsa_314b.py +0 -0
  299. {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/usecases/fi_22_ma_dataroom.py +0 -0
  300. {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/usecases/gv_01_intel_sharing.py +0 -0
  301. {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/usecases/gv_21_red_team.py +0 -0
  302. {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/usecases/hc_06_rare_disease.py +0 -0
  303. {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/usecases/hc_21_fed_learning.py +0 -0
  304. {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/usecases/lg_ediscovery.py +0 -0
  305. {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/usecases/mf_supply_chain.py +0 -0
  306. {hypermind-0.11.0 → hypermind-0.13.0}/examples/e2e_many_agents.py +0 -0
  307. {hypermind-0.11.0 → hypermind-0.13.0}/examples/full_e2e_demo.py +0 -0
  308. {hypermind-0.11.0 → hypermind-0.13.0}/examples/lifecycle.py +0 -0
  309. {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_aar.py +0 -0
  310. {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_backtest.py +0 -0
  311. {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_capability_attenuation.py +0 -0
  312. {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_conformance.py +0 -0
  313. {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_crisis_tabletop.py +0 -0
  314. {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_cross_namespace_federation.py +0 -0
  315. {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_decision_tournament.py +0 -0
  316. {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_dispute_lifecycle_async.py +0 -0
  317. {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_evaluation.py +0 -0
  318. {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_geopolitical_crisis.py +0 -0
  319. {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_geopolitical_traced.py +0 -0
  320. {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_governance_committee.py +0 -0
  321. {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_information_pipeline.py +0 -0
  322. {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_learning_loop.py +0 -0
  323. {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_namespace_trust.py +0 -0
  324. {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_persona_panel.py +0 -0
  325. {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_private_namespace.py +0 -0
  326. {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_red_team.py +0 -0
  327. {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_regulated_consortium.py +0 -0
  328. {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_threat_intel.py +0 -0
  329. {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_vouch_chain.py +0 -0
  330. {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_what_if_tree.py +0 -0
  331. {hypermind-0.11.0 → hypermind-0.13.0}/examples/serve_api.py +0 -0
  332. {hypermind-0.11.0 → hypermind-0.13.0}/examples/two_node_tcp.py +0 -0
  333. {hypermind-0.11.0 → hypermind-0.13.0}/formal/README.md +0 -0
  334. {hypermind-0.11.0 → hypermind-0.13.0}/formal/hax-rust/README.md +0 -0
  335. {hypermind-0.11.0 → hypermind-0.13.0}/formal/hax-rust/scope.md +0 -0
  336. {hypermind-0.11.0 → hypermind-0.13.0}/formal/proverif/dispute_fsm.pv +0 -0
  337. {hypermind-0.11.0 → hypermind-0.13.0}/formal/proverif/dispute_liveness.pv +0 -0
  338. {hypermind-0.11.0 → hypermind-0.13.0}/formal/tamarin/capability_chain.spthy +0 -0
  339. {hypermind-0.11.0 → hypermind-0.13.0}/formal/tamarin/dispute_fsm.spthy +0 -0
  340. {hypermind-0.11.0 → hypermind-0.13.0}/formal/tamarin/signed_statement.spthy +0 -0
  341. {hypermind-0.11.0 → hypermind-0.13.0}/formal/tamarin/wire_security.spthy +0 -0
  342. {hypermind-0.11.0 → hypermind-0.13.0}/fuzz/README.md +0 -0
  343. {hypermind-0.11.0 → hypermind-0.13.0}/fuzz/__init__.py +0 -0
  344. {hypermind-0.11.0 → hypermind-0.13.0}/fuzz/fuzz_agent_card.py +0 -0
  345. {hypermind-0.11.0 → hypermind-0.13.0}/fuzz/fuzz_anti_entropy.py +0 -0
  346. {hypermind-0.11.0 → hypermind-0.13.0}/fuzz/fuzz_capability.py +0 -0
  347. {hypermind-0.11.0 → hypermind-0.13.0}/fuzz/fuzz_dispute.py +0 -0
  348. {hypermind-0.11.0 → hypermind-0.13.0}/fuzz/fuzz_inclusion_proof.py +0 -0
  349. {hypermind-0.11.0 → hypermind-0.13.0}/fuzz/fuzz_wire.py +0 -0
  350. {hypermind-0.11.0 → hypermind-0.13.0}/fuzz/seed_corpus.py +0 -0
  351. {hypermind-0.11.0 → hypermind-0.13.0}/harness/__init__.py +0 -0
  352. {hypermind-0.11.0 → hypermind-0.13.0}/harness/__main__.py +0 -0
  353. {hypermind-0.11.0 → hypermind-0.13.0}/harness/assertions.py +0 -0
  354. {hypermind-0.11.0 → hypermind-0.13.0}/harness/fixtures.py +0 -0
  355. {hypermind-0.11.0 → hypermind-0.13.0}/harness/report.py +0 -0
  356. {hypermind-0.11.0 → hypermind-0.13.0}/harness/roles.py +0 -0
  357. {hypermind-0.11.0 → hypermind-0.13.0}/harness/runner.py +0 -0
  358. {hypermind-0.11.0 → hypermind-0.13.0}/harness/scenario.py +0 -0
  359. {hypermind-0.11.0 → hypermind-0.13.0}/harness/scenarios/__init__.py +0 -0
  360. {hypermind-0.11.0 → hypermind-0.13.0}/harness/scenarios/autonomous_evolution.py +0 -0
  361. {hypermind-0.11.0 → hypermind-0.13.0}/harness/scenarios/swarm_iq_benchmark.py +0 -0
  362. {hypermind-0.11.0 → hypermind-0.13.0}/harness/scenarios/threat_intel.py +0 -0
  363. {hypermind-0.11.0 → hypermind-0.13.0}/mkdocs.yml +0 -0
  364. {hypermind-0.11.0 → hypermind-0.13.0}/reference_verifier/__init__.py +0 -0
  365. {hypermind-0.11.0 → hypermind-0.13.0}/reference_verifier/schemas/encrypted_statement.cddl +0 -0
  366. {hypermind-0.11.0 → hypermind-0.13.0}/reference_verifier/schemas/namespace_accept.cddl +0 -0
  367. {hypermind-0.11.0 → hypermind-0.13.0}/reference_verifier/schemas/namespace_create.cddl +0 -0
  368. {hypermind-0.11.0 → hypermind-0.13.0}/reference_verifier/schemas/namespace_founding_attest.cddl +0 -0
  369. {hypermind-0.11.0 → hypermind-0.13.0}/reference_verifier/schemas/namespace_invite.cddl +0 -0
  370. {hypermind-0.11.0 → hypermind-0.13.0}/reference_verifier/schemas/wire-v0.1.cddl +0 -0
  371. {hypermind-0.11.0 → hypermind-0.13.0}/reference_verifier/verifier.py +0 -0
  372. {hypermind-0.11.0 → hypermind-0.13.0}/review/__init__.py +0 -0
  373. {hypermind-0.11.0 → hypermind-0.13.0}/review/__main__.py +0 -0
  374. {hypermind-0.11.0 → hypermind-0.13.0}/review/agents.py +0 -0
  375. {hypermind-0.11.0 → hypermind-0.13.0}/review/models.py +0 -0
  376. {hypermind-0.11.0 → hypermind-0.13.0}/review/runner.py +0 -0
  377. {hypermind-0.11.0 → hypermind-0.13.0}/src/hmctl/__init__.py +0 -0
  378. {hypermind-0.11.0 → hypermind-0.13.0}/src/hmctl/cli.py +0 -0
  379. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/_deprecations.py +0 -0
  380. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/agent.py +0 -0
  381. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/agent_card.py +0 -0
  382. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/api/__init__.py +0 -0
  383. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/api/app.py +0 -0
  384. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/capability.py +0 -0
  385. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/consult.py +0 -0
  386. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/consult_bias.py +0 -0
  387. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/contract_net.py +0 -0
  388. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/__init__.py +0 -0
  389. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/cose_encrypt.py +0 -0
  390. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/dkg.py +0 -0
  391. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/domain.py +0 -0
  392. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/frost.py +0 -0
  393. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/hashing.py +0 -0
  394. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/hlc.py +0 -0
  395. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/hpke.py +0 -0
  396. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/kms.py +0 -0
  397. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/kms_backends/__init__.py +0 -0
  398. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/kms_backends/aws.py +0 -0
  399. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/kms_backends/azure.py +0 -0
  400. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/kms_backends/gcp.py +0 -0
  401. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/kms_backends/vault.py +0 -0
  402. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/namespace_root.py +0 -0
  403. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/pq.py +0 -0
  404. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/room_epoch.py +0 -0
  405. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/signing.py +0 -0
  406. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/deliberation.py +0 -0
  407. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/did_web.py +0 -0
  408. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/dispute.py +0 -0
  409. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/errors.py +0 -0
  410. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/eval/__init__.py +0 -0
  411. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/eval/calibration.py +0 -0
  412. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/eval/comparison.py +0 -0
  413. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/eval/replay.py +0 -0
  414. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/eval/swarm_iq.py +0 -0
  415. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/knowledge/__init__.py +0 -0
  416. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/knowledge/citation_graph.py +0 -0
  417. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/knowledge/correlated_agreement.py +0 -0
  418. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/knowledge/embedding_registry.py +0 -0
  419. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/knowledge/kernel_store.py +0 -0
  420. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/knowledge/rekor.py +0 -0
  421. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/knowledge/reputation.py +0 -0
  422. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/knowledge/swarm_memory.py +0 -0
  423. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/knowledge/transparency.py +0 -0
  424. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mcp/__init__.py +0 -0
  425. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mcp/bridge.py +0 -0
  426. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mcp/client.py +0 -0
  427. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mcp/provenance.py +0 -0
  428. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mcp/relata_tools.py +0 -0
  429. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mcp/server.py +0 -0
  430. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mcp/transport.py +0 -0
  431. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mind/__init__.py +0 -0
  432. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mind/active.py +0 -0
  433. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mind/belief.py +0 -0
  434. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mind/deliberator.py +0 -0
  435. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mind/diversity.py +0 -0
  436. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mind/evolve.py +0 -0
  437. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mind/federation.py +0 -0
  438. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mind/goals.py +0 -0
  439. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mind/integration.py +0 -0
  440. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mind/mediator.py +0 -0
  441. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mind/memory_store.py +0 -0
  442. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mind/policy.py +0 -0
  443. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mind/records.py +0 -0
  444. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mind/roles.py +0 -0
  445. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mind/sybil_guard.py +0 -0
  446. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mind/world_model.py +0 -0
  447. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/namespace.py +0 -0
  448. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/namespace_policy.py +0 -0
  449. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/observability/__init__.py +0 -0
  450. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/observability/asgi.py +0 -0
  451. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/observability/cost.py +0 -0
  452. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/observability/otel_export.py +0 -0
  453. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/observability/recorder.py +0 -0
  454. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/observability/swarm_trace.py +0 -0
  455. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/pin_policy.py +0 -0
  456. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/py.typed +0 -0
  457. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/responders/__init__.py +0 -0
  458. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/responders/anthropic.py +0 -0
  459. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/responders/base.py +0 -0
  460. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/responders/openai.py +0 -0
  461. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/responders/router.py +0 -0
  462. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/responders/structured.py +0 -0
  463. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/responders/tools.py +0 -0
  464. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/revocation.py +0 -0
  465. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/rule_ids.py +0 -0
  466. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/schemas/encrypted_statement.cddl +0 -0
  467. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/schemas/namespace_accept.cddl +0 -0
  468. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/schemas/namespace_create.cddl +0 -0
  469. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/schemas/namespace_founding_attest.cddl +0 -0
  470. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/schemas/namespace_invite.cddl +0 -0
  471. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/schemas/wire-v0.1.cddl +0 -0
  472. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/__init__.py +0 -0
  473. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/_persona_registry.py +0 -0
  474. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/_scenario_impl.py +0 -0
  475. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/app.py +0 -0
  476. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/backends/__init__.py +0 -0
  477. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/backends/anchor.py +0 -0
  478. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/backends/local.py +0 -0
  479. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/backends/server.py +0 -0
  480. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/cli_command.py +0 -0
  481. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/config.py +0 -0
  482. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/deployment.py +0 -0
  483. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/knowledge.py +0 -0
  484. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/learning.py +0 -0
  485. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/modes/__init__.py +0 -0
  486. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/modes/_eval_real_llm.py +0 -0
  487. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/modes/aar.py +0 -0
  488. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/modes/backtest.py +0 -0
  489. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/modes/binary_forecast.py +0 -0
  490. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/modes/conformance.py +0 -0
  491. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/modes/evaluation.py +0 -0
  492. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/modes/governance.py +0 -0
  493. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/modes/redteam.py +0 -0
  494. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/modes/tabletop.py +0 -0
  495. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/modes/tournament.py +0 -0
  496. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/modes/whatif.py +0 -0
  497. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/namespace.py +0 -0
  498. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/personas.py +0 -0
  499. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/prompt_generator.py +0 -0
  500. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/question_sets/geopolitics_q20.json +0 -0
  501. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/question_sets/governance_q5.json +0 -0
  502. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/question_sets/msft_outlook_q10.json +0 -0
  503. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/question_sets/whatif_q3.json +0 -0
  504. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/registry.py +0 -0
  505. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/runner.py +0 -0
  506. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/scenario.py +0 -0
  507. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/swarms.py +0 -0
  508. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_handlers/__init__.py +0 -0
  509. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_handlers/alpha_vantage.py +0 -0
  510. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_handlers/brave.py +0 -0
  511. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_handlers/newsapi.py +0 -0
  512. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_handlers/openweather.py +0 -0
  513. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_handlers/pinecone.py +0 -0
  514. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_handlers/qdrant.py +0 -0
  515. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_handlers/query_knowledge_base.py +0 -0
  516. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_handlers/relata_recall.py +0 -0
  517. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_handlers/retrieve_document.py +0 -0
  518. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_handlers/serper.py +0 -0
  519. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_handlers/tavily.py +0 -0
  520. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_handlers/weaviate.py +0 -0
  521. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_handlers/wikipedia.py +0 -0
  522. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_handlers/wolfram.py +0 -0
  523. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_handlers/yahoo_finance.py +0 -0
  524. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_registry.py +0 -0
  525. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/topic_adapter.py +0 -0
  526. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/topic_questions.py +0 -0
  527. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/storage/__init__.py +0 -0
  528. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/storage/backend.py +0 -0
  529. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/storage/relata.py +0 -0
  530. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/storage/sqlite.py +0 -0
  531. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/sync.py +0 -0
  532. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/tal.py +0 -0
  533. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/tasks.py +0 -0
  534. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/testing.py +0 -0
  535. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/tools/__init__.py +0 -0
  536. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/tools/registry.py +0 -0
  537. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/transport/__init__.py +0 -0
  538. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/transport/anti_entropy.py +0 -0
  539. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/transport/bus.py +0 -0
  540. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/transport/knows_delta.py +0 -0
  541. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/transport/libp2p.py +0 -0
  542. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/transport/placement.py +0 -0
  543. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/transport/tcp.py +0 -0
  544. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/transport/tls_profile.py +0 -0
  545. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/types.py +0 -0
  546. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/uncertainty.py +0 -0
  547. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/wire.py +0 -0
  548. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/workflow/__init__.py +0 -0
  549. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/workflow/engine.py +0 -0
  550. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/workflow/plan.py +0 -0
  551. {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/workflow/repair.py +0 -0
  552. {hypermind-0.11.0 → hypermind-0.13.0}/storage-backend-requirements.md +0 -0
  553. {hypermind-0.11.0 → hypermind-0.13.0}/tests/__init__.py +0 -0
  554. {hypermind-0.11.0 → hypermind-0.13.0}/tests/api/__init__.py +0 -0
  555. {hypermind-0.11.0 → hypermind-0.13.0}/tests/api/test_eval_endpoints.py +0 -0
  556. {hypermind-0.11.0 → hypermind-0.13.0}/tests/api/test_events_stream.py +0 -0
  557. {hypermind-0.11.0 → hypermind-0.13.0}/tests/api/test_management_app.py +0 -0
  558. {hypermind-0.11.0 → hypermind-0.13.0}/tests/chaos/__init__.py +0 -0
  559. {hypermind-0.11.0 → hypermind-0.13.0}/tests/chaos/test_gossip_amplification.py +0 -0
  560. {hypermind-0.11.0 → hypermind-0.13.0}/tests/chaos/test_kill_agent_during_rfp.py +0 -0
  561. {hypermind-0.11.0 → hypermind-0.13.0}/tests/chaos/test_partition_during_workflow.py +0 -0
  562. {hypermind-0.11.0 → hypermind-0.13.0}/tests/chaos/test_slow_consumer_backpressure.py +0 -0
  563. {hypermind-0.11.0 → hypermind-0.13.0}/tests/chaos/test_slow_peer.py +0 -0
  564. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/__init__.py +0 -0
  565. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/generate_vectors.py +0 -0
  566. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/SIGNING.md +0 -0
  567. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/agent-card-01.json +0 -0
  568. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/agent-card-02.json +0 -0
  569. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/capability-01.json +0 -0
  570. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/capability-02.json +0 -0
  571. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/capability-03.json +0 -0
  572. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/dispute-01.json +0 -0
  573. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/dispute-02.json +0 -0
  574. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/dispute-03.json +0 -0
  575. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/dispute-04.json +0 -0
  576. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/dispute-05.json +0 -0
  577. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/frost-01.json +0 -0
  578. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/frost-02.json +0 -0
  579. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/frost-03.json +0 -0
  580. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/knows-delta-01.json +0 -0
  581. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/knows-delta-02.json +0 -0
  582. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/mcp-prov-01.json +0 -0
  583. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/mcp-prov-02.json +0 -0
  584. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/merkle-01.json +0 -0
  585. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/merkle-02.json +0 -0
  586. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/merkle-03.json +0 -0
  587. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/merkle-04.json +0 -0
  588. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/rep-decay-01.json +0 -0
  589. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/task-01.json +0 -0
  590. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/task-02.json +0 -0
  591. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/trace-01.json +0 -0
  592. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/trace-02.json +0 -0
  593. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/wire-envelope-01.json +0 -0
  594. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/wire-envelope-02.json +0 -0
  595. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/wire-envelope-03.json +0 -0
  596. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/wire-envelope-04.json +0 -0
  597. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/wire-envelope-05.json +0 -0
  598. {hypermind-0.11.0 → hypermind-0.13.0}/tests/conftest.py +0 -0
  599. {hypermind-0.11.0 → hypermind-0.13.0}/tests/fake_kms.py +0 -0
  600. {hypermind-0.11.0 → hypermind-0.13.0}/tests/harness/__init__.py +0 -0
  601. {hypermind-0.11.0 → hypermind-0.13.0}/tests/harness/conftest.py +0 -0
  602. {hypermind-0.11.0 → hypermind-0.13.0}/tests/harness/test_assertion_library.py +0 -0
  603. {hypermind-0.11.0 → hypermind-0.13.0}/tests/harness/test_runner_lifecycle.py +0 -0
  604. {hypermind-0.11.0 → hypermind-0.13.0}/tests/harness/test_threat_intel_harness.py +0 -0
  605. {hypermind-0.11.0 → hypermind-0.13.0}/tests/integration/__init__.py +0 -0
  606. {hypermind-0.11.0 → hypermind-0.13.0}/tests/integration/test_kms_aws.py +0 -0
  607. {hypermind-0.11.0 → hypermind-0.13.0}/tests/integration/test_kms_azure.py +0 -0
  608. {hypermind-0.11.0 → hypermind-0.13.0}/tests/integration/test_kms_gcp.py +0 -0
  609. {hypermind-0.11.0 → hypermind-0.13.0}/tests/integration/test_kms_vault.py +0 -0
  610. {hypermind-0.11.0 → hypermind-0.13.0}/tests/integration/test_relata_server.py +0 -0
  611. {hypermind-0.11.0 → hypermind-0.13.0}/tests/responders/__init__.py +0 -0
  612. {hypermind-0.11.0 → hypermind-0.13.0}/tests/responders/test_responders.py +0 -0
  613. {hypermind-0.11.0 → hypermind-0.13.0}/tests/responders/test_router.py +0 -0
  614. {hypermind-0.11.0 → hypermind-0.13.0}/tests/responders/test_structured_response.py +0 -0
  615. {hypermind-0.11.0 → hypermind-0.13.0}/tests/responders/test_tools.py +0 -0
  616. {hypermind-0.11.0 → hypermind-0.13.0}/tests/review/__init__.py +0 -0
  617. {hypermind-0.11.0 → hypermind-0.13.0}/tests/review/test_agents_parser.py +0 -0
  618. {hypermind-0.11.0 → hypermind-0.13.0}/tests/review/test_models.py +0 -0
  619. {hypermind-0.11.0 → hypermind-0.13.0}/tests/review/test_runner.py +0 -0
  620. {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/__init__.py +0 -0
  621. {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/conftest.py +0 -0
  622. {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_app_endpoints.py +0 -0
  623. {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_knowledge.py +0 -0
  624. {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_knowledge_reuse.py +0 -0
  625. {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_modes_aar.py +0 -0
  626. {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_modes_backtest.py +0 -0
  627. {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_modes_conformance.py +0 -0
  628. {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_modes_evaluation.py +0 -0
  629. {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_modes_governance.py +0 -0
  630. {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_modes_redteam.py +0 -0
  631. {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_modes_tabletop.py +0 -0
  632. {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_modes_tournament.py +0 -0
  633. {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_modes_whatif.py +0 -0
  634. {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_personas.py +0 -0
  635. {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_personas_endpoints.py +0 -0
  636. {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_recorder_scoping.py +0 -0
  637. {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_registry.py +0 -0
  638. {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_resolve_outcomes.py +0 -0
  639. {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_responder_timeout.py +0 -0
  640. {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_runner.py +0 -0
  641. {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_swarms.py +0 -0
  642. {hypermind-0.11.0 → hypermind-0.13.0}/tests/storage/__init__.py +0 -0
  643. {hypermind-0.11.0 → hypermind-0.13.0}/tests/storage/test_relata_backend.py +0 -0
  644. {hypermind-0.11.0 → hypermind-0.13.0}/tests/storage/test_sqlite_backend.py +0 -0
  645. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_active_multi_step.py +0 -0
  646. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_agent_card.py +0 -0
  647. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_agent_e2e.py +0 -0
  648. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_agent_edge.py +0 -0
  649. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_anti_entropy.py +0 -0
  650. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_anti_entropy_multiround.py +0 -0
  651. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_anti_entropy_selfheal.py +0 -0
  652. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_appendix_z_conformance.py +0 -0
  653. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_appendix_z_vectors.py +0 -0
  654. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_arg_dag_edge_types.py +0 -0
  655. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_backpressure.py +0 -0
  656. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_belief_revision.py +0 -0
  657. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_bias_detector.py +0 -0
  658. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_block_reason.py +0 -0
  659. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_calibration.py +0 -0
  660. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_capability.py +0 -0
  661. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_capability_canonical.py +0 -0
  662. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_capability_chain.py +0 -0
  663. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_capability_edge.py +0 -0
  664. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_capability_enforcement.py +0 -0
  665. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_capability_namespace_caveat.py +0 -0
  666. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_capability_revocation.py +0 -0
  667. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_citation_graph.py +0 -0
  668. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_cli.py +0 -0
  669. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_cli_interop.py +0 -0
  670. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_composite_lamps_prefix.py +0 -0
  671. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_consult.py +0 -0
  672. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_consult_stream.py +0 -0
  673. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_consult_stream_t4.py +0 -0
  674. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_contract_net_disputed_award.py +0 -0
  675. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_contract_net_frost_award.py +0 -0
  676. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_contract_net_happy.py +0 -0
  677. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_contract_net_reputation_scoring.py +0 -0
  678. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_contract_net_sybil_filter.py +0 -0
  679. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_correlated_agreement.py +0 -0
  680. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_cose_encrypt_roundtrip.py +0 -0
  681. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_cost_tracker.py +0 -0
  682. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_cross_namespace_consult.py +0 -0
  683. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_crypto.py +0 -0
  684. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_deliberation.py +0 -0
  685. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_deliberator_cap.py +0 -0
  686. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_deliberator_observe.py +0 -0
  687. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_deprecation_registry.py +0 -0
  688. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_determinism_corpus.py +0 -0
  689. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_dispute.py +0 -0
  690. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_dispute_fsm_full.py +0 -0
  691. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_dispute_mediate.py +0 -0
  692. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_dispute_quorum.py +0 -0
  693. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_dissent.py +0 -0
  694. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_diversity_quorum.py +0 -0
  695. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_dkg.py +0 -0
  696. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_embedding_registry.py +0 -0
  697. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_eval_comparison.py +0 -0
  698. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_examples_runnable.py +0 -0
  699. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_final_coverage.py +0 -0
  700. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_frost.py +0 -0
  701. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_frost_edge.py +0 -0
  702. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_frost_hedged_nonces.py +0 -0
  703. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_frost_persistence.py +0 -0
  704. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_frost_transcript_store_swap.py +0 -0
  705. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_hlc_clock_source.py +0 -0
  706. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_hpke_vectors.py +0 -0
  707. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_info_gain_routing.py +0 -0
  708. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_kernel_store.py +0 -0
  709. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_kms_backends.py +0 -0
  710. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_kms_fake.py +0 -0
  711. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_knows_delta.py +0 -0
  712. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_lamps_oid_canonical.py +0 -0
  713. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_last_lines.py +0 -0
  714. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_libp2p_peer_id.py +0 -0
  715. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_libp2p_scaffold.py +0 -0
  716. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_libp2p_stub.py +0 -0
  717. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_mcp_bridge.py +0 -0
  718. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_mcp_provenance.py +0 -0
  719. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_mcp_tools_list.py +0 -0
  720. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_mcp_transport.py +0 -0
  721. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_merkle_transparency.py +0 -0
  722. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_mind_active.py +0 -0
  723. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_mind_deliberator.py +0 -0
  724. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_mind_diversity_sybil_mediator.py +0 -0
  725. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_mind_evolve.py +0 -0
  726. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_mind_goals_policy.py +0 -0
  727. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_mind_records.py +0 -0
  728. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_mind_roles.py +0 -0
  729. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_mind_world_model.py +0 -0
  730. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_misc_edge.py +0 -0
  731. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_mtls_profile.py +0 -0
  732. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_namespace_lifecycle.py +0 -0
  733. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_namespace_policy.py +0 -0
  734. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_namespace_policy_acl.py +0 -0
  735. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_observability_asgi.py +0 -0
  736. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_observability_otel.py +0 -0
  737. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_open_factory.py +0 -0
  738. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_oracle_backprop.py +0 -0
  739. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_otel_export.py +0 -0
  740. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_pin_policy.py +0 -0
  741. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_placement_consistent_hash.py +0 -0
  742. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_placement_hint.py +0 -0
  743. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_plan_dag.py +0 -0
  744. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_plan_repair.py +0 -0
  745. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_portable_inclusion_proof.py +0 -0
  746. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_pq_default.py +0 -0
  747. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_pq_dual_vendor.py +0 -0
  748. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_pq_signing.py +0 -0
  749. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_priv_ns_conformance_coverage.py +0 -0
  750. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_property_based.py +0 -0
  751. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_protocol_version.py +0 -0
  752. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_public_surface_v05.py +0 -0
  753. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_pursue_workflow.py +0 -0
  754. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_rate_caveat.py +0 -0
  755. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_recorder_bounded.py +0 -0
  756. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_recorder_tail.py +0 -0
  757. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_reference_verifier_v2.py +0 -0
  758. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_rekor_client.py +0 -0
  759. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_rekor_downgrade.py +0 -0
  760. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_relata_memory_store.py +0 -0
  761. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_relata_tools.py +0 -0
  762. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_remaining_gaps.py +0 -0
  763. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_replay.py +0 -0
  764. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_reputation.py +0 -0
  765. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_reputation_memory.py +0 -0
  766. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_reputation_staleness.py +0 -0
  767. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_review_fixes.py +0 -0
  768. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_revocation.py +0 -0
  769. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_revocation_lifecycle.py +0 -0
  770. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_room_epoch.py +0 -0
  771. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_schema_hash_pinned.py +0 -0
  772. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_secret_redaction.py +0 -0
  773. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_self_heal_cycle1.py +0 -0
  774. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_self_heal_cycle2.py +0 -0
  775. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_self_heal_cycle3.py +0 -0
  776. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_self_heal_cycle3_cascade_isolate.py +0 -0
  777. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_self_heal_cycle3_governance.py +0 -0
  778. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_self_heal_cycle4.py +0 -0
  779. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_self_heal_cycle4_deliberator_broadcast.py +0 -0
  780. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_self_heal_cycle5.py +0 -0
  781. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_signer_protocol.py +0 -0
  782. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_sth_cross_gossip.py +0 -0
  783. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_swarm_iq.py +0 -0
  784. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_swarm_iq_at_scale.py +0 -0
  785. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_swarm_iq_recommend.py +0 -0
  786. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_swarm_memory.py +0 -0
  787. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_swarm_memory_federation.py +0 -0
  788. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_swarm_trace.py +0 -0
  789. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_swarm_vector_overflow.py +0 -0
  790. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_sync_agent.py +0 -0
  791. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_tal.py +0 -0
  792. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_task_handle.py +0 -0
  793. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_task_handle_network.py +0 -0
  794. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_tcp_duplicate_kid_attack.py +0 -0
  795. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_tcp_edge.py +0 -0
  796. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_tcp_final.py +0 -0
  797. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_tcp_read_loop_cleanup.py +0 -0
  798. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_tcp_transport.py +0 -0
  799. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_theory_of_mind.py +0 -0
  800. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_transport.py +0 -0
  801. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_two_impl_interop.py +0 -0
  802. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_uncertainty.py +0 -0
  803. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_uncertainty_edge.py +0 -0
  804. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_wire.py +0 -0
  805. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_wire_edge_cases.py +0 -0
  806. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_wire_kid_stability.py +0 -0
  807. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_wire_p3.py +0 -0
  808. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_wire_v2.py +0 -0
  809. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_wire_version.py +0 -0
  810. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_witness_preimage_length_prefix.py +0 -0
  811. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_workflow_compensation.py +0 -0
  812. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_workflow_engine.py +0 -0
  813. {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_workflow_replay.py +0 -0
  814. {hypermind-0.11.0 → hypermind-0.13.0}/tests/usecases/__init__.py +0 -0
  815. {hypermind-0.11.0 → hypermind-0.13.0}/tests/usecases/conftest.py +0 -0
  816. {hypermind-0.11.0 → hypermind-0.13.0}/tests/usecases/test_ai_01_fed_benchmark.py +0 -0
  817. {hypermind-0.11.0 → hypermind-0.13.0}/tests/usecases/test_ai_alignment_redteam.py +0 -0
  818. {hypermind-0.11.0 → hypermind-0.13.0}/tests/usecases/test_cy_05_ir_swarm.py +0 -0
  819. {hypermind-0.11.0 → hypermind-0.13.0}/tests/usecases/test_cy_11_ransomware_intel.py +0 -0
  820. {hypermind-0.11.0 → hypermind-0.13.0}/tests/usecases/test_ed_credentials.py +0 -0
  821. {hypermind-0.11.0 → hypermind-0.13.0}/tests/usecases/test_en_grid_coordinate.py +0 -0
  822. {hypermind-0.11.0 → hypermind-0.13.0}/tests/usecases/test_fi_04_bsa_314b.py +0 -0
  823. {hypermind-0.11.0 → hypermind-0.13.0}/tests/usecases/test_fi_22_ma_dataroom.py +0 -0
  824. {hypermind-0.11.0 → hypermind-0.13.0}/tests/usecases/test_gv_01_intel_sharing.py +0 -0
  825. {hypermind-0.11.0 → hypermind-0.13.0}/tests/usecases/test_gv_21_red_team.py +0 -0
  826. {hypermind-0.11.0 → hypermind-0.13.0}/tests/usecases/test_hc_06_rare_disease.py +0 -0
  827. {hypermind-0.11.0 → hypermind-0.13.0}/tests/usecases/test_hc_21_fed_learning.py +0 -0
  828. {hypermind-0.11.0 → hypermind-0.13.0}/tests/usecases/test_lg_ediscovery.py +0 -0
  829. {hypermind-0.11.0 → hypermind-0.13.0}/tests/usecases/test_mf_supply_chain.py +0 -0
  830. {hypermind-0.11.0 → hypermind-0.13.0}/transport-rust/Cargo.toml +0 -0
  831. {hypermind-0.11.0 → hypermind-0.13.0}/transport-rust/README.md +0 -0
  832. {hypermind-0.11.0 → hypermind-0.13.0}/transport-rust/pyproject.toml +0 -0
  833. {hypermind-0.11.0 → hypermind-0.13.0}/transport-rust/src/lib.rs +0 -0
  834. {hypermind-0.11.0 → hypermind-0.13.0}/webui/index.html +0 -0
  835. {hypermind-0.11.0 → hypermind-0.13.0}/webui/package-lock.json +0 -0
  836. {hypermind-0.11.0 → hypermind-0.13.0}/webui/package.json +0 -0
  837. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/App.vue +0 -0
  838. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/api/client.ts +0 -0
  839. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/ActivityCanvas.vue +0 -0
  840. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/AgentContribution.vue +0 -0
  841. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/BrierHeatmap.vue +0 -0
  842. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/CIQTrajectory.vue +0 -0
  843. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/CitationGraph.vue +0 -0
  844. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/DisputeTimeline.vue +0 -0
  845. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/DissentList.vue +0 -0
  846. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/Logo.vue +0 -0
  847. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/NowAsking.vue +0 -0
  848. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/PersonaRadar.vue +0 -0
  849. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/PopulationGenerator.vue +0 -0
  850. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/Term.vue +0 -0
  851. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/forms/SchemaForm.vue +0 -0
  852. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/result/AARTimeline.vue +0 -0
  853. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/result/BacktestScorecard.vue +0 -0
  854. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/result/ConformanceReport.vue +0 -0
  855. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/result/CrisisTabletop.vue +0 -0
  856. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/result/DecisionBracket.vue +0 -0
  857. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/result/EvaluationReport.vue +0 -0
  858. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/result/GovernanceReceipt.vue +0 -0
  859. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/result/MethodNote.vue +0 -0
  860. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/result/RedTeamReport.vue +0 -0
  861. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/result/ScenarioTree.vue +0 -0
  862. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/docs/index.ts +0 -0
  863. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/docs/render.ts +0 -0
  864. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/main.ts +0 -0
  865. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/router.ts +0 -0
  866. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/stores/sims.ts +0 -0
  867. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/styles.css +0 -0
  868. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/types/trace.ts +0 -0
  869. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/views/Agents.vue +0 -0
  870. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/views/Docs.vue +0 -0
  871. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/views/Evidence.vue +0 -0
  872. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/views/Home.vue +0 -0
  873. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/views/HowItWorks.vue +0 -0
  874. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/views/Knowledge.vue +0 -0
  875. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/views/Namespaces.vue +0 -0
  876. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/views/Report.vue +0 -0
  877. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/views/Security.vue +0 -0
  878. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/views/SimCompare.vue +0 -0
  879. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/views/SimDetail.vue +0 -0
  880. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/views/SimList.vue +0 -0
  881. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/views/SimLive.vue +0 -0
  882. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/views/SimNew.vue +0 -0
  883. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/views/Tools.vue +0 -0
  884. {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/views/UseCases.vue +0 -0
  885. {hypermind-0.11.0 → hypermind-0.13.0}/webui/tsconfig.json +0 -0
  886. {hypermind-0.11.0 → hypermind-0.13.0}/webui/vite.config.ts +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hypermind
3
- Version: 0.11.0
3
+ Version: 0.13.0
4
4
  Summary: Federated agent intelligence — reference SDK for the HyperMind SCITT contested-claims profile
5
5
  Project-URL: Homepage, https://github.com/ZySec-AI/hypermind
6
6
  Project-URL: Documentation, https://github.com/ZySec-AI/hypermind/tree/main/docs
@@ -213,9 +213,33 @@ This is how humans work. We talk, we cite, we disagree, we build reputations, we
213
213
 
214
214
  ---
215
215
 
216
- ## SimLab modes (the demo)
216
+ ## Simulate any network — `hypermind.orgs` (the engine)
217
217
 
218
- `hmctl simlab` ships 8 deliberation modes that exercise different protocol primitives:
218
+ The SDK ships a **living-simulation engine**: spin up a network of LLM-backed agents with roles, per-agent models, and group-scoped native tools, then run a `research → publish → cite → dispute → resolve → learn → evolve` loop persisted to Relata. One general engine expresses many scenarios — a university researching a hard problem, a city at war, a foreign-policy cabinet, an internet crowd reacting to a what-if — via pluggable **interaction strategies** (`cooperative` / `adversarial` / `crowd`) and an override hook for custom phases.
219
+
220
+ ```python
221
+ from hypermind.orgs import OrgSim
222
+ from hypermind.orgs.templates import university # or: city_at_war, un_security_council, ...
223
+
224
+ model = university(members=24) # generic OrgModel, scaled to 24 people
225
+ report = await OrgSim(model, relata_url="http://localhost:9090",
226
+ llm="anthropic", llm_client=client).simulate(
227
+ topic="What limits ab-initio protein folding?", rounds=6)
228
+ report.print() # reputation ranking · citation graph · dispute ledger · calibration
229
+ ```
230
+
231
+ - **Generic core, template library.** `OrgModel` / `Unit` / `Seat` are org-agnostic; `hypermind.orgs.templates` ships ready presets (`university`, `hospital`, `city_at_war`, `foreign_policy_cabinet`, `un_security_council`, `internet_crowd`, `research_lab`) — pure convenience data the core never imports. Roll your own network from the primitives.
232
+ - **Per-agent models.** Any seat can pin its own provider/model (`Seat("Professor", llm="anthropic", model="claude-opus-4-8")`), or hand `OrgSim` a router for random / cost-aware assignment.
233
+ - **Native tools, group-scoped.** Tools (web search, retrieval, KB query, Relata research) are granted per unit/seat and enforced — an ungranted tool is *absent* from that agent's toolset. Grants can be declarative or randomised; register your own with `hypermind.orgs.register_tool(...)`.
234
+ - **Relata end-to-end.** Organisation → tenant; member → private memory session (agent kid); claims / disputes / reputation → tenant-scoped ledger rows; chain of custody → the Merkle log. Restart replays the whole org.
235
+
236
+ Worked example: [`examples/org_university.py`](examples/org_university.py). Discover all presets via `hypermind.orgs.templates.list_templates()`.
237
+
238
+ ---
239
+
240
+ ## SimLab modes (the demo UI)
241
+
242
+ **SimLab is a demo app**, not the core — a Vue web UI (bundled under `hypermind.simlab`) that visualises the same SDK primitives the `hypermind.orgs` engine drives programmatically. Use `hypermind.orgs` to build simulations; use SimLab to *watch* one. `hmctl simlab` ships 8 deliberation modes that exercise different protocol primitives:
219
243
 
220
244
  | Mode | One-liner |
221
245
  |---|---|
@@ -125,9 +125,33 @@ This is how humans work. We talk, we cite, we disagree, we build reputations, we
125
125
 
126
126
  ---
127
127
 
128
- ## SimLab modes (the demo)
128
+ ## Simulate any network — `hypermind.orgs` (the engine)
129
129
 
130
- `hmctl simlab` ships 8 deliberation modes that exercise different protocol primitives:
130
+ The SDK ships a **living-simulation engine**: spin up a network of LLM-backed agents with roles, per-agent models, and group-scoped native tools, then run a `research → publish → cite → dispute → resolve → learn → evolve` loop persisted to Relata. One general engine expresses many scenarios — a university researching a hard problem, a city at war, a foreign-policy cabinet, an internet crowd reacting to a what-if — via pluggable **interaction strategies** (`cooperative` / `adversarial` / `crowd`) and an override hook for custom phases.
131
+
132
+ ```python
133
+ from hypermind.orgs import OrgSim
134
+ from hypermind.orgs.templates import university # or: city_at_war, un_security_council, ...
135
+
136
+ model = university(members=24) # generic OrgModel, scaled to 24 people
137
+ report = await OrgSim(model, relata_url="http://localhost:9090",
138
+ llm="anthropic", llm_client=client).simulate(
139
+ topic="What limits ab-initio protein folding?", rounds=6)
140
+ report.print() # reputation ranking · citation graph · dispute ledger · calibration
141
+ ```
142
+
143
+ - **Generic core, template library.** `OrgModel` / `Unit` / `Seat` are org-agnostic; `hypermind.orgs.templates` ships ready presets (`university`, `hospital`, `city_at_war`, `foreign_policy_cabinet`, `un_security_council`, `internet_crowd`, `research_lab`) — pure convenience data the core never imports. Roll your own network from the primitives.
144
+ - **Per-agent models.** Any seat can pin its own provider/model (`Seat("Professor", llm="anthropic", model="claude-opus-4-8")`), or hand `OrgSim` a router for random / cost-aware assignment.
145
+ - **Native tools, group-scoped.** Tools (web search, retrieval, KB query, Relata research) are granted per unit/seat and enforced — an ungranted tool is *absent* from that agent's toolset. Grants can be declarative or randomised; register your own with `hypermind.orgs.register_tool(...)`.
146
+ - **Relata end-to-end.** Organisation → tenant; member → private memory session (agent kid); claims / disputes / reputation → tenant-scoped ledger rows; chain of custody → the Merkle log. Restart replays the whole org.
147
+
148
+ Worked example: [`examples/org_university.py`](examples/org_university.py). Discover all presets via `hypermind.orgs.templates.list_templates()`.
149
+
150
+ ---
151
+
152
+ ## SimLab modes (the demo UI)
153
+
154
+ **SimLab is a demo app**, not the core — a Vue web UI (bundled under `hypermind.simlab`) that visualises the same SDK primitives the `hypermind.orgs` engine drives programmatically. Use `hypermind.orgs` to build simulations; use SimLab to *watch* one. `hmctl simlab` ships 8 deliberation modes that exercise different protocol primitives:
131
155
 
132
156
  | Mode | One-liner |
133
157
  |---|---|
@@ -82,6 +82,12 @@ Read in order. Each builds on the previous one's mental model.
82
82
 
83
83
  Pick one that matches your domain.
84
84
 
85
+ ### Living-simulation engine (`hypermind.orgs`)
86
+
87
+ | File | Domain | What it shows |
88
+ |---|---|---|
89
+ | [`org_university.py`](org_university.py) | Any network | Spin up a templated org (university / city / UNO / crowd), run research → cite → dispute → resolve → evolve, print a reputation + citation report. Per-agent models + group-scoped tools, persisted to Relata. |
90
+
85
91
  ### Pilot-shaped demonstrations
86
92
 
87
93
  | File | Domain | What it shows |
@@ -0,0 +1,66 @@
1
+ """THE STORY — a university researches a hard problem, and standing emerges.
2
+
3
+ This is the ``hypermind.orgs`` living-simulation engine in ~15 lines: pick a
4
+ preconfigured template, point it at a Relata instance and an LLM, and run. Over
5
+ several rounds the departments publish findings, cite the strongest peers,
6
+ peer-review (dispute) weak claims, and the professors ground results — so
7
+ reputation, a citation graph, and a dispute ledger all emerge from agent
8
+ behaviour rather than being scripted.
9
+
10
+ Swap ``university`` for ``city_at_war``, ``foreign_policy_cabinet``,
11
+ ``un_security_council`` or ``internet_crowd`` to run a completely different
12
+ scenario on the same engine — the only thing that changes is the org template
13
+ and its interaction mode.
14
+
15
+ PREREQUISITES
16
+ * A running Relata instance: docker compose -f deploy/docker-compose.yml up -d relata
17
+ * export RELATA_URL=http://localhost:9090 RELATA_TOKEN=...
18
+ * export ANTHROPIC_API_KEY=... (or use llm="openai" + OPENAI_API_KEY)
19
+
20
+ Run with: python -m examples.org_university
21
+ """
22
+
23
+ from __future__ import annotations
24
+
25
+ import asyncio
26
+ import os
27
+
28
+
29
+ async def main() -> None:
30
+ from hypermind.orgs import OrgSim
31
+ from hypermind.orgs.templates import university
32
+
33
+ relata_url = os.environ.get("RELATA_URL")
34
+ if not relata_url:
35
+ raise SystemExit(
36
+ "Set RELATA_URL (and RELATA_TOKEN) to a running Relata instance. "
37
+ "See deploy/docker-compose.yml."
38
+ )
39
+
40
+ # Build an Anthropic client for the members to think with.
41
+ import anthropic
42
+
43
+ client = anthropic.AsyncAnthropic() # reads ANTHROPIC_API_KEY
44
+
45
+ model = university(members=24) # 2 departments, scaled to 24 people
46
+ sim = OrgSim(
47
+ model,
48
+ relata_url=relata_url,
49
+ relata_token=os.environ.get("RELATA_TOKEN"),
50
+ llm="anthropic",
51
+ llm_client=client,
52
+ )
53
+
54
+ report = await sim.simulate(
55
+ topic="What limits the accuracy of ab-initio protein folding?",
56
+ rounds=6,
57
+ )
58
+
59
+ report.print()
60
+ print("\nMost-cited papers:")
61
+ for c in report.most_cited(3):
62
+ print(f" {c['citations_received']} cites {c['by']} ({c['unit']})")
63
+
64
+
65
+ if __name__ == "__main__":
66
+ asyncio.run(main())
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "hypermind"
7
- version = "0.11.0"
7
+ version = "0.13.0"
8
8
  description = "Federated agent intelligence — reference SDK for the HyperMind SCITT contested-claims profile"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11,<3.14"
@@ -73,7 +73,7 @@ open = HyperMindAgent.open
73
73
  #: is held until the §External & human gates clear (IETF I-D, IANA,
74
74
  #: third-party audit, OpenSSF acceptance, ≥3 pilots) — at that point we
75
75
  #: cut ``1.0.0`` GA. See ROADMAP.md §Status snapshot.
76
- __version__ = "0.11.0"
76
+ __version__ = "0.13.0"
77
77
 
78
78
  #: SLSA build-provenance level committed for every release artefact.
79
79
  #: Cosign keyless signing + slsa-github-generator + PEP 740 attestations
@@ -0,0 +1,85 @@
1
+ """hypermind.orgs — an agentic living-simulation engine.
2
+
3
+ Spin up a network of LLM-backed agents with roles, per-agent models, and
4
+ group-scoped native tools, then run a research → publish → cite → dispute →
5
+ resolve → learn → evolve loop persisted to Relata. One general engine expresses
6
+ many scenarios (research, war, foreign policy, internet crowd) via pluggable
7
+ interaction strategies.
8
+
9
+ Quick start (preconfigured template)::
10
+
11
+ from hypermind.orgs.templates import university
12
+ from hypermind.orgs import OrgSim
13
+
14
+ model = university(members=24)
15
+ report = await OrgSim(model, relata_url="http://localhost:9090",
16
+ llm="anthropic", llm_client=client).simulate(
17
+ topic="protein folding", rounds=8)
18
+ report.print()
19
+
20
+ The generic core (`OrgModel`/`Unit`/`Seat`) never imports the template library,
21
+ so custom networks are first-class — see `hypermind.orgs.templates` for
22
+ worked examples of the mapping.
23
+ """
24
+
25
+ from __future__ import annotations
26
+
27
+ from hypermind.orgs.groundtruth import (
28
+ CallableGroundTruth,
29
+ GroundTruth,
30
+ LLMJudgeGroundTruth,
31
+ StaticGroundTruth,
32
+ )
33
+ from hypermind.orgs.interaction import (
34
+ Adversarial,
35
+ Cooperative,
36
+ Crowd,
37
+ Interaction,
38
+ get_interaction,
39
+ )
40
+ from hypermind.orgs.metrics import ScoreCard, compute_scorecard
41
+ from hypermind.orgs.model import (
42
+ DynamicsConfig,
43
+ OrgModel,
44
+ Seat,
45
+ Slot,
46
+ Unit,
47
+ )
48
+ from hypermind.orgs.report import MemberStanding, OrgReport
49
+ from hypermind.orgs.sim import OrgSim
50
+ from hypermind.orgs.tools import (
51
+ build_tool,
52
+ declarative_grants,
53
+ list_tools,
54
+ random_grants,
55
+ register_tool,
56
+ unregister_tool,
57
+ )
58
+
59
+ __all__ = [
60
+ "Adversarial",
61
+ "CallableGroundTruth",
62
+ "Cooperative",
63
+ "Crowd",
64
+ "DynamicsConfig",
65
+ "GroundTruth",
66
+ "Interaction",
67
+ "LLMJudgeGroundTruth",
68
+ "MemberStanding",
69
+ "OrgModel",
70
+ "OrgReport",
71
+ "OrgSim",
72
+ "ScoreCard",
73
+ "Seat",
74
+ "Slot",
75
+ "StaticGroundTruth",
76
+ "Unit",
77
+ "build_tool",
78
+ "compute_scorecard",
79
+ "declarative_grants",
80
+ "get_interaction",
81
+ "list_tools",
82
+ "random_grants",
83
+ "register_tool",
84
+ "unregister_tool",
85
+ ]
@@ -0,0 +1,126 @@
1
+ """Pluggable ground-truth oracles (#157).
2
+
3
+ Reputation should reflect **real accuracy**, not a `confidence >= 0.5`
4
+ heuristic. A ``GroundTruth`` resolves a published claim to a boolean outcome
5
+ (or ``None`` = unknown → fall back to the interaction default). Feeding real
6
+ outcomes into `oracle_resolve` makes reputation and the scorecard's Brier
7
+ score meaningful, and enables backtesting ("did the crowd actually predict
8
+ right?").
9
+
10
+ Built-ins:
11
+ * ``StaticGroundTruth`` — known outcomes keyed by member label or topic.
12
+ * ``CallableGroundTruth`` — wrap any sync/async ``(topic, claim) -> bool|None``.
13
+ * ``LLMJudgeGroundTruth`` — an independent LLM judges each claim vs a rubric.
14
+
15
+ All are injectable; the LLM judge takes a client (fake in tests).
16
+ """
17
+
18
+ from __future__ import annotations
19
+
20
+ import inspect
21
+ import json
22
+ from collections.abc import Awaitable, Callable
23
+ from typing import Any, Protocol, runtime_checkable
24
+
25
+
26
+ @runtime_checkable
27
+ class GroundTruth(Protocol):
28
+ async def resolve(self, topic: str, claim: dict[str, Any]) -> bool | None:
29
+ """Return True/False for a resolved claim, or None if unknown."""
30
+ ...
31
+
32
+
33
+ class StaticGroundTruth:
34
+ """Fixed answers keyed by member label first, then topic.
35
+
36
+ ``answers`` maps a claim's ``by`` label (or the topic string) to a bool.
37
+ """
38
+
39
+ def __init__(self, answers: dict[str, bool]) -> None:
40
+ self._answers = dict(answers)
41
+
42
+ async def resolve(self, topic: str, claim: dict[str, Any]) -> bool | None:
43
+ by = claim.get("by")
44
+ if by in self._answers:
45
+ return self._answers[by]
46
+ return self._answers.get(topic)
47
+
48
+
49
+ class CallableGroundTruth:
50
+ """Wrap any ``(topic, claim) -> bool | None`` (sync or async)."""
51
+
52
+ def __init__(
53
+ self,
54
+ fn: Callable[[str, dict[str, Any]], bool | None | Awaitable[bool | None]],
55
+ ) -> None:
56
+ self._fn = fn
57
+
58
+ async def resolve(self, topic: str, claim: dict[str, Any]) -> bool | None:
59
+ out = self._fn(topic, claim)
60
+ if inspect.isawaitable(out):
61
+ return await out
62
+ return out
63
+
64
+
65
+ _JUDGE_SYSTEM = (
66
+ "You are an impartial evaluator. Given a question and a claim, decide "
67
+ "whether the claim is correct. Respond with a JSON object "
68
+ '{"correct": true|false} and nothing else.'
69
+ )
70
+
71
+
72
+ class LLMJudgeGroundTruth:
73
+ """An independent LLM scores each claim against an optional rubric.
74
+
75
+ ``client`` is an OpenAI-compatible async client; injectable so tests pass a
76
+ fake. Returns None on any parse/transport failure (→ interaction default).
77
+ """
78
+
79
+ def __init__(
80
+ self,
81
+ *,
82
+ client: Any,
83
+ model: str = "gpt-4o-mini",
84
+ rubric: str = "",
85
+ timeout_s: float = 30.0,
86
+ ) -> None:
87
+ self._client = client
88
+ self._model = model
89
+ self._rubric = rubric
90
+ self._timeout = timeout_s
91
+
92
+ async def resolve(self, topic: str, claim: dict[str, Any]) -> bool | None:
93
+ finding = claim.get("finding") or f"(confidence {claim.get('confidence')})"
94
+ rubric = f"\nRubric: {self._rubric}" if self._rubric else ""
95
+ user = (
96
+ f"Question: {topic}\nClaim: {finding}{rubric}\n"
97
+ 'Is the claim correct? Reply as {"correct": true|false}.'
98
+ )
99
+ try:
100
+ resp = await self._client.chat.completions.create(
101
+ model=self._model,
102
+ messages=[
103
+ {"role": "system", "content": _JUDGE_SYSTEM},
104
+ {"role": "user", "content": user},
105
+ ],
106
+ response_format={"type": "json_object"},
107
+ timeout=self._timeout,
108
+ )
109
+ content = resp.choices[0].message.content or "{}"
110
+ verdict = json.loads(content).get("correct")
111
+ return bool(verdict) if verdict is not None else None
112
+ except Exception:
113
+ return None
114
+
115
+
116
+ def as_ground_truth(
117
+ obj: GroundTruth | Callable[[str, dict[str, Any]], Any] | None,
118
+ ) -> GroundTruth | None:
119
+ """Normalise a GroundTruth, a plain callable, or None into a GroundTruth."""
120
+ if obj is None:
121
+ return None
122
+ if isinstance(obj, GroundTruth):
123
+ return obj
124
+ if callable(obj):
125
+ return CallableGroundTruth(obj)
126
+ raise TypeError(f"ground_truth must be a GroundTruth or callable, got {type(obj).__name__}")
@@ -0,0 +1,177 @@
1
+ """Interaction strategies — how members treat each other's claims each round.
2
+
3
+ The engine (:mod:`hypermind.orgs.sim`) runs one general
4
+ research → publish → cite → dispute → resolve loop. *How* each phase behaves is
5
+ delegated to an :class:`Interaction` strategy, so the same loop expresses very
6
+ different scenarios:
7
+
8
+ * ``cooperative`` — cite freely across the org, dispute only on wide
9
+ contradiction (a university researching problem X).
10
+ * ``adversarial`` — cite within your own unit, dispute rival units hard (a city
11
+ at war, rival factions, contested foreign policy).
12
+ * ``crowd`` — many low-authority voices, synthesists aggregate, disputes are
13
+ rare (a what-if over an internet crowd).
14
+
15
+ Subclass :class:`Interaction` and override a single method to customise one
16
+ phase without rewriting the loop ("general loop + override hook").
17
+ """
18
+
19
+ from __future__ import annotations
20
+
21
+ from dataclasses import dataclass
22
+
23
+
24
+ @dataclass(frozen=True)
25
+ class ClaimRec:
26
+ """A claim published this round, as seen by the interaction strategy."""
27
+
28
+ kid: bytes
29
+ member_label: str
30
+ member_kid: bytes
31
+ unit: str
32
+ role: str
33
+ confidence: float
34
+
35
+
36
+ class Interaction:
37
+ """Default (cooperative) strategy. Override methods to change one phase."""
38
+
39
+ name = "cooperative"
40
+
41
+ # ---- publish -------------------------------------------------------
42
+ def publish_floor(self, *, role: str, base_floor: float) -> float:
43
+ """Confidence gate to publish, scaled by role.
44
+
45
+ Scouts surface early (lower bar); sceptics hold fire (higher bar).
46
+ """
47
+ if role == "scout":
48
+ return max(0.0, base_floor - 0.15)
49
+ if role == "sceptic":
50
+ return min(1.0, base_floor + 0.15)
51
+ return base_floor
52
+
53
+ # ---- cite ----------------------------------------------------------
54
+ def cite_targets(
55
+ self,
56
+ *,
57
+ member_unit: str,
58
+ member_role: str,
59
+ own_kid: bytes,
60
+ claims: list[ClaimRec],
61
+ ) -> list[bytes]:
62
+ """Which peer claims this member cites. Cooperative: the single
63
+ highest-confidence peer claim anywhere in the org."""
64
+ peers = [c for c in claims if c.kid != own_kid]
65
+ if not peers:
66
+ return []
67
+ best = max(peers, key=lambda c: c.confidence)
68
+ return [best.kid]
69
+
70
+ # ---- dispute -------------------------------------------------------
71
+ def should_dispute(
72
+ self, *, disputer_role: str, disputer_mean: float, claim: ClaimRec, gap: float
73
+ ) -> bool:
74
+ """Whether ``disputer`` challenges ``claim``. Cooperative: only
75
+ sceptics, only on a wide belief gap."""
76
+ if disputer_role != "sceptic":
77
+ return False
78
+ return abs(disputer_mean - claim.confidence) >= gap
79
+
80
+ # ---- resolve -------------------------------------------------------
81
+ def resolve_outcome(self, *, claim: ClaimRec, ground_truth: bool | None) -> bool:
82
+ """Ground-truth outcome for reputation back-prop. Default: caller's
83
+ signal, else 'confident claims are treated as correct'."""
84
+ if ground_truth is not None:
85
+ return ground_truth
86
+ return claim.confidence >= 0.5
87
+
88
+
89
+ class Cooperative(Interaction):
90
+ name = "cooperative"
91
+
92
+
93
+ class Adversarial(Interaction):
94
+ """Rival units: cite your own side, attack the other side."""
95
+
96
+ name = "adversarial"
97
+
98
+ def cite_targets(
99
+ self,
100
+ *,
101
+ member_unit: str,
102
+ member_role: str,
103
+ own_kid: bytes,
104
+ claims: list[ClaimRec],
105
+ ) -> list[bytes]:
106
+ # Cite the strongest claim from *your own* unit (rally your side).
107
+ allies = [c for c in claims if c.unit == member_unit and c.kid != own_kid]
108
+ if not allies:
109
+ return []
110
+ best = max(allies, key=lambda c: c.confidence)
111
+ return [best.kid]
112
+
113
+ def should_dispute(
114
+ self, *, disputer_role: str, disputer_mean: float, claim: ClaimRec, gap: float
115
+ ) -> bool:
116
+ # Anyone disputes a rival unit's claim if it diverges at all past a
117
+ # softened gap; sceptics are the most aggressive.
118
+ if claim.role == "oracle":
119
+ return False
120
+ effective_gap = gap * (0.5 if disputer_role == "sceptic" else 1.0)
121
+ return abs(disputer_mean - claim.confidence) >= effective_gap
122
+
123
+
124
+ class Crowd(Interaction):
125
+ """Large, low-authority population; synthesists aggregate; few disputes."""
126
+
127
+ name = "crowd"
128
+
129
+ def publish_floor(self, *, role: str, base_floor: float) -> float:
130
+ # Crowds speak up readily; the bar is low except for the aggregator.
131
+ if role == "synthesist":
132
+ return base_floor
133
+ return max(0.0, base_floor - 0.3)
134
+
135
+ def cite_targets(
136
+ self,
137
+ *,
138
+ member_unit: str,
139
+ member_role: str,
140
+ own_kid: bytes,
141
+ claims: list[ClaimRec],
142
+ ) -> list[bytes]:
143
+ # Only synthesists aggregate — they cite the top few loudest voices.
144
+ if member_role != "synthesist":
145
+ return []
146
+ peers = sorted(
147
+ (c for c in claims if c.kid != own_kid),
148
+ key=lambda c: c.confidence,
149
+ reverse=True,
150
+ )
151
+ return [c.kid for c in peers[:3]]
152
+
153
+ def should_dispute(
154
+ self, *, disputer_role: str, disputer_mean: float, claim: ClaimRec, gap: float
155
+ ) -> bool:
156
+ # The crowd rarely disputes; only sceptics, only on very wide gaps.
157
+ if disputer_role != "sceptic":
158
+ return False
159
+ return abs(disputer_mean - claim.confidence) >= min(1.0, gap + 0.2)
160
+
161
+
162
+ _PRESETS: dict[str, type[Interaction]] = {
163
+ "cooperative": Cooperative,
164
+ "adversarial": Adversarial,
165
+ "crowd": Crowd,
166
+ }
167
+
168
+
169
+ def get_interaction(name: str) -> Interaction:
170
+ """Instantiate a preset interaction strategy by name."""
171
+ try:
172
+ return _PRESETS[name]()
173
+ except KeyError:
174
+ raise ValueError(
175
+ f"unknown interaction {name!r}; presets: {sorted(_PRESETS)}. "
176
+ "Pass an Interaction subclass instance to override phases."
177
+ ) from None