hypermind 2.1.2__tar.gz → 2.2.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- hypermind-2.2.1/CHANGELOG.md +1285 -0
- hypermind-2.2.1/CLAUDE.md +323 -0
- hypermind-2.2.1/PKG-INFO +417 -0
- hypermind-2.2.1/README.md +339 -0
- hypermind-2.2.1/SECURITY.md +132 -0
- hypermind-2.2.1/deploy/Dockerfile.mcp-http +33 -0
- hypermind-2.2.1/deploy/README.md +152 -0
- hypermind-2.2.1/deploy/docker-compose.mcp-http.yml +62 -0
- hypermind-2.2.1/deploy/mcp-http-entrypoint.sh +46 -0
- hypermind-2.2.1/docs/INDEX.md +328 -0
- hypermind-2.2.1/docs/_meta/glossary.md +49 -0
- hypermind-2.2.1/docs/_meta/standards-map.md +72 -0
- hypermind-2.2.1/docs/api/consult.md +14 -0
- hypermind-2.2.1/docs/api/dataset.md +13 -0
- hypermind-2.2.1/docs/api/errors.md +21 -0
- hypermind-2.2.1/docs/api/ingest.md +12 -0
- hypermind-2.2.1/docs/api/integrations.md +22 -0
- hypermind-2.2.1/docs/api/mcp.md +12 -0
- hypermind-2.2.1/docs/api/moa.md +12 -0
- hypermind-2.2.1/docs/api/namespace.md +17 -0
- hypermind-2.2.1/docs/api/simlab.md +16 -0
- hypermind-2.2.1/docs/api/testing.md +19 -0
- hypermind-2.2.1/docs/api/types.md +13 -0
- hypermind-2.2.1/docs/api/uncertainty.md +12 -0
- hypermind-2.2.1/docs/audit/docs-vs-code-alignment-2026-07-27.md +255 -0
- hypermind-2.2.1/docs/concepts.md +963 -0
- hypermind-2.2.1/docs/configuration.md +449 -0
- hypermind-2.2.1/docs/conformance/bake-off-report.md +65 -0
- hypermind-2.2.1/docs/decide/01-disqualifiers.md +135 -0
- hypermind-2.2.1/docs/deploy/add-mcp-server.md +655 -0
- hypermind-2.2.1/docs/deploy/add-tool-provider.md +630 -0
- hypermind-2.2.1/docs/deploy/index.md +162 -0
- hypermind-2.2.1/docs/deploy/mcp-connect.md +554 -0
- hypermind-2.2.1/docs/deploy/quickstart.md +359 -0
- hypermind-2.2.1/docs/deploy/rest-api.md +595 -0
- hypermind-2.2.1/docs/deploy/scheduled-research.md +564 -0
- hypermind-2.2.1/docs/deploy/troubleshooting.md +871 -0
- hypermind-2.2.1/docs/deploy/use-cases.md +576 -0
- hypermind-2.2.1/docs/deploy/write-scenario.md +629 -0
- hypermind-2.2.1/docs/design/01-architecture.md +102 -0
- hypermind-2.2.1/docs/design/02-traces.md +260 -0
- hypermind-2.2.1/docs/design/03-failure-modes.md +111 -0
- hypermind-2.2.1/docs/design/04-poisoning-defenses.md +166 -0
- hypermind-2.2.1/docs/design/05-deployment-topology.md +147 -0
- hypermind-2.2.1/docs/feature-matrix.md +474 -0
- hypermind-2.2.1/docs/integrations.md +513 -0
- hypermind-2.2.1/docs/lts.md +76 -0
- hypermind-2.2.1/docs/onboarding/README.md +87 -0
- hypermind-2.2.1/docs/onboarding/after.md +78 -0
- hypermind-2.2.1/docs/onboarding/glossary.md +33 -0
- hypermind-2.2.1/docs/onboarding/topics/03-spec-literacy.md +55 -0
- hypermind-2.2.1/docs/operate/01-deployment.md +126 -0
- hypermind-2.2.1/docs/operate/02-runbook.md +105 -0
- hypermind-2.2.1/docs/operate/backup-restore.md +156 -0
- hypermind-2.2.1/docs/operate/data-residency.md +160 -0
- hypermind-2.2.1/docs/operate/runbooks/key-rotation.md +95 -0
- hypermind-2.2.1/docs/operate/runbooks/kms-rotation.md +96 -0
- hypermind-2.2.1/docs/operate/runbooks/witness-compromise.md +98 -0
- hypermind-2.2.1/docs/operate/slo.md +146 -0
- hypermind-2.2.1/docs/paper/00-patent.md +242 -0
- hypermind-2.2.1/docs/paper/hypermind-paper-draft.md +498 -0
- hypermind-2.2.1/docs/paper/hypermind-paper.tex +1504 -0
- hypermind-2.2.1/docs/project/autonomy-audit.md +252 -0
- hypermind-2.2.1/docs/project/charter.md +270 -0
- hypermind-2.2.1/docs/project/governance.md +264 -0
- hypermind-2.2.1/docs/project/repo-map.md +71 -0
- hypermind-2.2.1/docs/project/roadmap.md +300 -0
- hypermind-2.2.1/docs/project/v2.0-plan.md +310 -0
- hypermind-2.2.1/docs/quickstart.md +197 -0
- hypermind-2.2.1/docs/release-notes/v1.0.0.md +50 -0
- hypermind-2.2.1/docs/release-notes/v1.12.0.md +23 -0
- hypermind-2.2.1/docs/release-notes/v1.12.1.md +29 -0
- hypermind-2.2.1/docs/release-notes/v1.13.0-draft.md +195 -0
- hypermind-2.2.1/docs/release-notes/v2.0.0.md +61 -0
- hypermind-2.2.1/docs/release-notes/v2.1.0.md +60 -0
- hypermind-2.2.1/docs/release-notes/v2.1.1.md +29 -0
- hypermind-2.2.1/docs/release-notes/v2.1.2.md +29 -0
- hypermind-2.2.1/docs/release-notes/v2.1.3.md +20 -0
- hypermind-2.2.1/docs/release-notes/v2.1.4.md +21 -0
- hypermind-2.2.1/docs/release-notes/v2.1.5.md +19 -0
- hypermind-2.2.1/docs/security/threat-model.md +302 -0
- hypermind-2.2.1/docs/spec/00-overview.md +190 -0
- hypermind-2.2.1/docs/spec/01-transport.md +139 -0
- hypermind-2.2.1/docs/spec/02-cryptography.md +169 -0
- hypermind-2.2.1/docs/spec/03-messages.md +259 -0
- hypermind-2.2.1/docs/spec/04-knowledge-model.md +198 -0
- hypermind-2.2.1/docs/spec/05-routing.md +204 -0
- hypermind-2.2.1/docs/spec/06-conformance.md +194 -0
- hypermind-2.2.1/docs/spec/07-trust-access-layer.md +273 -0
- hypermind-2.2.1/docs/spec/08-onboarding-contract.md +304 -0
- hypermind-2.2.1/docs/spec/09-agent-sdk.md +324 -0
- hypermind-2.2.1/docs/spec/10-disputes.md +55 -0
- hypermind-2.2.1/docs/spec/11-witness-transparency.md +127 -0
- hypermind-2.2.1/docs/spec/14-threat-model.md +31 -0
- hypermind-2.2.1/docs/spec/15-living-transmission.md +7 -0
- hypermind-2.2.1/docs/spec/17-upgrade-v1.md +53 -0
- hypermind-2.2.1/docs/spec/19-autonomy-contract.md +221 -0
- hypermind-2.2.1/docs/spec/20-swarm-intelligence.md +474 -0
- hypermind-2.2.1/docs/spec/24-namespace-identity.md +163 -0
- hypermind-2.2.1/docs/spec/26-workflow.md +174 -0
- hypermind-2.2.1/docs/spec/27-contract-net.md +241 -0
- hypermind-2.2.1/docs/spec/29-verified-corpus.md +165 -0
- hypermind-2.2.1/docs/spec/30-ground-truth-anchor.md +116 -0
- hypermind-2.2.1/docs/spec/31-deep-research-engine.md +716 -0
- hypermind-2.2.1/docs/spec/32-belief-state.md +331 -0
- hypermind-2.2.1/docs/spec/appendix-z.md +344 -0
- hypermind-2.2.1/docs/spec/errata.md +49 -0
- hypermind-2.2.1/docs/spec/index.md +78 -0
- hypermind-2.2.1/docs/spec/invariants.md +119 -0
- hypermind-2.2.1/docs/spec/normative-trace.md +151 -0
- hypermind-2.2.1/examples/README.md +203 -0
- hypermind-2.2.1/examples/scenario_population_lifecycle.py +100 -0
- hypermind-2.2.1/mkdocs.yml +211 -0
- hypermind-2.2.1/pyproject.toml +243 -0
- hypermind-2.2.1/reference_verifier/__init__.py +97 -0
- hypermind-2.2.1/reference_verifier/verifier.py +1324 -0
- hypermind-2.2.1/src/hmctl/cli.py +4463 -0
- hypermind-2.2.1/src/hmctl/eval_cmd.py +1948 -0
- hypermind-2.2.1/src/hmctl/orgs_cmd.py +1245 -0
- hypermind-2.2.1/src/hypermind/agent.py +5025 -0
- hypermind-2.2.1/src/hypermind/cap_revocation.py +295 -0
- hypermind-2.2.1/src/hypermind/capability.py +1099 -0
- hypermind-2.2.1/src/hypermind/config.py +895 -0
- hypermind-2.2.1/src/hypermind/crypto/frost.py +803 -0
- hypermind-2.2.1/src/hypermind/dataset.py +542 -0
- hypermind-2.2.1/src/hypermind/deliberation.py +358 -0
- hypermind-2.2.1/src/hypermind/eval/dispute_bench.py +274 -0
- hypermind-2.2.1/src/hypermind/eval/suite.py +292 -0
- hypermind-2.2.1/src/hypermind/integrations/autogen.py +284 -0
- hypermind-2.2.1/src/hypermind/integrations/client.py +1193 -0
- hypermind-2.2.1/src/hypermind/integrations/evolution.py +925 -0
- hypermind-2.2.1/src/hypermind/integrations/federation_manager.py +193 -0
- hypermind-2.2.1/src/hypermind/integrations/hooks.py +289 -0
- hypermind-2.2.1/src/hypermind/integrations/loop.py +1665 -0
- hypermind-2.2.1/src/hypermind/integrations/mcp_tools.py +5621 -0
- hypermind-2.2.1/src/hypermind/integrations/notifier.py +128 -0
- hypermind-2.2.1/src/hypermind/integrations/openai_endpoint.py +828 -0
- hypermind-2.2.1/src/hypermind/integrations/population.py +246 -0
- hypermind-2.2.1/src/hypermind/integrations/research.py +490 -0
- hypermind-2.2.1/src/hypermind/integrations/sse.py +146 -0
- hypermind-2.2.1/src/hypermind/integrations/webhook_server.py +230 -0
- hypermind-2.2.1/src/hypermind/integrations/working_memory.py +348 -0
- hypermind-2.2.1/src/hypermind/knowledge/kernel_store.py +1505 -0
- hypermind-2.2.1/src/hypermind/knowledge/reputation.py +751 -0
- hypermind-2.2.1/src/hypermind/knowledge/reputation_store.py +127 -0
- hypermind-2.2.1/src/hypermind/knowledge/transparency.py +464 -0
- hypermind-2.2.1/src/hypermind/machine.py +85 -0
- hypermind-2.2.1/src/hypermind/mcp/client.py +145 -0
- hypermind-2.2.1/src/hypermind/mcp/transport.py +256 -0
- hypermind-2.2.1/src/hypermind/mind/__init__.py +205 -0
- hypermind-2.2.1/src/hypermind/mind/deliberator.py +1864 -0
- hypermind-2.2.1/src/hypermind/mind/evolve.py +303 -0
- hypermind-2.2.1/src/hypermind/mind/goals.py +453 -0
- hypermind-2.2.1/src/hypermind/mind/integration.py +295 -0
- hypermind-2.2.1/src/hypermind/mind/memory_store.py +515 -0
- hypermind-2.2.1/src/hypermind/mind/selfplay.py +179 -0
- hypermind-2.2.1/src/hypermind/mind/skills.py +1794 -0
- hypermind-2.2.1/src/hypermind/mind/sybil_guard.py +214 -0
- hypermind-2.2.1/src/hypermind/moa/aggregate.py +274 -0
- hypermind-2.2.1/src/hypermind/moa/codeexec.py +232 -0
- hypermind-2.2.1/src/hypermind/moa/costs.py +53 -0
- hypermind-2.2.1/src/hypermind/moa/gaps.py +77 -0
- hypermind-2.2.1/src/hypermind/moa/learn.py +152 -0
- hypermind-2.2.1/src/hypermind/moa/population.py +88 -0
- hypermind-2.2.1/src/hypermind/moa/readiness.py +112 -0
- hypermind-2.2.1/src/hypermind/moa/refine.py +141 -0
- hypermind-2.2.1/src/hypermind/moa/serve.py +409 -0
- hypermind-2.2.1/src/hypermind/moa/verifiability.py +188 -0
- hypermind-2.2.1/src/hypermind/namespace.py +544 -0
- hypermind-2.2.1/src/hypermind/observability/cost.py +306 -0
- hypermind-2.2.1/src/hypermind/observability/health.py +187 -0
- hypermind-2.2.1/src/hypermind/observability/otel_export.py +298 -0
- hypermind-2.2.1/src/hypermind/observability/recorder.py +348 -0
- hypermind-2.2.1/src/hypermind/observability/silent_failures.py +117 -0
- hypermind-2.2.1/src/hypermind/observability/swarm_trace.py +442 -0
- hypermind-2.2.1/src/hypermind/orgs/__init__.py +333 -0
- hypermind-2.2.1/src/hypermind/orgs/analysis.py +297 -0
- hypermind-2.2.1/src/hypermind/orgs/anchor.py +300 -0
- hypermind-2.2.1/src/hypermind/orgs/charter.py +257 -0
- hypermind-2.2.1/src/hypermind/orgs/coevolution.py +305 -0
- hypermind-2.2.1/src/hypermind/orgs/corpus.py +361 -0
- hypermind-2.2.1/src/hypermind/orgs/distributed/coordinator.py +306 -0
- hypermind-2.2.1/src/hypermind/orgs/distributed/worker.py +130 -0
- hypermind-2.2.1/src/hypermind/orgs/entities.py +323 -0
- hypermind-2.2.1/src/hypermind/orgs/evidence.py +291 -0
- hypermind-2.2.1/src/hypermind/orgs/graph_export.py +476 -0
- hypermind-2.2.1/src/hypermind/orgs/groundtruth.py +126 -0
- hypermind-2.2.1/src/hypermind/orgs/hypothesis.py +561 -0
- hypermind-2.2.1/src/hypermind/orgs/mcp_config.py +147 -0
- hypermind-2.2.1/src/hypermind/orgs/quality.py +465 -0
- hypermind-2.2.1/src/hypermind/orgs/replay.py +236 -0
- hypermind-2.2.1/src/hypermind/orgs/retrieval.py +458 -0
- hypermind-2.2.1/src/hypermind/orgs/sim.py +7251 -0
- hypermind-2.2.1/src/hypermind/orgs/source_ranking.py +120 -0
- hypermind-2.2.1/src/hypermind/orgs/subdecompose.py +299 -0
- hypermind-2.2.1/src/hypermind/orgs/think.py +302 -0
- hypermind-2.2.1/src/hypermind/orgs/tool_providers.py +1186 -0
- hypermind-2.2.1/src/hypermind/orgs/web_capture.py +139 -0
- hypermind-2.2.1/src/hypermind/profiles.py +190 -0
- hypermind-2.2.1/src/hypermind/responders/__init__.py +92 -0
- hypermind-2.2.1/src/hypermind/responders/cache.py +115 -0
- hypermind-2.2.1/src/hypermind/responders/router.py +344 -0
- hypermind-2.2.1/src/hypermind/responders/structured.py +322 -0
- hypermind-2.2.1/src/hypermind/responders/tools.py +478 -0
- hypermind-2.2.1/src/hypermind/simlab/_scenario_impl.py +2829 -0
- hypermind-2.2.1/src/hypermind/simlab/app.py +2573 -0
- hypermind-2.2.1/src/hypermind/simlab/cli_command.py +111 -0
- hypermind-2.2.1/src/hypermind/simlab/learning.py +345 -0
- hypermind-2.2.1/src/hypermind/simlab/modes/_eval_real_llm.py +377 -0
- hypermind-2.2.1/src/hypermind/simlab/modes/evaluation.py +2279 -0
- hypermind-2.2.1/src/hypermind/simlab/namespace.py +129 -0
- hypermind-2.2.1/src/hypermind/simlab/runner.py +242 -0
- hypermind-2.2.1/src/hypermind/simlab/topic_adapter.py +401 -0
- hypermind-2.2.1/src/hypermind/simlab/topic_questions.py +263 -0
- hypermind-2.2.1/src/hypermind/storage/__init__.py +77 -0
- hypermind-2.2.1/src/hypermind/storage/relata.py +867 -0
- hypermind-2.2.1/src/hypermind/storage/s3_backup.py +153 -0
- hypermind-2.2.1/src/hypermind/storage/sqlite.py +846 -0
- hypermind-2.2.1/src/hypermind/tal.py +560 -0
- hypermind-2.2.1/src/hypermind/tal_wire.py +313 -0
- hypermind-2.2.1/src/hypermind/tasks.py +339 -0
- hypermind-2.2.1/src/hypermind/transport/anti_entropy.py +712 -0
- hypermind-2.2.1/src/hypermind/transport/bus.py +211 -0
- hypermind-2.2.1/src/hypermind/transport/cap_revoke_gossip.py +169 -0
- hypermind-2.2.1/src/hypermind/transport/tcp.py +939 -0
- hypermind-2.2.1/src/hypermind/wire.py +1003 -0
- hypermind-2.2.1/tests/conftest.py +100 -0
- hypermind-2.2.1/tests/integrations/test_989_kernel_fact_curation_tick.py +191 -0
- hypermind-2.2.1/tests/integrations/test_c1_gene_pool.py +167 -0
- hypermind-2.2.1/tests/integrations/test_c2_archive.py +156 -0
- hypermind-2.2.1/tests/integrations/test_evolution.py +799 -0
- hypermind-2.2.1/tests/integrations/test_local_mode.py +207 -0
- hypermind-2.2.1/tests/integrations/test_population_checkpoint_v2.py +131 -0
- hypermind-2.2.1/tests/integrations/test_population_tools.py +123 -0
- hypermind-2.2.1/tests/mind/test_940_sybil_cluster_detection.py +122 -0
- hypermind-2.2.1/tests/mind/test_c3_goal_tool_loop.py +54 -0
- hypermind-2.2.1/tests/mind/test_skill_learning_pipeline.py +180 -0
- hypermind-2.2.1/tests/moa/test_aggregate.py +131 -0
- hypermind-2.2.1/tests/moa/test_convergence_and_confidence.py +219 -0
- hypermind-2.2.1/tests/moa/test_health_gap_wiring.py +164 -0
- hypermind-2.2.1/tests/moa/test_profile_wiring.py +153 -0
- hypermind-2.2.1/tests/moa/test_readiness_gate.py +154 -0
- hypermind-2.2.1/tests/moa/test_serve.py +68 -0
- hypermind-2.2.1/tests/moa/test_verifiability.py +306 -0
- hypermind-2.2.1/tests/orgs/test_1004_sqlite_backend_parity.py +254 -0
- hypermind-2.2.1/tests/orgs/test_1005_breadth_cap_and_tiebreak.py +181 -0
- hypermind-2.2.1/tests/orgs/test_1008_select_experts_finding_truncation.py +182 -0
- hypermind-2.2.1/tests/orgs/test_939_select_experts_real_reputation.py +101 -0
- hypermind-2.2.1/tests/orgs/test_940_retrieval_clusters_dynamic_seats.py +411 -0
- hypermind-2.2.1/tests/orgs/test_975_checkpoint_resume.py +420 -0
- hypermind-2.2.1/tests/orgs/test_987_select_experts_recency_dispute.py +244 -0
- hypermind-2.2.1/tests/orgs/test_a1_prediction_gating.py +143 -0
- hypermind-2.2.1/tests/orgs/test_a2_oracle_anchoring.py +93 -0
- hypermind-2.2.1/tests/orgs/test_b1_source_credibility.py +107 -0
- hypermind-2.2.1/tests/orgs/test_b4_evidence_quality.py +101 -0
- hypermind-2.2.1/tests/orgs/test_c5_coevolution_wiring.py +122 -0
- hypermind-2.2.1/tests/orgs/test_c5_loop_wiring.py +243 -0
- hypermind-2.2.1/tests/orgs/test_coevolution.py +157 -0
- hypermind-2.2.1/tests/orgs/test_coevolution_s3_backup.py +164 -0
- hypermind-2.2.1/tests/orgs/test_entities.py +258 -0
- hypermind-2.2.1/tests/orgs/test_evidence_gate.py +64 -0
- hypermind-2.2.1/tests/orgs/test_graph_export.py +312 -0
- hypermind-2.2.1/tests/orgs/test_grounding_contradiction.py +150 -0
- hypermind-2.2.1/tests/orgs/test_hypothesis.py +221 -0
- hypermind-2.2.1/tests/orgs/test_provider_cache.py +236 -0
- hypermind-2.2.1/tests/orgs/test_quality_and_contradiction_wiring.py +230 -0
- hypermind-2.2.1/tests/orgs/test_replay.py +124 -0
- hypermind-2.2.1/tests/orgs/test_response_cache_wiring.py +208 -0
- hypermind-2.2.1/tests/orgs/test_select_experts_relevance.py +114 -0
- hypermind-2.2.1/tests/orgs/test_source_ranking.py +151 -0
- hypermind-2.2.1/tests/orgs/test_ssrf_redirect.py +107 -0
- hypermind-2.2.1/tests/orgs/test_subdecompose.py +315 -0
- hypermind-2.2.1/tests/orgs/test_tool_providers.py +415 -0
- hypermind-2.2.1/tests/orgs/test_web_capture.py +445 -0
- hypermind-2.2.1/tests/orgsim/test_gap_39_fixes.py +133 -0
- hypermind-2.2.1/tests/orgsim/test_gap_39b_fixes.py +103 -0
- hypermind-2.2.1/tests/orgsim/test_gap_40_fixes.py +86 -0
- hypermind-2.2.1/tests/orgsim/test_gap_42_fixes.py +116 -0
- hypermind-2.2.1/tests/orgsim/test_gap_49_fixes.py +126 -0
- hypermind-2.2.1/tests/orgsim/test_gap_rt001_cross_run_facts.py +214 -0
- hypermind-2.2.1/tests/orgsim/test_gap_rt002_brier_e2e.py +201 -0
- hypermind-2.2.1/tests/orgsim/test_gap_rt007_skill_promotion.py +284 -0
- hypermind-2.2.1/tests/orgsim/test_orgsim_persona_evolution.py +268 -0
- hypermind-2.2.1/tests/storage/test_s3_backup.py +152 -0
- hypermind-2.2.1/tests/test_895_904_evolve_and_calibration_feedback.py +347 -0
- hypermind-2.2.1/tests/test_923_skill_local_persistence.py +100 -0
- hypermind-2.2.1/tests/test_946_degenerate_score_fallback.py +211 -0
- hypermind-2.2.1/tests/test_974_consult_knowledge_injection.py +98 -0
- hypermind-2.2.1/tests/test_a4_reputation_persistence.py +109 -0
- hypermind-2.2.1/tests/test_assessment_fixes_config_and_diversity.py +84 -0
- hypermind-2.2.1/tests/test_b2_hybrid_rank_fusion.py +102 -0
- hypermind-2.2.1/tests/test_b3_routing_and_cache.py +162 -0
- hypermind-2.2.1/tests/test_c4_silent_failures.py +99 -0
- hypermind-2.2.1/tests/test_cap_revoke_gossip.py +376 -0
- hypermind-2.2.1/tests/test_cli_mcp_install.py +84 -0
- hypermind-2.2.1/tests/test_cli_orgs.py +454 -0
- hypermind-2.2.1/tests/test_datasys_oracle_resolve_rep_signal_fallback.py +157 -0
- hypermind-2.2.1/tests/test_deploy_mcp_http_gateway.py +272 -0
- hypermind-2.2.1/tests/test_e2e_fictional_story.py +167 -0
- hypermind-2.2.1/tests/test_examples_runnable.py +67 -0
- hypermind-2.2.1/tests/test_health_consumer.py +155 -0
- hypermind-2.2.1/tests/test_kernel_store.py +519 -0
- hypermind-2.2.1/tests/test_kernel_store_bitemporal_and_citation.py +271 -0
- hypermind-2.2.1/tests/test_kernel_store_remote.py +263 -0
- hypermind-2.2.1/tests/test_orgs_cmd_hypermind_home.py +50 -0
- hypermind-2.2.1/tests/test_orgsim_kernel_store_persist.py +208 -0
- hypermind-2.2.1/tests/test_orgsim_persona_evolution.py +254 -0
- hypermind-2.2.1/tests/test_profiles.py +125 -0
- hypermind-2.2.1/tests/test_relata_memory_store.py +326 -0
- hypermind-2.2.1/tests/test_reputation_weighted_slashing.py +68 -0
- hypermind-2.2.1/tests/test_self_heal_cycle6_security_hardening.py +281 -0
- hypermind-2.2.1/tests/test_sqlite_vector_hybrid.py +78 -0
- hypermind-2.2.1/tests/test_tal_wire.py +706 -0
- hypermind-2.2.1/tests/test_two_impl_interop.py +768 -0
- hypermind-2.2.1/tests/test_wire_v2.py +359 -0
- hypermind-2.1.2/CHANGELOG.md +0 -1075
- hypermind-2.1.2/CLAUDE.md +0 -322
- hypermind-2.1.2/PKG-INFO +0 -416
- hypermind-2.1.2/README.md +0 -339
- hypermind-2.1.2/SECURITY.md +0 -122
- hypermind-2.1.2/deploy/README.md +0 -102
- hypermind-2.1.2/docs/INDEX.md +0 -307
- hypermind-2.1.2/docs/_meta/glossary.md +0 -45
- hypermind-2.1.2/docs/_meta/standards-map.md +0 -75
- hypermind-2.1.2/docs/concepts.md +0 -941
- hypermind-2.1.2/docs/configuration.md +0 -307
- hypermind-2.1.2/docs/conformance/bake-off-report.md +0 -50
- hypermind-2.1.2/docs/decide/01-disqualifiers.md +0 -136
- hypermind-2.1.2/docs/design/01-architecture.md +0 -81
- hypermind-2.1.2/docs/design/02-traces.md +0 -258
- hypermind-2.1.2/docs/design/03-failure-modes.md +0 -109
- hypermind-2.1.2/docs/design/04-poisoning-defenses.md +0 -164
- hypermind-2.1.2/docs/design/05-deployment-topology.md +0 -145
- hypermind-2.1.2/docs/feature-matrix.md +0 -471
- hypermind-2.1.2/docs/integrations.md +0 -511
- hypermind-2.1.2/docs/lts.md +0 -81
- hypermind-2.1.2/docs/onboarding/README.md +0 -54
- hypermind-2.1.2/docs/onboarding/after.md +0 -78
- hypermind-2.1.2/docs/onboarding/glossary.md +0 -27
- hypermind-2.1.2/docs/onboarding/topics/03-spec-literacy.md +0 -55
- hypermind-2.1.2/docs/operate/01-deployment.md +0 -114
- hypermind-2.1.2/docs/operate/02-runbook.md +0 -93
- hypermind-2.1.2/docs/operate/backup-restore.md +0 -158
- hypermind-2.1.2/docs/operate/data-residency.md +0 -155
- hypermind-2.1.2/docs/operate/runbooks/key-rotation.md +0 -94
- hypermind-2.1.2/docs/operate/runbooks/kms-rotation.md +0 -99
- hypermind-2.1.2/docs/operate/runbooks/witness-compromise.md +0 -97
- hypermind-2.1.2/docs/operate/slo.md +0 -137
- hypermind-2.1.2/docs/paper/00-patent.md +0 -240
- hypermind-2.1.2/docs/paper/hypermind-paper-draft.md +0 -497
- hypermind-2.1.2/docs/paper/hypermind-paper.tex +0 -1503
- hypermind-2.1.2/docs/project/charter.md +0 -265
- hypermind-2.1.2/docs/project/governance.md +0 -259
- hypermind-2.1.2/docs/project/repo-map.md +0 -68
- hypermind-2.1.2/docs/project/roadmap.md +0 -300
- hypermind-2.1.2/docs/project/v2.0-plan.md +0 -307
- hypermind-2.1.2/docs/quickstart.md +0 -197
- hypermind-2.1.2/docs/release-notes/v1.0.0.md +0 -50
- hypermind-2.1.2/docs/release-notes/v1.13.0-draft.md +0 -195
- hypermind-2.1.2/docs/security/threat-model.md +0 -303
- hypermind-2.1.2/docs/spec/00-overview.md +0 -185
- hypermind-2.1.2/docs/spec/01-transport.md +0 -139
- hypermind-2.1.2/docs/spec/02-cryptography.md +0 -169
- hypermind-2.1.2/docs/spec/03-messages.md +0 -259
- hypermind-2.1.2/docs/spec/04-knowledge-model.md +0 -198
- hypermind-2.1.2/docs/spec/05-routing.md +0 -204
- hypermind-2.1.2/docs/spec/06-conformance.md +0 -139
- hypermind-2.1.2/docs/spec/07-trust-access-layer.md +0 -273
- hypermind-2.1.2/docs/spec/08-onboarding-contract.md +0 -304
- hypermind-2.1.2/docs/spec/09-agent-sdk.md +0 -324
- hypermind-2.1.2/docs/spec/10-disputes.md +0 -55
- hypermind-2.1.2/docs/spec/11-witness-transparency.md +0 -127
- hypermind-2.1.2/docs/spec/14-threat-model.md +0 -31
- hypermind-2.1.2/docs/spec/15-living-transmission.md +0 -7
- hypermind-2.1.2/docs/spec/17-upgrade-v1.md +0 -27
- hypermind-2.1.2/docs/spec/19-autonomy-contract.md +0 -221
- hypermind-2.1.2/docs/spec/20-swarm-intelligence.md +0 -474
- hypermind-2.1.2/docs/spec/24-namespace-identity.md +0 -163
- hypermind-2.1.2/docs/spec/26-workflow.md +0 -174
- hypermind-2.1.2/docs/spec/27-contract-net.md +0 -241
- hypermind-2.1.2/docs/spec/29-verified-corpus.md +0 -165
- hypermind-2.1.2/docs/spec/30-ground-truth-anchor.md +0 -116
- hypermind-2.1.2/docs/spec/31-deep-research-engine.md +0 -716
- hypermind-2.1.2/docs/spec/32-belief-state.md +0 -333
- hypermind-2.1.2/docs/spec/appendix-z.md +0 -344
- hypermind-2.1.2/docs/spec/errata.md +0 -49
- hypermind-2.1.2/docs/spec/index.md +0 -75
- hypermind-2.1.2/docs/spec/invariants.md +0 -101
- hypermind-2.1.2/docs/spec/normative-trace.md +0 -119
- hypermind-2.1.2/examples/README.md +0 -204
- hypermind-2.1.2/examples/scenario_population_lifecycle.py +0 -100
- hypermind-2.1.2/mkdocs.yml +0 -180
- hypermind-2.1.2/pyproject.toml +0 -242
- hypermind-2.1.2/reference_verifier/__init__.py +0 -93
- hypermind-2.1.2/reference_verifier/verifier.py +0 -1209
- hypermind-2.1.2/src/hmctl/cli.py +0 -4322
- hypermind-2.1.2/src/hmctl/orgs_cmd.py +0 -755
- hypermind-2.1.2/src/hypermind/agent.py +0 -4910
- hypermind-2.1.2/src/hypermind/cap_revocation.py +0 -278
- hypermind-2.1.2/src/hypermind/capability.py +0 -1167
- hypermind-2.1.2/src/hypermind/config.py +0 -716
- hypermind-2.1.2/src/hypermind/crypto/frost.py +0 -799
- hypermind-2.1.2/src/hypermind/dataset.py +0 -538
- hypermind-2.1.2/src/hypermind/deliberation.py +0 -355
- hypermind-2.1.2/src/hypermind/eval/dispute_bench.py +0 -270
- hypermind-2.1.2/src/hypermind/eval/suite.py +0 -289
- hypermind-2.1.2/src/hypermind/integrations/autogen.py +0 -281
- hypermind-2.1.2/src/hypermind/integrations/client.py +0 -1167
- hypermind-2.1.2/src/hypermind/integrations/evolution.py +0 -500
- hypermind-2.1.2/src/hypermind/integrations/federation_manager.py +0 -189
- hypermind-2.1.2/src/hypermind/integrations/hooks.py +0 -285
- hypermind-2.1.2/src/hypermind/integrations/loop.py +0 -1414
- hypermind-2.1.2/src/hypermind/integrations/mcp_tools.py +0 -5614
- hypermind-2.1.2/src/hypermind/integrations/notifier.py +0 -124
- hypermind-2.1.2/src/hypermind/integrations/openai_endpoint.py +0 -700
- hypermind-2.1.2/src/hypermind/integrations/population.py +0 -225
- hypermind-2.1.2/src/hypermind/integrations/research.py +0 -487
- hypermind-2.1.2/src/hypermind/integrations/sse.py +0 -142
- hypermind-2.1.2/src/hypermind/integrations/webhook_server.py +0 -226
- hypermind-2.1.2/src/hypermind/integrations/working_memory.py +0 -344
- hypermind-2.1.2/src/hypermind/knowledge/kernel_store.py +0 -1114
- hypermind-2.1.2/src/hypermind/knowledge/reputation.py +0 -734
- hypermind-2.1.2/src/hypermind/knowledge/transparency.py +0 -461
- hypermind-2.1.2/src/hypermind/machine.py +0 -81
- hypermind-2.1.2/src/hypermind/mcp/client.py +0 -142
- hypermind-2.1.2/src/hypermind/mcp/transport.py +0 -252
- hypermind-2.1.2/src/hypermind/mind/__init__.py +0 -204
- hypermind-2.1.2/src/hypermind/mind/deliberator.py +0 -1840
- hypermind-2.1.2/src/hypermind/mind/evolve.py +0 -300
- hypermind-2.1.2/src/hypermind/mind/goals.py +0 -449
- hypermind-2.1.2/src/hypermind/mind/integration.py +0 -292
- hypermind-2.1.2/src/hypermind/mind/memory_store.py +0 -291
- hypermind-2.1.2/src/hypermind/mind/selfplay.py +0 -175
- hypermind-2.1.2/src/hypermind/mind/skills.py +0 -1768
- hypermind-2.1.2/src/hypermind/mind/sybil_guard.py +0 -64
- hypermind-2.1.2/src/hypermind/moa/aggregate.py +0 -220
- hypermind-2.1.2/src/hypermind/moa/codeexec.py +0 -229
- hypermind-2.1.2/src/hypermind/moa/costs.py +0 -49
- hypermind-2.1.2/src/hypermind/moa/gaps.py +0 -74
- hypermind-2.1.2/src/hypermind/moa/learn.py +0 -133
- hypermind-2.1.2/src/hypermind/moa/population.py +0 -85
- hypermind-2.1.2/src/hypermind/moa/readiness.py +0 -109
- hypermind-2.1.2/src/hypermind/moa/refine.py +0 -123
- hypermind-2.1.2/src/hypermind/moa/serve.py +0 -341
- hypermind-2.1.2/src/hypermind/moa/verifiability.py +0 -185
- hypermind-2.1.2/src/hypermind/namespace.py +0 -541
- hypermind-2.1.2/src/hypermind/observability/cost.py +0 -303
- hypermind-2.1.2/src/hypermind/observability/otel_export.py +0 -294
- hypermind-2.1.2/src/hypermind/observability/recorder.py +0 -344
- hypermind-2.1.2/src/hypermind/observability/swarm_trace.py +0 -438
- hypermind-2.1.2/src/hypermind/orgs/__init__.py +0 -302
- hypermind-2.1.2/src/hypermind/orgs/analysis.py +0 -293
- hypermind-2.1.2/src/hypermind/orgs/anchor.py +0 -300
- hypermind-2.1.2/src/hypermind/orgs/charter.py +0 -210
- hypermind-2.1.2/src/hypermind/orgs/corpus.py +0 -357
- hypermind-2.1.2/src/hypermind/orgs/distributed/coordinator.py +0 -303
- hypermind-2.1.2/src/hypermind/orgs/distributed/worker.py +0 -127
- hypermind-2.1.2/src/hypermind/orgs/evidence.py +0 -191
- hypermind-2.1.2/src/hypermind/orgs/groundtruth.py +0 -126
- hypermind-2.1.2/src/hypermind/orgs/hypothesis.py +0 -437
- hypermind-2.1.2/src/hypermind/orgs/mcp_config.py +0 -143
- hypermind-2.1.2/src/hypermind/orgs/quality.py +0 -314
- hypermind-2.1.2/src/hypermind/orgs/replay.py +0 -201
- hypermind-2.1.2/src/hypermind/orgs/retrieval.py +0 -454
- hypermind-2.1.2/src/hypermind/orgs/sim.py +0 -6452
- hypermind-2.1.2/src/hypermind/orgs/think.py +0 -282
- hypermind-2.1.2/src/hypermind/orgs/tool_providers.py +0 -491
- hypermind-2.1.2/src/hypermind/orgs/web_capture.py +0 -207
- hypermind-2.1.2/src/hypermind/responders/__init__.py +0 -87
- hypermind-2.1.2/src/hypermind/responders/router.py +0 -254
- hypermind-2.1.2/src/hypermind/responders/structured.py +0 -298
- hypermind-2.1.2/src/hypermind/responders/tools.py +0 -475
- hypermind-2.1.2/src/hypermind/simlab/_scenario_impl.py +0 -2826
- hypermind-2.1.2/src/hypermind/simlab/app.py +0 -2570
- hypermind-2.1.2/src/hypermind/simlab/cli_command.py +0 -108
- hypermind-2.1.2/src/hypermind/simlab/learning.py +0 -341
- hypermind-2.1.2/src/hypermind/simlab/modes/_eval_real_llm.py +0 -373
- hypermind-2.1.2/src/hypermind/simlab/modes/evaluation.py +0 -2275
- hypermind-2.1.2/src/hypermind/simlab/namespace.py +0 -125
- hypermind-2.1.2/src/hypermind/simlab/runner.py +0 -239
- hypermind-2.1.2/src/hypermind/simlab/topic_adapter.py +0 -397
- hypermind-2.1.2/src/hypermind/simlab/topic_questions.py +0 -259
- hypermind-2.1.2/src/hypermind/storage/__init__.py +0 -69
- hypermind-2.1.2/src/hypermind/storage/relata.py +0 -784
- hypermind-2.1.2/src/hypermind/storage/sqlite.py +0 -643
- hypermind-2.1.2/src/hypermind/tal.py +0 -238
- hypermind-2.1.2/src/hypermind/tasks.py +0 -335
- hypermind-2.1.2/src/hypermind/transport/anti_entropy.py +0 -708
- hypermind-2.1.2/src/hypermind/transport/bus.py +0 -208
- hypermind-2.1.2/src/hypermind/transport/tcp.py +0 -936
- hypermind-2.1.2/src/hypermind/wire.py +0 -986
- hypermind-2.1.2/tests/conftest.py +0 -73
- hypermind-2.1.2/tests/integrations/test_evolution.py +0 -576
- hypermind-2.1.2/tests/integrations/test_local_mode.py +0 -207
- hypermind-2.1.2/tests/integrations/test_population_checkpoint_v2.py +0 -131
- hypermind-2.1.2/tests/integrations/test_population_tools.py +0 -123
- hypermind-2.1.2/tests/mind/test_skill_learning_pipeline.py +0 -180
- hypermind-2.1.2/tests/moa/test_aggregate.py +0 -102
- hypermind-2.1.2/tests/moa/test_readiness_gate.py +0 -131
- hypermind-2.1.2/tests/moa/test_serve.py +0 -67
- hypermind-2.1.2/tests/moa/test_verifiability.py +0 -245
- hypermind-2.1.2/tests/orgs/test_evidence_gate.py +0 -200
- hypermind-2.1.2/tests/orgs/test_hypothesis.py +0 -176
- hypermind-2.1.2/tests/orgs/test_quality_and_contradiction_wiring.py +0 -184
- hypermind-2.1.2/tests/orgs/test_replay.py +0 -86
- hypermind-2.1.2/tests/orgs/test_tool_providers.py +0 -270
- hypermind-2.1.2/tests/orgs/test_web_capture.py +0 -112
- hypermind-2.1.2/tests/orgsim/test_gap_39_fixes.py +0 -128
- hypermind-2.1.2/tests/orgsim/test_gap_39b_fixes.py +0 -98
- hypermind-2.1.2/tests/orgsim/test_gap_40_fixes.py +0 -81
- hypermind-2.1.2/tests/orgsim/test_gap_42_fixes.py +0 -111
- hypermind-2.1.2/tests/orgsim/test_gap_49_fixes.py +0 -117
- hypermind-2.1.2/tests/orgsim/test_gap_rt001_cross_run_facts.py +0 -204
- hypermind-2.1.2/tests/orgsim/test_gap_rt002_brier_e2e.py +0 -191
- hypermind-2.1.2/tests/orgsim/test_gap_rt007_skill_promotion.py +0 -264
- hypermind-2.1.2/tests/orgsim/test_orgsim_persona_evolution.py +0 -258
- hypermind-2.1.2/tests/test_895_904_evolve_and_calibration_feedback.py +0 -214
- hypermind-2.1.2/tests/test_923_skill_local_persistence.py +0 -100
- hypermind-2.1.2/tests/test_cli_mcp_install.py +0 -74
- hypermind-2.1.2/tests/test_cli_orgs.py +0 -275
- hypermind-2.1.2/tests/test_datasys_oracle_resolve_rep_signal_fallback.py +0 -157
- hypermind-2.1.2/tests/test_e2e_fictional_story.py +0 -167
- hypermind-2.1.2/tests/test_examples_runnable.py +0 -60
- hypermind-2.1.2/tests/test_kernel_store.py +0 -303
- hypermind-2.1.2/tests/test_kernel_store_remote.py +0 -262
- hypermind-2.1.2/tests/test_orgsim_kernel_store_persist.py +0 -198
- hypermind-2.1.2/tests/test_orgsim_persona_evolution.py +0 -244
- hypermind-2.1.2/tests/test_relata_memory_store.py +0 -132
- hypermind-2.1.2/tests/test_self_heal_cycle6_security_hardening.py +0 -271
- hypermind-2.1.2/tests/test_two_impl_interop.py +0 -595
- hypermind-2.1.2/tests/test_wire_v2.py +0 -352
- {hypermind-2.1.2 → hypermind-2.2.1}/.editorconfig +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.env.example +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.gitattributes +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.githooks/pre-push +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/FUNDING.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/renovate.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows/check-license.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows/code-review-pr.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows/hotfix-security.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows/issue-auto-fix.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows/issue-triage.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows/pr-standards.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows/quality.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows/release-simple.yml.bak +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows/release.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows/rust-ci.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows/security.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows/stale.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows-disabled/branch-flow-check.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows-disabled/chaos.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows-disabled/check-license.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows-disabled/ci.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows-disabled/code-freeze.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows-disabled/code-review-pr.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows-disabled/code-review.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows-disabled/codeql.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows-disabled/dco.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows-disabled/docs-to-wiki.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows-disabled/docs.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows-disabled/formal.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows-disabled/fuzz.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows-disabled/hotfix-security.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows-disabled/issue-auto-fix.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows-disabled/issue-triage.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows-disabled/merge-comment.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows-disabled/pip-audit.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows-disabled/pr-standards.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows-disabled/quality.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows-disabled/sbom.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows-disabled/scorecard.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows-disabled/security.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows-disabled/sprint-retro.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.github/workflows-disabled/stale.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.gitignore +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.gitleaks.toml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.pre-commit-config.yaml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/.tool-versions +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/CODEOWNERS +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/CODE_OF_CONDUCT.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/CONTRIBUTING.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/LICENSE +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/Makefile +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/bench/README.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/bench/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/bench/baselines/v0.6.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/bench/bench_consult.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/bench/bench_dispute.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/bench/bench_publish.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/bench/coordination/README.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/bench/coordination/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/bench/coordination/baselines/v0.10.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/bench/coordination/bench_rfp_latency.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/bench/coordination/bench_task_throughput.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/bench/coordination/bench_workflow_replay.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/bench/coordination/run_all.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/bench/question_sets/geopolitics_q20.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/bench/question_sets/msft_outlook_q10.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/bench/run_bench.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/chaos/README.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/chaos/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/chaos/p1_partition_recovery.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/chaos/p2_witness_compromise.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/chaos/p3_key_rotation.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/chaos/p4_dispute_backlog.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/chaos/p5_wire_cutover.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/chaos/p6_quorum_loss.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/chaos/p7_clock_skew.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/chaos/p8_recorder_outage.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/chaos/run_chaos.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/deploy/.env.example +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/deploy/Dockerfile +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/deploy/Dockerfile.mcp +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/deploy/docker-compose.mcp.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/deploy/k8s/hypermind-deployment.yaml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/deploy/k8s/orgs-distributed.yaml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/deploy/mcp.example.toml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/deploy/relata-serve.sh +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/deploy/standalone/.env.example +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/deploy/standalone/.gitignore +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/deploy/standalone/README.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/deploy/standalone/config/mcp.example.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/deploy/standalone/docker-compose.yml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/deploy/standalone/setup.sh +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/deploy/systemd/hypermind.service +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/SIMLAB.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/_meta/provenance.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/_meta/public-surface.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/adr/0001-tcp-federation-chosen-as-v1-transport.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/adr/0002-cloud-kms-signing-removed-local-signer-is-shipped-backend.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/adr/0003-libp2p-deferred-to-optional-external-binding.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/adr/0004-verified-corpus-is-a-first-class-product-surface.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/adr/0005-ground-truth-anchoring-is-tiered-and-provenance-bearing.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/adr/0006-three-layer-event-driven-integration.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/adr/0007-per-agent-deliberator-with-declarative-role-bundles.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/adr/0008-llm-decomposed-expert-seats-and-reasoning-strategies.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/adr/0009-dual-storage-backend-sqlite-local-default-and-relata-federated.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/adr/0010-composite-ed25519-mldsa65-signing-pq-hybrid.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/adr/README.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/api/agent.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/api/agent_card.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/api/capability.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/api/contract_net.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/api/crypto.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/api/dispute.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/api/eval.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/api/knowledge.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/api/mind.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/api/observability.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/api/orgs.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/api/responders.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/api/revocation.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/api/simlab-openapi.yaml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/api/storage.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/api/sync.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/api/tal.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/api/tasks.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/api/transport.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/api/wire.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/assets/hero-swarm.svg +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/audit/docs-vs-code-alignment-2026-07-25.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/audit/findings.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/audit/scope.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/conformance/authority.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/conformance/mark-policy.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/decide/02-alternatives.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/decide/03-incentive-aligned-cases.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/decide/04-use-cases.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/eval-programme.html +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/getting-started.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/governance/cna.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/governance/foundation-evaluation.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/index.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/legal/export-classification.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/migrate/v0.x-to-v1.0.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/onboarding/00-prerequisites.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/onboarding/exercises/e01-run-the-loop.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/onboarding/exercises/e02-draw-the-architecture.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/onboarding/exercises/e03-trace-a-claim.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/onboarding/exercises/e04-read-a-spec-section.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/onboarding/exercises/e05-break-it.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/onboarding/exercises/e06-add-a-test.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/onboarding/exercises/e07-first-pr.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/onboarding/topics/00-what-is-hypermind.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/onboarding/topics/01-agents-and-swarms.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/onboarding/topics/02-architecture-tour.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/onboarding/topics/04-cryptography.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/onboarding/topics/05-cbor-cose.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/onboarding/topics/06-transparency-logs.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/onboarding/topics/07-distributed-systems.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/onboarding/topics/08-async-python.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/onboarding/topics/09-security-mindset.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/onboarding/week-1-foundations.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/onboarding/week-2-deep-dive.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/operate/03-resource-budget.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/operate/key-rotation.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/operate/runbooks/dispute-backlog-drain.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/operate/runbooks/multi-host-deploy.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/operate/runbooks/partition-heal.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/operate/runbooks/quorum-loss.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/operate/runbooks/rfp-dispute-triage.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/operate/runbooks/wire-cutover.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/operate/runbooks/workflow-replay.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/paper/hypermind-paper.docx +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/project/maintainers.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.1.0.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.10.1.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.11.0.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.2.0.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.3.0.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.4.0.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.5.0.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.6.0.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.6.1.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.6.2.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.6.3.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.6.4.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.6.5.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.6.6.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.6.7.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.6.8.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.6.9.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.7.0.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.7.1.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.7.10.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.7.2.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.7.3.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.7.4.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.7.5.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.7.6.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.7.7.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.7.8.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.7.9.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.8.0.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.8.1.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.8.2.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.8.3.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.9.0.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.9.1.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.9.3.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.9.4.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.9.5.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.9.6.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/release-notes/v1.9.7.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/simlab/modes.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/simulations.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/sop-knowledge-quality.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/spec/12-governance.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/spec/13-observability.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/spec/16-reference-comparisons.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/spec/18-revocation.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/spec/21-private-namespaces.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/spec/22-transport-mtls.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/spec/23-envelope-encryption.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/spec/25-capability-extensions.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/spec/28-distributed-trace.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/spec/appendix-N-calibration.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/spec/appendix-TLA.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/supply-chain/sbom.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/supply-chain/slsa.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/supply-chain/verify-self.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/sustainability.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/docs/verified-corpus.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/01_hello_world.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/02_two_agents_dispute.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/03_consult_panel.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/04_oracle_resolve.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/05_consult_to_synthesis.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/06_hybrid_pq.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/07_frost_threshold.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/08_ramp_and_diagnostics.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/09_audit_export_chain.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/10_autonomous_agent.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/11_swarm_deliberation.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/12_swarm_iq_scorecard.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/13_role_specialisation.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/14_active_learning_loop.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/16_wire_message.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/17_tool_delegation.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/18_custom_responder.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/19_governance.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/20_conformance_check.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/21_revocation.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/22_agent_card.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/23_task_delegation.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/24_mcp_tool_call.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/25_swarm_trace.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/26_submit_goal_and_goal_handle.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/27_safety_policies.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/28_relata_connection.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/29_quick_research_sim.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/30_moa_endpoint.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/coordination/01_durable_workflow.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/coordination/02_contract_net.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/coordination/03_belief_and_plan.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/coordination/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/coordination/usecases/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/coordination/usecases/ai_01_fed_benchmark.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/coordination/usecases/ai_alignment_redteam.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/coordination/usecases/cy_05_ir_swarm.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/coordination/usecases/cy_11_ransomware_intel.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/coordination/usecases/ed_credentials.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/coordination/usecases/en_grid_coordinate.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/coordination/usecases/fi_04_bsa_314b.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/coordination/usecases/fi_22_ma_dataroom.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/coordination/usecases/gv_01_intel_sharing.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/coordination/usecases/gv_21_red_team.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/coordination/usecases/hc_06_rare_disease.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/coordination/usecases/hc_21_fed_learning.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/coordination/usecases/lg_ediscovery.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/coordination/usecases/mf_supply_chain.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/e2e_many_agents.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/full_e2e_demo.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/lifecycle.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/org_distributed.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/org_university.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/scenario_aar.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/scenario_backtest.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/scenario_capability_attenuation.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/scenario_conformance.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/scenario_crisis_tabletop.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/scenario_cross_namespace_federation.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/scenario_decision_tournament.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/scenario_dispute_lifecycle_async.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/scenario_evaluation.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/scenario_geopolitical_crisis.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/scenario_geopolitical_traced.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/scenario_governance_committee.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/scenario_information_pipeline.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/scenario_ingest_pipeline.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/scenario_learning_loop.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/scenario_namespace_trust.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/scenario_persona_panel.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/scenario_private_namespace.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/scenario_red_team.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/scenario_regulated_consortium.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/scenario_social_media_research.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/scenario_threat_intel.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/scenario_vouch_chain.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/scenario_what_if_tree.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/serve_api.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/sim_criminology_tech.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/examples/two_node_tcp.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/formal/README.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/formal/hax-rust/README.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/formal/hax-rust/scope.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/formal/proverif/dispute_fsm.pv +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/formal/proverif/dispute_liveness.pv +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/formal/tamarin/capability_chain.spthy +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/formal/tamarin/dispute_fsm.spthy +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/formal/tamarin/signed_statement.spthy +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/formal/tamarin/wire_security.spthy +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/fuzz/README.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/fuzz/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/fuzz/fuzz_agent_card.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/fuzz/fuzz_anti_entropy.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/fuzz/fuzz_capability.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/fuzz/fuzz_dispute.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/fuzz/fuzz_inclusion_proof.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/fuzz/fuzz_wire.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/fuzz/seed_corpus.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/harness/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/harness/__main__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/harness/assertions.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/harness/fixtures.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/harness/report.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/harness/roles.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/harness/runner.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/harness/scenario.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/harness/scenarios/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/harness/scenarios/autonomous_evolution.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/harness/scenarios/swarm_iq_benchmark.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/harness/scenarios/threat_intel.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/reference_verifier/schemas/encrypted_statement.cddl +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/reference_verifier/schemas/namespace_accept.cddl +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/reference_verifier/schemas/namespace_create.cddl +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/reference_verifier/schemas/namespace_founding_attest.cddl +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/reference_verifier/schemas/namespace_invite.cddl +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/reference_verifier/schemas/wire-v0.1.cddl +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/review/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/review/__main__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/review/agents.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/review/models.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/review/runner.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/rust/Cargo.lock +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/rust/Cargo.toml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/rust/README.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/rust/crates/hmctl/Cargo.toml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/rust/crates/hmctl/src/config.rs +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/rust/crates/hmctl/src/daemon.rs +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/rust/crates/hmctl/src/main.rs +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/rust/crates/hypermind-proto/Cargo.toml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/rust/crates/hypermind-proto/examples/frost_interop.rs +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/rust/crates/hypermind-proto/examples/mldsa_interop.rs +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/rust/crates/hypermind-proto/examples/tcp_interop.rs +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/rust/crates/hypermind-proto/examples/wire_interop.rs +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/rust/crates/hypermind-proto/schemas/namespace_accept.cddl +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/rust/crates/hypermind-proto/schemas/namespace_create.cddl +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/rust/crates/hypermind-proto/schemas/namespace_founding_attest.cddl +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/rust/crates/hypermind-proto/schemas/namespace_invite.cddl +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/rust/crates/hypermind-proto/schemas/wire-v0.1.cddl +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/rust/crates/hypermind-proto/src/anti_entropy.rs +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/rust/crates/hypermind-proto/src/cbor.rs +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/rust/crates/hypermind-proto/src/dispute.rs +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/rust/crates/hypermind-proto/src/domain.rs +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/rust/crates/hypermind-proto/src/frost.rs +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/rust/crates/hypermind-proto/src/hlc.rs +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/rust/crates/hypermind-proto/src/lib.rs +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/rust/crates/hypermind-proto/src/reputation.rs +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/rust/crates/hypermind-proto/src/signing.rs +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/rust/crates/hypermind-proto/src/transport.rs +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/rust/crates/hypermind-proto/src/wire.rs +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/rust/crates/hypermind-proto/tests/conformance_frost.rs +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/rust/crates/hypermind-proto/tests/conformance_reputation_dispute.rs +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/rust/crates/hypermind-proto/tests/conformance_wire.rs +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/rust/crates/hypermind-proto/tests/proptest_roundtrip.rs +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/scripts/e2e/README.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/scripts/e2e/e2e_features_test.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/scripts/e2e/e2e_mcp_sequential.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/scripts/e2e/e2e_mcp_test.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/scripts/sync_version.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hmctl/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hmctl/dashboard.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/agent_card.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/api/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/api/app.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/consult.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/consult_bias.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/contract_net.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/crypto/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/crypto/cose_encrypt.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/crypto/dkg.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/crypto/domain.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/crypto/hashing.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/crypto/hlc.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/crypto/hpke.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/crypto/kms.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/crypto/namespace_root.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/crypto/pq.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/crypto/room_epoch.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/crypto/signing.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/did_web.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/dispute.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/domains/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/domains/defense.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/domains/legal.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/domains/medical.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/errors.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/eval/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/eval/calibration.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/eval/comparison.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/eval/composite.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/eval/replay.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/eval/report.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/eval/swarm_iq.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/ingest.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/integrations/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/integrations/contradiction.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/integrations/crewai.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/integrations/freshness.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/integrations/langchain.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/integrations/llamaindex.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/integrations/openai_agents.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/integrations/openai_shapes.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/integrations/quickstart.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/integrations/startup.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/integrations/topic_clustering.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/knowledge/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/knowledge/citation_graph.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/knowledge/correlated_agreement.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/knowledge/embedding_registry.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/knowledge/rekor.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/knowledge/swarm_memory.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/mcp/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/mcp/bridge.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/mcp/provenance.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/mcp/relata_tools.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/mcp/server.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/mind/active.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/mind/belief.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/mind/diversity.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/mind/epistemic_transfer.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/mind/federation.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/mind/fitness.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/mind/grounding_gaps.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/mind/mediator.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/mind/metacognition.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/mind/niche.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/mind/policy.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/mind/records.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/mind/roles.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/mind/world_model.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/moa/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/moa/benchmark.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/moa/digest.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/moa/federation.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/moa/model.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/moa/orchestration_evolution.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/moa/propose.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/moa/reproducibility.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/namespace_policy.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/observability/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/observability/asgi.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/observability/logging_config.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/observability/metrics.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/observability/sample_efficiency.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/orgs/adversarial_gate.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/orgs/context.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/orgs/decomposition_search.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/orgs/deliberate.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/orgs/distributed/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/orgs/distributed/__main__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/orgs/distributed/planning.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/orgs/distributed/protocol.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/orgs/distributed/provision.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/orgs/distributed/serde.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/orgs/experiment.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/orgs/integrity_monitor.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/orgs/interaction.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/orgs/intervention.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/orgs/metrics.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/orgs/model.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/orgs/patterns.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/orgs/prompts.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/orgs/query.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/orgs/receipt.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/orgs/refine.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/orgs/report.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/orgs/server.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/orgs/strategies.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/orgs/stream.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/orgs/templates/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/orgs/tools.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/pin_policy.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/py.typed +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/responders/anthropic.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/responders/base.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/responders/openai.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/revocation.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/rule_ids.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/schemas/encrypted_statement.cddl +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/schemas/namespace_accept.cddl +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/schemas/namespace_create.cddl +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/schemas/namespace_founding_attest.cddl +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/schemas/namespace_invite.cddl +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/schemas/wire-v0.1.cddl +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/security/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/security/prompt_guard.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/_persona_registry.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/backends/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/backends/anchor.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/backends/local.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/backends/server.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/config.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/deployment.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/knowledge.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/modes/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/modes/aar.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/modes/backtest.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/modes/binary_forecast.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/modes/conformance.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/modes/governance.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/modes/redteam.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/modes/tabletop.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/modes/tournament.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/modes/whatif.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/personas.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/prompt_generator.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/question_sets/geopolitics_q20.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/question_sets/governance_q5.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/question_sets/msft_outlook_q10.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/question_sets/whatif_q3.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/registry.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/scenario.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/swarms.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/tool_handlers/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/tool_handlers/alpha_vantage.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/tool_handlers/brave.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/tool_handlers/newsapi.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/tool_handlers/openweather.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/tool_handlers/pinecone.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/tool_handlers/qdrant.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/tool_handlers/query_knowledge_base.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/tool_handlers/relata_recall.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/tool_handlers/retrieve_document.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/tool_handlers/serper.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/tool_handlers/tavily.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/tool_handlers/weaviate.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/tool_handlers/wikipedia.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/tool_handlers/wolfram.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/tool_handlers/yahoo_finance.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/simlab/tool_registry.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/skill_signing.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/storage/backend.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/sync.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/testing.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/tools/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/tools/registry.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/transport/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/transport/knows_delta.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/transport/libp2p.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/transport/placement.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/transport/tls_profile.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/types.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/uncertainty.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/workflow/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/workflow/engine.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/workflow/plan.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/src/hypermind/workflow/repair.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/api/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/api/test_eval_endpoints.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/api/test_events_stream.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/api/test_management_app.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/chaos/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/chaos/test_gossip_amplification.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/chaos/test_kill_agent_during_rfp.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/chaos/test_partition_during_workflow.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/chaos/test_slow_consumer_backpressure.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/chaos/test_slow_peer.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/generate_vectors.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/generate_z66.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/SIGNING.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/agent-card-01.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/agent-card-02.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/capability-01.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/capability-02.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/capability-03.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/dispute-01.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/dispute-02.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/dispute-03.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/dispute-04.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/dispute-05.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/frost-01.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/frost-02.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/frost-03.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/knows-delta-01.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/knows-delta-02.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/mcp-prov-01.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/mcp-prov-02.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/merkle-01.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/merkle-02.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/merkle-03.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/merkle-04.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/rep-decay-01.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/reputation-kernel-01.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/reputation-kernel-02.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/revocation-01.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/revocation-02.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/revocation-03.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/task-01.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/task-02.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/trace-01.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/trace-02.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/wire-envelope-01.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/wire-envelope-02.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/wire-envelope-03.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/wire-envelope-04.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/conformance/vectors/wire-envelope-05.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/harness/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/harness/conftest.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/harness/test_assertion_library.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/harness/test_autonomous_evolution.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/harness/test_runner_lifecycle.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/harness/test_threat_intel_harness.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/helpers/tcp_gossip_interop_peer.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integration/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integration/test_relata_server.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integration/test_tool_calling_e2e.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_895_904_hm_calibration_feedback.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_all_mcp_tools.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_autogen.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_autonomous.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_crewai.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_datasys_hm_related_sqli.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_env_vars_cmd.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_facade.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_fixes_525_526_527.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_hooks.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_langchain.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_llamaindex.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_loop_logging.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_loop_persistence.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_mcp_desktop.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_mcp_tool_descriptions.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_mcp_tools.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_moa_adoption_971.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_no_duplicate_subscriptions.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_notifier.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_openai_agents.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_openai_endpoint.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_openai_endpoint_moa.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_openai_shapes.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_otel_serve_wiring.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_quickstart.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_research_mcp_shared_client.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_research_tool.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_retrieve_author_field.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_sse.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_startup_wiring.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_verifiable_rag.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_verify_v160_tools.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_webhook_server.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/integrations/test_working_memory_atomic_flush.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/mcp/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/mcp/test_multi_connection.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/mind/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/mind/test_deliberator_logging.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/mind/test_deliberator_otel_tick.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/mind/test_deliberator_save_learning_nonblocking.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/mind/test_deliberator_sybil_guard_default.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/mind/test_mind_assign_role.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/mind/test_mind_memory_bounds.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/mind/test_mind_research_antiherd.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/mind/test_selfplay.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/moa/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/moa/conftest.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/moa/test_benchmark.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/moa/test_bounds.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/moa/test_codeexec.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/moa/test_digest.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/moa/test_federation.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/moa/test_learn.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/moa/test_model.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/moa/test_model_tiering.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/moa/test_orchestration_evolution.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/moa/test_population.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/moa/test_propose.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/moa/test_readiness.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/moa/test_refine.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/moa/test_reproducibility.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/_fakes.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_847_intent_routing.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_852_auto_ingest.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_854_local_vector_retrieval.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_855_consensus_protocol.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_857_swarm_iq_feedback.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_859_pattern_detection.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_864_auto_distill.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_891_self_directed_research.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_892_902_dynamic_team_formation.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_adversarial.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_adversarial_gate.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_analysis.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_anchor.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_concurrency.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_context.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_convergence.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_corpus.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_cross_shard.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_datasys_selfreflector_wiring.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_decomposition_search.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_deliberator.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_distributed.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_embeddings.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_evidence.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_experiment.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_fact_merge.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_graph_retrieval.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_grounding_verification.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_groundtruth.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_hybrid_retriever.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_integrity_monitor.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_interaction.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_intervention.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_learned_fact_provenance.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_lightweight.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_mcp_config.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_metrics.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_model.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_ner.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_panel_herding.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_persist_identities.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_prompts.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_publish_atomicity.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_quality.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_query.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_rag.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_receipt.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_refine.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_refuted_claim_retrieval.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_report.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_scale.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_sim.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_sim_events.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_strategies.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_stream.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_stream_query.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_templates.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_think.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_tool_outcomes_bias.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_tool_traces.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_tools.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgs/test_zero_retrieval_abstention.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgsim/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgsim/test_gap_33_fixes.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgsim/test_gap_34_fixes.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgsim/test_gap_35_fixes.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgsim/test_gap_36_fixes.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgsim/test_gap_37_fixes.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgsim/test_gap_38_fixes.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgsim/test_gap_41_fixes.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgsim/test_gap_46_fixes.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgsim/test_gap_47_fixes.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgsim/test_gap_48_fixes.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgsim/test_gap_50_fixes.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgsim/test_gap_50_runtime.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgsim/test_gap_50b_runtime.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgsim/test_gap_51_fixes.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgsim/test_gap_52_fixes.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgsim/test_gap_c_fixes.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgsim/test_gap_rt005_done_condition.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgsim/test_gap_rt006_checkpoint_resume.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgsim/test_gap_rt_cite_rep.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgsim/test_gap_rt_dispute_fsm.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgsim/test_gap_rt_done_factories.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgsim/test_gap_rt_wire9_evidence.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/orgsim/test_orgsim_observability.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/responders/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/responders/test_responders.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/responders/test_router.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/responders/test_structured_response.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/responders/test_tools.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/review/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/review/test_agents_parser.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/review/test_models.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/review/test_runner.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/simlab/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/simlab/conftest.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/simlab/test_app_endpoints.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/simlab/test_knowledge.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/simlab/test_knowledge_reuse.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/simlab/test_modes_aar.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/simlab/test_modes_backtest.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/simlab/test_modes_conformance.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/simlab/test_modes_evaluation.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/simlab/test_modes_governance.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/simlab/test_modes_redteam.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/simlab/test_modes_tabletop.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/simlab/test_modes_tournament.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/simlab/test_modes_whatif.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/simlab/test_personas.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/simlab/test_personas_endpoints.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/simlab/test_recorder_scoping.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/simlab/test_registry.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/simlab/test_resolve_outcomes.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/simlab/test_responder_timeout.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/simlab/test_runner.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/simlab/test_swarms.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/storage/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/storage/test_relata_backend.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/storage/test_sqlite_backend.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_848_ingest_formats.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_853_849_skill_composition_and_templates.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_865_federated_skill_exchange.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_866_niche_construction.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_867_epistemic_transfer.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_868_red_team_role.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_869_metacognition.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_880_weighted_retention.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_884_silent_degraded_modes.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_891_grounding_gap_tracker.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_892_902_eigentrust.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_894_903_sealed_lattice.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_896_905_policy_as_dispute.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_900_850_skill_versioning_and_synthesis_quality_gate.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_910_911_prompt_budget_and_recency.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_914_storage_integrity.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_918_sqlite_fts.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_921_prompt_guard.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_922_skill_auto_demote.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_active_multi_step.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_agent_card.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_agent_e2e.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_agent_edge.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_agent_synthesize.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_anthropic_responder_caching.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_anti_entropy.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_anti_entropy_multiround.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_anti_entropy_selfheal.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_appendix_z_conformance.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_appendix_z_vectors.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_arg_dag_edge_types.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_auto_model.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_backpressure.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_belief_revision.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_belief_weight_per_candidate.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_bias_detector.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_block_reason.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_calibration.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_capability.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_capability_canonical.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_capability_chain.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_capability_edge.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_capability_enforcement.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_capability_namespace_caveat.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_capability_revocation.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_citation_graph.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_cli.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_cli_agent_goal_fixes.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_cli_interop.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_cli_moa.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_composite_lamps_prefix.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_consult.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_consult_stream.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_consult_stream_t4.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_contract_net_disputed_award.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_contract_net_frost_award.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_contract_net_happy.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_contract_net_reputation_scoring.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_contract_net_sybil_filter.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_correlated_agreement.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_cose_encrypt_roundtrip.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_cost_tracker.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_cross_namespace_consult.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_crypto.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_dashboard.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_dataset.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_datasys_atomic_loop_state.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_datasys_brier_feedback_wired.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_datasys_brier_no_self_assess_in_research.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_datasys_citation_dedup.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_datasys_claim_length_bound.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_datasys_confidence_range_check.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_datasys_deliberator_research_dedup.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_datasys_deliberator_stop_persistence.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_datasys_hm_ingest_sandbox.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_datasys_hypothesis_propose_empty_reasoning.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_datasys_job_ttl.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_datasys_loop_security.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_datasys_oracle_audit_export.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_datasys_orgsim_run_forever_candidate_question.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_datasys_panel_size_cap.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_datasys_reputation_persistence_on_close.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_datasys_rounds_cap.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_datasys_storage_write_failure_observability.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_deliberation.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_deliberator_cap.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_deliberator_observe.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_deliberator_parallel_tick.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_determinism_corpus.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_dispute.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_dispute_close_deliberator_notify.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_dispute_fsm_full.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_dispute_mediate.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_dispute_quorum.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_dispute_retrieval_decay.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_dispute_suspended.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_dissent.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_diversity_guard_synthesize.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_diversity_guard_synthesize_jaccard.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_diversity_quorum.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_dkg.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_e2e_research_chain.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_embedding_registry.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_engine_cross_process_behaviors.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_eval_comparison.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_eval_suite.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_evolution_gaps.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_final_coverage.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_frost.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_frost_edge.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_frost_hedged_nonces.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_frost_persistence.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_frost_rust_interop.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_frost_transcript_store_swap.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_hlc_clock_source.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_hpke_vectors.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_info_gain_routing.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_issue_355_brier_apply_after_research.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_issue_356_run_cycle_findings_key.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_issue_357_relata_kernel_query_rows.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_issue_359_deliberator_stop_on_teardown.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_issue_360_curriculum_assign_called.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_issue_487_loop_deliberator_observe.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_issue_491_run_cycle_error_logging.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_issue_492_oracle_resolve_fsm_sequence.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_knows_delta.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_lamps_oid_canonical.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_last_lines.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_learning_retention.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_libp2p_peer_id.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_libp2p_scaffold.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_libp2p_stub.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_machine_identity.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_mcp_bridge.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_mcp_gap_fixes.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_mcp_provenance.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_mcp_tools_list.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_mcp_transport.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_merkle_transparency.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_mind_active.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_mind_assign_role.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_mind_auto_relay_research.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_mind_deliberator.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_mind_diversity_sybil_mediator.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_mind_evolve.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_mind_goal_handle.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_mind_goal_queue_bounds.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_mind_goals_policy.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_mind_learning_persistence.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_mind_planner_wiring.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_mind_records.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_mind_research_antiherd.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_mind_research_brier.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_mind_research_ledger.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_mind_research_memory.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_mind_roles.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_mind_world_model.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_mind_world_model_priority.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_misc_edge.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_mldsa_rust_interop.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_mtls_profile.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_namespace_lifecycle.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_namespace_policy.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_namespace_policy_acl.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_observability_asgi.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_observability_issues_350_351_352.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_observability_otel.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_open_factory.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_oracle_backprop.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_oracle_resolve_closes_dispute.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_oracle_resolve_events.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_orgs_replay_reputation.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_orgsim_persona_ticking.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_otel_export.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_pin_policy.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_pin_policy_compose_zero.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_placement_consistent_hash.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_placement_hint.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_plan_dag.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_plan_repair.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_portable_inclusion_proof.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_pq_default.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_pq_dual_vendor.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_pq_signing.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_priv_ns_conformance_coverage.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_property_based.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_protocol_version.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_public_surface_v05.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_pursue_workflow.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_rate_caveat.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_recorder_bounded.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_recorder_tail.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_reference_verifier_v2.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_rekor_client.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_rekor_downgrade.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_relata_author_hex.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_relata_cbor_disputes.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_relata_grounding.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_relata_hybrid_search.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_relata_tools.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_remaining_gaps.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_replay.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_reputation.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_reputation_concurrency.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_reputation_memory.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_reputation_staleness.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_research_tool_gateway.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_review_fixes.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_revocation.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_revocation_lifecycle.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_room_epoch.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_sample_efficiency.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_schema_hash_pinned.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_secret_redaction.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_security_regressions_495_490_493_494.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_self_heal_cycle1.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_self_heal_cycle2.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_self_heal_cycle3.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_self_heal_cycle3_cascade_isolate.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_self_heal_cycle3_governance.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_self_heal_cycle4.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_self_heal_cycle4_deliberator_broadcast.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_self_heal_cycle5.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_self_heal_cycle6.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_signer_protocol.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_skill_registry.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_sth_cross_gossip.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_swarm_iq.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_swarm_iq_at_scale.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_swarm_iq_recommend.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_swarm_memory.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_swarm_memory_federation.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_swarm_trace.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_swarm_vector_overflow.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_sybil_guard_consult.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_sync_agent.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_tal.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_tal_decay_hlc_wallclock.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_tal_decay_wired.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_task_execution.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_task_handle.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_task_handle_network.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_tcp_duplicate_kid_attack.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_tcp_edge.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_tcp_federation.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_tcp_final.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_tcp_read_loop_cleanup.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_tcp_transport.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_tcp_transport_rust_interop.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_theory_of_mind.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_transport.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_transport_scale_gaps.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_uncertainty.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_uncertainty_edge.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_verify_brier_research_not_self_referential.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_verify_build_mcp_server_no_loop.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_verify_deliberator_posteriors_hydrated.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_verify_hypothesis_book_oracle_resolve.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_verify_self_reflector_topic_kwarg.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_wire.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_wire_edge_cases.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_wire_kid_stability.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_wire_p3.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_wire_version.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_witness_preimage_length_prefix.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_workflow_compensation.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_workflow_engine.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/test_workflow_replay.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/usecases/__init__.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/usecases/conftest.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/usecases/test_ai_01_fed_benchmark.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/usecases/test_ai_alignment_redteam.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/usecases/test_cy_05_ir_swarm.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/usecases/test_cy_11_ransomware_intel.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/usecases/test_ed_credentials.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/usecases/test_en_grid_coordinate.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/usecases/test_fi_04_bsa_314b.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/usecases/test_fi_22_ma_dataroom.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/usecases/test_gv_01_intel_sharing.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/usecases/test_gv_21_red_team.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/usecases/test_hc_06_rare_disease.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/usecases/test_hc_21_fed_learning.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/usecases/test_lg_ediscovery.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/tests/usecases/test_mf_supply_chain.py +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/transport-rust/Cargo.toml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/transport-rust/README.md +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/transport-rust/pyproject.toml +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/transport-rust/src/lib.rs +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/uv.lock +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/vercel.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/index.html +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/package-lock.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/package.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/App.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/api/client.ts +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/components/ActivityCanvas.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/components/AgentContribution.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/components/BrierHeatmap.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/components/CIQTrajectory.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/components/CitationGraph.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/components/DisputeTimeline.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/components/DissentList.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/components/Logo.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/components/NowAsking.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/components/PersonaRadar.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/components/PopulationGenerator.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/components/Term.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/components/forms/SchemaForm.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/components/result/AARTimeline.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/components/result/BacktestScorecard.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/components/result/ConformanceReport.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/components/result/CrisisTabletop.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/components/result/DecisionBracket.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/components/result/EvaluationReport.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/components/result/GovernanceReceipt.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/components/result/MethodNote.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/components/result/RedTeamReport.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/components/result/ScenarioTree.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/docs/index.ts +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/docs/render.ts +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/main.ts +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/router.ts +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/stores/sims.ts +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/styles.css +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/types/trace.ts +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/views/Agents.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/views/Docs.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/views/Evidence.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/views/Home.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/views/HowItWorks.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/views/Knowledge.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/views/Landing.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/views/Namespaces.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/views/Report.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/views/Security.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/views/SimCompare.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/views/SimDetail.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/views/SimList.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/views/SimLive.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/views/SimNew.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/views/Tools.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/src/views/UseCases.vue +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/tsconfig.json +0 -0
- {hypermind-2.1.2 → hypermind-2.2.1}/webui/vite.config.ts +0 -0
|
@@ -0,0 +1,1285 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to the **HyperMind** Python SDK
|
|
4
|
+
([github.com/ZySec-AI/hypermind](https://github.com/ZySec-AI/hypermind))
|
|
5
|
+
are documented in this file.
|
|
6
|
+
|
|
7
|
+
The format is based on [Keep a Changelog 1.1.0](https://keepachangelog.com/en/1.1.0/),
|
|
8
|
+
and this project adheres to [Semantic Versioning 2.0.0](https://semver.org/spec/v2.0.0.html).
|
|
9
|
+
|
|
10
|
+
While the project is in the `0.x` series, minor-version bumps may include
|
|
11
|
+
breaking changes; we will call them out explicitly in a **Changed** or
|
|
12
|
+
**Removed** section. From `1.0.0` onwards, SemVer is binding: breaking
|
|
13
|
+
changes only on major-version bumps.
|
|
14
|
+
|
|
15
|
+
## [Unreleased]
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
- **Single-container streamable-HTTP MCP gateway (#1013).** `deploy/Dockerfile.mcp-http`
|
|
19
|
+
+ `deploy/docker-compose.mcp-http.yml` front `hmctl mcp serve` with
|
|
20
|
+
[`supergateway`](https://github.com/supercorp-ai/supergateway), exposing a
|
|
21
|
+
plain streamable-HTTP `/mcp` endpoint for platform integrations (gateway-style
|
|
22
|
+
tool discovery services) that don't speak raw TCP/SSE. Safe-by-default posture
|
|
23
|
+
matches `deploy/Dockerfile.mcp`: write mode on by default, `MCP_WRITE=0` for
|
|
24
|
+
read-only. Documented in `deploy/README.md`.
|
|
25
|
+
|
|
26
|
+
### Security
|
|
27
|
+
- **CAP_REVOKE now gossips (#943 Phase 1).** A signed `CapRevocationRecord`
|
|
28
|
+
(spec §9.7/§9.7a) previously had no transport — an issuer could construct
|
|
29
|
+
and locally verify a revocation, but only the node that directly called
|
|
30
|
+
`store.record()` enforced it; every other node in the federation kept
|
|
31
|
+
honouring a stolen/compromised grant. `HyperMindAgent.revoke_capability_scope()`
|
|
32
|
+
now gossips the record on the namespace's bus and periodically re-gossips
|
|
33
|
+
it for 30 minutes per the spec's re-gossip obligation
|
|
34
|
+
(`hypermind.transport.cap_revoke_gossip`); every agent auto-subscribes on
|
|
35
|
+
`__aenter__()` so peers converge on the revocation without a separate pull
|
|
36
|
+
mechanism.
|
|
37
|
+
- **Hardening: `CapRevocationRecord.from_cbor()` gained the canonical-CBOR
|
|
38
|
+
re-encoding gate** that `RevocationList.from_cbor()` already had — without
|
|
39
|
+
it, a validly-signed record has multiple valid byte encodings (the
|
|
40
|
+
signature covers only the semantic fields, not the raw bytes), a
|
|
41
|
+
malleability surface that matters now that gossip lets untrusted peers
|
|
42
|
+
send arbitrary bytes to this parser.
|
|
43
|
+
- **Removed a dead, structurally-incompatible duplicate** of
|
|
44
|
+
`CapRevocationStore`/`InMemoryCapRevocationStore` that lived in
|
|
45
|
+
`hypermind.capability` (timestamp+grace-period-scoped) alongside the real,
|
|
46
|
+
live one in `hypermind.cap_revocation` (epoch-scoped) — the duplicate was
|
|
47
|
+
unreachable from `agent.py`'s `__post_init__` in practice (dead code
|
|
48
|
+
behind an always-false `is None` check) but was a correctness trap for
|
|
49
|
+
anyone who imported it directly expecting it to satisfy
|
|
50
|
+
`check_cap_revoked()`'s `max_observed_epoch()` contract.
|
|
51
|
+
- `reference_verifier` gained `parse_cap_revocation_record()` — the
|
|
52
|
+
independent second implementation previously had no way to verify a
|
|
53
|
+
`CapRevocationRecord` at all.
|
|
54
|
+
- **TAL v0.2 signed wire messages (#943 Phase 2).** `hypermind.tal.TAL`
|
|
55
|
+
was pure in-process Python state — room admission and vouches happened,
|
|
56
|
+
but nothing was signed and nothing crossed the wire. `create_room()` /
|
|
57
|
+
`join_room()` / `vouch()` now accept an optional `signing_keypair=` to
|
|
58
|
+
also emit a real `SignedStatement` (`ROOM_DEFINE`/`ROOM_JOIN`/`VOUCH`,
|
|
59
|
+
new record types inheriting A-ALG-BOUND automatically — see
|
|
60
|
+
`hypermind.tal_wire`) and gossip it once `attach_gossip()` is called
|
|
61
|
+
(auto-wired into every `_NamespaceWorld`/`HyperMindAgent`). New
|
|
62
|
+
`TAL.revoke_vouch()` capability (didn't exist before) backs the new
|
|
63
|
+
`VOUCH_REVOKE` message. `TAL.apply_signed()` independently re-verifies
|
|
64
|
+
every inbound message's signature *and* that the envelope's
|
|
65
|
+
cryptographically-bound issuer matches the payload's claimed
|
|
66
|
+
creator/member/voucher identity — closing a forged-claim class where a
|
|
67
|
+
validly-signed envelope could otherwise claim a false identity in its
|
|
68
|
+
payload. `reference_verifier` recognizes the 4 new record types.
|
|
69
|
+
Existing callers that never pass `signing_keypair=` see zero behavior
|
|
70
|
+
change. Reputation-floor updates and `TRUST_QUERY`/`REPUTATION_ATTESTATION`
|
|
71
|
+
are explicitly out of scope for this pass — see `hypermind.tal_wire`'s
|
|
72
|
+
module docstring for the full scoping rationale.
|
|
73
|
+
|
|
74
|
+
### Added
|
|
75
|
+
- **Bi-temporal recall + cross-namespace citation resolution (#942, L3
|
|
76
|
+
follow-up).** `confirmed_hypotheses` entries carried no real timestamp
|
|
77
|
+
before this — only `created_round`, a simulation round index, not a
|
|
78
|
+
point in time. `Hypothesis` gained `created_at_ms`/`resolved_at_ms`;
|
|
79
|
+
`KernelStore.recall_as_of(persona, as_of_ms)` filters a persona's
|
|
80
|
+
`learned_facts`/`confirmed_hypotheses` to what existed by a given
|
|
81
|
+
cutoff (existence-based filtering, not full point-in-time state
|
|
82
|
+
reconstruction — see the docstring for the scoping rationale).
|
|
83
|
+
`prove_hypothesis_inclusion()`/`verify_foreign_hypothesis_citation()`
|
|
84
|
+
add real RFC 6962 Merkle inclusion proofs for a single confirmed
|
|
85
|
+
hypothesis against the persona's sealed `lattice_root`, reusing the
|
|
86
|
+
same proof primitives the per-claim transparency log already uses —
|
|
87
|
+
so a citation across namespaces is independently verifiable, not just
|
|
88
|
+
trusted on the citing agent's word.
|
|
89
|
+
|
|
90
|
+
## [2.2.0] — 2026-07-28
|
|
91
|
+
|
|
92
|
+
Autonomy pass (#983): a code-grounded audit of 10 subsystems on the question
|
|
93
|
+
"does this signal actually change a decision?", then closing every gap it
|
|
94
|
+
found. Weighted autonomy score 2.9 → 4.6 / 5.
|
|
95
|
+
|
|
96
|
+
**Upgrade note.** This is API-compatible — nothing removed, no new required
|
|
97
|
+
arguments — but several defaults now behave differently, deliberately. If you
|
|
98
|
+
depend on the previous behaviour, the relevant knobs are listed under
|
|
99
|
+
*Changed defaults* below. The grounding gates in particular were documented
|
|
100
|
+
no-ops and are now active.
|
|
101
|
+
|
|
102
|
+
### Security
|
|
103
|
+
- **SSRF: redirects were never re-validated.** `_validate_url()` checked only
|
|
104
|
+
the initial URL while `urlopen` followed redirects on its own, so an
|
|
105
|
+
innocent public URL could `302` to `169.254.169.254` and the fetch
|
|
106
|
+
proceeded — handing cloud instance credentials to whoever controlled the
|
|
107
|
+
first host. Every redirect hop is now validated, and all HTTP paths route
|
|
108
|
+
through the validating opener.
|
|
109
|
+
- **SSRF: hostname checks were string-based.** A name an attacker controls
|
|
110
|
+
(`evil.example.com`) is on no blocklist and can resolve to `127.0.0.1`.
|
|
111
|
+
Hostnames are now resolved and every resulting address checked via stdlib
|
|
112
|
+
`ipaddress`, which also catches encodings a prefix check misses entirely
|
|
113
|
+
(`http://2130706433/` is `127.0.0.1`; `::ffff:127.0.0.1` is loopback).
|
|
114
|
+
|
|
115
|
+
### Added
|
|
116
|
+
- `hypermind.profiles` — deployment profiles (`coding`, `research`) bundling
|
|
117
|
+
persona roster, tool allowlist, model tiering and namespace. A second axis
|
|
118
|
+
to the verifiability class, not a mode switch: classification stays
|
|
119
|
+
per-question.
|
|
120
|
+
- `hypermind.orgs.coevolution` — dispute-driven prover/disprover fitness
|
|
121
|
+
(Red Queen dynamics), fed by `OrgSim.coevolution_outcomes()`.
|
|
122
|
+
- `hypermind.observability.silent_failures` — countable exception
|
|
123
|
+
suppression, with `hypermind.observability.health` classifying subsystems
|
|
124
|
+
as healthy/degraded/critical and turning critical failures into research
|
|
125
|
+
goals inside the loop.
|
|
126
|
+
- `hypermind.knowledge.reputation_store` — local reputation persistence so
|
|
127
|
+
trust compounds across runs the way knowledge already did.
|
|
128
|
+
- `hypermind.responders.cache` (`ResponseCache`, `CachingResponder`) and a
|
|
129
|
+
TTL'd provider-result cache in `orgs.tool_providers`.
|
|
130
|
+
- `DifficultyRouter` — routes on the question's verifiability class instead
|
|
131
|
+
of on agent identity; V/G to a cheap model, C/S to a strong one.
|
|
132
|
+
- `quality.set_entailment_scorer()` — optional NLI hook that blends with the
|
|
133
|
+
lexical grounding score rather than replacing it.
|
|
134
|
+
- `SqliteBackend.store_embedding()` + cosine ranking fused with BM25 via RRF,
|
|
135
|
+
making the local backend genuinely hybrid. Opt-in; no embedder means
|
|
136
|
+
byte-identical FTS5-only behaviour.
|
|
137
|
+
- `evolve_population()` generational archive with `stepping_stones()` and
|
|
138
|
+
`archive_lineage()`; gene pool widened to include `tools` and
|
|
139
|
+
`specialisation`.
|
|
140
|
+
|
|
141
|
+
### Fixed
|
|
142
|
+
- **A failed tool call counted as evidence.** `_publish()`'s `evidenced` gate
|
|
143
|
+
tested `'"error"' not in res`, matching only JSON-shaped errors, while all
|
|
144
|
+
eleven search handlers emit `[search error: …]`. A search that *timed out*
|
|
145
|
+
was published with `provenance="evidenced"` — the exact inversion the gate
|
|
146
|
+
exists to prevent. Failure detection is now centralised in
|
|
147
|
+
`tool_providers.is_tool_error()`.
|
|
148
|
+
- **Enabling the evidence gate silently suppressed contradiction detection.**
|
|
149
|
+
`conflict_score = similarity × confidence_product`, so the parametric
|
|
150
|
+
penalty dropped the product ~34% and pushed genuine contradictions below
|
|
151
|
+
the detection floor — one safety mechanism switching off another. The
|
|
152
|
+
scanner now reads the new `_ClaimInfo.stated_confidence`.
|
|
153
|
+
- **Reputation slashing ignored `weight`.** `record_outcome()`'s
|
|
154
|
+
smooth-slashing branch shaved α by a flat `lam` while the β increment
|
|
155
|
+
beside it was weight-scaled, so a caller could decline to reward an outcome
|
|
156
|
+
but never decline to punish one. `weight=1.0` still reproduces
|
|
157
|
+
`α·(1-lam)` exactly.
|
|
158
|
+
- Expert relevance ranked on raw token overlap summed without bound: an
|
|
159
|
+
author with many weakly-relevant findings outscored the one author whose
|
|
160
|
+
finding matched the query's most discriminative term (measured 56.8 vs 6.0
|
|
161
|
+
on a synthetic corpus; now 6.5 vs 4.9). Now IDF-weighted as
|
|
162
|
+
`best_match + EXPERT_BREADTH_WEIGHT·log(1+n)`.
|
|
163
|
+
- `RelataBackend.hybrid_search()` requested a BM25+vector ranking then
|
|
164
|
+
discarded it, re-sorting by raw substring count. Server and lexical
|
|
165
|
+
rankings are now fused with RRF.
|
|
166
|
+
- Grounding could not distinguish a claim from its own negation — "X causes
|
|
167
|
+
Y" and "X does not cause Y" share every substantive token. Polarity
|
|
168
|
+
(parity-based) and numeric contradiction checks now apply.
|
|
169
|
+
- Population clones never inherited their parent's toolkit.
|
|
170
|
+
- `config.py` had a duplicate `ORG_STREAM_TOP_K` definition, the second
|
|
171
|
+
silently shadowing the first. Effective default (`5`) unchanged.
|
|
172
|
+
|
|
173
|
+
### Changed defaults
|
|
174
|
+
- `moa_answer()`/`moa_answer_from_messages()`: `on_not_ready` `"raise"` →
|
|
175
|
+
`"learn"`, so a cold topic self-bootstraps rather than refusing on first
|
|
176
|
+
use. `hmctl moa ask` and the `hm-moa` HTTP endpoint pin `"raise"`
|
|
177
|
+
explicitly, so their fail-fast behaviour and the `MOA-TOPIC-NOT-LEARNED`
|
|
178
|
+
runbook are unchanged.
|
|
179
|
+
- `MIN_EVIDENCE_FOR_PUBLISH` `0` → `1` and `QUALITY_GATE_ENABLED` `0` → `1`.
|
|
180
|
+
Both shipped as documented no-ops; neither blocks a publish, they label and
|
|
181
|
+
discount.
|
|
182
|
+
- `GROUNDING_VERIFY_MIN_OVERLAP` and `QUALITY_HALLUCINATION_THRESHOLD`
|
|
183
|
+
`0.05` → `0.20`. At 0.05 only a total non-sequitur could fail.
|
|
184
|
+
- `MOA_MAX_REFINEMENT_ROUNDS` `1` → `2` — the critique/revise loop was a
|
|
185
|
+
no-op by default despite `refine_rounds` being wired.
|
|
186
|
+
- `OrgSim(persist_identities=…)` `False` → `True`, so persisted reputation
|
|
187
|
+
keys to kids that recur.
|
|
188
|
+
- MoA panel size and refinement rounds are now class-conditional when not
|
|
189
|
+
passed explicitly (V: 1 proposer, G: 6 + an extra round, C/S: 3).
|
|
190
|
+
- Population fitness is derived from oracle-confirmed `strategy_perf`;
|
|
191
|
+
verdicts reached without an external ground truth are excluded from
|
|
192
|
+
fitness entirely and scaled by `SELF_GRADED_CREDIT_WEIGHT` (0.25) in
|
|
193
|
+
reputation.
|
|
194
|
+
- Hypothesis promotion to `supported` requires a declared falsifier to have
|
|
195
|
+
been met; status weighs evidence quality rather than list length.
|
|
196
|
+
|
|
197
|
+
### Changed
|
|
198
|
+
- `moa_answer()`'s `k`/`refine_rounds` accept `None` (resolved per
|
|
199
|
+
verifiability class). Explicitly-passed values always win.
|
|
200
|
+
- `oracle_resolve()` gains `credit_weight` (default `1.0`) so a verdict can
|
|
201
|
+
be priced by how falsifiable the claim was.
|
|
202
|
+
- 449 previously-silent exception-suppression sites now record what they
|
|
203
|
+
swallow.
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
## [2.1.5] — 2026-07-27
|
|
207
|
+
|
|
208
|
+
### Changed
|
|
209
|
+
- `hmctl eval` HTML report: professional dark-theme redesign (Inter + JetBrains Mono, dark palette, leaderboard cards, sticky tables, category pills, print-friendly)
|
|
210
|
+
|
|
211
|
+
## [2.1.4] — 2026-07-27
|
|
212
|
+
|
|
213
|
+
### Added
|
|
214
|
+
- `hmctl eval` — 9-category IEEE-defensible benchmark (18 questions × 4 models)
|
|
215
|
+
- Categories: Domain Knowledge, Hallucination Trap, Adversarial, OOD, Distributional Bias, Temporal Drift, Factual Friction, Confidence Calibration, Specificity
|
|
216
|
+
- Auto-seed via `/v1/hm/publish` before eval
|
|
217
|
+
- Category breakdown, calibration analysis, per-question comparison in HTML report
|
|
218
|
+
- How-Each-Model-Works architecture table + MoA two-phase diagram
|
|
219
|
+
|
|
220
|
+
## [2.1.3] — 2026-07-27
|
|
221
|
+
|
|
222
|
+
### Added
|
|
223
|
+
- `hmctl eval run` — research-grade HTML benchmark across all 4 models (hm-network, hm-corpus, hm-moa, hm-direct)
|
|
224
|
+
- 5-question curated set: Domain Knowledge, Hallucination Trap, Adversarial categories
|
|
225
|
+
- Self-contained HTML report: leaderboard, confidence bars, use-case matrix, model reference cards
|
|
226
|
+
|
|
227
|
+
## [2.1.2] — 2026-07-27
|
|
228
|
+
|
|
229
|
+
### Added
|
|
230
|
+
- **`hmctl serve-endpoint` LLM responder auto-wiring**: auto-detects `OPENAI_API_KEY` / `OPENAI_BASE_URL` / `HYPERMIND_LLM_MODEL` from env and wires `OpenAIResponder` at startup — all three models (`hm-network`, `hm-corpus`, `hm-moa`) now generate real LLM rationale when a key is present. Falls back to reputation-only with a warning when no key is set.
|
|
231
|
+
- **`--system-prompt` flag on `serve-endpoint`**: default scopes every panel member to swarm-verified knowledge and prefixes answers with `"HyperMind says — "`. Override with `--system-prompt "..."` per invocation.
|
|
232
|
+
- **`"HyperMind says — "` response prefix**: all `/v1/chat/completions` responses (streaming and non-streaming) are now prefixed, making it clear answers come from the HyperMind swarm.
|
|
233
|
+
|
|
234
|
+
### Fixed
|
|
235
|
+
- Docker `CMD`: `hmctl mcp serve` now explicitly passes `--write --log-level info` — connections and tool calls are visible in `docker logs` output.
|
|
236
|
+
|
|
237
|
+
## [2.1.1] — 2026-07-27
|
|
238
|
+
|
|
239
|
+
### Added
|
|
240
|
+
- **Web search result capture** (#973): agents now fetch every search result URL (previously capped at 3), convert HTML to clean markdown via `trafilatura` (strips nav/ads/footers), and store in Relata `/memory/remember` under `{agent_id}/web-search/{url_hash}` with full metadata. Each page is linked to its originating claim via `associate("source_for")`. Future rounds can recall full page content via `/memory/recall` instead of snippets only. `trafilatura>=1.6` added to the `[ingest]` optional extra; falls back to bs4 then skips gracefully.
|
|
241
|
+
- **`hmctl status` endpoint panel**: a dedicated always-visible panel shows HyperMind's OpenAI-compatible endpoint URL, connection snippet, all models with descriptions, and all routes — turns green when live.
|
|
242
|
+
- **`GET /v1/models` spec compliance**: response now includes `created` (Unix timestamp) alongside `id`, `object`, `owned_by`, and `description` — fully OpenAI-spec-compliant.
|
|
243
|
+
|
|
244
|
+
### Fixed
|
|
245
|
+
- Docker: `hmctl mcp serve` env file no longer overrides compose-set env vars (e.g. `RELATA_URL`) — process env takes priority over `/data/env` file values.
|
|
246
|
+
|
|
247
|
+
## [2.1.0] — 2026-07-27
|
|
248
|
+
|
|
249
|
+
### Added
|
|
250
|
+
- **Mixture-of-Agents (MoA) OpenAI-compatible endpoint** (EPIC #949): `learn(topic)` runs one research cycle with a large model and persists what was learned to `KernelStore`; from then on `model="hm-moa"` on the existing OpenAI-compatible endpoint answers questions by having a small/cheap model panel **propose** independent draft answers, then verify or consolidate them — verified by sandboxed execution for code (`CodeExecutionAnchor`, #959), reputation/calibration-weighted synthesis otherwise (#951) — instead of passing through one panelist's raw text. Query digestion condenses multi-turn chat into a standalone, topic-routed, bounded-decomposed query before serving (#963); a verifiability-class router (V/C/S/G, #958) picks the right verdict mechanism per question and discloses trust/expertise tiers; a readiness gate fails closed with a stable `rule_id` and self-queues a research goal on cold topics instead of answering weakly (#956); bounded critique/revise refinement (#960) and real per-proposer SSE streaming (#952) round out the serving path. Self-improvement closes several loops: population evolution now reaches `select_experts()` (#961), `tool_outcomes` feedback is read as well as written (#964), the pipeline's own orchestration parameters (panel size, aggregation weighting) evolve under the same regression-gated pattern as personas (#966), and research decomposition uses best-first/beam search over independent candidate plans instead of single-thread refinement (#967). A mandatory adversarial Sceptic pass gates confidence-only hypothesis confirmation absent an external ground-truth anchor (#968), and lightweight integrity monitors flag — and seal as tamper-evident, signed records — gaming of the system's own verification (#969). A benchmark harness (#955) and signed, independently-replayable evaluation bundles (#965) substantiate the "beats a frontier model at a fraction of cost" claim, with sample efficiency (calls/tokens-to-confidence) tracked as its own objective alongside quality and `$`-cost (#970). `hmctl moa {learn,status,ask,serve,benchmark,replay-bundle}` plus `examples/30_moa_endpoint.py` (CI-safe, no API key required) cover the CLI and drop-in-adoption surface (#957, #971) — the real, unmodified `openai` Python SDK works against `hm-moa` via a `base_url` change alone, including standard-shaped error handling for structured refusals.
|
|
251
|
+
|
|
252
|
+
### Added
|
|
253
|
+
- **L1–L5 Autonomous Intelligence Stack** (EPIC #932): the full five-level autonomy ladder. **L1** — a `GroundingGapTracker` (#891) turns recurring zero-grounding topics in `OrgSim._think()` into self-generated research goals merged into `run_forever()`'s EIG-ranked candidate list. **L2** — `ReputationKernel.eigentrust()` (#892, #902) computes transitive trust over the vouch graph (EigenTrust power iteration), blended into `select_experts()`'s ranking and exposed via `hm_agents`. **L3** — `KernelStore` schema v6 adds a `lattice_root` (#894, #903): an RFC 6962 Merkle root over confirmed knowledge, independently verifiable via `KernelStore.verify_lattice()` without the local HMAC secret. **L4** — a deterministic evolve-tick → clone → outperform test plus `apply_calibration_feedback()` (#895, #904) wiring Brier/ECE calibration into `KernelStore.policy_params` via an opt-in `hm_calibration` `apply_feedback` param. **L5** — `propose_policy_change()`/`check_quorum()`/`apply_ratified_proposal()` (#896, #905): policy changes are published as signed claims and must survive the existing, unmodified dispute FSM before taking effect — a single dispute blocks ratification unilaterally. See `docs/concepts.md` §13 for the full write-up. Two smaller gaps closed alongside: versioned skill evolution with bounded history (#900) and a confirmation-rate quality gate on skill synthesis (#850), closing EPIC #934.
|
|
254
|
+
- **Rust port** — a new `rust/` Cargo workspace (`hypermind-proto` protocol-primitives library + `hmctl` daemon-client CLI) covering the wire format (COSE_Sign1, A-ALG-BOUND), Ed25519 + ML-DSA-65 hybrid PQ signing, RFC 9591 FROST threshold Schnorr, the reputation kernel, the dispute FSM, Bloom-filter anti-entropy, and a TCP gossip transport interoperable with the Python `TCPGossipBus`. Proven via genuine cross-language interop tests (real subprocesses, real sockets) and conformance vectors shared with the Python SDK. See `rust/README.md` for scope and what deliberately stays Python-only (#924–#931).
|
|
255
|
+
- Federated skill exchange with SCITT chain-of-custody, cross-swarm epistemic-strategy transfer, semantic pattern/trend detection, local dense-vector retrieval, emergent niche construction, auto-distillation of confirmed knowledge, meta-cognitive blind-spot tracking, adversarial red-team falsification agents, explicit consensus/voting protocol, hierarchical skill composition, opt-in learn-vs-serve routing, document ingest (PDF/DOCX/HTML/plain) at research-loop startup (#847–#869).
|
|
256
|
+
- FTS5 full-text search + `hybrid_search()` on the SQLite backend (#918).
|
|
257
|
+
|
|
258
|
+
### Fixed
|
|
259
|
+
- **Critical security**: pickle RCE in the SQLite dispute backend replaced with CBOR (#882); missing `operator_affiliation`/`financial_interest` on RECEIPT payloads (#842); absent CAP_REVOKE/CAP_GRANT lifecycle (#841); namespace ACL `evaluate()` not wired into `_require_cap` (#840); L4 namespace cascade validation missing on inbound statements (#839); no post-generation grounding verification (#886); refuted claims retrievable as authoritative (#889); federated-skill RCE via bypassable exec blocklist, unsigned `HmSkill` rows, and unverified skill output entering LLM grounding (#912, #913, #915).
|
|
260
|
+
- **High severity**: unbounded `confirmer_set` (#844); non-deterministic HLC-based reputation decay (#843, and the follow-on wall-clock/HLC seeding bug, #937); no reputation gate on federated skill adoption (#919); broken `delete_skill` (#917); skill-description prompt injection (#916); unsigned `KernelStore.learned_facts` (#898); `ask()` silently overriding `min_trust=0.0` (#899); non-atomic publish causing crash data loss (#893); receipts missing grounding-kid provenance (#890); panel herding from shared grounding (#897); `quality.py` never wired into live paths (#909); missing minimum-evidence gate on claim publication (#907); missing `close_dispute()`/`recall()` SDK verbs (#858, #856); refuted hypotheses leaking into `learned_facts` (#877); free generation on zero retrieval (#876).
|
|
261
|
+
- 18 medium- and 4 low-severity findings across storage integrity, retrieval ranking, fact dedup, and degraded-mode visibility (#878–#888, #914, #920–#923).
|
|
262
|
+
|
|
263
|
+
### Changed
|
|
264
|
+
- Retention policy across the retrieval/storage layer is now confidence/recency-weighted instead of FIFO (#880).
|
|
265
|
+
|
|
266
|
+
Full detail for every item above is in the individual closed GitHub issues; this PR is the cumulative diff.
|
|
267
|
+
|
|
268
|
+
## [1.12.1] — 2026-07-25
|
|
269
|
+
|
|
270
|
+
### Fixed
|
|
271
|
+
- **CI quality gate** — greened the test suite against the cycle-52/53 engine gap work and fixed latent bugs: a `Deliberator` `AttributeError` (`ActionDecision.topic`) that left ticks undispatched, a self-deadlock in `working_memory` LRU eviction (non-reentrant lock re-acquired on the same thread), and env-var resolution in `KernelStore` (`HYPERMIND_HOME` / `RELATA_URL` now honour runtime overrides over the import-time snapshot). Explicit `rounds=` is again a fixed-count contract; recall depth honours `retrieval_k`; `HYPERMIND_CONSOLE` is read live.
|
|
272
|
+
|
|
273
|
+
## [1.12.0] — 2026-07-24
|
|
274
|
+
|
|
275
|
+
### Fixed
|
|
276
|
+
- **PATH-3** — `start_loop()` / `_loop_task()` / `_run_cycle()` now accept a `persona` kwarg so OrgSim can supply the member label directly; previously the KernelStore persona key fell back to `kid_hex[:32]`, silently severing the loop→OrgSim knowledge bridge.
|
|
277
|
+
- **PATH-5** — broken `and None` in `hm_activity` Relata backend lookup (`mcp_tools.py`) always resolved to `None`, so the claims-count stat was never read from the live backend.
|
|
278
|
+
- **PATH-6** — promoted `HYPERMIND_INGEST_ROOT`, `HYPERMIND_MAX_CLAIM_TEXT_CHARS`, and `HYPERMIND_CONSOLE` to named constants in `config.py`; all three previously used raw `os.environ.get()` calls scattered across the codebase.
|
|
279
|
+
|
|
280
|
+
## [1.11.0] — 2026-07-22
|
|
281
|
+
|
|
282
|
+
### Fixed
|
|
283
|
+
- **Open-issue sweep** — closed all remaining open tickets: YAML frontmatter multi-line fix, `async to_thread` wrapper for `auto_promote`, and Definition-of-Done closures across the backlog.
|
|
284
|
+
|
|
285
|
+
## [1.10.1] — 2026-07-22
|
|
286
|
+
|
|
287
|
+
### Added
|
|
288
|
+
- **S6 self-evolution — learning retention & skill compounding** (#814–#822) — cross-sim learned-fact persistence and skill compounding via `KernelStore`; confirmed hypotheses and work history hydrate `working_memory` on the next sim start.
|
|
289
|
+
- **Self-evolution loop over MCP** — `hm_evolve_now` and related tools expose the evolution cycle to MCP clients.
|
|
290
|
+
- **MCP surface gaps + cross-sim data completeness** (#828–#837) — closed MCP tool-coverage gaps and completed the cross-simulation data path.
|
|
291
|
+
|
|
292
|
+
### Fixed
|
|
293
|
+
- **G7 / G12 / G13 / G18** — reasoning-strategy parsing, EIG refresh, `work_history` wiring, and prediction-match scoring in the hypothesis lifecycle.
|
|
294
|
+
|
|
295
|
+
### Docs
|
|
296
|
+
- Synced `docs/spec/20-swarm-intelligence.md` and `CLAUDE.md` with the self-evolution changes (G7/G12/G13/G18).
|
|
297
|
+
|
|
298
|
+
## [1.9.7] — 2026-07-21
|
|
299
|
+
|
|
300
|
+
### Added
|
|
301
|
+
- **HTTP MCP servers in Docker** — added Node.js + `mcp-remote` to the container image so it can talk to HTTP/SSE MCP servers, not just stdio.
|
|
302
|
+
|
|
303
|
+
## [1.9.6] — 2026-07-21
|
|
304
|
+
|
|
305
|
+
### Fixed
|
|
306
|
+
- **MCP tools wire in serve path** — `attach_mcp_config` is now awaited inside the async `_serve` so discovered MCP tools are registered before the first request.
|
|
307
|
+
|
|
308
|
+
## [1.9.5] — 2026-07-21
|
|
309
|
+
|
|
310
|
+
### Fixed
|
|
311
|
+
- **MCP env-file precedence** — a local env file now overrides the empty defaults injected by docker-compose at serve startup.
|
|
312
|
+
|
|
313
|
+
## [1.9.4] — 2026-07-21
|
|
314
|
+
|
|
315
|
+
### Added
|
|
316
|
+
- **Tool-calling responder in `hm_ask`** — wired `ToolCallingResponder` with search tools into the `hm_ask` agent panel so consult can invoke tools.
|
|
317
|
+
|
|
318
|
+
## [1.9.3] — 2026-07-21
|
|
319
|
+
|
|
320
|
+
### Added
|
|
321
|
+
- **`GoalHandle.cancel()`** — running goals can now be cancelled.
|
|
322
|
+
- **Social-media-research MCP scenario** — new scenario exercising tool discovery end-to-end.
|
|
323
|
+
|
|
324
|
+
### Fixed
|
|
325
|
+
- **Tool discovery sync** — resolved a race in tool-discovery synchronisation.
|
|
326
|
+
- `scenario_social_media_research` now always uses `SyntheticResponder` in demo mode and always passes an explicit `llm_client` to `OrgSim`.
|
|
327
|
+
|
|
328
|
+
## [1.9.1] — 2026-07-21
|
|
329
|
+
|
|
330
|
+
### Added
|
|
331
|
+
- **AUTO model selection** — `model=AUTO` picks an appropriate backend from the environment.
|
|
332
|
+
- **MCP defaults and status improvements** — saner MCP defaults and richer serve status reporting.
|
|
333
|
+
|
|
334
|
+
### Fixed
|
|
335
|
+
- **Grounded HyperMind retrieval with Relata** (#813) — `hm_ask`/retrieve now grounds on real Relata sources instead of stubbed hits.
|
|
336
|
+
- **E2E MCP suite** — corrected tool param names and handled single-node swarm tools gracefully (57/57 pass).
|
|
337
|
+
|
|
338
|
+
## [1.9.0] — 2026-07-17
|
|
339
|
+
|
|
340
|
+
### Changed
|
|
341
|
+
- **Deprecation removal** — dropped Python 3.11 support; removed the deprecated `close()` path while restoring the `witness_cosign()` / `legacy-ed25519` compat shim and `from_env()` on a TCP bus.
|
|
342
|
+
- **`HYPERMIND_HOME`** — consolidated home-directory env var.
|
|
343
|
+
|
|
344
|
+
### Added
|
|
345
|
+
- **Docker image + file-based MCP config** (#812) — official `ghcr.io/zysec-ai/hypermind` MCP image, file-based MCP server config, and CI publish-on-tag.
|
|
346
|
+
- **Pre-push ruff lint gate** for contributors.
|
|
347
|
+
|
|
348
|
+
### Fixed
|
|
349
|
+
- **Dispute `_STRICT_QUORUM`** — `close()` without `witness_signatures` now respects the strict-quorum guard.
|
|
350
|
+
- `from_env(sandbox=False)` now builds the world with the TCP bus so `agent._world.bus` is the real transport.
|
|
351
|
+
|
|
352
|
+
## [1.8.3] — 2026-07-13
|
|
353
|
+
|
|
354
|
+
### Fixed
|
|
355
|
+
- **Wave-1/2 issue merge** — 100+ backlog issues resolved across the SDK surface.
|
|
356
|
+
|
|
357
|
+
## [1.8.2] — 2026-07-13
|
|
358
|
+
|
|
359
|
+
Release-plumbing bump; no functional changes beyond `[1.8.1]`.
|
|
360
|
+
|
|
361
|
+
## [1.8.1] — 2026-07-12
|
|
362
|
+
|
|
363
|
+
### Added
|
|
364
|
+
- **Persistence epic #647** — TAL, hypotheses, skills, and world state are now persisted; skills auto-load from the backend on startup and the registry is wired into deliberators.
|
|
365
|
+
- **Agent learning → skills pipeline** — confirmed learning is distilled into reusable skills (spec §20.7 Skill Evolution Loop).
|
|
366
|
+
|
|
367
|
+
### Security
|
|
368
|
+
- **Skill execution surface hardened.**
|
|
369
|
+
|
|
370
|
+
### Changed
|
|
371
|
+
- Skills fall back to the file store (not SQLite) for local persistence.
|
|
372
|
+
|
|
373
|
+
## [1.8.0] — 2026-07-12
|
|
374
|
+
|
|
375
|
+
### Added
|
|
376
|
+
- **SQLite is the default storage backend**, with Relata discovery hints surfaced in the MCP server banner.
|
|
377
|
+
|
|
378
|
+
### Docs
|
|
379
|
+
- Clarified that releases go through GitHub Actions (tag-triggered), not manual `twine` upload.
|
|
380
|
+
|
|
381
|
+
## [1.7.10] — 2026-07-12
|
|
382
|
+
|
|
383
|
+
### Changed
|
|
384
|
+
- **Removed the in-memory storage fallback** — SQLite is always the default; there is no silent no-op storage path.
|
|
385
|
+
|
|
386
|
+
## [1.7.9] — 2026-07-12
|
|
387
|
+
|
|
388
|
+
### Fixed
|
|
389
|
+
- **Scalability pass (medium/low)** — closed the remaining 11 medium/low unbounded-growth and concurrency hazards.
|
|
390
|
+
|
|
391
|
+
## [1.7.8] — 2026-07-12
|
|
392
|
+
|
|
393
|
+
### Fixed
|
|
394
|
+
- **Scalability pass (high)** — closed 6 high-severity unbounded-growth and concurrency hazards.
|
|
395
|
+
|
|
396
|
+
## [1.7.7] — 2026-07-12
|
|
397
|
+
|
|
398
|
+
### Fixed
|
|
399
|
+
- **MCP discovery/pagination** — closed four discovery and pagination gaps in the MCP tool surface.
|
|
400
|
+
|
|
401
|
+
## [1.7.6] — 2026-07-12
|
|
402
|
+
|
|
403
|
+
### Fixed
|
|
404
|
+
- Widened a parallel-tick timing test so it passes reliably on loaded CI runners.
|
|
405
|
+
|
|
406
|
+
## [1.7.5] — 2026-07-12
|
|
407
|
+
|
|
408
|
+
### Changed
|
|
409
|
+
- **Consult panel timeout** raised to 120s, configurable via `HYPERMIND_LLM_TIMEOUT_S`.
|
|
410
|
+
|
|
411
|
+
## [1.7.4] — 2026-07-12
|
|
412
|
+
|
|
413
|
+
### Fixed
|
|
414
|
+
- **Gap-fix Waves 1–3** — closed integration-seam gaps across `mcp_tools`, `responders`, `reputation`, `citation_graph`, `tcp`, `anti_entropy`, `hypothesis`, `replay`, `evidence`, `topic_clustering`, `tool_providers`, `client`, `loop`, `working_memory`, `evolve`, `orgs/sim`, and the mind layer (`agent`, `belief`, `world_model`, `goals`, `mediator`, `dataset`, `leverage`).
|
|
415
|
+
- **Claude Desktop stdio** wiring, resilient Relata startup, and core-dependency pinning.
|
|
416
|
+
- ruff clean-up after wave-3 (RUF005, F841, B905).
|
|
417
|
+
|
|
418
|
+
## [1.7.3] — 2026-07-12
|
|
419
|
+
|
|
420
|
+
### Fixed
|
|
421
|
+
- **Autonomous-engine Sprint 4 audit** — 10 critical integration-seam gaps closed.
|
|
422
|
+
|
|
423
|
+
## [1.7.2] — 2026-07-12
|
|
424
|
+
|
|
425
|
+
### Added
|
|
426
|
+
- **Multi-user TCP/WebSocket MCP listener** (#601) — serves multiple concurrent MCP clients over a shared TCP/WebSocket transport.
|
|
427
|
+
|
|
428
|
+
## [1.7.1] — 2026-07-12
|
|
429
|
+
|
|
430
|
+
### Added
|
|
431
|
+
- Revocation conformance vectors.
|
|
432
|
+
|
|
433
|
+
### Fixed
|
|
434
|
+
- **Autonomous-engine Sprint 3 audit** + loop test stabilisation (`load/save_loop_state` patched in loop timing tests).
|
|
435
|
+
- Tickets #582–#595 — analysis, roles, pin_policy, dispute `rule_ids`, cli.
|
|
436
|
+
- `hm_publish_claim` now respects `topic=` (auto-join topic room in `client.publish`).
|
|
437
|
+
|
|
438
|
+
## [1.7.0] — 2026-07-12
|
|
439
|
+
|
|
440
|
+
### Fixed
|
|
441
|
+
- **Autonomous-engine Sprint 2 audit** — 18 gaps closed across 8 subsystems.
|
|
442
|
+
|
|
443
|
+
## [1.6.9] — 2026-07-12
|
|
444
|
+
|
|
445
|
+
### Fixed
|
|
446
|
+
- **Full-stack autonomous-engine audit** — 21 gaps closed across 6 subsystems.
|
|
447
|
+
- **Author-attribution correctness** — author identity corrected in `append_claim` / `retrieve()` (relata backend + client); attribution merge from audit agent.
|
|
448
|
+
|
|
449
|
+
## [1.6.8] — 2026-07-12
|
|
450
|
+
|
|
451
|
+
### Changed
|
|
452
|
+
- **ruff format CI gate** fixed; format violations in `examples/` corrected.
|
|
453
|
+
|
|
454
|
+
## [1.6.7] — 2026-07-12
|
|
455
|
+
|
|
456
|
+
### Fixed
|
|
457
|
+
- **5-gap audit** (cli, tal, responders, pin_policy) — agent list, goal submit, vouch decay, prompt caching, `compose()`.
|
|
458
|
+
- `argue()` guard + lint cleanup + `__all__` sort (dispute, harness, examples).
|
|
459
|
+
|
|
460
|
+
## [1.6.6] — 2026-07-12
|
|
461
|
+
|
|
462
|
+
### Fixed
|
|
463
|
+
- **TCP graylist pruning, FROST nonce persistence, OrgSim embedding dedup, hypothesis validation** (transport, crypto, orgs).
|
|
464
|
+
- **Bounded unbounded structures + atomic FROST write** (transport, orgs, crypto).
|
|
465
|
+
- 3 autonomous-engine gaps in `hm_calibration` and `hm_evolve_now` (mcp).
|
|
466
|
+
|
|
467
|
+
## [1.6.5] — 2026-07-12
|
|
468
|
+
|
|
469
|
+
### Fixed
|
|
470
|
+
- Guard `test_issue_357` with `importorskip` — relata is not in CI `[test]` extras.
|
|
471
|
+
|
|
472
|
+
## [1.6.4] — 2026-07-12
|
|
473
|
+
|
|
474
|
+
### Security
|
|
475
|
+
- **`oracle_resolve()` 1-of-1 quorum bypass (HM-DISPUTE-QUORUM-001)** — a single signer could satisfy the dispute resolution quorum; closed.
|
|
476
|
+
- **SSRF / DNS-rebinding in `_is_safe_url`** — integrations URL-safety guard hardened.
|
|
477
|
+
|
|
478
|
+
### Added
|
|
479
|
+
- CLI commands: agent list, goal submit, claims list; all `HYPERMIND_*` env vars documented.
|
|
480
|
+
|
|
481
|
+
### Fixed
|
|
482
|
+
- Deliberator posterior merge order; `ContraClaimDisputePolicy` import resolved.
|
|
483
|
+
- Autonomous-engine sprint: oracle FSM, deliberator gaps, loop calibration, missing MCP tools.
|
|
484
|
+
- `HYPERMIND_LOG_ROOT` containment guard for `log_file` hooks.
|
|
485
|
+
- `hm_hypothesis` wired into `HypothesisBook` lifecycle.
|
|
486
|
+
- `InformationGainPlanner` removes the winning question from `working_memory` after `pick()`.
|
|
487
|
+
- `from_env(sandbox=False)` — `connect_to_peer`→`connect`, `bus.start()`, TCP bus wired into world.
|
|
488
|
+
- Raw `bond_topic_scope` passed to `dispute.close()` instead of SHA-256 hex.
|
|
489
|
+
|
|
490
|
+
## [1.6.3] — 2026-07-12
|
|
491
|
+
|
|
492
|
+
### Fixed
|
|
493
|
+
- All CI failures resolved — env isolation, hook test, hybrid search stubs.
|
|
494
|
+
- `hm_retrieve` SQL error; `hm_ask` Ollama model auto-detection.
|
|
495
|
+
|
|
496
|
+
## [1.6.2] — 2026-07-12
|
|
497
|
+
|
|
498
|
+
### Added
|
|
499
|
+
- `strategy_history` wiring + full MCP tool test suite (76 tests).
|
|
500
|
+
|
|
501
|
+
### Fixed
|
|
502
|
+
- Autonomous-engine gaps — `GoalQueue.push()`, deliberator goals lookup, peer persistence.
|
|
503
|
+
|
|
504
|
+
## [1.6.1] — 2026-07-12
|
|
505
|
+
|
|
506
|
+
### Changed
|
|
507
|
+
- Lint clean, coverage gate at 75%, duplicate command removed.
|
|
508
|
+
|
|
509
|
+
### Fixed
|
|
510
|
+
- Autonomous-engine final audit pass + verification pass — remaining critical/high gaps closed.
|
|
511
|
+
- Order-dependent test failures and deprecation warnings resolved.
|
|
512
|
+
|
|
513
|
+
### Docs
|
|
514
|
+
- README badge counts updated for v1.6.0 (2772 tests, 52 MCP tools).
|
|
515
|
+
|
|
516
|
+
## [1.6.0] — 2026-07-11
|
|
517
|
+
|
|
518
|
+
### Added
|
|
519
|
+
- **Autonomous engine — cohesion & wave 4–5.** Roles API (`hypermind.mind.roles`), federation relay, distributed kernel store, cross-run learning, in-loop research with anti-herding, Jaccard-fix similarity, Brier-score wiring into reputation, OrgSim ticking scheduler, and a startup coordinator. Event-pipeline wiring + end-to-end tests + feedback loops across the mind / storage / integration layers (12 gaps closed).
|
|
520
|
+
- **MCP tool audit.** Improved every tool description, fixed input schemas, added missing tools (dispute/oracle/vouch/synthesize/hooks surface; v1.6 additions: `hm_goal_submit`, `hm_claims_list`, `hm_dispute_list`, `hm_reputation_show`). Tool count now **52 read-only / 53 with `--write`**.
|
|
521
|
+
- **CLI + SDK exports.** New `hmctl` commands, expanded SDK `__all__` exports, and an enforced coverage gate.
|
|
522
|
+
- **Three-layer event-driven integration** (ADR-0006) — inbound webhooks (`hmctl webhook serve`), outbound notifications (`HYPERMIND_NOTIFY_URL` / `_FILE`), and a declarative runtime hook chain (`~/.hypermind/hooks.yaml`, `hm_hooks` tool).
|
|
523
|
+
|
|
524
|
+
### Changed
|
|
525
|
+
- Retrieval now wires dispute status into the `hybrid_search` score; vouch guard uses a structured `BlockReason`; contested claims are flagged in synthesis output.
|
|
526
|
+
- Structured logging (`structlog`) across hot paths; async-correctness and performance hotfixes; improved error messages, type hints, `repr`, `hmctl doctor`, and API-friction cleanups.
|
|
527
|
+
- Reputation is flushed on agent close (last-agent-exit guard); `OTel` tick metrics; dual oracle event emit.
|
|
528
|
+
|
|
529
|
+
### Fixed
|
|
530
|
+
- Test-suite green restoration (batch-write helper, deliberator syntax fix), circular import in `_run_deliberator`, `asyncio.get_event_loop()` → `asyncio.run()`.
|
|
531
|
+
|
|
532
|
+
## [1.5.3] — 2026-07-11
|
|
533
|
+
|
|
534
|
+
### Fixed
|
|
535
|
+
- **Dataset export overhaul** — SFT / DPO / reward-model export quality improved for downstream training use.
|
|
536
|
+
|
|
537
|
+
## [1.5.2] — 2026-07-11
|
|
538
|
+
|
|
539
|
+
### Changed
|
|
540
|
+
- Removed deprecated MCP tool aliases, leaving a clean 41-tool surface (pre-1.6.0 audit baseline).
|
|
541
|
+
|
|
542
|
+
## [1.5.1] — 2026-07-11
|
|
543
|
+
|
|
544
|
+
### Fixed
|
|
545
|
+
- Relata bearer-token passthrough into backend requests.
|
|
546
|
+
|
|
547
|
+
## [1.5.0] — 2026-07-11
|
|
548
|
+
|
|
549
|
+
### Added
|
|
550
|
+
- **Autonomous loop v2** — always-on learning loop per topic with adaptive scheduling, topic clustering, and automatic sub-loop spawning (`hm_loop`, `hm_loop_ingest`, `hm_pool_status`, `hm_agent_memory`, `hm_evolve_now`, `hm_session_summary`).
|
|
551
|
+
- **Self-directed learning tools** — `hm_next_question`, `hm_scan_contradictions`, `hm_calibration`, `hm_federate`.
|
|
552
|
+
- **MCP tool consolidation + CLI expansion.**
|
|
553
|
+
|
|
554
|
+
### Fixed
|
|
555
|
+
- `hm_retrieve` default `min_trust` lowered 0.6 → 0.5 for in-memory fallback; `utcfromtimestamp` deprecation.
|
|
556
|
+
|
|
557
|
+
## [1.4.9] — 2026-07-11
|
|
558
|
+
|
|
559
|
+
### Added
|
|
560
|
+
- `hmctl` config wizard + first-install nudge.
|
|
561
|
+
|
|
562
|
+
## [1.4.8] — 2026-07-11
|
|
563
|
+
|
|
564
|
+
### Changed
|
|
565
|
+
- SQLite auto-activated as the default local storage backend; RelataDB messaging clarified.
|
|
566
|
+
|
|
567
|
+
## [1.4.7] — 2026-07-11
|
|
568
|
+
|
|
569
|
+
### Changed
|
|
570
|
+
- Maintenance release; version bump.
|
|
571
|
+
|
|
572
|
+
## [1.4.6] — 2026-07-11
|
|
573
|
+
|
|
574
|
+
### Added
|
|
575
|
+
- **Autonomous learning engine** (issues #289–#295) — `hm_stats` MCP tool + `hmctl status` segmented knowledge-base snapshot.
|
|
576
|
+
|
|
577
|
+
### Fixed
|
|
578
|
+
- Federation `build_filter` used in place of the nonexistent `BloomSetReconciliation`; ruff lint across autonomous-engine files.
|
|
579
|
+
|
|
580
|
+
## [1.4.5] — 2026-07-11
|
|
581
|
+
|
|
582
|
+
### Added
|
|
583
|
+
- `hm_stats` MCP tool + `hmctl status` — segmented knowledge-base snapshot.
|
|
584
|
+
|
|
585
|
+
## [1.4.4] — 2026-07-11
|
|
586
|
+
|
|
587
|
+
### Added
|
|
588
|
+
- `hm_status` MCP tool + `hmctl status` command — full configuration picture.
|
|
589
|
+
|
|
590
|
+
## [1.4.3] — 2026-07-11
|
|
591
|
+
|
|
592
|
+
### Added
|
|
593
|
+
- ASCII logo + 30-second quickstart banner on `hmctl mcp serve`; `~/.hypermind/env` config file + rich startup banner.
|
|
594
|
+
|
|
595
|
+
### Fixed
|
|
596
|
+
- Test isolation, coverage gate, MCP audit trail; tolerance comparison for float weights in `test_fit_weights_track_quality`.
|
|
597
|
+
|
|
598
|
+
## [1.4.2] — 2026-07-11
|
|
599
|
+
|
|
600
|
+
### Fixed (security)
|
|
601
|
+
- **webui: `vite` <6.4.2** — `server.fs.deny` bypass on Windows (high) + NTLMv2 hash disclosure via UNC path (medium). Updated to `^6.4.3`.
|
|
602
|
+
- **webui: `markdown-it` <14.1.1** — quadratic complexity DoS in smartquotes rule (medium). Updated to `^14.2.0`.
|
|
603
|
+
- **webui: `linkify-it` <=5.0.0** — quadratic algorithmic complexity in match scan (high). Resolved via markdown-it bump.
|
|
604
|
+
- **transport-rust: `pyo3` <0.29.0** — out-of-bounds read in `nth`/`nth_back` for `PyList`/`PyTuple` iterators (high) + missing `Sync` bound on `PyCFunction::new_closure` (medium). Updated to `0.29`.
|
|
605
|
+
- **transport-rust: `pyo3` <0.24.1** — buffer overflow risk in `PyString::from_object` (low). Resolved by 0.29 bump.
|
|
606
|
+
|
|
607
|
+
## [1.4.1] — 2026-07-11
|
|
608
|
+
|
|
609
|
+
### Changed (docs/docs-cleanup)
|
|
610
|
+
- **README** — rewrote with structured 34-tool MCP table (organized into 8 categories), elevated marketing (three-layer capability table, learn-large/serve-small, offline mode callout), expanded CLI section. Condensed 60-line natural-language chat block to 2-line teaser.
|
|
611
|
+
- **ROADMAP** — collapsed ~430 lines of shipped v0.x milestone detail into a compact summary table (669 → 250 lines). Removed stale cleanup-pass notes, local plan paths, and historical kill-criteria. Bumped all version references.
|
|
612
|
+
- **Release notes** — standardized all five files (v1.0.0–v1.4.0) to a consistent template (Highlights → Breaking changes → Cross-references). Renamed `v1.2.md` → `v1.2.0.md`. Fixed typo `murphy_winkier` → `murphy_winkler`. Removed v1.0.0 duplicate Highlights section and pre-GA artifact. Deleted v1.0-checklist stub.
|
|
613
|
+
- **Feature matrix** — added 16 missing `__all__` symbols (incl. `open`, `__version__`, `__wire_version__`, `__protocol_version__`, `ProtocolVersionError`, `SLSA_LEVEL`, all 7 type symbols, 3 revocation symbols). Fixed broken test/example references (`test_belief.py` → `test_belief_revision.py`; `reference_verifier/examples/verify_one.py` → removed). Added "Module constants & shared types" section.
|
|
614
|
+
- **WebUI landing** — fixed wrong license (MIT → Apache-2.0), broken CLI command (`hmctl console` → `hmctl simlab`), stale versions (v1.0.0 → v1.4.1, v0.10 → v1.4.1, 1800+ tests → 2400+), stale spec count (28 → 30), unified SimLab/Console naming. Rewrote Security.vue "Reserved for v1.0" → "Future hardening (post-1.4)".
|
|
615
|
+
- **Docs cleanup** — deleted `docs/archive/` (8 superseded files), untracked scratch artifacts (`persona_audit.jsonl`, `persona_trace.json`, `trace.json`, `experiments/` ~10 MB). Fixed stale GA dates in `lts.md`, `migrate/`, `operate/02-runbook.md`. Rewrote `_meta/public-surface.md` (dropped all "Provisional v0.5.x" markers). Added orphaned docs to mkdocs.yml nav (SIMLAB, simulations, sop-knowledge-quality, decide/, paper/, simlab/modes).
|
|
616
|
+
|
|
617
|
+
### Removed
|
|
618
|
+
- `docs/archive/` — 8 superseded pre-GA files (self-flagged "may be deleted").
|
|
619
|
+
- `docs/release-notes/v1.0-checklist.md` — GA go-live checklist (GA shipped; items tracked in ROADMAP §External).
|
|
620
|
+
- `persona_audit.jsonl`, `persona_trace.json`, `trace.json` — gitignored scratch output (~164 KB).
|
|
621
|
+
- `experiments/` — gitignored scratch dir (~10 MB JSONL/HTML/scripts).
|
|
622
|
+
|
|
623
|
+
## [1.4.0] — 2026-07-11
|
|
624
|
+
|
|
625
|
+
### Added
|
|
626
|
+
- **Local/offline mode**: `hmctl mcp install --local` — zero-config setup using Ollama + SQLite, no internet or API key required.
|
|
627
|
+
- **Ollama auto-detection**: `env_responder()` probes `localhost:11434` when no LLM config is set; picks the best available model (prefers llama3 > mistral > phi > qwen).
|
|
628
|
+
- **Persistent SQLite ledger**: `HYPERMIND_DB=~/.hypermind/ledger.db` wires a durable local ledger into `build_mcp_server`; all published claims survive process restarts.
|
|
629
|
+
- **Population checkpoints**: `HyperMindClient` auto-checkpoints the swarm's reputation to `~/.hypermind/populations/<name>.json` on `close()` when `HYPERMIND_POPULATION` is set.
|
|
630
|
+
- **`hm_population_list`**: List all saved populations with agent count, top topics, and claim count.
|
|
631
|
+
- **`hm_population_get {name}`**: Detail a population's personas, roles, and earned reputation per topic.
|
|
632
|
+
- `HyperMindClient.sandbox(db_path=, population_name=)`: wire durable storage and population checkpointing programmatically.
|
|
633
|
+
|
|
634
|
+
### Changed
|
|
635
|
+
- `env_responder()`: Ollama auto-detect added as final fallback before deterministic mode.
|
|
636
|
+
- `build_mcp_server()`: reads `HYPERMIND_DB`, `HYPERMIND_POPULATION`, `RELATA_URL` from env.
|
|
637
|
+
- `HyperMindClient.close()`: checkpoints population + closes SQLite backend when configured.
|
|
638
|
+
- `hmctl mcp install`: new `--local` flag bakes in Ollama + SQLite env vars.
|
|
639
|
+
|
|
640
|
+
## [1.3.0] — 2026-07-11
|
|
641
|
+
|
|
642
|
+
### Added
|
|
643
|
+
- **Verifiable RAG**: `hm_retrieve` now uses Relata hybrid BM25 search when `RELATA_URL` is set; each result carries author, trust score, and claim provenance.
|
|
644
|
+
- **`hm_justify`**: full evidence chain for any claim — text, author, reputation, dispute history, citations.
|
|
645
|
+
- **`hm_recall`**: memory search over the signed ledger; degrades gracefully to in-process scan without Relata.
|
|
646
|
+
- **`hm_related`**: graph traversal via Relata `PATHS_BETWEEN` (CITES / CORROBORATES links); requires `RELATA_URL`.
|
|
647
|
+
- **`hm_learn`** (writable): trigger a focused OrgSim research run on a topic; publishes signed findings to the ledger.
|
|
648
|
+
- `RelataBackend.hybrid_search()`: BM25 MATCH with LIKE fallback over denormalized `HmClaim` rows.
|
|
649
|
+
- `HyperMindClient.sandbox(relata_url=)`: wire a Relata backend for durable, hybrid retrieval.
|
|
650
|
+
- `HyperMindClient.justify(kid_hex)` and `HyperMindClient.recall(query)`: programmatic access to evidence chains and memory search.
|
|
651
|
+
|
|
652
|
+
### Changed
|
|
653
|
+
- `RelataBackend.append_claim()`: now denormalizes `author_hex`, `text`, `confidence` into the Relata type row — enables native text search without decoding wire bytes on every query.
|
|
654
|
+
- `hm_retrieve` description updated: "Verifiable RAG" framing with Relata-upgrade note.
|
|
655
|
+
|
|
656
|
+
## [1.2.2] — 2026-07-10
|
|
657
|
+
|
|
658
|
+
First PyPI release since 1.0.0 — ships the full 1.1–1.2 feature set that had
|
|
659
|
+
landed in git but not been published: the eval metric suite, the MCP manager
|
|
660
|
+
tooling + machine identity, the verified corpus, and the integrations layer.
|
|
661
|
+
See the 1.1.0 / 1.2.0 / 1.2.1 sections below for the detailed change lists.
|
|
662
|
+
|
|
663
|
+
### Added
|
|
664
|
+
- **Eval metric suite** (`hypermind.eval`) — proper-scoring-rule primitives
|
|
665
|
+
(`logarithmic_score`, `expected_calibration_error`, `skill_score`,
|
|
666
|
+
`murphy_winkler_decomposition`), the `compute_metric_suite` bridge,
|
|
667
|
+
`fit_composite_weights` (regression-fit composite replacing legacy CIQ
|
|
668
|
+
constants), and `render_html_report`. New `hmctl eval` command prints the
|
|
669
|
+
metric table with source footers and writes a self-contained HTML report
|
|
670
|
+
(`--output report.html`) with a Single-LLM comparison column.
|
|
671
|
+
- **MCP manager tooling** — `hm_roster`, `hm_agent`, `hm_topic_experts`,
|
|
672
|
+
`hm_disputes`, `hm_tools`, and research-as-a-tool (`hm_research_*`).
|
|
673
|
+
- **Machine-derived signing identity** (`hypermind.machine`).
|
|
674
|
+
- **Version visibility** — `hm_version` MCP tool + startup banner.
|
|
675
|
+
|
|
676
|
+
### Changed
|
|
677
|
+
- `hm_ask` now uses a real OpenAI-compatible LLM when configured (OpenRouter,
|
|
678
|
+
Ollama, vLLM, LM Studio), with Anthropic as a fallback.
|
|
679
|
+
|
|
680
|
+
### Fixed
|
|
681
|
+
- MCP `initialize` reports the real version (was a hardcoded `0.10.1`).
|
|
682
|
+
- TLS profile no longer SIGABRTs the process under statically-linked OpenSSL.
|
|
683
|
+
|
|
684
|
+
## [1.2.1] — 2026-07-10
|
|
685
|
+
|
|
686
|
+
### Added
|
|
687
|
+
- **`hm_version` MCP tool** + startup banner — report the running build (version,
|
|
688
|
+
wire version, read-only/read-write mode, LLM status, tool list) both in-chat
|
|
689
|
+
(`hm_version`) and in the host's MCP server log (a stderr banner on
|
|
690
|
+
`hmctl mcp serve`), so it's always clear which build is live.
|
|
691
|
+
- **`hm_ask` uses a real LLM when configured** — OpenAI-compatible first (OpenRouter,
|
|
692
|
+
Ollama, vLLM, LM Studio via `OPENAI_BASE_URL`; local servers need no key), with direct
|
|
693
|
+
Anthropic as a fallback when `ANTHROPIC_API_KEY` is set. `hmctl mcp serve` wires the
|
|
694
|
+
responder from env (provider via `HYPERMIND_LLM`, model via `HYPERMIND_LLM_MODEL`) so
|
|
695
|
+
`hm_ask` returns real deliberation instead of the deterministic reputation-only
|
|
696
|
+
fallback. No config → unchanged offline behaviour. `build_mcp_server` gained an
|
|
697
|
+
optional `responder=` param (default `None`, so tests never hit a live API).
|
|
698
|
+
- **`hmctl mcp install --env KEY=VALUE`** (repeatable) writes the server entry's `env`
|
|
699
|
+
block — the MCP host does not inherit your shell env, so this is how `OPENAI_BASE_URL`
|
|
700
|
+
/ `OPENAI_API_KEY` / `RELATA_URL` reach the server. Merges with any existing env.
|
|
701
|
+
|
|
702
|
+
### Fixed
|
|
703
|
+
- **MCP `initialize` now reports the real version** in `serverInfo.version` (was a
|
|
704
|
+
hardcoded `0.10.1`).
|
|
705
|
+
- **TLS profile no longer SIGABRTs the process.** `transport/tls_profile.py` reached
|
|
706
|
+
the underlying `SSL_CTX*` by guessing a struct offset from `id(ctx)` and calling
|
|
707
|
+
`SSL_CTX_set_ciphersuites` on a `find_library("ssl")` libssl that could differ from
|
|
708
|
+
the one CPython's `_ssl` is linked against (e.g. statically-linked OpenSSL under
|
|
709
|
+
uv/macOS) — aborting the whole process when building any TLS context. Removed the
|
|
710
|
+
unsafe raw-pointer path; the TLS 1.3 cipher floor is recorded as policy (there is no
|
|
711
|
+
safe stdlib API to set TLS 1.3 ciphersuites). TLS 1.3-only, ALPN, PFS groups, and
|
|
712
|
+
ticket policy are unchanged.
|
|
713
|
+
|
|
714
|
+
## [1.2.0] — 2026-07-10
|
|
715
|
+
|
|
716
|
+
### Added
|
|
717
|
+
- **Manager-dashboard MCP tools** (`hypermind.integrations.mcp_tools`) — read-only
|
|
718
|
+
views over the swarm: `hm_roster` (every agent's role/rooms/reputation/ramp),
|
|
719
|
+
`hm_agent` (one agent's capability snapshot + earned topics + published claims),
|
|
720
|
+
`hm_topic_experts` (agents with standing in a topic, ranked), and `hm_disputes`
|
|
721
|
+
(dispute counts by FSM state, topic-scoped). Backed by new `HyperMindClient`
|
|
722
|
+
verbs `roster` / `agent_detail` / `topic_experts` / `dispute_summary`.
|
|
723
|
+
- **`hm_tools` MCP tool** — lists swarm tool providers with live availability
|
|
724
|
+
(missing-env reasons), configured MCP servers, and a curated set of good-to-have
|
|
725
|
+
MCP servers to attach.
|
|
726
|
+
- **Research-as-a-tool over MCP** (`hypermind.integrations.research`) — async job
|
|
727
|
+
model: `hm_research_start` kicks off a real `OrgSim` run and returns a job id;
|
|
728
|
+
`hm_research_status` polls progress (round + findings-so-far); `hm_research_result`
|
|
729
|
+
returns findings. Writable-only; reads `RELATA_URL` + an LLM key from the server env.
|
|
730
|
+
- **Machine-derived signing identity** (`hypermind.machine`) — `hmctl mcp serve/install
|
|
731
|
+
--machine-identity` derives a deterministic, traceable Ed25519 seed from the host's
|
|
732
|
+
machine id (`machine_id` / `machine_seed` / `machine_uuid`), so the same machine
|
|
733
|
+
reproduces the same identity across runs. Opt-in; the random seed remains the default.
|
|
734
|
+
|
|
735
|
+
### Changed
|
|
736
|
+
- **`hm_ask` no longer accepts a `topic` parameter.** In the single-room sandbox any
|
|
737
|
+
non-default topic had zero panel candidates and failed; the param is removed. Scope
|
|
738
|
+
by topic via `hm_publish_claim` / `hm_retrieve`. The no-model fallback text is now
|
|
739
|
+
explicit ("Reputation-only signal (no model wired)…") instead of a generic stub.
|
|
740
|
+
|
|
741
|
+
## [1.1.0] — 2026-07-10
|
|
742
|
+
|
|
743
|
+
### Added
|
|
744
|
+
- **Verified corpus** (`hypermind.orgs.corpus`, spec §29) — trust-scored, attributed
|
|
745
|
+
knowledge export from a run's ledger. Per-claim trust score blends reputation,
|
|
746
|
+
corroboration, dispute-survival and hypothesis status; an external ground-truth
|
|
747
|
+
verdict overrides toward its pole. `build_corpus` / `export_corpus` /
|
|
748
|
+
`records_to_corpus` / `corpus_stats`, plus `hmctl orgs corpus {stats,population,topics,claims,export}`.
|
|
749
|
+
- **Ground-truth anchoring** (`hypermind.orgs.anchor`, spec §30) — `Verdict`-returning
|
|
750
|
+
`GroundTruthAnchor` with `FeedAnchor` (anchor to reality), `TieredAnchor` (verify only
|
|
751
|
+
high-stakes claims), `CompositeAnchor` (precedence). `.as_ground_truth()` /
|
|
752
|
+
`anchor_from_ground_truth()` bridge the existing `GroundTruth` slot.
|
|
753
|
+
- **Persistent, evolving population** — `HyperMindAgent.testbed(seeds=…)` (deterministic
|
|
754
|
+
Ed25519 identities), `OrgSim(persist_identities=True, seed_reputation=…)`,
|
|
755
|
+
`OrgSim.export_reputation()`, and `ReputationKernel.export_posteriors()` /
|
|
756
|
+
`import_posteriors()` so a population carries earned reputation across runs
|
|
757
|
+
(a consistently-correct member compounds instead of resetting).
|
|
758
|
+
- **Influence-operation templates** — `influence_operation` / `counter_influence_operation`
|
|
759
|
+
org templates plus the `influence` interaction mode, for information-integrity research.
|
|
760
|
+
- **`hypermind.integrations` — drop-in adoption layer.** `HyperMindClient` (+ sync mirror
|
|
761
|
+
`SyncHyperMindClient`) is a one-object facade over network generation, trust-scored
|
|
762
|
+
retrieval, signed claims, reputation, and ground-truth verification on an in-process swarm
|
|
763
|
+
(no Relata server, no key for the deterministic primitives): `HyperMindClient.sandbox(...)`,
|
|
764
|
+
`publish` / `ask` (→ `NetworkAnswer`) / `retrieve` (→ trust-scored `CorpusRecord`s) /
|
|
765
|
+
`reputation`. Plus an **OpenAI-compatible endpoint** (`hmctl serve-endpoint`) — point any
|
|
766
|
+
framework's `base_url` at it and generation is answered by a reputation-weighted panel
|
|
767
|
+
grounded in the verified corpus; an **expanded local MCP server** (`hmctl mcp serve`)
|
|
768
|
+
exposing the full operational surface (simulate, query the corpus, ask the network,
|
|
769
|
+
publish/verify) for Claude Desktop / Cursor; **framework adapters**
|
|
770
|
+
(`hypermind.integrations.langchain.HyperMindRetriever`, plus OpenAI Agents SDK, CrewAI,
|
|
771
|
+
AutoGen/AG2, LlamaIndex); and `hmctl init` / `hmctl quickstart` scaffolding. See
|
|
772
|
+
[docs/integrations.md](docs/integrations.md).
|
|
773
|
+
|
|
774
|
+
## [1.0.0] — 2026-07-09 — Engineering GA
|
|
775
|
+
|
|
776
|
+
The reference SDK is **feature-complete**. From this release, **SemVer is binding**:
|
|
777
|
+
breaking changes only on the next major version.
|
|
778
|
+
|
|
779
|
+
What 1.0.0 covers (engineering):
|
|
780
|
+
- **Protocol core** — COSE_Sign1 wire format (A-ALG-BOUND), Ed25519 + composite PQ
|
|
781
|
+
signing, RFC-6962 transparency log, HLC, dispute FSM, capability tokens,
|
|
782
|
+
reputation kernel, revocation — with a second independent verifier for interop.
|
|
783
|
+
- **Federated research swarm** (`hypermind.orgs`) — master-decomposed experts,
|
|
784
|
+
self-refined planning, 12 pluggable reasoning strategies, tools (MCP + search),
|
|
785
|
+
100% evidence retention, real-grounded citations, the four architecture-native
|
|
786
|
+
metrics (verifiable/attributable/contestable/grounded), a hypothesis lifecycle
|
|
787
|
+
(form → keep in memory → test → update), streaming tools-off query with
|
|
788
|
+
reputation-ranked expert selection, and learn-large/serve-small.
|
|
789
|
+
- **Storage** — real Relata ledger (signed HmClaim/HmDispute/HmReputation typed
|
|
790
|
+
rows) + per-agent memory (evidence + hypotheses), with full-run JSONL export +
|
|
791
|
+
replay-into-Relata.
|
|
792
|
+
- **Transport** — in-process (sandbox) and real multi-node **TCP federation**
|
|
793
|
+
(identity-bound handshake, gossip, duplicate-kid rejection). libp2p remains an
|
|
794
|
+
optional external Rust binding for the same capability.
|
|
795
|
+
- **CLI** — `hmctl orgs` (templates / simulate / ask / distributed / doctor)
|
|
796
|
+
with an animated banner and a production-preflight `doctor`.
|
|
797
|
+
|
|
798
|
+
Out of scope for the SDK (tracked in ROADMAP, gate the *ecosystem*, not the code):
|
|
799
|
+
IETF I-D submission, IANA allocation, OpenSSF acceptance, third-party security
|
|
800
|
+
audit, Tamarin/ProVerif proofs, foundation awards, pilot MOUs, chaos-test run.
|
|
801
|
+
|
|
802
|
+
## [0.37.0] — 2026-07-09
|
|
803
|
+
|
|
804
|
+
### Removed
|
|
805
|
+
- **Cloud-KMS signing** (unused `NotImplementedError` stubs) — `KMSSigner` and the `crypto/kms_backends/{aws,gcp,azure,vault}` backends, the `kms-*` extras, and the KMS test suite. The **`Signer` protocol + `LocalSigner`** (real in-process Ed25519, the shipped backend) are unchanged; a custom HSM/KMS `Signer` can still be supplied by any caller. No production code imported the removed surface; local signing + verification are untouched.
|
|
806
|
+
|
|
807
|
+
### Changed
|
|
808
|
+
- **Real multi-node federation is first-class + tested (v0.2 transport).** The shipped `TCPGossipBus` (identity-bound handshake, gossip publish/subscribe, duplicate-kid rejection) is the production multi-machine path — proven end-to-end in `tests/test_tcp_federation.py` (a signed message federates across two nodes; a same-kid second connection is rejected). `agent.open(mode="libp2p")` now points at this real TCP path; **libp2p** remains an optional external Rust binding for the same capability, not a blocker.
|
|
809
|
+
|
|
810
|
+
## [0.36.0] — 2026-07-09
|
|
811
|
+
|
|
812
|
+
### Added
|
|
813
|
+
- **Full-run export + replay** (`hypermind.orgs.replay`) — `export_jsonl(report, path, world=…)` dumps **every** record from a run (signed claims as **wire bytes**, disputes, reputation, citations, Merkle head, evidence, hypotheses) to one JSONL; `replay_to_relata(path, …)` re-inserts a dumped run into any Relata **later, without re-running the LLM work** — claims round-trip byte-identical through `SignedStatement.from_bytes` (pass verification). `hmctl orgs simulate --export run.jsonl`.
|
|
814
|
+
- **Real signed ledger, un-stubbed** — the typed `HmClaim`/`HmDispute`/`HmReputation` ledger persists to **real Relata** once the four Hm types are provisioned (admin token) + ACL-granted (boot-time). `deploy/relata-serve.sh` captures the reproducible server launch. Verified end-to-end.
|
|
815
|
+
- **Animated `HYPERMIND` ASCII banner** (`hmctl.dashboard.banner`) shown by `hmctl orgs simulate` / `doctor` with the full run detail.
|
|
816
|
+
- **`hmctl orgs doctor` production validation** — checks LLM key, reasoning-strategy registry, MCP tools, Relata reachability, and Hm ledger-type registration; critical checks gate readiness, capabilities are informational.
|
|
817
|
+
|
|
818
|
+
## [0.35.0] — 2026-07-09
|
|
819
|
+
|
|
820
|
+
### Added
|
|
821
|
+
- **Architecture-native report metrics** (`hypermind.orgs.analysis`) — measures the four properties only HyperMind's machinery produces, not generic RAG scores: **Verifiable** (Merkle root + audit completeness + a runnable byte-flip **tamper-evidence** demo), **Attributable** (earned reputation share + Gini + role split), **Contestable** (bonded-dispute survival), **Grounded** (knowledge-source split tool/reuse/parametric + **source-faithfulness** checked against the *retained raw evidence*). Pure functions over an `OrgReport` — no LLM, no latency. `full_analysis()`.
|
|
822
|
+
- **Query the learned swarm** — `OrgSim.stream()`: a **tools-off, internal-RAG, streaming** answer over the swarm's accumulated knowledge (no fresh internet). `select_experts()` consults a panel ranked by **relevance × earned reputation** (not all agents). `model=`/`client=` overrides enable **learn-with-a-large-model, serve-with-a-small-one** — grounded synthesis a small model does well, verifiable via source-faithfulness.
|
|
823
|
+
- **Reasoning-strategy registry** (`hypermind.orgs.strategies`) — 12 pluggable frameworks in 4 groups (TRIZ, first_principles, morphological, scamper, analogical / five_whys, systems_thinking, fmea / popper_hypothesis, pre_mortem, dialectic / bayesian). `strategy` is first-class on `Seat`; the PI assigns one per expert during decomposition and it's injected into the system prompt — diversifying *how* the swarm reasons, not just what it searches.
|
|
824
|
+
- **Hypothesis lifecycle** (`hypermind.orgs.hypothesis`) — each finding becomes a **falsifiable hypothesis** (falsifier from `key_unknowns`, tagged with its reasoning method), **kept in the agent's Relata memory**, and **tested** by the existing loop: a citation corroborates, a bonded dispute disconfirms, an oracle resolution is the verdict. Belief evolves `open → contested → supported/refuted` across rounds. `OrgReport.hypotheses()` / `hypothesis_summary()`.
|
|
825
|
+
|
|
826
|
+
### Fixed
|
|
827
|
+
- **Context-window scaling at 8–10+ agents** — decoupled *retain 100%* from *feed-the-LLM*: tool results fed back into the conversation are capped (`HYPERMIND_TOOL_RESULT_LLM_CHARS`, default 4 KB) and finding reasoning fed into retrieval/synthesis context is capped (`HYPERMIND_CONTEXT_FINDING_CHARS`, default 900) — the full result/reasoning is still stored on the claim/evidence. Fixes 128k `context_length_exceeded` overflow with large Scholar/Patents payloads.
|
|
828
|
+
|
|
829
|
+
## [0.34.0] — 2026-07-09
|
|
830
|
+
|
|
831
|
+
### Added
|
|
832
|
+
- **100% evidence retention** — every claim now persists a COMPLETE evidence record: untruncated reasoning, verbatim LLM payload, and **full raw tool output** (previously capped at 500 chars). Kept off the size-bounded signed claim and stored durably in the agent's Relata notebook. `OrgReport.evidence()` / `evidence_for(kid)` expose it. (`responders/tools.py`, `responders/structured.py` adds `reasoning_full` + uncapped `raw_json`, `orgs/sim.py`).
|
|
833
|
+
- **Structured citations + real grounding** (`hypermind.orgs.evidence`) — parses raw tool output (searchapi JSON + DuckDuckGo text) into de-duplicated `Citation`s ranked by multi-expert corroboration. `OrgSim._retrieve` now grounds the judge/answer on **real source snippets**, not only the swarm's own summaries. `OrgReport.references()` is the study bibliography. Pure parsing, cached by claim count — no added LLM latency.
|
|
834
|
+
- **Self-refined master decomposition** — `hypermind.orgs.prompts` (planner prompt + curated few-shot exemplars, one-/multi-shot), `charter.plan_research(shots=, critique=)`, and `hypermind.orgs.refine` (`score_plan` + `plan_and_refine`) re-plan the decomposition on a structural critique (distinct areas, role diversity, tool breadth, on-topic, vs-k) **before** spending the simulation. No framework, reproducible.
|
|
835
|
+
- `RelataMemoryStore(single_tenant=True)` — omit `X-Organization-Id` for single-tenant / trial (`max_tenants:0`) servers, isolating by `session_id` (agent kid); `OrgSim(relata_single_tenant=…)`.
|
|
836
|
+
|
|
837
|
+
### Fixed
|
|
838
|
+
- **MCP transport** — 16 MB stdio buffer for MCP subprocesses; large Google Scholar/Patents results no longer trip asyncio's 64 KB `LimitOverrunError` (`orgs/mcp_config.py`).
|
|
839
|
+
- Tool-call traces key the tool name under `tool` (matching production `ToolCallingResponder`); tests aligned.
|
|
840
|
+
|
|
841
|
+
## [0.33.0] — 2026-07-09
|
|
842
|
+
|
|
843
|
+
### Added
|
|
844
|
+
- **Pluggable tools — provider registry + per-cycle gateway** (`hypermind.orgs.tool_providers`). Each `ToolProvider` declares its env gate + health; the `ToolGateway` refreshes availability **every round** and exposes only live tools (call-time gated), emitting a `tool_status` event. Built-in web search: **DuckDuckGo** (keyless) + **Tavily / Brave / Serper** (key-gated).
|
|
845
|
+
- **MCP auto-discovery** — a standard `mcpServers` JSON at `~/.config/hypermind/mcp.json` (or `$HYPERMIND_MCP_CONFIG`, same shape as Claude); every server's tools are discovered, registered, and health-checked per cycle (`attach_mcp_config`, `ToolGateway.add_mcp`). HTTP servers bridge via `npx mcp-remote <url>`.
|
|
846
|
+
- **`hmctl orgs simulate/ask --tools/--no-tools`** (default on) — wires the gateway (built-in search + MCP servers) into the run.
|
|
847
|
+
- `OrgSim(tool_gateway=…)` — per-cycle status check + live tools for tool-using seats.
|
|
848
|
+
|
|
849
|
+
## [0.32.0] — 2026-07-09
|
|
850
|
+
|
|
851
|
+
### Added
|
|
852
|
+
- **Persistent shared config** — `hmctl orgs` auto-loads keys from `~/.config/hypermind/env` (then `~/.hypermind/env`, then `./.env`, or `$HYPERMIND_CONFIG`); exported env still wins. Store keys once, never re-export.
|
|
853
|
+
- **Env-backed flags** — every `hmctl orgs` flag also reads an env var (`RELATA_URL`, `OPENAI_BASE_URL`, `HYPERMIND_LLM`, `HYPERMIND_LLM_MODEL`, `HYPERMIND_API_KEY_ENV`, `HYPERMIND_TEMPLATE`), so with the persistent config the commands run **flag-free** (`hmctl orgs ask "…"`).
|
|
854
|
+
- **`hmctl orgs config`** — shows the resolved config paths + which keys are set (masked).
|
|
855
|
+
|
|
856
|
+
## [0.31.1] — 2026-07-09
|
|
857
|
+
|
|
858
|
+
### Added
|
|
859
|
+
- **Relata in docker-compose** — `docker compose -f deploy/docker-compose.yml up -d relata` starts a ready-for-orgs Relata (`ghcr.io/zysec-ai/relata`, lite mode + `Hm*` ACL grant) on `:9090`. (Prometheus moved to host `:9091`.)
|
|
860
|
+
- **k8s distributed fleet** — `deploy/k8s/orgs-distributed.yaml`: Relata + master + N worker replicas; `kubectl apply` then `kubectl scale deploy/hm-orgs-worker`. README "Deploy & scale" shows the one-liner (compose/docker) and the cluster (k8s) paths.
|
|
861
|
+
|
|
862
|
+
## [0.31.0] — 2026-07-09
|
|
863
|
+
|
|
864
|
+
### Added
|
|
865
|
+
- **`hmctl orgs doctor`** — one-command preflight for adoption: checks the LLM API key, Relata reachability, and that the `Hm*` ledger types are writable, with ✓/✗ and a fix hint per row. Exit 0 only when ready.
|
|
866
|
+
- **`.env.example`** — every env var the orgs engine needs, in one place.
|
|
867
|
+
- **Deploy & scale docs** — README section: set env → `doctor` → start Relata (with the `RELATA_ACL_GRANT` boot line) → single-host run → cluster (master/worker) commands.
|
|
868
|
+
|
|
869
|
+
### Fixed
|
|
870
|
+
- Example prerequisites pointed at a non-existent `docker compose … relata` service; now show the real `relata serve` command with the ACL grant.
|
|
871
|
+
|
|
872
|
+
## [0.30.1] — 2026-07-08
|
|
873
|
+
|
|
874
|
+
### Added
|
|
875
|
+
- **Fancy quality panel with fill animation.** `hmctl orgs ask` now renders the answer + quality rubrics as a colour-graded Rich panel — per-rubric gauges (grounding, **hallucination**, calibration, consensus, …), an overall gauge, and a green/red hallucination callout. On a real terminal the gauges **animate (fill up)** on reveal; piped/CI output renders once. So hallucination and every other metric are now visible clearly, not a plain text list.
|
|
876
|
+
|
|
877
|
+
## [0.30.0] — 2026-07-08
|
|
878
|
+
|
|
879
|
+
### Added
|
|
880
|
+
- **Live simulation dashboard** (#196) — a colourful, animated Rich view of a running sim: round progress bar, glowing stat cards (claims/citations/disputes/resolves), a per-round claims sparkline, a per-unit tally, and a colour-coded live activity feed. Turn on with `hmctl orgs simulate --live` / `ask --live`.
|
|
881
|
+
- **Cross-shard grounding** (#195) — in a distributed run, agents now ground on *other shards'* findings pulled from the shared Relata ledger (`RelataBackend.recent_findings`, `OrgSim(cross_shard=True)`, default-on in the distributed worker), so a sharded run reasons like one swarm instead of N isolated ones. (Cross-shard citation/dispute graph + reputation unification is tracked as a follow-up.)
|
|
882
|
+
- **`hmctl orgs` — no-code CLI for the living-simulation engine.** Run the whole engine from the shell:
|
|
883
|
+
- `hmctl orgs templates` — list presets.
|
|
884
|
+
- `hmctl orgs simulate --template university --members 24 --rounds 6 --topic "…" [--html report.html]`.
|
|
885
|
+
- `hmctl orgs ask "question" --template … [--samples N] [--no-quality]` — study→ask with the quality rubrics **on by default** (grounding, hallucination, calibration, native ledger rubrics).
|
|
886
|
+
- `hmctl orgs distributed --template … --members 10000 --workers 8 --topic "…"` — sharded run; the master provisions Relata + reassigns failures.
|
|
887
|
+
- LLM + Relata configured via flags/env (`--llm`, `--llm-model`, `--base-url`, `--api-key-env`, `--relata-url`); Hm* types auto-provisioned.
|
|
888
|
+
|
|
889
|
+
## [0.23.0] — 2026-07-08
|
|
890
|
+
|
|
891
|
+
### Added
|
|
892
|
+
- **Distributed, Locust-style execution** — `hypermind.orgs.distributed`. A master coordinator shards a swarm across workers (other machines or local processes) over a TCP control plane (length-prefixed CBOR frames); each worker runs its shard as `OrgSim(lightweight=True)` against the **shared Relata namespace** and returns bounded aggregates, merged into one `OrgReport` (#177).
|
|
893
|
+
- `Coordinator` / `Worker`, `run_distributed(...)` (single-host convenience), and a `master` / `worker` CLI (`python -m hypermind.orgs.distributed`).
|
|
894
|
+
- Capacity-weighted shard planning; a worker that drops before returning is recorded as a failed shard — the run completes and notes it, never hangs.
|
|
895
|
+
- `OrgSim.export_aggregates()` for the merge; `OrgModel` wire (de)serialisation.
|
|
896
|
+
|
|
897
|
+
## [0.22.0] — 2026-07-08
|
|
898
|
+
|
|
899
|
+
### Added
|
|
900
|
+
- **Batched Relata writes** — `RelataBackend(write_batch_size=N)` buffers claim rows and flushes via one bulk `batch_upsert` instead of a per-claim round-trip; `OrgSim` defaults to 64. ~batch× fewer round-trips at scale (#175).
|
|
901
|
+
- **Bounded / streaming report** — `OrgSim(lightweight=True)` caps memory to O(members + windows), not O(records): per-member streaming aggregates + a rolling claim window, exact scorecard totals. `metrics.scorecard_from_aggregates(...)` (#176).
|
|
902
|
+
- Parallel keypair generation at `testbed()` spin-up (thread pool; the crypto releases the GIL) — part of #177.
|
|
903
|
+
|
|
904
|
+
## [0.21.0] — 2026-07-08
|
|
905
|
+
|
|
906
|
+
### Added
|
|
907
|
+
- **Native response-quality rubrics** — `hypermind.orgs.quality`: `sim.assess(question)` → `QualityReport`. Four rubric groups, all on by default, switchable via `disable`: native/deterministic (provenance coverage, dispute exposure, reputation support, consensus, abstention — verifiable from the signed ledger), judge-based faithfulness (grounding, hallucination rate, answer relevance, context precision), calibration (Brier, self-consistency), and context recall. Missing deps degrade to informational notes. `llm_judge(...)` factory.
|
|
908
|
+
|
|
909
|
+
## [0.20.0] — 2026-07-08
|
|
910
|
+
|
|
911
|
+
### Added
|
|
912
|
+
- **Hybrid retrieval** — `reciprocal_rank_fusion(...)` and `hybrid_retriever(*retrievers, reranker=None)` fuse dense + entity-graph + lexical signals (RRF) with an optional cross-encoder rerank, over our own Relata data. Plugs into the existing `OrgSim(retriever=...)` seam.
|
|
913
|
+
|
|
914
|
+
## [0.12.0] – [0.19.0] — 2026-06 … 2026-07
|
|
915
|
+
|
|
916
|
+
### Added
|
|
917
|
+
- **`hypermind.orgs` — the living-simulation engine.** Turn a declarative `OrgModel` / `Unit` / `Seat` into a running multi-agent simulation (research → publish → cite → dispute → resolve → learn → evolve) persisted to Relata, driven by pluggable `Interaction` strategies (`cooperative` / `adversarial` / `crowd`).
|
|
918
|
+
- **Template library**: `university`, `hospital`, `city_at_war`, `foreign_policy_cabinet`, `un_security_council`, `internet_crowd`, `research_lab`, … via `list_templates()` / `get_template()` — the core never imports them.
|
|
919
|
+
- **Per-agent models** (per-seat provider/model or a router) and **group-scoped native tools** (declarative or random grants; ungranted tools are absent, not refused).
|
|
920
|
+
- **Study → ask**: `sim.study(topic)` then `sim.ask(question)` — a transparent, queryable swarm that answers from what it learned, weighted by earned standing.
|
|
921
|
+
- **Proper RAG** for `ask`: lexical → semantic embeddings (`embedder=`, `openai_embedder`) → claim↔entity graph (`use_graph_retrieval`, `MentionGraph`) → real NER hooks (`llm_ner_extractor`, `chat_ner_extractor`, `pioneer_ner_extractor`) → Relata-backed retrieval (`relata_retriever`).
|
|
922
|
+
- **Scorecard & analysis**: reputation ranking, citation DAG, dispute ledger, Brier calibration (#151), convergence metrics (#152), memory-RAG (#153), deliberator mode (#154), tool-trace capture (#155), adversarial dynamics (#156), pluggable ground truth (#157), experiment/variant harness (#158), interventions (#159), visualization snapshots (#160), verifiable receipts (#161).
|
|
923
|
+
- **Scalability hardening** across the engine: bounded peer window, O(1) member indices, top-k cross-pollination, concurrent think phase (`asyncio.gather` + semaphore) and concurrent blocking I/O (`asyncio.to_thread`).
|
|
924
|
+
- `examples/org_university.py` and an expanded examples index.
|
|
925
|
+
|
|
926
|
+
## [0.11.0] — 2026-05-10
|
|
927
|
+
|
|
928
|
+
### Added
|
|
929
|
+
- `AgentCard` dataclass + `HyperMindAgent.publish_card()` verb + `hmctl card publish` CLI (P3-01, spec §3.2)
|
|
930
|
+
- §21 Belief State Layer spec section — `TheoryOfMind`, `BeliefStore`, `WorldModel` (P3-06)
|
|
931
|
+
- libp2p `peer_id` derivation (`derive_peer_id()`) locked in spec §1.9 and implemented (P3-07)
|
|
932
|
+
- `standards-map.md` updated for all v0.9.x/v0.10 spec sections — 7 new rows (P3-10)
|
|
933
|
+
- §11.1e gaps closed: Gap 3 (AE resumability §6.7), Gap 6 (mediator selection §8.3b), Gap 7 (21 conformance vectors), Gap 10 (STH cross-gossip §9.9), Gap 12 (TAL predicate grammar §7.G)
|
|
934
|
+
- Normative spec sub-sections: §4.4 task protocol, §4.8a staleness decay, §6.4 KNOWS_DELTA, §19.5a cap-gated autonomy, §20.5a SwarmIQ recommendations
|
|
935
|
+
- Tutorials 22-25: AgentCard, task delegation, MCP tool call, swarm trace (examples/)
|
|
936
|
+
- Hypothesis property-based tests (test_property_based.py)
|
|
937
|
+
- SLSA L3 cosign + slsa-github-generator release workflow (.github/workflows/release.yml)
|
|
938
|
+
- Appendix Z expanded to 30 conformance vectors (9 new: mcp_provenance ×2, knows_delta ×2, task_handle ×2, swarm_trace ×2, reputation_decay ×1)
|
|
939
|
+
- Fuzz harnesses: `fuzz_dispute.py`, `fuzz_agent_card.py`
|
|
940
|
+
- `swarm_trace.py` — `new_span_id()`, `encode_trace_context()`, `OTEL_TRACE_CONTEXT_LABEL`
|
|
941
|
+
- All normative-trace.md TBD rows (31-40) resolved
|
|
942
|
+
|
|
943
|
+
### Changed
|
|
944
|
+
- Strict quorum now default-on; opt-out via `HYPERMIND_LEGACY_QUORUM=1`
|
|
945
|
+
- `require_chain=True` default in `CapToken.authorize()`
|
|
946
|
+
- `RevocationList.from_cbor(verify=True)` verifies signature by default
|
|
947
|
+
- ruff format + lint applied (167 files reformatted)
|
|
948
|
+
|
|
949
|
+
### Fixed
|
|
950
|
+
- R1-01..06: spec internal numbering drift corrected across 5 spec files
|
|
951
|
+
- Stale scaffold guards in `agent.py` and `namespace.py` removed
|
|
952
|
+
- `asyncio` import missing from `responders/tools.py`
|
|
953
|
+
|
|
954
|
+
### Deprecated
|
|
955
|
+
- `HyperMindAgent.from_env(rooms=…)` — `rooms=` param removed; use `HyperMindAgent.sandbox()`
|
|
956
|
+
|
|
957
|
+
## [0.10.0] — 2026-05-10
|
|
958
|
+
|
|
959
|
+
**Milestone close-out: distributed agentic coordination layer.** v0.10 ships
|
|
960
|
+
the federated MCP transport, durable signed workflows, contract-net
|
|
961
|
+
auctions, the cognitive layer (belief state + Theory-of-Mind + federated
|
|
962
|
+
swarm memory), production ops (distributed swarm-trace, KMS backends,
|
|
963
|
+
benchmarks), and 14 industry UseCase demos.
|
|
964
|
+
|
|
965
|
+
### Added
|
|
966
|
+
|
|
967
|
+
- **T1 — MCP federated transport** (§4.12.2 / §4.13.1). Inbound MCP tool
|
|
968
|
+
calls bind `mcp_provenance` to the protected header (label `-65627`)
|
|
969
|
+
with `calling_agent_kid`, `cap_token_root`, and `request_kid`. Idempotency
|
|
970
|
+
cache deduplicates retries within 24 hours.
|
|
971
|
+
- **T2 — Durable signed workflows** (§coordination-T2). Saga workflow
|
|
972
|
+
records carry `workflow_saga_id` (label `-65628`) and
|
|
973
|
+
`workflow_step_index` (label `-65629`) in the protected header.
|
|
974
|
+
- **T3 — Contract-Net protocol** (§27). `RFP_OPEN` / `BID` / `AWARD`
|
|
975
|
+
records with reservation labels `-65630..-65634`: `rfp_id`, `bid_kid`,
|
|
976
|
+
`winning_bid_kid`, `award_signer_kids`, `bidder_filter`. AWARD is
|
|
977
|
+
FROST-signed by ≥1 signer kid.
|
|
978
|
+
- **T4 — Cognitive layer.** Belief state (§21 promoted to Normative),
|
|
979
|
+
Theory-of-Mind agent models, and federated swarm memory wired through
|
|
980
|
+
the Mind layer's `Deliberator` and `WorldModel`.
|
|
981
|
+
- **T5 — Spec foundations.** Network agent-to-agent envelope path with
|
|
982
|
+
cascaded security and first-class private/org namespaces.
|
|
983
|
+
- **T6 — Production ops.** `OTEL_TRACE_CONTEXT` (label **`-65635`**) for
|
|
984
|
+
W3C-Trace-Context distributed swarm-trace (§28). KMS backend hooks for
|
|
985
|
+
signing material rooted outside the SDK process. Coordination
|
|
986
|
+
benchmarks pinned in CI.
|
|
987
|
+
- **14 UseCase demos** under `examples/coordination/usecases/` covering
|
|
988
|
+
cybersecurity (cy-05, cy-11), healthcare (hc-06, hc-21), finance
|
|
989
|
+
(fi-04, fi-22), government (gv-01, gv-21), AI research (ai-01), and
|
|
990
|
+
five generic-ID demos for legal e-discovery, energy grid coordination,
|
|
991
|
+
manufacturing supply chain, education credentials, and AI alignment
|
|
992
|
+
red-team consortium.
|
|
993
|
+
|
|
994
|
+
### Changed
|
|
995
|
+
|
|
996
|
+
- **§21 (Belief State) promoted to Normative.** `valid_from_hlc` (label
|
|
997
|
+
`-65625`) and `valid_until_hlc` (label `-65626`) are now defined for
|
|
998
|
+
BELIEF records.
|
|
999
|
+
- **SwarmMemory federation wired** through the Mind layer; per-agent
|
|
1000
|
+
memory snapshots flow through the federated world model.
|
|
1001
|
+
|
|
1002
|
+
### Fixed
|
|
1003
|
+
|
|
1004
|
+
- **R3-01 — wire-label registry collision.** Spec §4.13 originally
|
|
1005
|
+
declared `OTEL_TRACE_CONTEXT = -65628`, but the code-side allocation
|
|
1006
|
+
pre-claimed `-65628..-65634` for T2 (Saga) and T3 (Contract-Net).
|
|
1007
|
+
Reconciled to code (source of truth): `OTEL_TRACE_CONTEXT = -65635`.
|
|
1008
|
+
Spec §03-messages.md, §28-distributed-trace.md, and
|
|
1009
|
+
`normative-trace.md` updated.
|
|
1010
|
+
|
|
1011
|
+
## [0.9.2] — 2025-Q4
|
|
1012
|
+
|
|
1013
|
+
_Current trunk; new work after v0.9.0a0._
|
|
1014
|
+
|
|
1015
|
+
### Added
|
|
1016
|
+
|
|
1017
|
+
- **SimLab deliberation-mode registry** — `src/hypermind/simlab/modes/`
|
|
1018
|
+
with `ModeSpec` registry and 7 new modes. Default mode (`binary-forecast`)
|
|
1019
|
+
preserves all legacy behaviour.
|
|
1020
|
+
- `governance-committee` — FROST 3-of-5 signed AI governance verdict
|
|
1021
|
+
with named, signed dissents and a NIST AI RMF / EU AI Act / ISO 42001
|
|
1022
|
+
crosswalk. Headline visual: `GovernanceReceipt.vue`.
|
|
1023
|
+
- `what-if-tree` — counterfactual scenario tree over driver variables
|
|
1024
|
+
with InformationGainPlanner suggestions and AntiHerdingTrigger
|
|
1025
|
+
interventions. Headline visual: `ScenarioTree.vue`.
|
|
1026
|
+
- `red-team-stress` — bonded dispute FSM stress-test of any claim.
|
|
1027
|
+
Surfaces §20.1 `adversarial_robustness_score` and a failure-mode
|
|
1028
|
+
tree. Headline visual: `RedTeamReport.vue`.
|
|
1029
|
+
- `post-incident-aar` — HLC time-slider over an incident timeline
|
|
1030
|
+
with witness cosignatures and retroactive source revocation. Headline
|
|
1031
|
+
visual: `AARTimeline.vue`.
|
|
1032
|
+
- `decision-tournament` — round-robin pairwise bracket with Condorcet
|
|
1033
|
+
+ Borda winners and sensitivity pivots. Headline visual:
|
|
1034
|
+
`DecisionBracket.vue`.
|
|
1035
|
+
- `crisis-tabletop` — auto-swarm composition by scenario family
|
|
1036
|
+
(cyber-breach / supply-chain / regulatory / market-shock /
|
|
1037
|
+
public-safety) with step-by-step branching. Headline visual:
|
|
1038
|
+
`CrisisTabletop.vue`.
|
|
1039
|
+
- `backtest-harness` — predicted-vs-actual scorecard with calibration
|
|
1040
|
+
curve, per-role drop-one attribution, and improvement
|
|
1041
|
+
recommendations. Headline visual: `BacktestScorecard.vue`.
|
|
1042
|
+
- `evaluation-bench` — **IEEE-grade evaluation**: HyperMind head-to-head
|
|
1043
|
+
against single-LLM and naive-ensemble baselines. Brier with
|
|
1044
|
+
bootstrap 95% CIs, ECE, MCE, reliability diagram, paired t-test,
|
|
1045
|
+
Wilcoxon signed-rank, McNemar test, Cohen's d, drop-one-role
|
|
1046
|
+
ablation, difficulty stratification, and a downloadable IEEE-formatted
|
|
1047
|
+
markdown report. Headline visual: `EvaluationReport.vue`.
|
|
1048
|
+
- **`/evidence` top-level route** — evidence-first landing page that
|
|
1049
|
+
pulls the latest evaluation-bench run and embeds the full report.
|
|
1050
|
+
Adds an "Evidence" item to the main nav.
|
|
1051
|
+
- `GET /v1/modes` endpoint exposing the registry; SPA reads it on
|
|
1052
|
+
`/new` page load.
|
|
1053
|
+
- `webui/src/components/forms/SchemaForm.vue` — schema-driven form
|
|
1054
|
+
renderer for mode-specific inputs (string / textarea / enum /
|
|
1055
|
+
integer / number / boolean / array-of-string).
|
|
1056
|
+
- `webui/src/components/DissentList.vue` — reusable signed-dissent
|
|
1057
|
+
viewer used by Governance and Scenario-Tree result views.
|
|
1058
|
+
- "Download trace (audit)" button on `SimDetail.vue` — works for
|
|
1059
|
+
every mode; the trace.json file ships any cryptographic receipts
|
|
1060
|
+
(FROST signatures, ed25519 dissent sigs) for offline verification.
|
|
1061
|
+
- 7 new example scripts in `examples/scenario_*.py`, one per mode.
|
|
1062
|
+
- 7 new test modules in `tests/simlab/test_modes_*.py` (43 new tests).
|
|
1063
|
+
- `tests/test_self_heal_cycle3_governance.py` — pins FROST quorum
|
|
1064
|
+
+ verdict-bytes binding + dissent-signature reviewer-binding.
|
|
1065
|
+
|
|
1066
|
+
### Changed
|
|
1067
|
+
|
|
1068
|
+
- `SimConfig` (`src/hypermind/simlab/config.py`) gains `mode` and
|
|
1069
|
+
`mode_payload` fields. Default `mode="binary-forecast"` preserves
|
|
1070
|
+
legacy behaviour. Validator rejects unregistered mode slugs.
|
|
1071
|
+
- `scenario.py` `run_persona_sim()` now dispatches to the registry
|
|
1072
|
+
instead of calling `_scenario_impl.main` directly. The trace JSON
|
|
1073
|
+
is stamped with `mode: "<slug>"` so the SPA can branch the result
|
|
1074
|
+
view.
|
|
1075
|
+
|
|
1076
|
+
### Fixed
|
|
1077
|
+
- _(none yet)_
|
|
1078
|
+
|
|
1079
|
+
### Security
|
|
1080
|
+
|
|
1081
|
+
- Cryptographic receipts in `governance-committee` mode use real
|
|
1082
|
+
FROST 3-of-5 (RFC 9591) — no simulation. Tampering with the verdict
|
|
1083
|
+
bytes fails verify; substituting reviewer kids on dissents fails
|
|
1084
|
+
verify. Pinned in `tests/test_self_heal_cycle3_governance.py`.
|
|
1085
|
+
|
|
1086
|
+
## [0.9.0a0] - 2026-05-02
|
|
1087
|
+
|
|
1088
|
+
This release rolls up engineering through ROADMAP §v0.9 — every milestone
|
|
1089
|
+
from **v0.5 (versioning bridge)** through **v0.9 (conformance + wire
|
|
1090
|
+
freeze scaffolding)** is now 🟢 code-complete. The trailing `a0` is held
|
|
1091
|
+
until the §External & human gates clear (IETF I-D submission, IANA
|
|
1092
|
+
early-allocation, OpenSSF Sandbox/Incubating acceptance, third-party
|
|
1093
|
+
audit, ≥3 pilot MOUs, 7-day chaos-test green run, side-channel CT
|
|
1094
|
+
30d-green). At that point we cut `1.0.0` GA.
|
|
1095
|
+
|
|
1096
|
+
### Engineering scope rolled up
|
|
1097
|
+
- **v0.6 — Project Trust Bundle.** SQLite durable storage (`storage/`),
|
|
1098
|
+
Anthropic + OpenAI + Synthetic responders (`responders/`), ASGI
|
|
1099
|
+
management API (`api/app.py`) with `/v1/stats`, `/v1/claims`,
|
|
1100
|
+
`/v1/audit`, `/v1/consult`, `/v1/calibration`, `/v1/cost`,
|
|
1101
|
+
`/v1/eval/compare`, `/v1/replay`, `/v1/events/stream`. OpenTelemetry
|
|
1102
|
+
exporter (`observability/otel_export.py`). Cost tracker
|
|
1103
|
+
(`observability/cost.py`). Eval comparison + calibration + replay
|
|
1104
|
+
primitives (`eval/`).
|
|
1105
|
+
- **v0.7 — Crypto hardening.** FROST hedged-random nonces (RFC 9591
|
|
1106
|
+
§4.2). LAMPS draft-16 §6 domain prefix on composite Ed25519+ML-DSA-65.
|
|
1107
|
+
Dual-vendor PQ adapter (`MlDsaBackend` Protocol + Quantcrypt + OQS
|
|
1108
|
+
backends). CapToken canonical-encoding gate (mirrors A-ALG-BOUND).
|
|
1109
|
+
- **v0.8 — Production profile.** Deliberation rounds primitive
|
|
1110
|
+
(`deliberation.py`). Bias detector. Per-agent calibration. Bench harness
|
|
1111
|
+
for publish/dispute/consult (`bench/`). Deploy scaffolding
|
|
1112
|
+
(Dockerfile, docker-compose, Prometheus + Grafana provisioning).
|
|
1113
|
+
- **v0.9 — Conformance + wire freeze scaffolding.** Two-impl interop
|
|
1114
|
+
pinned (`tests/test_two_impl_interop.py`). Scenario harness
|
|
1115
|
+
(`harness/`) with assertion library and threat-intel reference scenario.
|
|
1116
|
+
Parallel multi-domain code review (`review/`).
|
|
1117
|
+
|
|
1118
|
+
### Added — `hmctl simlab` (multi-sim app)
|
|
1119
|
+
- **`hypermind.simlab/`** package: `SimConfig`, `run_persona_sim()`,
|
|
1120
|
+
registry on disk under `~/.hypermind/sims/{id}/`, single-slot worker
|
|
1121
|
+
queue with per-sim `Recorder.scoped(sim_id)` for SSE isolation,
|
|
1122
|
+
standalone ASGI app exposing `GET/POST /v1/sims`, `/v1/sims/{id}`,
|
|
1123
|
+
`/status`, `/events/stream`.
|
|
1124
|
+
- **`hmctl simlab`** Click subcommand boots uvicorn + Vue 3 SPA at
|
|
1125
|
+
`localhost:8765` with `--port` / `--host` / `--no-open`.
|
|
1126
|
+
- **Vue 3 + Vite SPA** under `webui/`, builds into
|
|
1127
|
+
`src/hypermind/simlab/ui/dist/` and ships in the wheel:
|
|
1128
|
+
Home (hero / 5 primitives / how-it-works / arch stack / recent runs /
|
|
1129
|
+
quickstart), Sims list, New simulation form, Live SSE view,
|
|
1130
|
+
trace detail (6 tabs: Overview / Cast / Agent detail / Peer claims /
|
|
1131
|
+
Questions / Tool calls), Compare two runs (ΔCIQ + per-question delta),
|
|
1132
|
+
Docs (`docs/spec/*.md` + `docs/design/*.md` rendered with sidebar TOC,
|
|
1133
|
+
on-page anchors, syntax highlighting via markdown-it + highlight.js).
|
|
1134
|
+
|
|
1135
|
+
### Added — public API
|
|
1136
|
+
- `BlockReason` dataclass with `rule_id`, `spec_ref`, `docs_url`,
|
|
1137
|
+
`hint`, `telemetry`; 12 v0.1 rule IDs in `hypermind.rule_ids`.
|
|
1138
|
+
- `HyperMindAgent.open(mode="sandbox" | "libp2p")` — canonical factory
|
|
1139
|
+
entry point for v1.0.
|
|
1140
|
+
- `hypermind.testing` module — re-exports `testbed_cohort` and other
|
|
1141
|
+
test-only helpers.
|
|
1142
|
+
- `hypermind.crypto.hlc.ClockSource` Protocol + `SystemClock` default
|
|
1143
|
+
with skew-detection warning; `hmctl doctor --check-clock`.
|
|
1144
|
+
- `PortableInclusionProof` (RFC 6962 §2.1.1 audit-path + leaf-index +
|
|
1145
|
+
tree-size) — independent verifiers no longer need pymerkle.
|
|
1146
|
+
- `Recorder.tail(namespace_id=…)` — async generator for SSE; backbone
|
|
1147
|
+
of the live mode.
|
|
1148
|
+
|
|
1149
|
+
### Changed
|
|
1150
|
+
- **`HyperMindAgent.sandbox` (instance attribute) renamed to
|
|
1151
|
+
`is_sandbox`** to stop shadowing the `HyperMindAgent.sandbox()`
|
|
1152
|
+
classmethod factory. JSON `introspect()` payload unchanged
|
|
1153
|
+
(still keyed `"sandbox"`).
|
|
1154
|
+
- **Persona-panel scenario moved into the package** at
|
|
1155
|
+
`src/hypermind/simlab/`; `examples/scenario_persona_panel.py` is now
|
|
1156
|
+
a thin shim that calls `simlab.run_persona_sim(SimConfig)`.
|
|
1157
|
+
|
|
1158
|
+
### Removed
|
|
1159
|
+
- Static viewers replaced by SimLab: `docs/sim_debugger.html`,
|
|
1160
|
+
`docs/_sim_debugger_template.html`, `docs/eval_dashboard.html`,
|
|
1161
|
+
`docs/crisis_behaviours.html`, `docs/_crisis_viewer_template.html`,
|
|
1162
|
+
`docs/msft_outlook.html`, all stray traces under `docs/`,
|
|
1163
|
+
`examples/serve_persona_sim.py`, `examples/scenario_msft_outlook.py`.
|
|
1164
|
+
- Old marketing landing `docs/index.html` — Vue Home (`/`) is now the
|
|
1165
|
+
single canonical landing, served by `hmctl simlab`.
|
|
1166
|
+
|
|
1167
|
+
### Fixed
|
|
1168
|
+
- **`pyproject.toml` version was `0.1.0a0`** while `__version__` was
|
|
1169
|
+
`0.5.0a0` — `pip show hypermind` and `/v1/healthz` disagreed. Both
|
|
1170
|
+
now report `0.9.0a0`.
|
|
1171
|
+
- **CI: `ENVELOPE_SCHEMA_HASH` is now CRLF-invariant.** Both `wire.py`
|
|
1172
|
+
and `reference_verifier/verifier.py` normalise `\r\n` → `\n`.
|
|
1173
|
+
- **CI: DCO action SHA pin corrected** (`tisonkun/actions-dco@f1024cd`).
|
|
1174
|
+
- **`mypy --strict` clean across the public API surface** (0 errors,
|
|
1175
|
+
down from 25).
|
|
1176
|
+
- **Tests: deterministic clock for HLC merge-branch coverage**.
|
|
1177
|
+
- **Tests: bump IBLT cells/δ ratio from 6× to 10×** to remove flakiness.
|
|
1178
|
+
- **Examples: ruff lint cleanup** + `two_node_tcp.py` uses a poll loop
|
|
1179
|
+
instead of a fixed sleep.
|
|
1180
|
+
|
|
1181
|
+
### Security
|
|
1182
|
+
- **FROST hedged-random nonces (RFC 9591 §4.2)** replace pure-deterministic
|
|
1183
|
+
§4.1 — closes Cycle-1 finding C1 (Critical). Process restart no longer
|
|
1184
|
+
re-opens Drijvers replay window.
|
|
1185
|
+
- **LAMPS draft-16 §6 domain prefix** on Composite Ed25519+ML-DSA-65 —
|
|
1186
|
+
closes stripping/splicing class.
|
|
1187
|
+
- **`ENVELOPE_SCHEMA_HASH` bound to actual CDDL bytes** via
|
|
1188
|
+
`importlib.resources` — restores two-implementation interop guarantee.
|
|
1189
|
+
- **CapToken canonical-encoding gate** — `from_bytes()` now rejects
|
|
1190
|
+
non-canonical CBOR (mirrors wire.py A-ALG-BOUND).
|
|
1191
|
+
- **Secret material redacted** in `__repr__`/`__str__`; pickle refused
|
|
1192
|
+
with `TypeError` on `Keypair`/`FrostShare`.
|
|
1193
|
+
- **GitHub Actions pinned to commit SHAs** with Renovate config.
|
|
1194
|
+
- **Hash-pinned `requirements.lock`** generated via
|
|
1195
|
+
`pip-compile --generate-hashes`; `pip-audit` CI gate added.
|
|
1196
|
+
- **Per-sim `Recorder.scoped()`** isolates SSE event streams between
|
|
1197
|
+
concurrent sims; no cross-sim leakage on `/v1/sims/{id}/events/stream`.
|
|
1198
|
+
|
|
1199
|
+
## [0.6.1] - 2026-04-27
|
|
1200
|
+
|
|
1201
|
+
Outcome of an internal expert review cycle (10 reviewers, 2 cycles). This release
|
|
1202
|
+
lands the Horizon-0 janitorial fixes (~1.5 engineer-weeks of work) plus partial
|
|
1203
|
+
Horizon-1 workstreams (WS-A, WS-B, WS-E, WS-F, WS-H, A2-1).
|
|
1204
|
+
|
|
1205
|
+
### Security
|
|
1206
|
+
- **FROST hedged-random nonces (RFC 9591 §4.2)** replace pure-deterministic §4.1 — closes Cycle-1 finding C1 (Critical). Process restart no longer re-opens Drijvers replay window. (A2-1)
|
|
1207
|
+
- **LAMPS draft-16 §6 domain prefix** on Composite Ed25519+ML-DSA-65 signatures — closes stripping/splicing class. (WS-E)
|
|
1208
|
+
- **`ENVELOPE_SCHEMA_HASH` bound to actual CDDL bytes** via `importlib.resources` instead of placeholder string literal — restores two-implementation interop guarantee. (H0-4)
|
|
1209
|
+
- **CapToken canonical-encoding gate** — `from_bytes()` now rejects non-canonical CBOR (mirrors wire.py A-ALG-BOUND). (H0-8)
|
|
1210
|
+
- **Secret material redacted** in `__repr__` and `__str__`; pickle refused with `TypeError` on `Keypair`/`FrostShare`. (H0-3)
|
|
1211
|
+
- **GitHub Actions pinned to commit SHAs** with Renovate config; reduces supply-chain attack surface. (H0-1)
|
|
1212
|
+
- **Hash-pinned `requirements.lock`** generated via `pip-compile --generate-hashes`; `pip-audit` CI gate added. (WS-A)
|
|
1213
|
+
- **Dual-vendor PQ adapter scaffold** (`hypermind.crypto.pq.MlDsaBackend` Protocol + QuantcryptBackend + OqsBackend); FIPS 204 cross-check test for namespaces requiring PQ. (WS-A)
|
|
1214
|
+
|
|
1215
|
+
### Added
|
|
1216
|
+
- `BlockReason` dataclass with `rule_id`, `spec_ref`, `docs_url`, `hint`, `telemetry`; 12 v0.1 rule IDs in `hypermind.rule_ids`. (H0-6)
|
|
1217
|
+
- `HyperMindAgent.open(mode="sandbox" | "libp2p")` — canonical factory entry point for v1.0. (WS-F)
|
|
1218
|
+
- `hypermind.testing` module — re-exports `testbed_cohort` and other test-only helpers. (WS-F)
|
|
1219
|
+
- `hypermind.crypto.hlc.ClockSource` Protocol + `SystemClock` default with skew-detection warning; `hmctl doctor --check-clock` integration. (WS-H)
|
|
1220
|
+
- `PortableInclusionProof` (RFC 6962 §2.1.1 audit-path + leaf-index + tree-size) — independent verifiers no longer need pymerkle. (WS-E)
|
|
1221
|
+
- `tests/test_examples_runnable.py` — CI-enforced: every `examples/0N_*.py` must run with exit 0. (H0-5)
|
|
1222
|
+
- Stub examples for v0.2 / v0.7 features that were referenced but unimplemented. (H0-5)
|
|
1223
|
+
- `fuzz/` directory with `atheris` harnesses for `wire.from_bytes`, `CapToken.from_bytes`, `BloomFilter.from_cbor`, Merkle inclusion proof; nightly `fuzz.yml` workflow. (WS-B)
|
|
1224
|
+
- CycloneDX SBOM auto-generation on release tags via `sbom.yml` workflow. (WS-A)
|
|
1225
|
+
- `py.typed` marker + strict mypy on public API surface (`__init__.py`, `agent.py`, `wire.py`, `capability.py`, `errors.py`); `typecheck.yml` workflow. (H0-12)
|
|
1226
|
+
- Bounded `Recorder` ring buffer (default `maxlen=10_000`) with `records_dropped_total` counter; per-namespace `Recorder.scoped()`. (Reliability prep)
|
|
1227
|
+
|
|
1228
|
+
### Changed
|
|
1229
|
+
- `pyproject.toml` classifiers now include Python 3.13, `Topic :: Scientific/Engineering :: Artificial Intelligence`, `Topic :: Security :: Cryptography`; SPDX expression `license = "Apache-2.0"`. (H0-2)
|
|
1230
|
+
- `HyperMindAgent.from_env()` now emits `PendingDeprecationWarning` — use `.open(mode=...)` instead. (WS-F)
|
|
1231
|
+
- `CHARTER.md` adds §2.1.1 Bootstrap Period clause: founder + 1 advisor interim quorum until N≥3 maintainers from ≥2 organisations are seated. Bootstrap Period sunsets at v0.7 release. (H0-10)
|
|
1232
|
+
|
|
1233
|
+
### Documentation
|
|
1234
|
+
- Internal expert review synthesis (30 findings, 3 horizons, 90-day operational plan, foundation evaluation matrix, v1.0 audit-readiness statement, 8-row production-profile gates) drove this release.
|
|
1235
|
+
- `docs/migration/v0.7.md` — migration guide for `from_env` → `open` and namespace re-exports. NEW.
|
|
1236
|
+
- `ROADMAP.md` updated through v1.0 with WS-A/B/C/D/E/F/G/H workstream items, A2-1/A2-2/A2-3/A2-4/A2-5 architectural shifts, 8-row v0.8 production-profile gates, formal-methods workstream for v0.9.
|
|
1237
|
+
- `CLAUDE.md` updated: active milestone notes Horizon-0 landed; canonical entry point now `HyperMindAgent.open()`.
|
|
1238
|
+
|
|
1239
|
+
### Roadmap pulls-left
|
|
1240
|
+
- **SCITT IETF submission moved from v0.4 → v0.5** per panel WS-D (CRITICAL): WG charter is solidifying now; submitting at v0.4 is too late to shape it. Target: `draft-zysec-scitt-contested-claims-00` to datatracker within 30 days; IANA early-allocation request within 60 days; SCITT WG shepherd within 90 days.
|
|
1241
|
+
- **HLC clock-source contract moved from v0.9 → v0.5** per panel finding C5 — wire-version prerequisite, not freeze-milestone item.
|
|
1242
|
+
|
|
1243
|
+
### Known issues
|
|
1244
|
+
- Bootstrap Period in effect: only one named maintainer. Critical-path milestone for v0.7 is closing the W6 maintainer #2 hire (panel 90-day plan).
|
|
1245
|
+
- libp2p adoption (A2-3) deferred to v0.2 release — `mode="libp2p"` raises `NotImplementedError` until then.
|
|
1246
|
+
- Dispute close() witness k-of-n quorum (A2-2) deferred to v0.8 — current single-witness path emits soft warning.
|
|
1247
|
+
- Tamarin / ProVerif / hax-rust formal-methods workstream queued for v0.9 (NLnet-fundable, ~18 engineer-months).
|
|
1248
|
+
|
|
1249
|
+
### Removed
|
|
1250
|
+
None. All changes are additive or deprecation-shim'd to preserve v0.6 callers.
|
|
1251
|
+
|
|
1252
|
+
## [0.1.0a0] - 2026-04-27 — Substrate complete (alpha)
|
|
1253
|
+
|
|
1254
|
+
### Added
|
|
1255
|
+
|
|
1256
|
+
- Full normative specification (18 sections) covering wire format,
|
|
1257
|
+
cryptography, dispute resolution, capabilities, transport, agent
|
|
1258
|
+
lifecycle, observability, MCP integration, CLI, and governance.
|
|
1259
|
+
- Reference Python SDK implementing the entire specification.
|
|
1260
|
+
- `hmctl` command-line tool for keygen, signing, verification,
|
|
1261
|
+
capability minting, dispute filing, and transparency-log inspection.
|
|
1262
|
+
- Hybrid post-quantum signing (classical + PQ in a single envelope).
|
|
1263
|
+
- FROST `k`-of-`n` threshold signatures for multi-party authorisation.
|
|
1264
|
+
- RFC 6962 Merkle transparency log for the knowledge plane.
|
|
1265
|
+
- Bonded dispute FSM with stake, challenge, response, and slashing states.
|
|
1266
|
+
- Capability chain-of-trust with delegation, attenuation, and revocation.
|
|
1267
|
+
- Per-`(agent, topic)` reputation scoring.
|
|
1268
|
+
- `A-ALG-BOUND` wire-level defence binding algorithm identifiers into
|
|
1269
|
+
the signed envelope to defeat algorithm-substitution attacks.
|
|
1270
|
+
- 361 tests at 97% coverage.
|
|
1271
|
+
- `reference_verifier/` interoperability suite for cross-implementation
|
|
1272
|
+
conformance testing.
|
|
1273
|
+
- Six end-to-end example scenarios under `examples/`.
|
|
1274
|
+
|
|
1275
|
+
### Security
|
|
1276
|
+
|
|
1277
|
+
- Two cycles of self-heal review — 14 fixes pinned in
|
|
1278
|
+
`tests/test_self_heal_cycle1.py` and `tests/test_self_heal_cycle2.py`.
|
|
1279
|
+
|
|
1280
|
+
[Unreleased]: https://github.com/ZySec-AI/hypermind/compare/v0.1.0a0...HEAD
|
|
1281
|
+
[0.1.0a0]: https://github.com/ZySec-AI/hypermind/releases/tag/v0.1.0a0
|
|
1282
|
+
|
|
1283
|
+
---
|
|
1284
|
+
|
|
1285
|
+
_Older versions: pre-history; not tagged._
|