hypermind 0.23.0__tar.gz → 0.30.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {hypermind-0.23.0 → hypermind-0.30.0}/CHANGELOG.md +50 -1
- {hypermind-0.23.0 → hypermind-0.30.0}/PKG-INFO +9 -3
- {hypermind-0.23.0 → hypermind-0.30.0}/README.md +8 -2
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/README.md +1 -0
- hypermind-0.30.0/examples/org_distributed.py +74 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/pyproject.toml +1 -1
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hmctl/cli.py +6 -0
- hypermind-0.30.0/src/hmctl/dashboard.py +178 -0
- hypermind-0.30.0/src/hmctl/orgs_cmd.py +310 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/__init__.py +1 -1
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/orgs/distributed/__init__.py +33 -1
- hypermind-0.30.0/src/hypermind/orgs/distributed/coordinator.py +251 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/orgs/distributed/planning.py +31 -0
- hypermind-0.30.0/src/hypermind/orgs/distributed/provision.py +57 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/orgs/distributed/worker.py +1 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/orgs/sim.py +27 -1
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/storage/relata.py +30 -0
- hypermind-0.30.0/tests/orgs/test_cross_shard.py +51 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/orgs/test_distributed.py +151 -8
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/storage/test_relata_backend.py +18 -0
- hypermind-0.30.0/tests/test_cli_orgs.py +190 -0
- hypermind-0.30.0/tests/test_dashboard.py +56 -0
- hypermind-0.23.0/src/hypermind/orgs/distributed/coordinator.py +0 -175
- {hypermind-0.23.0 → hypermind-0.30.0}/.editorconfig +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.gitattributes +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/FUNDING.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/renovate.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows/check-license.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows/code-review-pr.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows/hotfix-security.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows/issue-auto-fix.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows/issue-triage.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows/pr-standards.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows/quality.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows/release.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows/security.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows/stale.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows-disabled/branch-flow-check.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows-disabled/chaos.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows-disabled/check-license.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows-disabled/ci.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows-disabled/code-freeze.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows-disabled/code-review-pr.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows-disabled/code-review.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows-disabled/codeql.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows-disabled/dco.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows-disabled/docs-to-wiki.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows-disabled/docs.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows-disabled/formal.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows-disabled/fuzz.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows-disabled/hotfix-security.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows-disabled/issue-auto-fix.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows-disabled/issue-triage.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows-disabled/merge-comment.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows-disabled/pip-audit.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows-disabled/pr-standards.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows-disabled/quality.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows-disabled/release.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows-disabled/sbom.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows-disabled/scorecard.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows-disabled/security.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows-disabled/sprint-retro.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.github/workflows-disabled/stale.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.gitignore +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.pre-commit-config.yaml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/.tool-versions +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/CHARTER.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/CODEOWNERS +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/CODE_OF_CONDUCT.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/CONTRIBUTING.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/GOVERNANCE.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/LICENSE +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/MAINTAINERS.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/Makefile +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/RELATA_COMPATIBILITY.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/RELATA_INTEGRATION_PLAN.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/RELATA_STORAGE.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/ROADMAP.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/SECURITY.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/bench/README.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/bench/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/bench/baselines/v0.6.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/bench/bench_consult.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/bench/bench_dispute.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/bench/bench_publish.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/bench/coordination/README.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/bench/coordination/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/bench/coordination/baselines/v0.10.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/bench/coordination/bench_rfp_latency.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/bench/coordination/bench_task_throughput.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/bench/coordination/bench_workflow_replay.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/bench/coordination/run_all.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/bench/question_sets/geopolitics_q20.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/bench/question_sets/msft_outlook_q10.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/bench/run_bench.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/chaos/README.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/chaos/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/chaos/p1_partition_recovery.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/chaos/p2_witness_compromise.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/chaos/p3_key_rotation.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/chaos/p4_dispute_backlog.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/chaos/p5_wire_cutover.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/chaos/p6_quorum_loss.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/chaos/p7_clock_skew.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/chaos/p8_recorder_outage.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/chaos/run_chaos.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/deploy/Dockerfile +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/deploy/README.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/deploy/docker-compose.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/deploy/grafana/dashboards/hypermind-coordination.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/deploy/grafana/dashboards/hypermind-v06.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/deploy/grafana/dashboards/hypermind.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/deploy/grafana/provisioning/dashboards/hypermind.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/deploy/grafana/provisioning/datasources/prometheus.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/deploy/k8s/hypermind-deployment.yaml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/deploy/prometheus/prometheus.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/deploy/systemd/hypermind.service +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/README.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/SIMLAB.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/SIMLAB_AUDIT_PLAN.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/_meta/glossary.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/_meta/provenance.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/_meta/public-surface.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/_meta/standards-map.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/api/agent.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/api/agent_card.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/api/capability.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/api/crypto.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/api/dispute.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/api/knowledge.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/api/observability.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/api/simlab-openapi.yaml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/api/sync.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/api/tasks.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/api/transport.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/api/wire.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/architecture-v0.6.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/assets/hero-swarm.svg +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/audit/findings.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/audit/scope.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/concepts.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/conformance/authority.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/conformance/bake-off-report.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/conformance/mark-policy.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/decide/01-disqualifiers.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/decide/02-alternatives.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/decide/03-incentive-aligned-cases.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/decide/04-use-cases.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/design/01-architecture.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/design/02-traces.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/design/03-failure-modes.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/design/04-poisoning-defenses.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/design/05-deployment-topology.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/feature-matrix.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/getting-started.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/governance/cna.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/governance/foundation-evaluation.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/hypermind-protocol-spec.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/index.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/legal/export-classification.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/lts.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/migrate/v0.x-to-v1.0.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/migration/v0.7.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/onboarding/00-prerequisites.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/onboarding/README.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/onboarding/after.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/onboarding/exercises/e01-run-the-loop.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/onboarding/exercises/e02-draw-the-architecture.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/onboarding/exercises/e03-trace-a-claim.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/onboarding/exercises/e04-read-a-spec-section.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/onboarding/exercises/e05-break-it.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/onboarding/exercises/e06-add-a-test.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/onboarding/exercises/e07-first-pr.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/onboarding/glossary.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/onboarding/topics/00-what-is-hypermind.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/onboarding/topics/01-agents-and-swarms.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/onboarding/topics/02-architecture-tour.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/onboarding/topics/03-spec-literacy.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/onboarding/topics/04-cryptography.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/onboarding/topics/05-cbor-cose.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/onboarding/topics/06-transparency-logs.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/onboarding/topics/07-distributed-systems.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/onboarding/topics/08-async-python.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/onboarding/topics/09-security-mindset.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/onboarding/week-1-foundations.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/onboarding/week-2-deep-dive.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/operate/01-deployment.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/operate/02-runbook.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/operate/03-resource-budget.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/operate/backup-restore.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/operate/data-residency.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/operate/key-rotation.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/operate/runbooks/dispute-backlog-drain.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/operate/runbooks/key-rotation.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/operate/runbooks/kms-rotation.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/operate/runbooks/multi-host-deploy.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/operate/runbooks/partition-heal.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/operate/runbooks/quorum-loss.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/operate/runbooks/rfp-dispute-triage.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/operate/runbooks/wire-cutover.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/operate/runbooks/witness-compromise.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/operate/runbooks/workflow-replay.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/operate/slo.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/paper/00-patent.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/paper/hypermind-paper-draft.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/paper/hypermind-paper.docx +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/paper/hypermind-paper.tex +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/release-notes/v1.0-checklist.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/release-notes/v1.0.0.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/security/threat-model.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/simlab/modes.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/simulations.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/00-overview.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/01-transport.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/02-cryptography.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/03-messages.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/04-knowledge-model.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/05-routing.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/06-conformance.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/07-trust-access-layer.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/08-onboarding-contract.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/09-agent-sdk.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/10-disputes.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/11-witness-transparency.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/12-governance.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/13-observability.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/14-threat-model.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/15-living-transmission.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/16-reference-comparisons.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/17-upgrade-v1.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/18-revocation.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/19-autonomy-contract.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/20-swarm-intelligence.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/21-belief-state.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/21-private-namespaces.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/22-transport-mtls.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/23-envelope-encryption.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/24-namespace-identity.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/25-capability-extensions.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/26-workflow.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/27-contract-net.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/28-distributed-trace.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/_meta/gaps-closed.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/appendix-N-calibration.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/appendix-TLA.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/appendix-z.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/errata.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/index.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/invariants.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/spec/normative-trace.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/supply-chain/sbom.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/supply-chain/slsa.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/supply-chain/verify-self.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/docs/sustainability.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/01_hello_world.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/02_two_agents_dispute.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/03_consult_panel.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/04_oracle_resolve.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/05_consult_to_synthesis.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/06_hybrid_pq.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/07_frost_threshold.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/08_ramp_and_diagnostics.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/09_audit_export_chain.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/10_autonomous_agent.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/11_swarm_deliberation.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/12_swarm_iq_scorecard.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/13_role_specialisation.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/14_active_learning_loop.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/16_wire_message.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/17_tool_delegation.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/18_custom_responder.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/19_governance.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/20_conformance_check.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/21_revocation.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/22_agent_card.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/23_task_delegation.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/24_mcp_tool_call.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/25_swarm_trace.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/coordination/01_durable_workflow.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/coordination/02_contract_net.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/coordination/03_belief_and_plan.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/coordination/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/coordination/usecases/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/coordination/usecases/ai_01_fed_benchmark.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/coordination/usecases/ai_alignment_redteam.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/coordination/usecases/cy_05_ir_swarm.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/coordination/usecases/cy_11_ransomware_intel.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/coordination/usecases/ed_credentials.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/coordination/usecases/en_grid_coordinate.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/coordination/usecases/fi_04_bsa_314b.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/coordination/usecases/fi_22_ma_dataroom.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/coordination/usecases/gv_01_intel_sharing.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/coordination/usecases/gv_21_red_team.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/coordination/usecases/hc_06_rare_disease.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/coordination/usecases/hc_21_fed_learning.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/coordination/usecases/lg_ediscovery.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/coordination/usecases/mf_supply_chain.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/e2e_many_agents.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/full_e2e_demo.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/lifecycle.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/org_university.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/scenario_aar.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/scenario_backtest.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/scenario_capability_attenuation.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/scenario_conformance.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/scenario_crisis_tabletop.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/scenario_cross_namespace_federation.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/scenario_decision_tournament.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/scenario_dispute_lifecycle_async.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/scenario_evaluation.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/scenario_geopolitical_crisis.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/scenario_geopolitical_traced.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/scenario_governance_committee.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/scenario_information_pipeline.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/scenario_learning_loop.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/scenario_namespace_trust.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/scenario_persona_panel.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/scenario_private_namespace.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/scenario_red_team.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/scenario_regulated_consortium.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/scenario_threat_intel.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/scenario_vouch_chain.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/scenario_what_if_tree.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/serve_api.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/examples/two_node_tcp.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/formal/README.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/formal/hax-rust/README.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/formal/hax-rust/scope.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/formal/proverif/dispute_fsm.pv +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/formal/proverif/dispute_liveness.pv +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/formal/tamarin/capability_chain.spthy +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/formal/tamarin/dispute_fsm.spthy +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/formal/tamarin/signed_statement.spthy +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/formal/tamarin/wire_security.spthy +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/fuzz/README.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/fuzz/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/fuzz/fuzz_agent_card.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/fuzz/fuzz_anti_entropy.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/fuzz/fuzz_capability.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/fuzz/fuzz_dispute.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/fuzz/fuzz_inclusion_proof.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/fuzz/fuzz_wire.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/fuzz/seed_corpus.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/harness/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/harness/__main__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/harness/assertions.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/harness/fixtures.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/harness/report.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/harness/roles.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/harness/runner.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/harness/scenario.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/harness/scenarios/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/harness/scenarios/autonomous_evolution.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/harness/scenarios/swarm_iq_benchmark.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/harness/scenarios/threat_intel.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/mkdocs.yml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/reference_verifier/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/reference_verifier/schemas/encrypted_statement.cddl +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/reference_verifier/schemas/namespace_accept.cddl +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/reference_verifier/schemas/namespace_create.cddl +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/reference_verifier/schemas/namespace_founding_attest.cddl +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/reference_verifier/schemas/namespace_invite.cddl +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/reference_verifier/schemas/wire-v0.1.cddl +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/reference_verifier/verifier.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/review/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/review/__main__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/review/agents.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/review/models.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/review/runner.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hmctl/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/_deprecations.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/agent.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/agent_card.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/api/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/api/app.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/capability.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/consult.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/consult_bias.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/contract_net.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/crypto/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/crypto/cose_encrypt.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/crypto/dkg.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/crypto/domain.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/crypto/frost.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/crypto/hashing.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/crypto/hlc.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/crypto/hpke.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/crypto/kms.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/crypto/kms_backends/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/crypto/kms_backends/aws.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/crypto/kms_backends/azure.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/crypto/kms_backends/gcp.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/crypto/kms_backends/vault.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/crypto/namespace_root.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/crypto/pq.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/crypto/room_epoch.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/crypto/signing.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/deliberation.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/did_web.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/dispute.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/errors.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/eval/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/eval/calibration.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/eval/comparison.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/eval/replay.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/eval/swarm_iq.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/knowledge/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/knowledge/citation_graph.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/knowledge/correlated_agreement.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/knowledge/embedding_registry.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/knowledge/kernel_store.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/knowledge/rekor.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/knowledge/reputation.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/knowledge/swarm_memory.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/knowledge/transparency.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/mcp/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/mcp/bridge.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/mcp/client.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/mcp/provenance.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/mcp/relata_tools.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/mcp/server.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/mcp/transport.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/mind/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/mind/active.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/mind/belief.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/mind/deliberator.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/mind/diversity.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/mind/evolve.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/mind/federation.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/mind/goals.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/mind/integration.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/mind/mediator.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/mind/memory_store.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/mind/policy.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/mind/records.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/mind/roles.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/mind/sybil_guard.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/mind/world_model.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/namespace.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/namespace_policy.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/observability/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/observability/asgi.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/observability/cost.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/observability/otel_export.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/observability/recorder.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/observability/swarm_trace.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/orgs/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/orgs/context.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/orgs/deliberate.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/orgs/distributed/__main__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/orgs/distributed/protocol.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/orgs/distributed/serde.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/orgs/experiment.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/orgs/groundtruth.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/orgs/interaction.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/orgs/intervention.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/orgs/metrics.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/orgs/model.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/orgs/quality.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/orgs/query.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/orgs/receipt.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/orgs/report.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/orgs/retrieval.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/orgs/stream.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/orgs/templates/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/orgs/think.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/orgs/tools.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/pin_policy.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/py.typed +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/responders/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/responders/anthropic.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/responders/base.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/responders/openai.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/responders/router.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/responders/structured.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/responders/tools.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/revocation.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/rule_ids.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/schemas/encrypted_statement.cddl +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/schemas/namespace_accept.cddl +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/schemas/namespace_create.cddl +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/schemas/namespace_founding_attest.cddl +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/schemas/namespace_invite.cddl +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/schemas/wire-v0.1.cddl +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/_persona_registry.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/_scenario_impl.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/app.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/backends/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/backends/anchor.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/backends/local.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/backends/server.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/cli_command.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/config.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/deployment.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/knowledge.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/learning.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/modes/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/modes/_eval_real_llm.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/modes/aar.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/modes/backtest.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/modes/binary_forecast.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/modes/conformance.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/modes/evaluation.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/modes/governance.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/modes/redteam.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/modes/tabletop.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/modes/tournament.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/modes/whatif.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/namespace.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/personas.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/prompt_generator.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/question_sets/geopolitics_q20.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/question_sets/governance_q5.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/question_sets/msft_outlook_q10.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/question_sets/whatif_q3.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/registry.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/runner.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/scenario.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/swarms.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/tool_handlers/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/tool_handlers/alpha_vantage.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/tool_handlers/brave.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/tool_handlers/newsapi.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/tool_handlers/openweather.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/tool_handlers/pinecone.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/tool_handlers/qdrant.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/tool_handlers/query_knowledge_base.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/tool_handlers/relata_recall.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/tool_handlers/retrieve_document.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/tool_handlers/serper.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/tool_handlers/tavily.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/tool_handlers/weaviate.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/tool_handlers/wikipedia.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/tool_handlers/wolfram.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/tool_handlers/yahoo_finance.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/tool_registry.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/topic_adapter.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/simlab/topic_questions.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/storage/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/storage/backend.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/storage/sqlite.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/sync.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/tal.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/tasks.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/testing.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/tools/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/tools/registry.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/transport/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/transport/anti_entropy.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/transport/bus.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/transport/knows_delta.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/transport/libp2p.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/transport/placement.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/transport/tcp.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/transport/tls_profile.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/types.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/uncertainty.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/wire.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/workflow/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/workflow/engine.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/workflow/plan.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/src/hypermind/workflow/repair.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/storage-backend-requirements.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/api/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/api/test_eval_endpoints.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/api/test_events_stream.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/api/test_management_app.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/chaos/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/chaos/test_gossip_amplification.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/chaos/test_kill_agent_during_rfp.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/chaos/test_partition_during_workflow.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/chaos/test_slow_consumer_backpressure.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/chaos/test_slow_peer.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/generate_vectors.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/vectors/SIGNING.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/vectors/agent-card-01.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/vectors/agent-card-02.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/vectors/capability-01.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/vectors/capability-02.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/vectors/capability-03.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/vectors/dispute-01.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/vectors/dispute-02.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/vectors/dispute-03.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/vectors/dispute-04.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/vectors/dispute-05.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/vectors/frost-01.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/vectors/frost-02.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/vectors/frost-03.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/vectors/knows-delta-01.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/vectors/knows-delta-02.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/vectors/mcp-prov-01.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/vectors/mcp-prov-02.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/vectors/merkle-01.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/vectors/merkle-02.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/vectors/merkle-03.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/vectors/merkle-04.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/vectors/rep-decay-01.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/vectors/task-01.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/vectors/task-02.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/vectors/trace-01.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/vectors/trace-02.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/vectors/wire-envelope-01.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/vectors/wire-envelope-02.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/vectors/wire-envelope-03.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/vectors/wire-envelope-04.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conformance/vectors/wire-envelope-05.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/conftest.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/fake_kms.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/harness/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/harness/conftest.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/harness/test_assertion_library.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/harness/test_runner_lifecycle.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/harness/test_threat_intel_harness.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/integration/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/integration/test_kms_aws.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/integration/test_kms_azure.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/integration/test_kms_gcp.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/integration/test_kms_vault.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/integration/test_relata_server.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/orgs/_fakes.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/orgs/test_adversarial.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/orgs/test_concurrency.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/orgs/test_context.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/orgs/test_convergence.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/orgs/test_deliberator.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/orgs/test_embeddings.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/orgs/test_experiment.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/orgs/test_graph_retrieval.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/orgs/test_groundtruth.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/orgs/test_hybrid_retriever.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/orgs/test_interaction.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/orgs/test_intervention.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/orgs/test_lightweight.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/orgs/test_metrics.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/orgs/test_model.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/orgs/test_ner.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/orgs/test_quality.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/orgs/test_query.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/orgs/test_rag.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/orgs/test_receipt.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/orgs/test_report.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/orgs/test_scale.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/orgs/test_sim.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/orgs/test_stream.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/orgs/test_templates.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/orgs/test_think.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/orgs/test_tool_traces.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/orgs/test_tools.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/responders/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/responders/test_responders.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/responders/test_router.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/responders/test_structured_response.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/responders/test_tools.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/review/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/review/test_agents_parser.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/review/test_models.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/review/test_runner.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/simlab/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/simlab/conftest.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/simlab/test_app_endpoints.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/simlab/test_knowledge.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/simlab/test_knowledge_reuse.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/simlab/test_modes_aar.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/simlab/test_modes_backtest.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/simlab/test_modes_conformance.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/simlab/test_modes_evaluation.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/simlab/test_modes_governance.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/simlab/test_modes_redteam.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/simlab/test_modes_tabletop.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/simlab/test_modes_tournament.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/simlab/test_modes_whatif.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/simlab/test_personas.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/simlab/test_personas_endpoints.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/simlab/test_recorder_scoping.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/simlab/test_registry.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/simlab/test_resolve_outcomes.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/simlab/test_responder_timeout.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/simlab/test_runner.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/simlab/test_swarms.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/storage/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/storage/test_sqlite_backend.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_active_multi_step.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_agent_card.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_agent_e2e.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_agent_edge.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_anti_entropy.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_anti_entropy_multiround.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_anti_entropy_selfheal.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_appendix_z_conformance.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_appendix_z_vectors.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_arg_dag_edge_types.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_backpressure.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_belief_revision.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_bias_detector.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_block_reason.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_calibration.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_capability.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_capability_canonical.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_capability_chain.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_capability_edge.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_capability_enforcement.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_capability_namespace_caveat.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_capability_revocation.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_citation_graph.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_cli.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_cli_interop.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_composite_lamps_prefix.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_consult.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_consult_stream.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_consult_stream_t4.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_contract_net_disputed_award.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_contract_net_frost_award.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_contract_net_happy.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_contract_net_reputation_scoring.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_contract_net_sybil_filter.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_correlated_agreement.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_cose_encrypt_roundtrip.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_cost_tracker.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_cross_namespace_consult.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_crypto.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_deliberation.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_deliberator_cap.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_deliberator_observe.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_deprecation_registry.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_determinism_corpus.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_dispute.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_dispute_fsm_full.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_dispute_mediate.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_dispute_quorum.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_dissent.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_diversity_quorum.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_dkg.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_embedding_registry.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_eval_comparison.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_examples_runnable.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_final_coverage.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_frost.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_frost_edge.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_frost_hedged_nonces.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_frost_persistence.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_frost_transcript_store_swap.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_hlc_clock_source.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_hpke_vectors.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_info_gain_routing.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_kernel_store.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_kms_backends.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_kms_fake.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_knows_delta.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_lamps_oid_canonical.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_last_lines.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_libp2p_peer_id.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_libp2p_scaffold.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_libp2p_stub.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_mcp_bridge.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_mcp_provenance.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_mcp_tools_list.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_mcp_transport.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_merkle_transparency.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_mind_active.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_mind_deliberator.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_mind_diversity_sybil_mediator.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_mind_evolve.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_mind_goals_policy.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_mind_records.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_mind_roles.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_mind_world_model.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_misc_edge.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_mtls_profile.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_namespace_lifecycle.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_namespace_policy.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_namespace_policy_acl.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_observability_asgi.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_observability_otel.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_open_factory.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_oracle_backprop.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_otel_export.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_pin_policy.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_placement_consistent_hash.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_placement_hint.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_plan_dag.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_plan_repair.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_portable_inclusion_proof.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_pq_default.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_pq_dual_vendor.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_pq_signing.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_priv_ns_conformance_coverage.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_property_based.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_protocol_version.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_public_surface_v05.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_pursue_workflow.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_rate_caveat.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_recorder_bounded.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_recorder_tail.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_reference_verifier_v2.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_rekor_client.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_rekor_downgrade.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_relata_memory_store.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_relata_tools.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_remaining_gaps.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_replay.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_reputation.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_reputation_memory.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_reputation_staleness.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_review_fixes.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_revocation.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_revocation_lifecycle.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_room_epoch.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_schema_hash_pinned.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_secret_redaction.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_self_heal_cycle1.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_self_heal_cycle2.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_self_heal_cycle3.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_self_heal_cycle3_cascade_isolate.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_self_heal_cycle3_governance.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_self_heal_cycle4.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_self_heal_cycle4_deliberator_broadcast.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_self_heal_cycle5.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_signer_protocol.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_sth_cross_gossip.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_swarm_iq.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_swarm_iq_at_scale.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_swarm_iq_recommend.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_swarm_memory.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_swarm_memory_federation.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_swarm_trace.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_swarm_vector_overflow.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_sync_agent.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_tal.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_task_handle.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_task_handle_network.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_tcp_duplicate_kid_attack.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_tcp_edge.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_tcp_final.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_tcp_read_loop_cleanup.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_tcp_transport.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_theory_of_mind.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_transport.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_two_impl_interop.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_uncertainty.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_uncertainty_edge.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_wire.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_wire_edge_cases.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_wire_kid_stability.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_wire_p3.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_wire_v2.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_wire_version.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_witness_preimage_length_prefix.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_workflow_compensation.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_workflow_engine.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/test_workflow_replay.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/usecases/__init__.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/usecases/conftest.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/usecases/test_ai_01_fed_benchmark.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/usecases/test_ai_alignment_redteam.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/usecases/test_cy_05_ir_swarm.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/usecases/test_cy_11_ransomware_intel.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/usecases/test_ed_credentials.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/usecases/test_en_grid_coordinate.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/usecases/test_fi_04_bsa_314b.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/usecases/test_fi_22_ma_dataroom.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/usecases/test_gv_01_intel_sharing.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/usecases/test_gv_21_red_team.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/usecases/test_hc_06_rare_disease.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/usecases/test_hc_21_fed_learning.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/usecases/test_lg_ediscovery.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/tests/usecases/test_mf_supply_chain.py +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/transport-rust/Cargo.toml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/transport-rust/README.md +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/transport-rust/pyproject.toml +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/transport-rust/src/lib.rs +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/index.html +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/package-lock.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/package.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/App.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/api/client.ts +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/components/ActivityCanvas.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/components/AgentContribution.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/components/BrierHeatmap.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/components/CIQTrajectory.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/components/CitationGraph.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/components/DisputeTimeline.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/components/DissentList.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/components/Logo.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/components/NowAsking.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/components/PersonaRadar.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/components/PopulationGenerator.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/components/Term.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/components/forms/SchemaForm.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/components/result/AARTimeline.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/components/result/BacktestScorecard.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/components/result/ConformanceReport.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/components/result/CrisisTabletop.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/components/result/DecisionBracket.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/components/result/EvaluationReport.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/components/result/GovernanceReceipt.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/components/result/MethodNote.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/components/result/RedTeamReport.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/components/result/ScenarioTree.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/docs/index.ts +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/docs/render.ts +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/main.ts +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/router.ts +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/stores/sims.ts +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/styles.css +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/types/trace.ts +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/views/Agents.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/views/Docs.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/views/Evidence.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/views/Home.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/views/HowItWorks.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/views/Knowledge.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/views/Namespaces.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/views/Report.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/views/Security.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/views/SimCompare.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/views/SimDetail.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/views/SimList.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/views/SimLive.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/views/SimNew.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/views/Tools.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/src/views/UseCases.vue +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/tsconfig.json +0 -0
- {hypermind-0.23.0 → hypermind-0.30.0}/webui/vite.config.ts +0 -0
|
@@ -14,7 +14,56 @@ changes only on major-version bumps.
|
|
|
14
14
|
|
|
15
15
|
## [Unreleased]
|
|
16
16
|
|
|
17
|
-
_Current trunk
|
|
17
|
+
_Current trunk._
|
|
18
|
+
|
|
19
|
+
## [0.30.0] — 2026-07-08
|
|
20
|
+
|
|
21
|
+
### Added
|
|
22
|
+
- **Live simulation dashboard** (#196) — a colourful, animated Rich view of a running sim: round progress bar, glowing stat cards (claims/citations/disputes/resolves), a per-round claims sparkline, a per-unit tally, and a colour-coded live activity feed. Turn on with `hmctl orgs simulate --live` / `ask --live`.
|
|
23
|
+
- **Cross-shard grounding** (#195) — in a distributed run, agents now ground on *other shards'* findings pulled from the shared Relata ledger (`RelataBackend.recent_findings`, `OrgSim(cross_shard=True)`, default-on in the distributed worker), so a sharded run reasons like one swarm instead of N isolated ones. (Cross-shard citation/dispute graph + reputation unification is tracked as a follow-up.)
|
|
24
|
+
- **`hmctl orgs` — no-code CLI for the living-simulation engine.** Run the whole engine from the shell:
|
|
25
|
+
- `hmctl orgs templates` — list presets.
|
|
26
|
+
- `hmctl orgs simulate --template university --members 24 --rounds 6 --topic "…" [--html report.html]`.
|
|
27
|
+
- `hmctl orgs ask "question" --template … [--samples N] [--no-quality]` — study→ask with the quality rubrics **on by default** (grounding, hallucination, calibration, native ledger rubrics).
|
|
28
|
+
- `hmctl orgs distributed --template … --members 10000 --workers 8 --topic "…"` — sharded run; the master provisions Relata + reassigns failures.
|
|
29
|
+
- LLM + Relata configured via flags/env (`--llm`, `--llm-model`, `--base-url`, `--api-key-env`, `--relata-url`); Hm* types auto-provisioned.
|
|
30
|
+
|
|
31
|
+
## [0.23.0] — 2026-07-08
|
|
32
|
+
|
|
33
|
+
### Added
|
|
34
|
+
- **Distributed, Locust-style execution** — `hypermind.orgs.distributed`. A master coordinator shards a swarm across workers (other machines or local processes) over a TCP control plane (length-prefixed CBOR frames); each worker runs its shard as `OrgSim(lightweight=True)` against the **shared Relata namespace** and returns bounded aggregates, merged into one `OrgReport` (#177).
|
|
35
|
+
- `Coordinator` / `Worker`, `run_distributed(...)` (single-host convenience), and a `master` / `worker` CLI (`python -m hypermind.orgs.distributed`).
|
|
36
|
+
- Capacity-weighted shard planning; a worker that drops before returning is recorded as a failed shard — the run completes and notes it, never hangs.
|
|
37
|
+
- `OrgSim.export_aggregates()` for the merge; `OrgModel` wire (de)serialisation.
|
|
38
|
+
|
|
39
|
+
## [0.22.0] — 2026-07-08
|
|
40
|
+
|
|
41
|
+
### Added
|
|
42
|
+
- **Batched Relata writes** — `RelataBackend(write_batch_size=N)` buffers claim rows and flushes via one bulk `batch_upsert` instead of a per-claim round-trip; `OrgSim` defaults to 64. ~batch× fewer round-trips at scale (#175).
|
|
43
|
+
- **Bounded / streaming report** — `OrgSim(lightweight=True)` caps memory to O(members + windows), not O(records): per-member streaming aggregates + a rolling claim window, exact scorecard totals. `metrics.scorecard_from_aggregates(...)` (#176).
|
|
44
|
+
- Parallel keypair generation at `testbed()` spin-up (thread pool; the crypto releases the GIL) — part of #177.
|
|
45
|
+
|
|
46
|
+
## [0.21.0] — 2026-07-08
|
|
47
|
+
|
|
48
|
+
### Added
|
|
49
|
+
- **Native response-quality rubrics** — `hypermind.orgs.quality`: `sim.assess(question)` → `QualityReport`. Four rubric groups, all on by default, switchable via `disable`: native/deterministic (provenance coverage, dispute exposure, reputation support, consensus, abstention — verifiable from the signed ledger), judge-based faithfulness (grounding, hallucination rate, answer relevance, context precision), calibration (Brier, self-consistency), and context recall. Missing deps degrade to informational notes. `llm_judge(...)` factory.
|
|
50
|
+
|
|
51
|
+
## [0.20.0] — 2026-07-08
|
|
52
|
+
|
|
53
|
+
### Added
|
|
54
|
+
- **Hybrid retrieval** — `reciprocal_rank_fusion(...)` and `hybrid_retriever(*retrievers, reranker=None)` fuse dense + entity-graph + lexical signals (RRF) with an optional cross-encoder rerank, over our own Relata data. Plugs into the existing `OrgSim(retriever=...)` seam.
|
|
55
|
+
|
|
56
|
+
## [0.12.0] – [0.19.0] — 2026-06 … 2026-07
|
|
57
|
+
|
|
58
|
+
### Added
|
|
59
|
+
- **`hypermind.orgs` — the living-simulation engine.** Turn a declarative `OrgModel` / `Unit` / `Seat` into a running multi-agent simulation (research → publish → cite → dispute → resolve → learn → evolve) persisted to Relata, driven by pluggable `Interaction` strategies (`cooperative` / `adversarial` / `crowd`).
|
|
60
|
+
- **Template library**: `university`, `hospital`, `city_at_war`, `foreign_policy_cabinet`, `un_security_council`, `internet_crowd`, `research_lab`, … via `list_templates()` / `get_template()` — the core never imports them.
|
|
61
|
+
- **Per-agent models** (per-seat provider/model or a router) and **group-scoped native tools** (declarative or random grants; ungranted tools are absent, not refused).
|
|
62
|
+
- **Study → ask**: `sim.study(topic)` then `sim.ask(question)` — a transparent, queryable swarm that answers from what it learned, weighted by earned standing.
|
|
63
|
+
- **Proper RAG** for `ask`: lexical → semantic embeddings (`embedder=`, `openai_embedder`) → claim↔entity graph (`use_graph_retrieval`, `MentionGraph`) → real NER hooks (`llm_ner_extractor`, `chat_ner_extractor`, `pioneer_ner_extractor`) → Relata-backed retrieval (`relata_retriever`).
|
|
64
|
+
- **Scorecard & analysis**: reputation ranking, citation DAG, dispute ledger, Brier calibration (#151), convergence metrics (#152), memory-RAG (#153), deliberator mode (#154), tool-trace capture (#155), adversarial dynamics (#156), pluggable ground truth (#157), experiment/variant harness (#158), interventions (#159), visualization snapshots (#160), verifiable receipts (#161).
|
|
65
|
+
- **Scalability hardening** across the engine: bounded peer window, O(1) member indices, top-k cross-pollination, concurrent think phase (`asyncio.gather` + semaphore) and concurrent blocking I/O (`asyncio.to_thread`).
|
|
66
|
+
- `examples/org_university.py` and an expanded examples index.
|
|
18
67
|
|
|
19
68
|
## [0.11.0] — 2026-05-10
|
|
20
69
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hypermind
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.30.0
|
|
4
4
|
Summary: Federated agent intelligence — reference SDK for the HyperMind SCITT contested-claims profile
|
|
5
5
|
Project-URL: Homepage, https://github.com/ZySec-AI/hypermind
|
|
6
6
|
Project-URL: Documentation, https://github.com/ZySec-AI/hypermind/tree/main/docs
|
|
@@ -102,7 +102,7 @@ Agents share what they learn. Dispute what they doubt. Build trust over time.
|
|
|
102
102
|
[](https://pypi.org/project/hypermind/)
|
|
103
103
|
[](https://pypi.org/project/hypermind/)
|
|
104
104
|
[](LICENSE)
|
|
105
|
-
[](#testing--quality)
|
|
106
106
|
[](#testing--quality)
|
|
107
107
|
[](#project-status)
|
|
108
108
|
|
|
@@ -147,7 +147,7 @@ Open **http://127.0.0.1:8765** and you'll see:
|
|
|
147
147
|
```bash
|
|
148
148
|
make run-fast # skip the webui rebuild (when JS hasn't changed)
|
|
149
149
|
make webui-dev # Vite dev server with hot-reload on :5173
|
|
150
|
-
make test #
|
|
150
|
+
make test # 2133 tests pass, ~80s
|
|
151
151
|
make demo # examples/01_hello_world from the CLI
|
|
152
152
|
make demos # all numbered tutorials + scenarios sequentially
|
|
153
153
|
make help # show all targets
|
|
@@ -232,6 +232,12 @@ report.print() # reputation ranking · citation graph · dispute ledger
|
|
|
232
232
|
- **Per-agent models.** Any seat can pin its own provider/model (`Seat("Professor", llm="anthropic", model="claude-opus-4-8")`), or hand `OrgSim` a router for random / cost-aware assignment.
|
|
233
233
|
- **Native tools, group-scoped.** Tools (web search, retrieval, KB query, Relata research) are granted per unit/seat and enforced — an ungranted tool is *absent* from that agent's toolset. Grants can be declarative or randomised; register your own with `hypermind.orgs.register_tool(...)`.
|
|
234
234
|
- **Relata end-to-end.** Organisation → tenant; member → private memory session (agent kid); claims / disputes / reputation → tenant-scoped ledger rows; chain of custody → the Merkle log. Restart replays the whole org.
|
|
235
|
+
- **Study → ask (a queryable swarm).** Let the swarm learn a topic, then question it: `await sim.study(topic)` then `await sim.ask("...")` — every member recalls what it learned, reasons, and the answers are aggregated weighted by earned standing. `sim.ask` studies first automatically if you skip the explicit step.
|
|
236
|
+
- **Proper RAG.** Retrieval for `ask` is pluggable: lexical (default), semantic embeddings (`embedder=`), the claim↔entity graph (`use_graph_retrieval=True`), or `hybrid_retriever(...)` which fuses dense + graph + lexical via Reciprocal Rank Fusion with an optional cross-encoder rerank. Relata *is* the vector store + graph (`relata_retriever(..., "search_knowledge" / "find_connections")`).
|
|
237
|
+
- **Answer quality, natively.** `await sim.assess(question)` returns a `QualityReport` scoring grounding, hallucination rate, calibration (Brier), self-consistency, and hm-native rubrics that are *verifiable from the signed ledger* — provenance coverage, dispute exposure, reputation-weighted support. All rubrics on by default; missing deps (judge / ground-truth) degrade to informational notes.
|
|
238
|
+
- **Scales like Locust.** `OrgSim(lightweight=True)` caps RAM to O(members), not O(records); Relata writes are batched. For horizontal scale, `hypermind.orgs.distributed` runs a **master/worker** control plane — shard a swarm across processes or machines against the shared Relata namespace, merged into one report (`python -m hypermind.orgs.distributed master/worker`, or `run_distributed(...)`).
|
|
239
|
+
|
|
240
|
+
- **No-code CLI.** `hmctl orgs` runs the whole engine from the shell: `hmctl orgs templates`, `hmctl orgs simulate --template university --members 24 --topic "…"`, `hmctl orgs ask "…" --template university` (study→ask + quality rubrics on by default), and `hmctl orgs distributed --members 10000 --workers 8 --topic "…"`.
|
|
235
241
|
|
|
236
242
|
Worked example: [`examples/org_university.py`](examples/org_university.py). Discover all presets via `hypermind.orgs.templates.list_templates()`.
|
|
237
243
|
|
|
@@ -14,7 +14,7 @@ Agents share what they learn. Dispute what they doubt. Build trust over time.
|
|
|
14
14
|
[](https://pypi.org/project/hypermind/)
|
|
15
15
|
[](https://pypi.org/project/hypermind/)
|
|
16
16
|
[](LICENSE)
|
|
17
|
-
[](#testing--quality)
|
|
18
18
|
[](#testing--quality)
|
|
19
19
|
[](#project-status)
|
|
20
20
|
|
|
@@ -59,7 +59,7 @@ Open **http://127.0.0.1:8765** and you'll see:
|
|
|
59
59
|
```bash
|
|
60
60
|
make run-fast # skip the webui rebuild (when JS hasn't changed)
|
|
61
61
|
make webui-dev # Vite dev server with hot-reload on :5173
|
|
62
|
-
make test #
|
|
62
|
+
make test # 2133 tests pass, ~80s
|
|
63
63
|
make demo # examples/01_hello_world from the CLI
|
|
64
64
|
make demos # all numbered tutorials + scenarios sequentially
|
|
65
65
|
make help # show all targets
|
|
@@ -144,6 +144,12 @@ report.print() # reputation ranking · citation graph · dispute ledger
|
|
|
144
144
|
- **Per-agent models.** Any seat can pin its own provider/model (`Seat("Professor", llm="anthropic", model="claude-opus-4-8")`), or hand `OrgSim` a router for random / cost-aware assignment.
|
|
145
145
|
- **Native tools, group-scoped.** Tools (web search, retrieval, KB query, Relata research) are granted per unit/seat and enforced — an ungranted tool is *absent* from that agent's toolset. Grants can be declarative or randomised; register your own with `hypermind.orgs.register_tool(...)`.
|
|
146
146
|
- **Relata end-to-end.** Organisation → tenant; member → private memory session (agent kid); claims / disputes / reputation → tenant-scoped ledger rows; chain of custody → the Merkle log. Restart replays the whole org.
|
|
147
|
+
- **Study → ask (a queryable swarm).** Let the swarm learn a topic, then question it: `await sim.study(topic)` then `await sim.ask("...")` — every member recalls what it learned, reasons, and the answers are aggregated weighted by earned standing. `sim.ask` studies first automatically if you skip the explicit step.
|
|
148
|
+
- **Proper RAG.** Retrieval for `ask` is pluggable: lexical (default), semantic embeddings (`embedder=`), the claim↔entity graph (`use_graph_retrieval=True`), or `hybrid_retriever(...)` which fuses dense + graph + lexical via Reciprocal Rank Fusion with an optional cross-encoder rerank. Relata *is* the vector store + graph (`relata_retriever(..., "search_knowledge" / "find_connections")`).
|
|
149
|
+
- **Answer quality, natively.** `await sim.assess(question)` returns a `QualityReport` scoring grounding, hallucination rate, calibration (Brier), self-consistency, and hm-native rubrics that are *verifiable from the signed ledger* — provenance coverage, dispute exposure, reputation-weighted support. All rubrics on by default; missing deps (judge / ground-truth) degrade to informational notes.
|
|
150
|
+
- **Scales like Locust.** `OrgSim(lightweight=True)` caps RAM to O(members), not O(records); Relata writes are batched. For horizontal scale, `hypermind.orgs.distributed` runs a **master/worker** control plane — shard a swarm across processes or machines against the shared Relata namespace, merged into one report (`python -m hypermind.orgs.distributed master/worker`, or `run_distributed(...)`).
|
|
151
|
+
|
|
152
|
+
- **No-code CLI.** `hmctl orgs` runs the whole engine from the shell: `hmctl orgs templates`, `hmctl orgs simulate --template university --members 24 --topic "…"`, `hmctl orgs ask "…" --template university` (study→ask + quality rubrics on by default), and `hmctl orgs distributed --members 10000 --workers 8 --topic "…"`.
|
|
147
153
|
|
|
148
154
|
Worked example: [`examples/org_university.py`](examples/org_university.py). Discover all presets via `hypermind.orgs.templates.list_templates()`.
|
|
149
155
|
|
|
@@ -87,6 +87,7 @@ Pick one that matches your domain.
|
|
|
87
87
|
| File | Domain | What it shows |
|
|
88
88
|
|---|---|---|
|
|
89
89
|
| [`org_university.py`](org_university.py) | Any network | Spin up a templated org (university / city / UNO / crowd), run research → cite → dispute → resolve → evolve, print a reputation + citation report. Per-agent models + group-scoped tools, persisted to Relata. |
|
|
90
|
+
| [`org_distributed.py`](org_distributed.py) | Scale-out | Locust-style distributed run: a master coordinator shards the swarm across workers (processes or machines) against the shared Relata namespace, merged into one report (`hypermind.orgs.distributed`). Single-host convenience + multi-machine CLI. |
|
|
90
91
|
|
|
91
92
|
### Pilot-shaped demonstrations
|
|
92
93
|
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"""THE STORY — one swarm, many workers: scale a simulation like Locust.
|
|
2
|
+
|
|
3
|
+
The single-process engine (``examples/org_university.py``) is great to ~1000s of
|
|
4
|
+
agents. Beyond that you scale *out*: ``hypermind.orgs.distributed`` runs a
|
|
5
|
+
**master coordinator** that shards the swarm across **workers** — processes on
|
|
6
|
+
this box or on other machines — each running its slice as
|
|
7
|
+
``OrgSim(lightweight=True)`` against the **shared Relata namespace** (the source
|
|
8
|
+
of truth). The coordinator merges every worker's bounded aggregates into one
|
|
9
|
+
``OrgReport``.
|
|
10
|
+
|
|
11
|
+
This script shows the single-host convenience path (``run_distributed`` starts a
|
|
12
|
+
coordinator plus in-process workers over loopback) — the *same* code path as
|
|
13
|
+
multi-machine. For true multi-machine, use the CLI instead::
|
|
14
|
+
|
|
15
|
+
# on the master host
|
|
16
|
+
python -m hypermind.orgs.distributed master --template university \
|
|
17
|
+
--topic "..." --members 10000 --rounds 8 --expected-workers 4 \
|
|
18
|
+
--host 0.0.0.0 --port 8765 --llm openai --llm-model openai/gpt-4o-mini
|
|
19
|
+
|
|
20
|
+
# on each worker host
|
|
21
|
+
python -m hypermind.orgs.distributed worker \
|
|
22
|
+
--master-host <master-ip> --port 8765 --capacity 2500
|
|
23
|
+
|
|
24
|
+
PREREQUISITES
|
|
25
|
+
* A running Relata instance: docker compose -f deploy/docker-compose.yml up -d relata
|
|
26
|
+
* export RELATA_URL=http://localhost:9090 RELATA_TOKEN=...
|
|
27
|
+
* export OPENAI_API_KEY=... (workers build their own client from env)
|
|
28
|
+
|
|
29
|
+
Run with: python -m examples.org_distributed
|
|
30
|
+
"""
|
|
31
|
+
|
|
32
|
+
from __future__ import annotations
|
|
33
|
+
|
|
34
|
+
import asyncio
|
|
35
|
+
import os
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
async def main() -> None:
|
|
39
|
+
from hypermind.orgs.distributed import run_distributed
|
|
40
|
+
from hypermind.orgs.templates import university
|
|
41
|
+
|
|
42
|
+
relata_url = os.environ.get("RELATA_URL")
|
|
43
|
+
if not relata_url:
|
|
44
|
+
raise SystemExit(
|
|
45
|
+
"Set RELATA_URL (and RELATA_TOKEN) to a running Relata instance. "
|
|
46
|
+
"See deploy/docker-compose.yml."
|
|
47
|
+
)
|
|
48
|
+
|
|
49
|
+
model = university() # the shape; run_distributed scales it across workers
|
|
50
|
+
report = await run_distributed(
|
|
51
|
+
model,
|
|
52
|
+
topic="What limits the accuracy of ab-initio protein folding?",
|
|
53
|
+
members=48, # sharded across the workers below
|
|
54
|
+
rounds=4,
|
|
55
|
+
workers=4, # 4 in-process workers over loopback (each ~12 members)
|
|
56
|
+
config={
|
|
57
|
+
"llm": "openai",
|
|
58
|
+
"llm_model": "openai/gpt-4o-mini",
|
|
59
|
+
"base_url": os.environ.get("OPENAI_BASE_URL"), # e.g. OpenRouter
|
|
60
|
+
"relata_url": relata_url,
|
|
61
|
+
"relata_token": os.environ.get("RELATA_TOKEN"),
|
|
62
|
+
},
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
report.print()
|
|
66
|
+
sc = report.scorecard
|
|
67
|
+
print(
|
|
68
|
+
f"\nmerged across workers → {sc['claims']} claims · {sc['citations']} citations · "
|
|
69
|
+
f"{len(report.standings)} members"
|
|
70
|
+
)
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
if __name__ == "__main__":
|
|
74
|
+
asyncio.run(main())
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "hypermind"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.30.0"
|
|
8
8
|
description = "Federated agent intelligence — reference SDK for the HyperMind SCITT contested-claims profile"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11,<3.14"
|
|
@@ -39,6 +39,12 @@ def main() -> None:
|
|
|
39
39
|
"""HyperMind conformance CLI."""
|
|
40
40
|
|
|
41
41
|
|
|
42
|
+
# `hmctl orgs …` — run the living-simulation engine with no code.
|
|
43
|
+
from hmctl.orgs_cmd import orgs as _orgs_group # noqa: E402
|
|
44
|
+
|
|
45
|
+
main.add_command(_orgs_group, name="orgs")
|
|
46
|
+
|
|
47
|
+
|
|
42
48
|
@main.command()
|
|
43
49
|
@click.option(
|
|
44
50
|
"--check",
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
"""Live, colourful terminal dashboard for a running OrgSim (#196).
|
|
2
|
+
|
|
3
|
+
Drives off OrgSim's ``on_event`` stream (round_start / publish / cite / dispute /
|
|
4
|
+
resolve / round_end) and paints a Rich live view: a round progress bar, glowing
|
|
5
|
+
stat cards, a per-round claims sparkline/bar-chart, a per-unit tally, and a
|
|
6
|
+
colour-coded activity feed. Pass ``dashboard.handle`` as ``on_event=`` and run
|
|
7
|
+
the sim inside ``with dashboard:``.
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
from __future__ import annotations
|
|
11
|
+
|
|
12
|
+
from collections import defaultdict, deque
|
|
13
|
+
from typing import Any
|
|
14
|
+
|
|
15
|
+
from rich.align import Align
|
|
16
|
+
from rich.console import Console, Group
|
|
17
|
+
from rich.live import Live
|
|
18
|
+
from rich.panel import Panel
|
|
19
|
+
from rich.table import Table
|
|
20
|
+
from rich.text import Text
|
|
21
|
+
|
|
22
|
+
_BLOCKS = " ▁▂▃▄▅▆▇█"
|
|
23
|
+
_PALETTE = ["#00e5ff", "#00ff9c", "#ffd166", "#ff5d8f", "#a78bfa", "#7dd3fc"]
|
|
24
|
+
_EVENT_STYLE = {
|
|
25
|
+
"publish": ("📄", "bold #00ff9c"),
|
|
26
|
+
"cite": ("🔗", "bold #00e5ff"),
|
|
27
|
+
"dispute": ("⚖️", "bold #ffd166"),
|
|
28
|
+
"resolve": ("✓", "bold #a78bfa"),
|
|
29
|
+
"tool_call": ("🛠", "bold #7dd3fc"),
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def _spark(vals: list[int], width: int = 32) -> Text:
|
|
34
|
+
if not vals:
|
|
35
|
+
return Text("—", style="grey37")
|
|
36
|
+
tail = vals[-width:]
|
|
37
|
+
mx = max(tail) or 1
|
|
38
|
+
t = Text()
|
|
39
|
+
for i, v in enumerate(tail):
|
|
40
|
+
ch = _BLOCKS[min(8, int(v / mx * 8))]
|
|
41
|
+
t.append(ch, style=_PALETTE[i % len(_PALETTE)])
|
|
42
|
+
return t
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class SimDashboard:
|
|
46
|
+
"""A Rich live dashboard fed by OrgSim events."""
|
|
47
|
+
|
|
48
|
+
def __init__(
|
|
49
|
+
self,
|
|
50
|
+
*,
|
|
51
|
+
total_rounds: int,
|
|
52
|
+
org: str = "org",
|
|
53
|
+
topic: str = "",
|
|
54
|
+
console: Console | None = None,
|
|
55
|
+
) -> None:
|
|
56
|
+
self.console = console or Console()
|
|
57
|
+
self.total = max(1, total_rounds)
|
|
58
|
+
self.org = org
|
|
59
|
+
self.topic = topic
|
|
60
|
+
self.round = 0
|
|
61
|
+
self.counts: dict[str, int] = defaultdict(int)
|
|
62
|
+
self.per_round: dict[int, int] = defaultdict(int)
|
|
63
|
+
self.per_unit: dict[str, int] = defaultdict(int)
|
|
64
|
+
self.feed: deque[Text] = deque(maxlen=9)
|
|
65
|
+
self._live: Live | None = None
|
|
66
|
+
|
|
67
|
+
def __enter__(self) -> SimDashboard:
|
|
68
|
+
self._live = Live(self._render(), console=self.console, refresh_per_second=12, screen=False)
|
|
69
|
+
self._live.__enter__()
|
|
70
|
+
return self
|
|
71
|
+
|
|
72
|
+
def __exit__(self, *exc: object) -> None:
|
|
73
|
+
if self._live is not None:
|
|
74
|
+
self._live.update(self._render())
|
|
75
|
+
self._live.__exit__(*exc)
|
|
76
|
+
|
|
77
|
+
# OrgSim on_event sink (sync — fast, no awaiting).
|
|
78
|
+
def handle(self, ev: dict[str, Any]) -> None:
|
|
79
|
+
e = ev.get("event", "")
|
|
80
|
+
if e == "round_start":
|
|
81
|
+
self.round = int(ev.get("round", self.round)) + 1
|
|
82
|
+
elif e in _EVENT_STYLE:
|
|
83
|
+
self.counts[e] += 1
|
|
84
|
+
if e == "publish":
|
|
85
|
+
self.per_round[self.round] += 1
|
|
86
|
+
if ev.get("unit"):
|
|
87
|
+
self.per_unit[ev["unit"]] += 1
|
|
88
|
+
self._push(ev, e)
|
|
89
|
+
self._refresh()
|
|
90
|
+
|
|
91
|
+
def _push(self, ev: dict[str, Any], e: str) -> None:
|
|
92
|
+
icon, style = _EVENT_STYLE[e]
|
|
93
|
+
who = str(ev.get("by", ev.get("unit", "")))
|
|
94
|
+
extra = ""
|
|
95
|
+
if e == "publish" and ev.get("confidence") is not None:
|
|
96
|
+
extra = f" conf {ev['confidence']:.2f}"
|
|
97
|
+
elif e == "resolve":
|
|
98
|
+
extra = f" → {'✓ correct' if ev.get('outcome') else '✗ wrong'}"
|
|
99
|
+
line = Text(f" r{self.round} ", style="grey42")
|
|
100
|
+
line.append(f"{icon} {e:<8}", style=style)
|
|
101
|
+
line.append(f" {who}{extra}", style="grey70")
|
|
102
|
+
self.feed.append(line)
|
|
103
|
+
|
|
104
|
+
def _refresh(self) -> None:
|
|
105
|
+
if self._live is not None:
|
|
106
|
+
self._live.update(self._render())
|
|
107
|
+
|
|
108
|
+
# --- rendering --------------------------------------------------------
|
|
109
|
+
def _bar(self, frac: float, width: int = 44) -> Text:
|
|
110
|
+
filled = int(max(0.0, min(1.0, frac)) * width)
|
|
111
|
+
t = Text()
|
|
112
|
+
for i in range(width):
|
|
113
|
+
t.append(
|
|
114
|
+
"█" if i < filled else "─",
|
|
115
|
+
style=_PALETTE[i % len(_PALETTE)] if i < filled else "grey30",
|
|
116
|
+
)
|
|
117
|
+
return t
|
|
118
|
+
|
|
119
|
+
def _cards(self) -> Table:
|
|
120
|
+
cards = Table.grid(expand=True, padding=(0, 1))
|
|
121
|
+
cards.add_row(
|
|
122
|
+
self._card("📄 claims", self.counts["publish"], "#00ff9c"),
|
|
123
|
+
self._card("🔗 citations", self.counts["cite"], "#00e5ff"),
|
|
124
|
+
self._card("⚖️ disputes", self.counts["dispute"], "#ffd166"),
|
|
125
|
+
self._card("✓ resolves", self.counts["resolve"], "#a78bfa"),
|
|
126
|
+
)
|
|
127
|
+
return cards
|
|
128
|
+
|
|
129
|
+
def _card(self, label: str, value: int, colour: str) -> Panel:
|
|
130
|
+
body = Align.center(Text(str(value), style=f"bold {colour}"))
|
|
131
|
+
return Panel(body, title=label, border_style=colour, padding=(0, 1))
|
|
132
|
+
|
|
133
|
+
def _units(self) -> Text:
|
|
134
|
+
if not self.per_unit:
|
|
135
|
+
return Text(" (waiting for claims…)", style="grey37")
|
|
136
|
+
mx = max(self.per_unit.values()) or 1
|
|
137
|
+
t = Text()
|
|
138
|
+
for i, (unit, n) in enumerate(sorted(self.per_unit.items(), key=lambda kv: -kv[1])[:6]):
|
|
139
|
+
colour = _PALETTE[i % len(_PALETTE)]
|
|
140
|
+
bar = "█" * int(n / mx * 24) or "▏"
|
|
141
|
+
t.append(f" {unit[:16]:<16} ", style="grey70")
|
|
142
|
+
t.append(bar, style=colour)
|
|
143
|
+
t.append(f" {n}\n", style=colour)
|
|
144
|
+
return t
|
|
145
|
+
|
|
146
|
+
def _render(self) -> Panel:
|
|
147
|
+
frac = self.round / self.total if self.total else 0.0
|
|
148
|
+
header = Text()
|
|
149
|
+
header.append("⬡ HyperMind ", style="bold #00e5ff")
|
|
150
|
+
header.append(self.org, style="bold white")
|
|
151
|
+
if self.topic:
|
|
152
|
+
header.append(f" · {self.topic[:60]}", style="grey62")
|
|
153
|
+
|
|
154
|
+
prog = Text()
|
|
155
|
+
prog.append(f"round {min(self.round, self.total)}/{self.total} ", style="bold white")
|
|
156
|
+
prog.append_text(self._bar(frac))
|
|
157
|
+
prog.append(f" {int(frac * 100):>3}%", style="bold #00ff9c")
|
|
158
|
+
|
|
159
|
+
spark = Text("claims/round ", style="grey62")
|
|
160
|
+
spark.append_text(_spark([self.per_round[i] for i in range(1, self.round + 1)]))
|
|
161
|
+
|
|
162
|
+
feed = Group(*self.feed) if self.feed else Text(" (no activity yet)", style="grey37")
|
|
163
|
+
|
|
164
|
+
body = Group(
|
|
165
|
+
header,
|
|
166
|
+
Text(""),
|
|
167
|
+
prog,
|
|
168
|
+
Text(""),
|
|
169
|
+
self._cards(),
|
|
170
|
+
Text(""),
|
|
171
|
+
Panel(self._units(), title="per-unit claims", border_style="grey35", padding=(0, 0)),
|
|
172
|
+
spark,
|
|
173
|
+
Text(""),
|
|
174
|
+
Panel(feed, title="live activity", border_style="grey35", padding=(0, 1)),
|
|
175
|
+
)
|
|
176
|
+
return Panel(
|
|
177
|
+
body, border_style="#00e5ff", title="live simulation", subtitle="hypermind.orgs"
|
|
178
|
+
)
|