hypermind 1.8.2__tar.gz → 1.8.3__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-1.8.2 → hypermind-1.8.3}/PKG-INFO +1 -1
- {hypermind-1.8.2 → hypermind-1.8.3}/pyproject.toml +1 -1
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hmctl/cli.py +34 -8
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/agent.py +344 -33
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/capability.py +47 -5
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/crypto/frost.py +1 -3
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/integrations/client.py +64 -19
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/integrations/loop.py +23 -26
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/integrations/mcp_tools.py +146 -28
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/integrations/research.py +3 -4
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/integrations/working_memory.py +69 -13
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/mind/active.py +28 -4
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/mind/deliberator.py +150 -42
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/mind/diversity.py +3 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/mind/evolve.py +19 -4
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/mind/goals.py +163 -3
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/mind/policy.py +19 -6
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/mind/roles.py +6 -1
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/mind/skills.py +206 -29
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/mind/world_model.py +3 -1
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/analysis.py +1 -2
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/evidence.py +20 -1
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/hypothesis.py +22 -1
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/replay.py +1 -3
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/sim.py +56 -13
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/storage/relata.py +66 -8
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/storage/sqlite.py +73 -27
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/mind/test_skill_learning_pipeline.py +7 -3
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_datasys_reputation_persistence_on_close.py +6 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_deliberator_parallel_tick.py +3 -1
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_security_regressions_495_490_493_494.py +6 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_self_heal_cycle2.py +12 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.editorconfig +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.env.example +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.gitattributes +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/FUNDING.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/renovate.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows/check-license.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows/code-review-pr.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows/hotfix-security.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows/issue-auto-fix.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows/issue-triage.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows/pr-standards.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows/quality.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows/release-simple.yml.bak +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows/release.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows/security.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows/stale.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows-disabled/branch-flow-check.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows-disabled/chaos.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows-disabled/check-license.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows-disabled/ci.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows-disabled/code-freeze.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows-disabled/code-review-pr.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows-disabled/code-review.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows-disabled/codeql.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows-disabled/dco.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows-disabled/docs-to-wiki.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows-disabled/docs.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows-disabled/formal.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows-disabled/fuzz.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows-disabled/hotfix-security.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows-disabled/issue-auto-fix.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows-disabled/issue-triage.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows-disabled/merge-comment.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows-disabled/pip-audit.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows-disabled/pr-standards.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows-disabled/quality.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows-disabled/sbom.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows-disabled/scorecard.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows-disabled/security.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows-disabled/sprint-retro.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.github/workflows-disabled/stale.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.gitignore +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.gitleaks.toml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.pre-commit-config.yaml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/.tool-versions +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/CHANGELOG.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/CHARTER.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/CLAUDE.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/CODEOWNERS +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/CODE_OF_CONDUCT.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/CONTRIBUTING.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/GOVERNANCE.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/LICENSE +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/MAINTAINERS.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/Makefile +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/README.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/ROADMAP.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/SECURITY.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/bench/README.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/bench/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/bench/baselines/v0.6.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/bench/bench_consult.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/bench/bench_dispute.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/bench/bench_publish.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/bench/coordination/README.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/bench/coordination/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/bench/coordination/baselines/v0.10.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/bench/coordination/bench_rfp_latency.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/bench/coordination/bench_task_throughput.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/bench/coordination/bench_workflow_replay.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/bench/coordination/run_all.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/bench/question_sets/geopolitics_q20.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/bench/question_sets/msft_outlook_q10.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/bench/run_bench.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/chaos/README.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/chaos/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/chaos/p1_partition_recovery.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/chaos/p2_witness_compromise.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/chaos/p3_key_rotation.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/chaos/p4_dispute_backlog.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/chaos/p5_wire_cutover.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/chaos/p6_quorum_loss.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/chaos/p7_clock_skew.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/chaos/p8_recorder_outage.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/chaos/run_chaos.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/deploy/Dockerfile +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/deploy/README.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/deploy/docker-compose.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/deploy/grafana/dashboards/hypermind-coordination.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/deploy/grafana/dashboards/hypermind-v06.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/deploy/grafana/dashboards/hypermind.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/deploy/grafana/provisioning/dashboards/hypermind.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/deploy/grafana/provisioning/datasources/prometheus.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/deploy/k8s/hypermind-deployment.yaml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/deploy/k8s/orgs-distributed.yaml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/deploy/prometheus/prometheus.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/deploy/relata-serve.sh +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/deploy/systemd/hypermind.service +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/SIMLAB.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/_meta/glossary.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/_meta/provenance.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/_meta/public-surface.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/_meta/standards-map.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/adr/0001-tcp-federation-chosen-as-v1-transport.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/adr/0002-cloud-kms-signing-removed-local-signer-is-shipped-backend.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/adr/0003-libp2p-deferred-to-optional-external-binding.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/adr/0004-verified-corpus-is-a-first-class-product-surface.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/adr/0005-ground-truth-anchoring-is-tiered-and-provenance-bearing.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/adr/0006-three-layer-event-driven-integration.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/adr/0007-per-agent-deliberator-with-declarative-role-bundles.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/adr/0008-llm-decomposed-expert-seats-and-reasoning-strategies.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/adr/0009-dual-storage-backend-sqlite-local-default-and-relata-federated.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/adr/0010-composite-ed25519-mldsa65-signing-pq-hybrid.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/adr/README.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/api/agent.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/api/agent_card.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/api/capability.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/api/contract_net.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/api/crypto.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/api/dispute.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/api/eval.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/api/knowledge.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/api/observability.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/api/revocation.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/api/simlab-openapi.yaml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/api/sync.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/api/tal.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/api/tasks.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/api/transport.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/api/wire.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/assets/hero-swarm.svg +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/audit/findings.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/audit/scope.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/concepts.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/configuration.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/conformance/authority.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/conformance/bake-off-report.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/conformance/mark-policy.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/decide/01-disqualifiers.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/decide/02-alternatives.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/decide/03-incentive-aligned-cases.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/decide/04-use-cases.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/design/01-architecture.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/design/02-traces.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/design/03-failure-modes.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/design/04-poisoning-defenses.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/design/05-deployment-topology.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/eval-programme.html +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/feature-matrix.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/getting-started.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/governance/cna.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/governance/foundation-evaluation.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/index.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/integrations.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/legal/export-classification.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/lts.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/migrate/v0.x-to-v1.0.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/onboarding/00-prerequisites.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/onboarding/README.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/onboarding/after.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/onboarding/exercises/e01-run-the-loop.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/onboarding/exercises/e02-draw-the-architecture.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/onboarding/exercises/e03-trace-a-claim.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/onboarding/exercises/e04-read-a-spec-section.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/onboarding/exercises/e05-break-it.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/onboarding/exercises/e06-add-a-test.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/onboarding/exercises/e07-first-pr.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/onboarding/glossary.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/onboarding/topics/00-what-is-hypermind.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/onboarding/topics/01-agents-and-swarms.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/onboarding/topics/02-architecture-tour.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/onboarding/topics/03-spec-literacy.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/onboarding/topics/04-cryptography.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/onboarding/topics/05-cbor-cose.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/onboarding/topics/06-transparency-logs.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/onboarding/topics/07-distributed-systems.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/onboarding/topics/08-async-python.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/onboarding/topics/09-security-mindset.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/onboarding/week-1-foundations.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/onboarding/week-2-deep-dive.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/operate/01-deployment.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/operate/02-runbook.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/operate/03-resource-budget.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/operate/backup-restore.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/operate/data-residency.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/operate/key-rotation.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/operate/runbooks/dispute-backlog-drain.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/operate/runbooks/key-rotation.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/operate/runbooks/kms-rotation.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/operate/runbooks/multi-host-deploy.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/operate/runbooks/partition-heal.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/operate/runbooks/quorum-loss.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/operate/runbooks/rfp-dispute-triage.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/operate/runbooks/wire-cutover.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/operate/runbooks/witness-compromise.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/operate/runbooks/workflow-replay.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/operate/slo.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/paper/00-patent.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/paper/hypermind-paper-draft.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/paper/hypermind-paper.docx +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/paper/hypermind-paper.tex +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/quickstart.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/release-notes/v1.0.0.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/release-notes/v1.1.0.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/release-notes/v1.2.0.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/release-notes/v1.3.0.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/release-notes/v1.4.0.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/release-notes/v1.5.0.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/release-notes/v1.6.0.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/release-notes/v1.6.1.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/release-notes/v1.6.2.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/release-notes/v1.6.3.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/release-notes/v1.6.4.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/release-notes/v1.6.5.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/release-notes/v1.6.6.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/release-notes/v1.6.7.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/release-notes/v1.6.8.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/release-notes/v1.6.9.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/release-notes/v1.7.0.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/release-notes/v1.7.1.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/release-notes/v1.7.2.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/release-notes/v1.7.3.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/security/threat-model.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/simlab/modes.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/simulations.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/sop-knowledge-quality.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/00-overview.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/01-transport.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/02-cryptography.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/03-messages.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/04-knowledge-model.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/05-routing.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/06-conformance.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/07-trust-access-layer.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/08-onboarding-contract.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/09-agent-sdk.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/10-disputes.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/11-witness-transparency.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/12-governance.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/13-observability.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/14-threat-model.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/15-living-transmission.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/16-reference-comparisons.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/17-upgrade-v1.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/18-revocation.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/19-autonomy-contract.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/20-swarm-intelligence.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/21-private-namespaces.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/22-transport-mtls.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/23-envelope-encryption.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/24-namespace-identity.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/25-capability-extensions.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/26-workflow.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/27-contract-net.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/28-distributed-trace.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/29-verified-corpus.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/30-ground-truth-anchor.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/31-deep-research-engine.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/32-belief-state.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/appendix-N-calibration.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/appendix-TLA.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/appendix-z.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/errata.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/index.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/invariants.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/spec/normative-trace.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/supply-chain/sbom.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/supply-chain/slsa.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/supply-chain/verify-self.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/sustainability.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/docs/verified-corpus.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/e2e_features_test.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/e2e_mcp_sequential.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/e2e_mcp_test.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/01_hello_world.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/02_two_agents_dispute.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/03_consult_panel.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/04_oracle_resolve.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/05_consult_to_synthesis.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/06_hybrid_pq.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/07_frost_threshold.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/08_ramp_and_diagnostics.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/09_audit_export_chain.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/10_autonomous_agent.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/11_swarm_deliberation.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/12_swarm_iq_scorecard.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/13_role_specialisation.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/14_active_learning_loop.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/16_wire_message.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/17_tool_delegation.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/18_custom_responder.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/19_governance.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/20_conformance_check.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/21_revocation.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/22_agent_card.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/23_task_delegation.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/24_mcp_tool_call.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/25_swarm_trace.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/26_submit_goal_and_goal_handle.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/27_safety_policies.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/28_relata_connection.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/29_quick_research_sim.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/README.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/coordination/01_durable_workflow.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/coordination/02_contract_net.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/coordination/03_belief_and_plan.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/coordination/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/coordination/usecases/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/coordination/usecases/ai_01_fed_benchmark.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/coordination/usecases/ai_alignment_redteam.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/coordination/usecases/cy_05_ir_swarm.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/coordination/usecases/cy_11_ransomware_intel.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/coordination/usecases/ed_credentials.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/coordination/usecases/en_grid_coordinate.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/coordination/usecases/fi_04_bsa_314b.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/coordination/usecases/fi_22_ma_dataroom.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/coordination/usecases/gv_01_intel_sharing.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/coordination/usecases/gv_21_red_team.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/coordination/usecases/hc_06_rare_disease.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/coordination/usecases/hc_21_fed_learning.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/coordination/usecases/lg_ediscovery.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/coordination/usecases/mf_supply_chain.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/e2e_many_agents.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/full_e2e_demo.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/lifecycle.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/org_distributed.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/org_university.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/scenario_aar.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/scenario_backtest.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/scenario_capability_attenuation.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/scenario_conformance.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/scenario_crisis_tabletop.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/scenario_cross_namespace_federation.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/scenario_decision_tournament.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/scenario_dispute_lifecycle_async.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/scenario_evaluation.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/scenario_geopolitical_crisis.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/scenario_geopolitical_traced.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/scenario_governance_committee.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/scenario_information_pipeline.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/scenario_ingest_pipeline.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/scenario_learning_loop.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/scenario_namespace_trust.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/scenario_persona_panel.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/scenario_population_lifecycle.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/scenario_private_namespace.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/scenario_red_team.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/scenario_regulated_consortium.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/scenario_threat_intel.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/scenario_vouch_chain.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/scenario_what_if_tree.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/serve_api.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/examples/two_node_tcp.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/formal/README.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/formal/hax-rust/README.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/formal/hax-rust/scope.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/formal/proverif/dispute_fsm.pv +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/formal/proverif/dispute_liveness.pv +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/formal/tamarin/capability_chain.spthy +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/formal/tamarin/dispute_fsm.spthy +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/formal/tamarin/signed_statement.spthy +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/formal/tamarin/wire_security.spthy +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/fuzz/README.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/fuzz/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/fuzz/fuzz_agent_card.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/fuzz/fuzz_anti_entropy.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/fuzz/fuzz_capability.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/fuzz/fuzz_dispute.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/fuzz/fuzz_inclusion_proof.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/fuzz/fuzz_wire.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/fuzz/seed_corpus.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/harness/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/harness/__main__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/harness/assertions.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/harness/fixtures.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/harness/report.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/harness/roles.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/harness/runner.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/harness/scenario.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/harness/scenarios/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/harness/scenarios/autonomous_evolution.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/harness/scenarios/swarm_iq_benchmark.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/harness/scenarios/threat_intel.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/mkdocs.yml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/reference_verifier/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/reference_verifier/schemas/encrypted_statement.cddl +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/reference_verifier/schemas/namespace_accept.cddl +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/reference_verifier/schemas/namespace_create.cddl +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/reference_verifier/schemas/namespace_founding_attest.cddl +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/reference_verifier/schemas/namespace_invite.cddl +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/reference_verifier/schemas/wire-v0.1.cddl +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/reference_verifier/verifier.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/review/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/review/__main__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/review/agents.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/review/models.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/review/runner.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hmctl/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hmctl/dashboard.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hmctl/orgs_cmd.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/_deprecations.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/agent_card.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/api/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/api/app.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/consult.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/consult_bias.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/contract_net.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/crypto/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/crypto/cose_encrypt.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/crypto/dkg.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/crypto/domain.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/crypto/hashing.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/crypto/hlc.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/crypto/hpke.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/crypto/kms.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/crypto/namespace_root.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/crypto/pq.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/crypto/room_epoch.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/crypto/signing.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/dataset.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/deliberation.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/did_web.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/dispute.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/domains/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/domains/defense.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/domains/legal.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/domains/medical.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/errors.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/eval/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/eval/calibration.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/eval/comparison.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/eval/composite.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/eval/dispute_bench.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/eval/replay.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/eval/report.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/eval/suite.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/eval/swarm_iq.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/ingest.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/integrations/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/integrations/autogen.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/integrations/contradiction.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/integrations/crewai.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/integrations/evolution.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/integrations/federation_manager.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/integrations/freshness.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/integrations/hooks.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/integrations/langchain.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/integrations/llamaindex.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/integrations/notifier.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/integrations/openai_agents.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/integrations/openai_endpoint.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/integrations/population.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/integrations/quickstart.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/integrations/sse.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/integrations/startup.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/integrations/topic_clustering.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/integrations/webhook_server.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/knowledge/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/knowledge/citation_graph.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/knowledge/correlated_agreement.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/knowledge/embedding_registry.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/knowledge/kernel_store.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/knowledge/rekor.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/knowledge/reputation.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/knowledge/swarm_memory.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/knowledge/transparency.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/machine.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/mcp/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/mcp/bridge.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/mcp/client.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/mcp/provenance.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/mcp/relata_tools.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/mcp/server.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/mcp/transport.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/mind/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/mind/belief.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/mind/federation.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/mind/fitness.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/mind/integration.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/mind/mediator.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/mind/memory_store.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/mind/records.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/mind/selfplay.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/mind/sybil_guard.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/namespace.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/namespace_policy.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/observability/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/observability/asgi.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/observability/cost.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/observability/logging_config.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/observability/metrics.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/observability/otel_export.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/observability/recorder.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/observability/swarm_trace.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/anchor.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/charter.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/context.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/corpus.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/deliberate.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/distributed/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/distributed/__main__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/distributed/coordinator.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/distributed/planning.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/distributed/protocol.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/distributed/provision.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/distributed/serde.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/distributed/worker.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/experiment.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/groundtruth.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/interaction.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/intervention.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/mcp_config.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/metrics.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/model.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/prompts.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/quality.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/query.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/receipt.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/refine.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/report.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/retrieval.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/strategies.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/stream.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/templates/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/think.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/tool_providers.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/orgs/tools.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/pin_policy.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/py.typed +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/responders/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/responders/anthropic.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/responders/base.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/responders/openai.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/responders/router.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/responders/structured.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/responders/tools.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/revocation.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/rule_ids.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/schemas/encrypted_statement.cddl +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/schemas/namespace_accept.cddl +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/schemas/namespace_create.cddl +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/schemas/namespace_founding_attest.cddl +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/schemas/namespace_invite.cddl +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/schemas/wire-v0.1.cddl +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/_persona_registry.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/_scenario_impl.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/app.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/backends/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/backends/anchor.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/backends/local.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/backends/server.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/cli_command.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/config.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/deployment.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/knowledge.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/learning.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/modes/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/modes/_eval_real_llm.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/modes/aar.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/modes/backtest.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/modes/binary_forecast.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/modes/conformance.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/modes/evaluation.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/modes/governance.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/modes/redteam.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/modes/tabletop.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/modes/tournament.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/modes/whatif.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/namespace.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/personas.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/prompt_generator.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/question_sets/geopolitics_q20.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/question_sets/governance_q5.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/question_sets/msft_outlook_q10.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/question_sets/whatif_q3.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/registry.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/runner.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/scenario.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/swarms.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/tool_handlers/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/tool_handlers/alpha_vantage.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/tool_handlers/brave.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/tool_handlers/newsapi.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/tool_handlers/openweather.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/tool_handlers/pinecone.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/tool_handlers/qdrant.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/tool_handlers/query_knowledge_base.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/tool_handlers/relata_recall.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/tool_handlers/retrieve_document.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/tool_handlers/serper.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/tool_handlers/tavily.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/tool_handlers/weaviate.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/tool_handlers/wikipedia.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/tool_handlers/wolfram.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/tool_handlers/yahoo_finance.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/tool_registry.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/topic_adapter.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/simlab/topic_questions.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/storage/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/storage/backend.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/sync.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/tal.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/tasks.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/testing.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/tools/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/tools/registry.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/transport/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/transport/anti_entropy.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/transport/bus.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/transport/knows_delta.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/transport/libp2p.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/transport/placement.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/transport/tcp.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/transport/tls_profile.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/types.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/uncertainty.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/wire.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/workflow/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/workflow/engine.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/workflow/plan.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/src/hypermind/workflow/repair.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/api/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/api/test_eval_endpoints.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/api/test_events_stream.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/api/test_management_app.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/chaos/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/chaos/test_gossip_amplification.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/chaos/test_kill_agent_during_rfp.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/chaos/test_partition_during_workflow.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/chaos/test_slow_consumer_backpressure.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/chaos/test_slow_peer.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/generate_vectors.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/generate_z66.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/SIGNING.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/agent-card-01.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/agent-card-02.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/capability-01.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/capability-02.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/capability-03.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/dispute-01.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/dispute-02.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/dispute-03.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/dispute-04.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/dispute-05.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/frost-01.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/frost-02.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/frost-03.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/knows-delta-01.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/knows-delta-02.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/mcp-prov-01.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/mcp-prov-02.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/merkle-01.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/merkle-02.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/merkle-03.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/merkle-04.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/rep-decay-01.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/revocation-01.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/revocation-02.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/revocation-03.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/task-01.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/task-02.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/trace-01.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/trace-02.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/wire-envelope-01.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/wire-envelope-02.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/wire-envelope-03.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/wire-envelope-04.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conformance/vectors/wire-envelope-05.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/conftest.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/harness/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/harness/conftest.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/harness/test_assertion_library.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/harness/test_autonomous_evolution.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/harness/test_runner_lifecycle.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/harness/test_threat_intel_harness.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integration/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integration/test_relata_server.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_all_mcp_tools.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_autogen.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_autonomous.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_crewai.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_datasys_hm_related_sqli.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_env_vars_cmd.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_evolution.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_facade.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_fixes_525_526_527.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_hooks.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_langchain.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_llamaindex.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_local_mode.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_loop_logging.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_loop_persistence.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_mcp_desktop.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_mcp_tool_descriptions.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_mcp_tools.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_no_duplicate_subscriptions.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_notifier.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_openai_agents.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_openai_endpoint.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_otel_serve_wiring.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_population_checkpoint_v2.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_population_tools.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_quickstart.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_research_mcp_shared_client.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_research_tool.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_retrieve_author_field.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_sse.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_startup_wiring.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_verifiable_rag.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_verify_v160_tools.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_webhook_server.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/integrations/test_working_memory_atomic_flush.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/mcp/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/mcp/test_multi_connection.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/mind/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/mind/test_deliberator_logging.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/mind/test_deliberator_otel_tick.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/mind/test_deliberator_save_learning_nonblocking.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/mind/test_deliberator_sybil_guard_default.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/mind/test_mind_assign_role.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/mind/test_mind_memory_bounds.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/mind/test_mind_research_antiherd.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/mind/test_selfplay.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/_fakes.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_adversarial.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_analysis.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_anchor.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_concurrency.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_context.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_convergence.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_corpus.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_cross_shard.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_datasys_selfreflector_wiring.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_deliberator.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_distributed.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_embeddings.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_evidence.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_experiment.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_graph_retrieval.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_groundtruth.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_hybrid_retriever.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_hypothesis.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_interaction.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_intervention.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_lightweight.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_mcp_config.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_metrics.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_model.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_ner.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_persist_identities.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_prompts.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_quality.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_query.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_rag.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_receipt.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_refine.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_replay.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_report.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_scale.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_sim.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_strategies.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_stream.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_stream_query.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_templates.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_think.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_tool_providers.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_tool_traces.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgs/test_tools.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgsim/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgsim/test_orgsim_observability.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/orgsim/test_orgsim_persona_evolution.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/responders/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/responders/test_responders.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/responders/test_router.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/responders/test_structured_response.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/responders/test_tools.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/review/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/review/test_agents_parser.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/review/test_models.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/review/test_runner.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/simlab/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/simlab/conftest.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/simlab/test_app_endpoints.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/simlab/test_knowledge.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/simlab/test_knowledge_reuse.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/simlab/test_modes_aar.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/simlab/test_modes_backtest.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/simlab/test_modes_conformance.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/simlab/test_modes_evaluation.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/simlab/test_modes_governance.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/simlab/test_modes_redteam.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/simlab/test_modes_tabletop.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/simlab/test_modes_tournament.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/simlab/test_modes_whatif.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/simlab/test_personas.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/simlab/test_personas_endpoints.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/simlab/test_recorder_scoping.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/simlab/test_registry.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/simlab/test_resolve_outcomes.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/simlab/test_responder_timeout.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/simlab/test_runner.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/simlab/test_swarms.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/storage/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/storage/test_relata_backend.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/storage/test_sqlite_backend.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_active_multi_step.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_agent_card.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_agent_e2e.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_agent_edge.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_agent_synthesize.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_anthropic_responder_caching.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_anti_entropy.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_anti_entropy_multiround.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_anti_entropy_selfheal.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_appendix_z_conformance.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_appendix_z_vectors.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_arg_dag_edge_types.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_backpressure.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_belief_revision.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_belief_weight_per_candidate.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_bias_detector.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_block_reason.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_calibration.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_capability.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_capability_canonical.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_capability_chain.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_capability_edge.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_capability_enforcement.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_capability_namespace_caveat.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_capability_revocation.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_citation_graph.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_cli.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_cli_agent_goal_fixes.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_cli_interop.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_cli_mcp_install.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_cli_orgs.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_composite_lamps_prefix.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_consult.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_consult_stream.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_consult_stream_t4.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_contract_net_disputed_award.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_contract_net_frost_award.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_contract_net_happy.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_contract_net_reputation_scoring.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_contract_net_sybil_filter.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_correlated_agreement.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_cose_encrypt_roundtrip.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_cost_tracker.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_cross_namespace_consult.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_crypto.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_dashboard.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_dataset.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_datasys_atomic_loop_state.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_datasys_brier_feedback_wired.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_datasys_brier_no_self_assess_in_research.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_datasys_citation_dedup.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_datasys_claim_length_bound.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_datasys_confidence_range_check.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_datasys_deliberator_research_dedup.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_datasys_deliberator_stop_persistence.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_datasys_hm_ingest_sandbox.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_datasys_hypothesis_propose_empty_reasoning.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_datasys_job_ttl.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_datasys_loop_security.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_datasys_oracle_audit_export.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_datasys_oracle_resolve_rep_signal_fallback.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_datasys_orgsim_run_forever_candidate_question.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_datasys_panel_size_cap.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_datasys_rounds_cap.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_datasys_storage_write_failure_observability.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_deliberation.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_deliberator_cap.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_deliberator_observe.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_deprecation_registry.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_determinism_corpus.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_dispute.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_dispute_close_deliberator_notify.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_dispute_fsm_full.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_dispute_mediate.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_dispute_quorum.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_dispute_retrieval_decay.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_dispute_suspended.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_dissent.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_diversity_guard_synthesize.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_diversity_guard_synthesize_jaccard.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_diversity_quorum.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_dkg.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_e2e_research_chain.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_embedding_registry.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_eval_comparison.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_eval_suite.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_examples_runnable.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_final_coverage.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_frost.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_frost_edge.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_frost_hedged_nonces.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_frost_persistence.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_frost_transcript_store_swap.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_hlc_clock_source.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_hpke_vectors.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_info_gain_routing.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_issue_355_brier_apply_after_research.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_issue_356_run_cycle_findings_key.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_issue_357_relata_kernel_query_rows.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_issue_359_deliberator_stop_on_teardown.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_issue_360_curriculum_assign_called.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_issue_487_loop_deliberator_observe.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_issue_491_run_cycle_error_logging.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_issue_492_oracle_resolve_fsm_sequence.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_kernel_store.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_kernel_store_remote.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_knows_delta.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_lamps_oid_canonical.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_last_lines.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_libp2p_peer_id.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_libp2p_scaffold.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_libp2p_stub.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_machine_identity.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_mcp_bridge.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_mcp_provenance.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_mcp_tools_list.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_mcp_transport.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_merkle_transparency.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_mind_active.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_mind_assign_role.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_mind_auto_relay_research.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_mind_deliberator.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_mind_diversity_sybil_mediator.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_mind_evolve.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_mind_goal_handle.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_mind_goal_queue_bounds.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_mind_goals_policy.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_mind_learning_persistence.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_mind_planner_wiring.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_mind_records.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_mind_research_antiherd.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_mind_research_brier.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_mind_research_ledger.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_mind_research_memory.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_mind_roles.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_mind_world_model.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_mind_world_model_priority.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_misc_edge.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_mtls_profile.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_namespace_lifecycle.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_namespace_policy.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_namespace_policy_acl.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_observability_asgi.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_observability_issues_350_351_352.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_observability_otel.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_open_factory.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_oracle_backprop.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_oracle_resolve_closes_dispute.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_oracle_resolve_events.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_orgs_replay_reputation.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_orgsim_kernel_store_persist.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_orgsim_persona_evolution.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_orgsim_persona_ticking.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_otel_export.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_pin_policy.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_pin_policy_compose_zero.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_placement_consistent_hash.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_placement_hint.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_plan_dag.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_plan_repair.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_portable_inclusion_proof.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_pq_default.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_pq_dual_vendor.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_pq_signing.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_priv_ns_conformance_coverage.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_property_based.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_protocol_version.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_public_surface_v05.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_pursue_workflow.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_rate_caveat.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_recorder_bounded.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_recorder_tail.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_reference_verifier_v2.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_rekor_client.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_rekor_downgrade.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_relata_author_hex.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_relata_cbor_disputes.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_relata_hybrid_search.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_relata_memory_store.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_relata_tools.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_remaining_gaps.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_replay.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_reputation.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_reputation_concurrency.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_reputation_memory.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_reputation_staleness.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_review_fixes.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_revocation.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_revocation_lifecycle.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_room_epoch.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_schema_hash_pinned.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_secret_redaction.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_self_heal_cycle1.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_self_heal_cycle3.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_self_heal_cycle3_cascade_isolate.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_self_heal_cycle3_governance.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_self_heal_cycle4.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_self_heal_cycle4_deliberator_broadcast.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_self_heal_cycle5.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_signer_protocol.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_skill_registry.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_sth_cross_gossip.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_swarm_iq.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_swarm_iq_at_scale.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_swarm_iq_recommend.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_swarm_memory.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_swarm_memory_federation.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_swarm_trace.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_swarm_vector_overflow.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_sybil_guard_consult.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_sync_agent.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_tal.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_tal_decay_hlc_wallclock.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_tal_decay_wired.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_task_handle.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_task_handle_network.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_tcp_duplicate_kid_attack.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_tcp_edge.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_tcp_federation.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_tcp_final.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_tcp_read_loop_cleanup.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_tcp_transport.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_theory_of_mind.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_transport.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_transport_scale_gaps.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_two_impl_interop.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_uncertainty.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_uncertainty_edge.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_verify_brier_research_not_self_referential.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_verify_build_mcp_server_no_loop.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_verify_deliberator_posteriors_hydrated.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_verify_hypothesis_book_oracle_resolve.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_verify_self_reflector_topic_kwarg.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_wire.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_wire_edge_cases.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_wire_kid_stability.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_wire_p3.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_wire_v2.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_wire_version.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_witness_preimage_length_prefix.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_workflow_compensation.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_workflow_engine.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/test_workflow_replay.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/usecases/__init__.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/usecases/conftest.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/usecases/test_ai_01_fed_benchmark.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/usecases/test_ai_alignment_redteam.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/usecases/test_cy_05_ir_swarm.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/usecases/test_cy_11_ransomware_intel.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/usecases/test_ed_credentials.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/usecases/test_en_grid_coordinate.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/usecases/test_fi_04_bsa_314b.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/usecases/test_fi_22_ma_dataroom.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/usecases/test_gv_01_intel_sharing.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/usecases/test_gv_21_red_team.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/usecases/test_hc_06_rare_disease.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/usecases/test_hc_21_fed_learning.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/usecases/test_lg_ediscovery.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/tests/usecases/test_mf_supply_chain.py +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/transport-rust/Cargo.toml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/transport-rust/README.md +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/transport-rust/pyproject.toml +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/transport-rust/src/lib.rs +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/uv.lock +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/vercel.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/index.html +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/package-lock.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/package.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/App.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/api/client.ts +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/components/ActivityCanvas.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/components/AgentContribution.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/components/BrierHeatmap.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/components/CIQTrajectory.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/components/CitationGraph.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/components/DisputeTimeline.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/components/DissentList.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/components/Logo.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/components/NowAsking.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/components/PersonaRadar.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/components/PopulationGenerator.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/components/Term.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/components/forms/SchemaForm.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/components/result/AARTimeline.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/components/result/BacktestScorecard.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/components/result/ConformanceReport.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/components/result/CrisisTabletop.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/components/result/DecisionBracket.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/components/result/EvaluationReport.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/components/result/GovernanceReceipt.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/components/result/MethodNote.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/components/result/RedTeamReport.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/components/result/ScenarioTree.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/docs/index.ts +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/docs/render.ts +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/main.ts +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/router.ts +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/stores/sims.ts +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/styles.css +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/types/trace.ts +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/views/Agents.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/views/Docs.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/views/Evidence.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/views/Home.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/views/HowItWorks.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/views/Knowledge.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/views/Landing.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/views/Namespaces.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/views/Report.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/views/Security.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/views/SimCompare.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/views/SimDetail.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/views/SimList.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/views/SimLive.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/views/SimNew.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/views/Tools.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/src/views/UseCases.vue +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/tsconfig.json +0 -0
- {hypermind-1.8.2 → hypermind-1.8.3}/webui/vite.config.ts +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hypermind
|
|
3
|
-
Version: 1.8.
|
|
3
|
+
Version: 1.8.3
|
|
4
4
|
Summary: Federated agent intelligence — reference SDK for the HyperMind SCITT contested-claims profile
|
|
5
5
|
Project-URL: Homepage, https://github.com/ZySec-AI/hypermind
|
|
6
6
|
Project-URL: Documentation, https://github.com/ZySec-AI/hypermind/tree/main/docs
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "hypermind"
|
|
7
|
-
version = "1.8.
|
|
7
|
+
version = "1.8.3"
|
|
8
8
|
description = "Federated agent intelligence — reference SDK for the HyperMind SCITT contested-claims profile"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11,<3.14"
|
|
@@ -496,7 +496,9 @@ def doctor(check_clock: bool, strict_pq: bool) -> None:
|
|
|
496
496
|
for k, v in result.items():
|
|
497
497
|
table.add_row(k, v)
|
|
498
498
|
console.print(table)
|
|
499
|
-
console.print(
|
|
499
|
+
console.print(
|
|
500
|
+
"\n[dim]To use HyperMind in Claude Desktop: [bold]hmctl mcp install[/] then restart Claude.[/]"
|
|
501
|
+
)
|
|
500
502
|
|
|
501
503
|
|
|
502
504
|
def _doctor_check_clock() -> None:
|
|
@@ -3159,7 +3161,11 @@ def skill() -> None:
|
|
|
3159
3161
|
|
|
3160
3162
|
|
|
3161
3163
|
def _skill_store() -> object:
|
|
3162
|
-
"""Return the active skill store: RelataBackend if RELATA_URL set, else SkillFileStore.
|
|
3164
|
+
"""Return the active skill store: RelataBackend if RELATA_URL set, else SkillFileStore.
|
|
3165
|
+
|
|
3166
|
+
#793: RelataBackend.open() is wrapped in a try/except so a misconfigured
|
|
3167
|
+
RELATA_URL produces a clear error rather than an unhandled exception.
|
|
3168
|
+
"""
|
|
3163
3169
|
import os
|
|
3164
3170
|
|
|
3165
3171
|
from hypermind.mind.skills import SkillFileStore
|
|
@@ -3169,7 +3175,13 @@ def _skill_store() -> object:
|
|
|
3169
3175
|
from hypermind.storage.relata import RelataBackend
|
|
3170
3176
|
|
|
3171
3177
|
b = RelataBackend(relata_url)
|
|
3172
|
-
|
|
3178
|
+
try:
|
|
3179
|
+
b.open()
|
|
3180
|
+
except Exception as exc:
|
|
3181
|
+
raise click.ClickException(
|
|
3182
|
+
f"Could not connect to Relata at {relata_url!r}: {exc}. "
|
|
3183
|
+
"Check RELATA_URL and RELATA_BEARER_TOKEN, or unset RELATA_URL to use local storage."
|
|
3184
|
+
) from exc
|
|
3173
3185
|
return b
|
|
3174
3186
|
return SkillFileStore()
|
|
3175
3187
|
|
|
@@ -3180,11 +3192,17 @@ def skill_upload(path: str) -> None:
|
|
|
3180
3192
|
"""Upload a .skill file to Relata (if configured) or ~/.hypermind/skills/."""
|
|
3181
3193
|
import os
|
|
3182
3194
|
|
|
3183
|
-
from hypermind.mind.skills import _parse_frontmatter
|
|
3195
|
+
from hypermind.mind.skills import _parse_frontmatter, _validate_skill_id
|
|
3184
3196
|
|
|
3185
|
-
|
|
3197
|
+
# #808: use explicit utf-8 encoding instead of platform default.
|
|
3198
|
+
text = open(path, encoding="utf-8").read()
|
|
3186
3199
|
meta, code = _parse_frontmatter(text)
|
|
3187
3200
|
skill_id = meta.get("skill_id") or os.path.splitext(os.path.basename(path))[0]
|
|
3201
|
+
# #751: validate skill_id from frontmatter before passing to the store.
|
|
3202
|
+
try:
|
|
3203
|
+
_validate_skill_id(skill_id)
|
|
3204
|
+
except ValueError as exc:
|
|
3205
|
+
raise click.ClickException(f"Invalid skill_id {skill_id!r}: {exc}") from exc
|
|
3188
3206
|
description = meta.get("description", "")
|
|
3189
3207
|
tags = meta.get("tags", "")
|
|
3190
3208
|
store = _skill_store()
|
|
@@ -3194,8 +3212,12 @@ def skill_upload(path: str) -> None:
|
|
|
3194
3212
|
|
|
3195
3213
|
|
|
3196
3214
|
@skill.command("list")
|
|
3197
|
-
@click.option(
|
|
3198
|
-
|
|
3215
|
+
@click.option(
|
|
3216
|
+
"--candidates",
|
|
3217
|
+
is_flag=True,
|
|
3218
|
+
default=False,
|
|
3219
|
+
help="Show skill candidates surfaced from deliberator work history.",
|
|
3220
|
+
)
|
|
3199
3221
|
def skill_list(candidates: bool) -> None:
|
|
3200
3222
|
"""List skills from Relata (if configured) or ~/.hypermind/skills/.
|
|
3201
3223
|
|
|
@@ -3204,8 +3226,10 @@ def skill_list(candidates: bool) -> None:
|
|
|
3204
3226
|
"""
|
|
3205
3227
|
if candidates:
|
|
3206
3228
|
import os as _os
|
|
3229
|
+
|
|
3207
3230
|
_os.environ.setdefault("HYPERMIND_NO_ENV_FILE", "1")
|
|
3208
3231
|
from hypermind.integrations.client import HyperMindClient
|
|
3232
|
+
|
|
3209
3233
|
client = HyperMindClient.sandbox()
|
|
3210
3234
|
book = getattr(getattr(client._primary, "_world", None), "hypothesis_book", None)
|
|
3211
3235
|
if book is None:
|
|
@@ -3218,7 +3242,9 @@ def skill_list(candidates: bool) -> None:
|
|
|
3218
3242
|
status = record.get("status", "open")
|
|
3219
3243
|
click.echo(f"{record['id']:<50} [{status}] {record.get('statement', '')[:80]}")
|
|
3220
3244
|
if not found:
|
|
3221
|
-
click.echo(
|
|
3245
|
+
click.echo(
|
|
3246
|
+
"no skill candidates yet — run agents with a Deliberator to accumulate work history"
|
|
3247
|
+
)
|
|
3222
3248
|
return
|
|
3223
3249
|
rows = _skill_store().load_skills()
|
|
3224
3250
|
if not rows:
|
|
@@ -16,11 +16,13 @@ This class implements:
|
|
|
16
16
|
from __future__ import annotations
|
|
17
17
|
|
|
18
18
|
import asyncio
|
|
19
|
+
import collections
|
|
19
20
|
import hashlib
|
|
20
21
|
import json
|
|
21
22
|
import logging
|
|
22
23
|
import os
|
|
23
24
|
import secrets
|
|
25
|
+
import threading
|
|
24
26
|
import time
|
|
25
27
|
import warnings
|
|
26
28
|
from collections.abc import AsyncIterator, Awaitable, Callable, Sequence
|
|
@@ -106,6 +108,10 @@ ClaimType = Literal[
|
|
|
106
108
|
# A caller that passes panel_size > MAX_PANEL_SIZE is silently clamped; a
|
|
107
109
|
# warning is emitted so operators can see the clamping in logs.
|
|
108
110
|
MAX_PANEL_SIZE: int = 50
|
|
111
|
+
# Maximum number of entries in _NamespaceWorld.panel_votes before LRU eviction (#770).
|
|
112
|
+
_PANEL_VOTES_MAX_ENTRIES: int = 1000
|
|
113
|
+
# Maximum number of claims to restore from storage at startup (#753).
|
|
114
|
+
_RESTORE_CLAIMS_MAX: int = int(os.environ.get("HYPERMIND_RESTORE_CLAIMS_MAX", "50000"))
|
|
109
115
|
|
|
110
116
|
_logger = logging.getLogger(__name__)
|
|
111
117
|
|
|
@@ -247,15 +253,20 @@ class _DraftEntry:
|
|
|
247
253
|
# Process-global registry of in-process namespaces (ROADMAP §0.4.1).
|
|
248
254
|
# Used by cross-namespace federated CONSULT to discover sibling worlds
|
|
249
255
|
# without callers having to thread `_NamespaceWorld` references manually.
|
|
256
|
+
# Guarded by _NAMESPACE_REGISTRY_LOCK to prevent data races on concurrent
|
|
257
|
+
# sandbox/testbed construction in multi-threaded callers (#803).
|
|
250
258
|
_NAMESPACE_REGISTRY: dict[bytes, _NamespaceWorld] = {}
|
|
259
|
+
_NAMESPACE_REGISTRY_LOCK: threading.Lock = threading.Lock()
|
|
251
260
|
|
|
252
261
|
|
|
253
262
|
def _register_namespace(world: _NamespaceWorld) -> None:
|
|
254
|
-
|
|
263
|
+
with _NAMESPACE_REGISTRY_LOCK:
|
|
264
|
+
_NAMESPACE_REGISTRY[bytes(world.namespace_id)] = world
|
|
255
265
|
|
|
256
266
|
|
|
257
267
|
def _lookup_namespace(namespace_id: bytes) -> _NamespaceWorld | None:
|
|
258
|
-
|
|
268
|
+
with _NAMESPACE_REGISTRY_LOCK:
|
|
269
|
+
return _NAMESPACE_REGISTRY.get(bytes(namespace_id))
|
|
259
270
|
|
|
260
271
|
|
|
261
272
|
@dataclass
|
|
@@ -279,7 +290,9 @@ class _NamespaceWorld:
|
|
|
279
290
|
# (ROADMAP §0.3.2). Map claim_kid → list of (voter_kid, vote_bool,
|
|
280
291
|
# topic). Used by `oracle_resolve(..., backprop=True)` to reward
|
|
281
292
|
# voters who agreed with the oracle.
|
|
282
|
-
|
|
293
|
+
# Capped at _PANEL_VOTES_MAX_ENTRIES via LRU eviction so resolved
|
|
294
|
+
# dedup keys don't grow unboundedly (#770).
|
|
295
|
+
panel_votes: collections.OrderedDict = field(default_factory=collections.OrderedDict)
|
|
283
296
|
# rooms map name → {min reputation to publish, members}
|
|
284
297
|
rooms: dict[str, dict[str, Any]] = field(default_factory=dict)
|
|
285
298
|
#: Signalled whenever a new dispute is added to self.disputes.
|
|
@@ -438,9 +451,31 @@ class _NamespaceWorld:
|
|
|
438
451
|
|
|
439
452
|
Idempotent: safe to call multiple times; later calls are no-ops
|
|
440
453
|
once state is materialised.
|
|
454
|
+
|
|
455
|
+
The world starts in a degraded state when restore fails — never silently
|
|
456
|
+
broken (#744, #670). Each failure path logs at ERROR level and emits a
|
|
457
|
+
structured warning so operators can detect partial-restore with
|
|
458
|
+
``hmctl doctor``.
|
|
441
459
|
"""
|
|
460
|
+
# --- Phase 1: Claims (bounded iteration, #753) ---
|
|
461
|
+
_claims_restored = 0
|
|
442
462
|
try:
|
|
443
463
|
for stmt in self.storage.load_claims():
|
|
464
|
+
if _claims_restored >= _RESTORE_CLAIMS_MAX:
|
|
465
|
+
_logger.error(
|
|
466
|
+
"restore_from_storage: hit HYPERMIND_RESTORE_CLAIMS_MAX=%d; "
|
|
467
|
+
"stopping claim restore early. Run hmctl doctor to diagnose.",
|
|
468
|
+
_RESTORE_CLAIMS_MAX,
|
|
469
|
+
)
|
|
470
|
+
self.recorder.emit(
|
|
471
|
+
namespace=self.namespace,
|
|
472
|
+
agent_id="world",
|
|
473
|
+
event_type="restore_claims_truncated",
|
|
474
|
+
severity="warning",
|
|
475
|
+
rule_id="HM-RESTORE-CAP-001",
|
|
476
|
+
claims_max=_RESTORE_CLAIMS_MAX,
|
|
477
|
+
)
|
|
478
|
+
break
|
|
444
479
|
# Verify signature before admitting to sealed ledger.
|
|
445
480
|
# from_bytes() enforces A-ALG-BOUND + canonical encoding;
|
|
446
481
|
# verify() additionally checks the Ed25519/composite signature
|
|
@@ -461,24 +496,86 @@ class _NamespaceWorld:
|
|
|
461
496
|
)
|
|
462
497
|
continue
|
|
463
498
|
self.sealed.setdefault(stmt.kid, stmt)
|
|
499
|
+
_claims_restored += 1
|
|
500
|
+
except (OSError, ValueError, KeyError, RuntimeError) as _exc:
|
|
501
|
+
_logger.error(
|
|
502
|
+
"restore_from_storage: claim restore failed after %d claims: %r. "
|
|
503
|
+
"World will start with partial claims. Run hmctl doctor.",
|
|
504
|
+
_claims_restored,
|
|
505
|
+
_exc,
|
|
506
|
+
)
|
|
507
|
+
self.recorder.emit(
|
|
508
|
+
namespace=self.namespace,
|
|
509
|
+
agent_id="world",
|
|
510
|
+
event_type="restore_claims_failed",
|
|
511
|
+
severity="error",
|
|
512
|
+
rule_id="HM-RESTORE-ERR-001",
|
|
513
|
+
claims_restored=_claims_restored,
|
|
514
|
+
error=str(_exc),
|
|
515
|
+
)
|
|
516
|
+
|
|
517
|
+
# --- Phase 2: Disputes ---
|
|
518
|
+
try:
|
|
464
519
|
for kid, dispute in self.storage.load_disputes().items():
|
|
465
520
|
self.disputes.setdefault(kid, dispute)
|
|
521
|
+
except (OSError, ValueError, KeyError, RuntimeError) as _exc:
|
|
522
|
+
_logger.error(
|
|
523
|
+
"restore_from_storage: dispute restore failed: %r. "
|
|
524
|
+
"World will start with no disputes. Run hmctl doctor.",
|
|
525
|
+
_exc,
|
|
526
|
+
)
|
|
527
|
+
|
|
528
|
+
# --- Phase 3: Reputation ---
|
|
529
|
+
try:
|
|
466
530
|
for kid, topic, alpha, beta, last_ms in self.storage.load_reputation():
|
|
467
531
|
p = self.reputation._get(kid, topic)
|
|
468
532
|
p.alpha = alpha
|
|
469
533
|
p.beta = beta
|
|
470
534
|
p.last_update_ms = last_ms
|
|
471
|
-
|
|
472
|
-
|
|
535
|
+
except (OSError, ValueError, KeyError, RuntimeError) as _exc:
|
|
536
|
+
_logger.error(
|
|
537
|
+
"restore_from_storage: reputation restore failed: %r. "
|
|
538
|
+
"World will start with default priors. Run hmctl doctor.",
|
|
539
|
+
_exc,
|
|
540
|
+
)
|
|
541
|
+
|
|
542
|
+
# --- Phase 4: TAL state (#762, #716) — outside claim iterator, always runs ---
|
|
543
|
+
if self.tal is not None:
|
|
544
|
+
try:
|
|
473
545
|
tal_json = self.storage.get_kv("tal")
|
|
474
546
|
if tal_json:
|
|
475
547
|
import json as _json
|
|
476
548
|
|
|
477
549
|
from hypermind.tal import TAL as _TAL
|
|
478
550
|
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
551
|
+
_tal_data = _json.loads(tal_json)
|
|
552
|
+
# Basic schema validation before calling _from_dict to prevent
|
|
553
|
+
# corrupt KV blob from corrupting world state (#716).
|
|
554
|
+
if not isinstance(_tal_data, dict):
|
|
555
|
+
raise ValueError(
|
|
556
|
+
f"TAL KV blob is not a dict (got {type(_tal_data).__name__})"
|
|
557
|
+
)
|
|
558
|
+
if "rooms" not in _tal_data and "vouch_log" not in _tal_data:
|
|
559
|
+
raise ValueError("TAL KV blob missing expected keys 'rooms'/'vouch_log'")
|
|
560
|
+
self.tal = _TAL._from_dict(_tal_data, self.reputation)
|
|
561
|
+
except (OSError, ValueError, KeyError, RuntimeError) as _exc:
|
|
562
|
+
_logger.error(
|
|
563
|
+
"restore_from_storage: TAL restore failed: %r. "
|
|
564
|
+
"TAL will start empty. Run hmctl doctor.",
|
|
565
|
+
_exc,
|
|
566
|
+
)
|
|
567
|
+
self.recorder.emit(
|
|
568
|
+
namespace=self.namespace,
|
|
569
|
+
agent_id="world",
|
|
570
|
+
event_type="restore_tal_failed",
|
|
571
|
+
severity="error",
|
|
572
|
+
rule_id="HM-RESTORE-TAL-001",
|
|
573
|
+
error=str(_exc),
|
|
574
|
+
)
|
|
575
|
+
|
|
576
|
+
# --- Phase 5: HypothesisBook (#768) — outside claim iterator, always runs ---
|
|
577
|
+
if self.hypothesis_book is not None:
|
|
578
|
+
try:
|
|
482
579
|
hyp_json = self.storage.get_kv("hypotheses")
|
|
483
580
|
if hyp_json:
|
|
484
581
|
import json as _json
|
|
@@ -486,13 +583,80 @@ class _NamespaceWorld:
|
|
|
486
583
|
from hypermind.orgs.hypothesis import HypothesisBook as _HB
|
|
487
584
|
|
|
488
585
|
self.hypothesis_book = _HB.from_records(_json.loads(hyp_json))
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
586
|
+
except (OSError, ValueError, KeyError, RuntimeError) as _exc:
|
|
587
|
+
_logger.error(
|
|
588
|
+
"restore_from_storage: HypothesisBook restore failed: %r. "
|
|
589
|
+
"HypothesisBook will start empty. Run hmctl doctor.",
|
|
590
|
+
_exc,
|
|
591
|
+
)
|
|
592
|
+
|
|
593
|
+
# --- Phase 6: BetaWorldModel (#680) — best-effort, deliberators created lazily ---
|
|
594
|
+
try:
|
|
595
|
+
world_kv_raw = self.storage.get_kv("world_state")
|
|
596
|
+
if world_kv_raw:
|
|
597
|
+
import json as _json
|
|
598
|
+
|
|
599
|
+
_world_kv = _json.loads(world_kv_raw)
|
|
600
|
+
if isinstance(_world_kv, dict) and "beta_world_model" in _world_kv:
|
|
601
|
+
try:
|
|
602
|
+
from hypermind.mind.world_model import BetaWorldModel as _BWM
|
|
603
|
+
|
|
604
|
+
_bwm = _BWM()
|
|
605
|
+
_bwm.import_state(_world_kv["beta_world_model"])
|
|
606
|
+
# Attach to any existing deliberators (best-effort).
|
|
607
|
+
for _agent in self.agents.values():
|
|
608
|
+
_delib = getattr(_agent, "_deliberator", None)
|
|
609
|
+
if _delib is not None and hasattr(_delib, "world_model"):
|
|
610
|
+
_delib.world_model = _bwm
|
|
611
|
+
except Exception as _bwm_exc:
|
|
612
|
+
_logger.error(
|
|
613
|
+
"restore_from_storage: BetaWorldModel import_state failed: %r",
|
|
614
|
+
_bwm_exc,
|
|
615
|
+
)
|
|
616
|
+
except (OSError, ValueError, KeyError, RuntimeError) as _exc:
|
|
617
|
+
_logger.error(
|
|
618
|
+
"restore_from_storage: world_state KV restore failed: %r. "
|
|
619
|
+
"Continuing with empty state. Run hmctl doctor.",
|
|
620
|
+
_exc,
|
|
621
|
+
)
|
|
622
|
+
|
|
623
|
+
# --- Phase 7: Brier calibration (#669) ---
|
|
624
|
+
try:
|
|
625
|
+
_cal_json = self.storage.get_kv("calibration")
|
|
626
|
+
if _cal_json:
|
|
627
|
+
import json as _json
|
|
628
|
+
|
|
629
|
+
_cal_data = _json.loads(_cal_json)
|
|
630
|
+
if isinstance(_cal_data, dict):
|
|
631
|
+
# Restore calibration weights.
|
|
632
|
+
for _kid_hex, _weight in (_cal_data.get("calibration") or {}).items():
|
|
633
|
+
try:
|
|
634
|
+
self.reputation._calibration[bytes.fromhex(_kid_hex)] = float(_weight)
|
|
635
|
+
except Exception:
|
|
636
|
+
pass
|
|
637
|
+
# Restore Brier summaries into the tracker via restore_calibration().
|
|
638
|
+
_bt_summaries = _cal_data.get("brier_summaries") or []
|
|
639
|
+
if _bt_summaries:
|
|
640
|
+
try:
|
|
641
|
+
_bt = self.reputation.brier_tracker
|
|
642
|
+
for _s in _bt_summaries:
|
|
643
|
+
_bt.restore_calibration(
|
|
644
|
+
agent_kid=bytes.fromhex(_s["kid"]),
|
|
645
|
+
topic=str(_s["topic"]),
|
|
646
|
+
brier_mean=float(_s["brier_mean"]),
|
|
647
|
+
n_obs=int(_s["n_obs"]),
|
|
648
|
+
)
|
|
649
|
+
except Exception as _bt_exc:
|
|
650
|
+
_logger.error(
|
|
651
|
+
"restore_from_storage: BrierScoreTracker restore failed: %r",
|
|
652
|
+
_bt_exc,
|
|
653
|
+
)
|
|
654
|
+
except (OSError, ValueError, KeyError, RuntimeError) as _exc:
|
|
655
|
+
_logger.error(
|
|
656
|
+
"restore_from_storage: calibration restore failed: %r. "
|
|
657
|
+
"Continuing with default calibration weights.",
|
|
658
|
+
_exc,
|
|
659
|
+
)
|
|
496
660
|
|
|
497
661
|
def persist_claim(self, stmt: SignedStatement) -> None:
|
|
498
662
|
"""Mirror a sealed claim to durable storage if attached. Best-effort.
|
|
@@ -547,13 +711,18 @@ class _NamespaceWorld:
|
|
|
547
711
|
def checkpoint_reputation(self) -> None:
|
|
548
712
|
"""Snapshot every Beta posterior to storage. Call before close().
|
|
549
713
|
|
|
714
|
+
Acquires the reputation lock before reading _posteriors to prevent
|
|
715
|
+
races with concurrent record_outcome/vouch calls (#764).
|
|
716
|
+
|
|
550
717
|
See :meth:`persist_claim` for the observability contract.
|
|
551
718
|
"""
|
|
552
719
|
if self.storage is None:
|
|
553
720
|
return
|
|
721
|
+
# Acquire the reputation lock before reading _posteriors (#764).
|
|
554
722
|
rows: list[tuple[bytes, str, float, float, int]] = []
|
|
555
|
-
|
|
556
|
-
|
|
723
|
+
with self.reputation._lock:
|
|
724
|
+
for (kid, topic), p in self.reputation._posteriors.items():
|
|
725
|
+
rows.append((kid, topic, p.alpha, p.beta, p.last_update_ms))
|
|
557
726
|
try:
|
|
558
727
|
self.storage.snapshot_reputation(rows)
|
|
559
728
|
except Exception as exc:
|
|
@@ -592,12 +761,80 @@ class _NamespaceWorld:
|
|
|
592
761
|
"hypermind_storage_write_failures_total",
|
|
593
762
|
op="checkpoint_world",
|
|
594
763
|
)
|
|
764
|
+
# Snapshot Brier calibration data so calibration weights survive restart (#669).
|
|
765
|
+
try:
|
|
766
|
+
import json as _json
|
|
767
|
+
|
|
768
|
+
_cal = getattr(self.reputation, "_calibration", None)
|
|
769
|
+
_bt = getattr(self.reputation, "_brier_tracker", None)
|
|
770
|
+
_cal_snap: dict = {}
|
|
771
|
+
if _cal:
|
|
772
|
+
# Calibration weights: {kid_hex → float}
|
|
773
|
+
_cal_snap["calibration"] = {
|
|
774
|
+
(k.hex() if isinstance(k, (bytes, bytearray)) else k): float(v)
|
|
775
|
+
for k, v in _cal.items()
|
|
776
|
+
}
|
|
777
|
+
if _bt is not None:
|
|
778
|
+
# BrierScoreTracker._history: {(kid_bytes, topic) → list[BrierEntry]}.
|
|
779
|
+
# Serialize as compact per-key summaries (brier_mean + n_obs) so restore
|
|
780
|
+
# can call restore_calibration() without keeping the full observation log.
|
|
781
|
+
_bt_summaries: list[dict] = []
|
|
782
|
+
for (_kid_b, _topic), _entries in getattr(_bt, "_history", {}).items():
|
|
783
|
+
if not _entries:
|
|
784
|
+
continue
|
|
785
|
+
try:
|
|
786
|
+
_mean_b = sum(e.brier_score for e in _entries) / len(_entries)
|
|
787
|
+
_bt_summaries.append(
|
|
788
|
+
{
|
|
789
|
+
"kid": (
|
|
790
|
+
_kid_b.hex()
|
|
791
|
+
if isinstance(_kid_b, (bytes, bytearray))
|
|
792
|
+
else str(_kid_b)
|
|
793
|
+
),
|
|
794
|
+
"topic": str(_topic),
|
|
795
|
+
"brier_mean": float(_mean_b),
|
|
796
|
+
"n_obs": len(_entries),
|
|
797
|
+
}
|
|
798
|
+
)
|
|
799
|
+
except Exception:
|
|
800
|
+
pass
|
|
801
|
+
if _bt_summaries:
|
|
802
|
+
_cal_snap["brier_summaries"] = _bt_summaries
|
|
803
|
+
if _cal_snap:
|
|
804
|
+
self.storage.set_kv("calibration", _json.dumps(_cal_snap))
|
|
805
|
+
except Exception as exc:
|
|
806
|
+
_logger.warning("checkpoint_reputation: failed to persist calibration data: %r", exc)
|
|
807
|
+
# Snapshot TransparencyService Merkle tree root (#649).
|
|
808
|
+
try:
|
|
809
|
+
import json as _json
|
|
810
|
+
|
|
811
|
+
_ts_root = getattr(self.ts, "root", None)
|
|
812
|
+
_ts_size = getattr(self.ts, "tree_size", None)
|
|
813
|
+
_ts_leaves = getattr(self.ts, "_leaves", None)
|
|
814
|
+
if _ts_root is not None:
|
|
815
|
+
_ts_snap: dict = {
|
|
816
|
+
"root": _ts_root.hex() if isinstance(_ts_root, bytes) else _ts_root
|
|
817
|
+
}
|
|
818
|
+
if _ts_size is not None:
|
|
819
|
+
_ts_snap["tree_size"] = _ts_size
|
|
820
|
+
if _ts_leaves is not None:
|
|
821
|
+
# Store raw leaf bytes (hex-encoded) so they can be replayed.
|
|
822
|
+
_ts_snap["leaves"] = [
|
|
823
|
+
lf.hex() if isinstance(lf, (bytes, bytearray)) else lf for lf in _ts_leaves
|
|
824
|
+
]
|
|
825
|
+
self.storage.set_kv("ts_merkle", _json.dumps(_ts_snap))
|
|
826
|
+
except Exception as exc:
|
|
827
|
+
_logger.warning(
|
|
828
|
+
"checkpoint_reputation: failed to persist TransparencyService Merkle state: %r",
|
|
829
|
+
exc,
|
|
830
|
+
)
|
|
595
831
|
# Auto-promote repeated (action, topic) patterns from deliberator work_history
|
|
596
832
|
# directly into live skills — no human gate. Patterns meeting min_repetitions
|
|
597
833
|
# get a generated .md file written to the skill store and are hot-loaded into
|
|
598
834
|
# the registry immediately so subsequent ticks can invoke them by name.
|
|
599
835
|
try:
|
|
600
836
|
import hypermind.mind.skills as _skills_mod
|
|
837
|
+
|
|
601
838
|
_history: list[dict] = []
|
|
602
839
|
for _agent in self.agents.values():
|
|
603
840
|
_delib = getattr(_agent, "_deliberator", None)
|
|
@@ -617,6 +854,18 @@ class _NamespaceWorld:
|
|
|
617
854
|
f"Skill auto-promoted from work history: {_sid}",
|
|
618
855
|
author="system",
|
|
619
856
|
)
|
|
857
|
+
# #810: emit observability event for each promoted skill so
|
|
858
|
+
# monitors and tests can observe auto_promote firing.
|
|
859
|
+
for _sid in _promoted:
|
|
860
|
+
try:
|
|
861
|
+
self.recorder.emit(
|
|
862
|
+
namespace=self.namespace,
|
|
863
|
+
agent_id="world",
|
|
864
|
+
event_type="skill_promoted",
|
|
865
|
+
skill_id=_sid,
|
|
866
|
+
)
|
|
867
|
+
except Exception:
|
|
868
|
+
pass # never let recorder failure abort evolution
|
|
620
869
|
except Exception:
|
|
621
870
|
pass # evolution is best-effort, never block checkpoint
|
|
622
871
|
|
|
@@ -1310,13 +1559,17 @@ class HyperMindAgent:
|
|
|
1310
1559
|
if not self._world.agents:
|
|
1311
1560
|
# Last agent out — flush reputation before dropping the world
|
|
1312
1561
|
# when non-default posteriors exist (avoids no-op writes).
|
|
1562
|
+
# checkpoint_reputation() does synchronous file I/O; wrap in
|
|
1563
|
+
# asyncio.to_thread() so we don't block the event loop (#682).
|
|
1313
1564
|
if self._world.storage is not None:
|
|
1314
1565
|
rep = self._world.reputation
|
|
1315
1566
|
if getattr(rep, "_posteriors", None):
|
|
1316
|
-
self._world
|
|
1567
|
+
_world_ref = self._world
|
|
1568
|
+
await asyncio.to_thread(_world_ref.checkpoint_reputation)
|
|
1317
1569
|
# Stop the proactive decay background task (#519).
|
|
1318
1570
|
self._world.stop_decay_task()
|
|
1319
|
-
|
|
1571
|
+
with _NAMESPACE_REGISTRY_LOCK:
|
|
1572
|
+
_NAMESPACE_REGISTRY.pop(bytes(self._world.namespace_id), None)
|
|
1320
1573
|
self._closed = True
|
|
1321
1574
|
|
|
1322
1575
|
# ---- placement (T5-02) ---------------------------------------------
|
|
@@ -1384,6 +1637,22 @@ class HyperMindAgent:
|
|
|
1384
1637
|
|
|
1385
1638
|
self._require_cap("publish_claim", topic=topic)
|
|
1386
1639
|
|
|
1640
|
+
# #733: Mediator role (publishes_primary=False) must not publish primary claims.
|
|
1641
|
+
# Synthesis and oracle_resolution claim types are permitted; raw primary claims
|
|
1642
|
+
# are the footgun that this gate closes.
|
|
1643
|
+
_PRIMARY_BLOCKED_ROLES: frozenset[str] = frozenset({"mediator"})
|
|
1644
|
+
if self.role in _PRIMARY_BLOCKED_ROLES and claim_type not in (
|
|
1645
|
+
"synthesis",
|
|
1646
|
+
"oracle_resolution",
|
|
1647
|
+
):
|
|
1648
|
+
from hypermind.errors import AuthError as _AuthError
|
|
1649
|
+
|
|
1650
|
+
raise _AuthError(
|
|
1651
|
+
f"agent role {self.role!r} cannot publish primary claims "
|
|
1652
|
+
f"(claim_type={claim_type!r}); only synthesis claims are permitted.",
|
|
1653
|
+
failed_caveat="claim_type",
|
|
1654
|
+
)
|
|
1655
|
+
|
|
1387
1656
|
# MIND-009: validate leverage_factor if present — must be in [0.0, 1.0].
|
|
1388
1657
|
if isinstance(payload, dict) and "leverage_factor" in payload:
|
|
1389
1658
|
lf = payload["leverage_factor"]
|
|
@@ -2926,9 +3195,16 @@ class HyperMindAgent:
|
|
|
2926
3195
|
if self._world is None:
|
|
2927
3196
|
raise RuntimeError("record_panel_vote() requires a world")
|
|
2928
3197
|
topic = topic or (self.rooms[0] if self.rooms else "default")
|
|
2929
|
-
self._world.panel_votes
|
|
2930
|
-
|
|
2931
|
-
|
|
3198
|
+
pv = self._world.panel_votes
|
|
3199
|
+
if claim_kid not in pv:
|
|
3200
|
+
# Evict oldest entry when cap is reached (LRU — OrderedDict insertion order).
|
|
3201
|
+
while len(pv) >= _PANEL_VOTES_MAX_ENTRIES:
|
|
3202
|
+
pv.popitem(last=False)
|
|
3203
|
+
pv[claim_kid] = []
|
|
3204
|
+
else:
|
|
3205
|
+
# Move to end so recently-touched entries survive eviction longest.
|
|
3206
|
+
pv.move_to_end(claim_kid)
|
|
3207
|
+
pv[claim_kid].append((bytes(voter_kid), bool(vote), topic))
|
|
2932
3208
|
|
|
2933
3209
|
async def oracle_resolve(
|
|
2934
3210
|
self,
|
|
@@ -3034,9 +3310,15 @@ class HyperMindAgent:
|
|
|
3034
3310
|
newly_credited.append((voter, vote, vote_topic))
|
|
3035
3311
|
already_set.add(key)
|
|
3036
3312
|
if newly_credited:
|
|
3037
|
-
|
|
3038
|
-
|
|
3039
|
-
|
|
3313
|
+
_resolved_key = b"_resolved:" + claim_kid
|
|
3314
|
+
pv = self._world.panel_votes
|
|
3315
|
+
if _resolved_key not in pv:
|
|
3316
|
+
while len(pv) >= _PANEL_VOTES_MAX_ENTRIES:
|
|
3317
|
+
pv.popitem(last=False)
|
|
3318
|
+
pv[_resolved_key] = []
|
|
3319
|
+
else:
|
|
3320
|
+
pv.move_to_end(_resolved_key)
|
|
3321
|
+
pv[_resolved_key].extend(newly_credited)
|
|
3040
3322
|
|
|
3041
3323
|
# Spec §20 / HypothesisBook lifecycle: oracle verdict is authoritative —
|
|
3042
3324
|
# transition the hypothesis riding on this claim from 'contested' (or any
|
|
@@ -3103,7 +3385,16 @@ class HyperMindAgent:
|
|
|
3103
3385
|
# _verify_witness_cosign always validates with ALG_ED25519, so
|
|
3104
3386
|
# the witness keypair must be a pure Ed25519 key regardless of
|
|
3105
3387
|
# the oracle's own (potentially composite) signing algorithm.
|
|
3106
|
-
|
|
3388
|
+
# Extract exactly the first 32 bytes (Ed25519 seed) and validate
|
|
3389
|
+
# that they are present before passing to from_seed (#766).
|
|
3390
|
+
_oracle_secret = _oracle_agent.keypair.secret_bytes
|
|
3391
|
+
if len(_oracle_secret) < 32:
|
|
3392
|
+
raise ValueError(
|
|
3393
|
+
f"oracle_resolve: keypair secret_bytes is only "
|
|
3394
|
+
f"{len(_oracle_secret)} bytes; expected at least 32 "
|
|
3395
|
+
f"(Ed25519 seed). Key material is non-standard."
|
|
3396
|
+
)
|
|
3397
|
+
_ed_witness_kp = Keypair.from_seed(_oracle_secret[:32])
|
|
3107
3398
|
_cosign = make_witness_cosign(
|
|
3108
3399
|
_ed_witness_kp,
|
|
3109
3400
|
dispute_id=_dispute_id,
|
|
@@ -3794,13 +4085,33 @@ class HyperMindAgent:
|
|
|
3794
4085
|
if self.cap_token is None:
|
|
3795
4086
|
return
|
|
3796
4087
|
|
|
3797
|
-
|
|
3798
|
-
|
|
3799
|
-
|
|
3800
|
-
|
|
3801
|
-
|
|
3802
|
-
|
|
3803
|
-
|
|
4088
|
+
# For delegated tokens (parent_sig != b""), verify the full chain first,
|
|
4089
|
+
# then call authorize() with require_chain=False (#675/#771).
|
|
4090
|
+
if self.cap_token.parent_sig != b"":
|
|
4091
|
+
if not self.cap_token.verify_chain_full(
|
|
4092
|
+
revocation_store=self._world.revocation_store if self._world else None,
|
|
4093
|
+
hlc=(self._hlc.logical_ms, self._hlc.counter),
|
|
4094
|
+
):
|
|
4095
|
+
raise AuthError(
|
|
4096
|
+
"delegated capability chain verification failed",
|
|
4097
|
+
failed_caveat="signature",
|
|
4098
|
+
)
|
|
4099
|
+
self.cap_token.authorize(
|
|
4100
|
+
action=action,
|
|
4101
|
+
topic=topic or "",
|
|
4102
|
+
tool=tool or "",
|
|
4103
|
+
revocation_store=self._world.revocation_store if self._world else None,
|
|
4104
|
+
hlc=(self._hlc.logical_ms, self._hlc.counter),
|
|
4105
|
+
require_chain=False,
|
|
4106
|
+
)
|
|
4107
|
+
else:
|
|
4108
|
+
self.cap_token.authorize(
|
|
4109
|
+
action=action,
|
|
4110
|
+
topic=topic or "",
|
|
4111
|
+
tool=tool or "",
|
|
4112
|
+
revocation_store=self._world.revocation_store if self._world else None,
|
|
4113
|
+
hlc=(self._hlc.logical_ms, self._hlc.counter),
|
|
4114
|
+
)
|
|
3804
4115
|
|
|
3805
4116
|
# P1-03: enforce rate caveat if present on this token.
|
|
3806
4117
|
|