hypermind 0.11.0__tar.gz → 0.13.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {hypermind-0.11.0 → hypermind-0.13.0}/PKG-INFO +27 -3
- {hypermind-0.11.0 → hypermind-0.13.0}/README.md +26 -2
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/README.md +6 -0
- hypermind-0.13.0/examples/org_university.py +66 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/pyproject.toml +1 -1
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/__init__.py +1 -1
- hypermind-0.13.0/src/hypermind/orgs/__init__.py +85 -0
- hypermind-0.13.0/src/hypermind/orgs/groundtruth.py +126 -0
- hypermind-0.13.0/src/hypermind/orgs/interaction.py +177 -0
- hypermind-0.13.0/src/hypermind/orgs/metrics.py +148 -0
- hypermind-0.13.0/src/hypermind/orgs/model.py +255 -0
- hypermind-0.13.0/src/hypermind/orgs/report.py +95 -0
- hypermind-0.13.0/src/hypermind/orgs/sim.py +522 -0
- hypermind-0.13.0/src/hypermind/orgs/templates/__init__.py +411 -0
- hypermind-0.13.0/src/hypermind/orgs/think.py +109 -0
- hypermind-0.13.0/src/hypermind/orgs/tools.py +202 -0
- hypermind-0.13.0/tests/orgs/_fakes.py +93 -0
- hypermind-0.13.0/tests/orgs/test_convergence.py +117 -0
- hypermind-0.13.0/tests/orgs/test_groundtruth.py +149 -0
- hypermind-0.13.0/tests/orgs/test_interaction.py +123 -0
- hypermind-0.13.0/tests/orgs/test_metrics.py +171 -0
- hypermind-0.13.0/tests/orgs/test_model.py +207 -0
- hypermind-0.13.0/tests/orgs/test_report.py +91 -0
- hypermind-0.13.0/tests/orgs/test_sim.py +448 -0
- hypermind-0.13.0/tests/orgs/test_templates.py +37 -0
- hypermind-0.13.0/tests/orgs/test_think.py +91 -0
- hypermind-0.13.0/tests/orgs/test_tools.py +143 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.editorconfig +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.gitattributes +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/FUNDING.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/renovate.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows/check-license.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows/code-review-pr.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows/hotfix-security.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows/issue-auto-fix.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows/issue-triage.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows/pr-standards.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows/quality.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows/release.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows/security.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows/stale.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/branch-flow-check.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/chaos.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/check-license.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/ci.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/code-freeze.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/code-review-pr.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/code-review.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/codeql.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/dco.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/docs-to-wiki.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/docs.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/formal.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/fuzz.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/hotfix-security.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/issue-auto-fix.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/issue-triage.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/merge-comment.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/pip-audit.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/pr-standards.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/quality.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/release.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/sbom.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/scorecard.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/security.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/sprint-retro.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.github/workflows-disabled/stale.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.gitignore +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.pre-commit-config.yaml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/.tool-versions +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/CHANGELOG.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/CHARTER.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/CODEOWNERS +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/CODE_OF_CONDUCT.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/CONTRIBUTING.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/GOVERNANCE.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/LICENSE +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/MAINTAINERS.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/Makefile +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/RELATA_COMPATIBILITY.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/RELATA_INTEGRATION_PLAN.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/ROADMAP.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/SECURITY.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/bench/README.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/bench/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/bench/baselines/v0.6.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/bench/bench_consult.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/bench/bench_dispute.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/bench/bench_publish.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/bench/coordination/README.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/bench/coordination/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/bench/coordination/baselines/v0.10.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/bench/coordination/bench_rfp_latency.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/bench/coordination/bench_task_throughput.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/bench/coordination/bench_workflow_replay.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/bench/coordination/run_all.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/bench/question_sets/geopolitics_q20.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/bench/question_sets/msft_outlook_q10.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/bench/run_bench.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/chaos/README.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/chaos/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/chaos/p1_partition_recovery.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/chaos/p2_witness_compromise.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/chaos/p3_key_rotation.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/chaos/p4_dispute_backlog.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/chaos/p5_wire_cutover.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/chaos/p6_quorum_loss.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/chaos/p7_clock_skew.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/chaos/p8_recorder_outage.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/chaos/run_chaos.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/deploy/Dockerfile +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/deploy/README.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/deploy/docker-compose.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/deploy/grafana/dashboards/hypermind-coordination.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/deploy/grafana/dashboards/hypermind-v06.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/deploy/grafana/dashboards/hypermind.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/deploy/grafana/provisioning/dashboards/hypermind.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/deploy/grafana/provisioning/datasources/prometheus.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/deploy/k8s/hypermind-deployment.yaml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/deploy/prometheus/prometheus.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/deploy/systemd/hypermind.service +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/README.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/SIMLAB.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/SIMLAB_AUDIT_PLAN.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/_meta/glossary.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/_meta/provenance.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/_meta/public-surface.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/_meta/standards-map.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/api/agent.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/api/agent_card.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/api/capability.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/api/crypto.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/api/dispute.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/api/knowledge.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/api/observability.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/api/simlab-openapi.yaml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/api/sync.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/api/tasks.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/api/transport.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/api/wire.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/architecture-v0.6.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/assets/hero-swarm.svg +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/audit/findings.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/audit/scope.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/concepts.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/conformance/authority.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/conformance/bake-off-report.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/conformance/mark-policy.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/decide/01-disqualifiers.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/decide/02-alternatives.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/decide/03-incentive-aligned-cases.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/decide/04-use-cases.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/design/01-architecture.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/design/02-traces.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/design/03-failure-modes.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/design/04-poisoning-defenses.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/design/05-deployment-topology.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/feature-matrix.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/getting-started.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/governance/cna.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/governance/foundation-evaluation.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/hypermind-protocol-spec.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/index.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/legal/export-classification.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/lts.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/migrate/v0.x-to-v1.0.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/migration/v0.7.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/00-prerequisites.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/README.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/after.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/exercises/e01-run-the-loop.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/exercises/e02-draw-the-architecture.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/exercises/e03-trace-a-claim.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/exercises/e04-read-a-spec-section.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/exercises/e05-break-it.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/exercises/e06-add-a-test.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/exercises/e07-first-pr.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/glossary.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/topics/00-what-is-hypermind.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/topics/01-agents-and-swarms.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/topics/02-architecture-tour.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/topics/03-spec-literacy.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/topics/04-cryptography.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/topics/05-cbor-cose.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/topics/06-transparency-logs.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/topics/07-distributed-systems.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/topics/08-async-python.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/topics/09-security-mindset.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/week-1-foundations.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/onboarding/week-2-deep-dive.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/01-deployment.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/02-runbook.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/03-resource-budget.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/backup-restore.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/data-residency.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/key-rotation.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/runbooks/dispute-backlog-drain.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/runbooks/key-rotation.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/runbooks/kms-rotation.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/runbooks/multi-host-deploy.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/runbooks/partition-heal.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/runbooks/quorum-loss.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/runbooks/rfp-dispute-triage.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/runbooks/wire-cutover.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/runbooks/witness-compromise.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/runbooks/workflow-replay.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/operate/slo.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/paper/00-patent.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/paper/hypermind-paper-draft.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/paper/hypermind-paper.docx +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/paper/hypermind-paper.tex +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/release-notes/v1.0-checklist.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/release-notes/v1.0.0.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/security/threat-model.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/simlab/modes.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/simulations.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/00-overview.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/01-transport.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/02-cryptography.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/03-messages.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/04-knowledge-model.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/05-routing.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/06-conformance.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/07-trust-access-layer.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/08-onboarding-contract.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/09-agent-sdk.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/10-disputes.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/11-witness-transparency.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/12-governance.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/13-observability.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/14-threat-model.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/15-living-transmission.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/16-reference-comparisons.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/17-upgrade-v1.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/18-revocation.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/19-autonomy-contract.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/20-swarm-intelligence.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/21-belief-state.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/21-private-namespaces.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/22-transport-mtls.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/23-envelope-encryption.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/24-namespace-identity.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/25-capability-extensions.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/26-workflow.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/27-contract-net.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/28-distributed-trace.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/_meta/gaps-closed.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/appendix-N-calibration.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/appendix-TLA.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/appendix-z.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/errata.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/index.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/invariants.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/spec/normative-trace.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/supply-chain/sbom.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/supply-chain/slsa.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/supply-chain/verify-self.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/docs/sustainability.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/01_hello_world.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/02_two_agents_dispute.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/03_consult_panel.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/04_oracle_resolve.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/05_consult_to_synthesis.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/06_hybrid_pq.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/07_frost_threshold.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/08_ramp_and_diagnostics.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/09_audit_export_chain.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/10_autonomous_agent.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/11_swarm_deliberation.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/12_swarm_iq_scorecard.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/13_role_specialisation.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/14_active_learning_loop.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/16_wire_message.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/17_tool_delegation.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/18_custom_responder.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/19_governance.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/20_conformance_check.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/21_revocation.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/22_agent_card.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/23_task_delegation.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/24_mcp_tool_call.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/25_swarm_trace.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/01_durable_workflow.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/02_contract_net.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/03_belief_and_plan.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/usecases/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/usecases/ai_01_fed_benchmark.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/usecases/ai_alignment_redteam.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/usecases/cy_05_ir_swarm.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/usecases/cy_11_ransomware_intel.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/usecases/ed_credentials.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/usecases/en_grid_coordinate.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/usecases/fi_04_bsa_314b.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/usecases/fi_22_ma_dataroom.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/usecases/gv_01_intel_sharing.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/usecases/gv_21_red_team.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/usecases/hc_06_rare_disease.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/usecases/hc_21_fed_learning.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/usecases/lg_ediscovery.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/coordination/usecases/mf_supply_chain.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/e2e_many_agents.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/full_e2e_demo.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/lifecycle.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_aar.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_backtest.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_capability_attenuation.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_conformance.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_crisis_tabletop.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_cross_namespace_federation.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_decision_tournament.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_dispute_lifecycle_async.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_evaluation.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_geopolitical_crisis.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_geopolitical_traced.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_governance_committee.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_information_pipeline.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_learning_loop.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_namespace_trust.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_persona_panel.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_private_namespace.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_red_team.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_regulated_consortium.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_threat_intel.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_vouch_chain.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/scenario_what_if_tree.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/serve_api.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/examples/two_node_tcp.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/formal/README.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/formal/hax-rust/README.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/formal/hax-rust/scope.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/formal/proverif/dispute_fsm.pv +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/formal/proverif/dispute_liveness.pv +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/formal/tamarin/capability_chain.spthy +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/formal/tamarin/dispute_fsm.spthy +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/formal/tamarin/signed_statement.spthy +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/formal/tamarin/wire_security.spthy +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/fuzz/README.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/fuzz/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/fuzz/fuzz_agent_card.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/fuzz/fuzz_anti_entropy.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/fuzz/fuzz_capability.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/fuzz/fuzz_dispute.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/fuzz/fuzz_inclusion_proof.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/fuzz/fuzz_wire.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/fuzz/seed_corpus.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/harness/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/harness/__main__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/harness/assertions.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/harness/fixtures.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/harness/report.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/harness/roles.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/harness/runner.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/harness/scenario.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/harness/scenarios/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/harness/scenarios/autonomous_evolution.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/harness/scenarios/swarm_iq_benchmark.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/harness/scenarios/threat_intel.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/mkdocs.yml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/reference_verifier/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/reference_verifier/schemas/encrypted_statement.cddl +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/reference_verifier/schemas/namespace_accept.cddl +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/reference_verifier/schemas/namespace_create.cddl +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/reference_verifier/schemas/namespace_founding_attest.cddl +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/reference_verifier/schemas/namespace_invite.cddl +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/reference_verifier/schemas/wire-v0.1.cddl +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/reference_verifier/verifier.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/review/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/review/__main__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/review/agents.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/review/models.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/review/runner.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hmctl/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hmctl/cli.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/_deprecations.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/agent.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/agent_card.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/api/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/api/app.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/capability.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/consult.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/consult_bias.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/contract_net.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/cose_encrypt.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/dkg.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/domain.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/frost.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/hashing.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/hlc.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/hpke.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/kms.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/kms_backends/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/kms_backends/aws.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/kms_backends/azure.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/kms_backends/gcp.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/kms_backends/vault.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/namespace_root.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/pq.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/room_epoch.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/crypto/signing.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/deliberation.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/did_web.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/dispute.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/errors.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/eval/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/eval/calibration.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/eval/comparison.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/eval/replay.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/eval/swarm_iq.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/knowledge/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/knowledge/citation_graph.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/knowledge/correlated_agreement.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/knowledge/embedding_registry.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/knowledge/kernel_store.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/knowledge/rekor.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/knowledge/reputation.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/knowledge/swarm_memory.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/knowledge/transparency.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mcp/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mcp/bridge.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mcp/client.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mcp/provenance.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mcp/relata_tools.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mcp/server.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mcp/transport.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mind/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mind/active.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mind/belief.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mind/deliberator.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mind/diversity.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mind/evolve.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mind/federation.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mind/goals.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mind/integration.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mind/mediator.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mind/memory_store.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mind/policy.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mind/records.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mind/roles.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mind/sybil_guard.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/mind/world_model.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/namespace.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/namespace_policy.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/observability/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/observability/asgi.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/observability/cost.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/observability/otel_export.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/observability/recorder.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/observability/swarm_trace.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/pin_policy.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/py.typed +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/responders/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/responders/anthropic.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/responders/base.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/responders/openai.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/responders/router.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/responders/structured.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/responders/tools.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/revocation.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/rule_ids.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/schemas/encrypted_statement.cddl +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/schemas/namespace_accept.cddl +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/schemas/namespace_create.cddl +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/schemas/namespace_founding_attest.cddl +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/schemas/namespace_invite.cddl +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/schemas/wire-v0.1.cddl +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/_persona_registry.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/_scenario_impl.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/app.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/backends/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/backends/anchor.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/backends/local.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/backends/server.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/cli_command.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/config.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/deployment.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/knowledge.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/learning.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/modes/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/modes/_eval_real_llm.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/modes/aar.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/modes/backtest.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/modes/binary_forecast.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/modes/conformance.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/modes/evaluation.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/modes/governance.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/modes/redteam.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/modes/tabletop.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/modes/tournament.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/modes/whatif.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/namespace.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/personas.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/prompt_generator.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/question_sets/geopolitics_q20.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/question_sets/governance_q5.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/question_sets/msft_outlook_q10.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/question_sets/whatif_q3.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/registry.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/runner.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/scenario.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/swarms.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_handlers/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_handlers/alpha_vantage.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_handlers/brave.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_handlers/newsapi.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_handlers/openweather.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_handlers/pinecone.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_handlers/qdrant.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_handlers/query_knowledge_base.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_handlers/relata_recall.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_handlers/retrieve_document.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_handlers/serper.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_handlers/tavily.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_handlers/weaviate.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_handlers/wikipedia.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_handlers/wolfram.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_handlers/yahoo_finance.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/tool_registry.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/topic_adapter.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/simlab/topic_questions.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/storage/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/storage/backend.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/storage/relata.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/storage/sqlite.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/sync.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/tal.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/tasks.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/testing.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/tools/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/tools/registry.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/transport/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/transport/anti_entropy.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/transport/bus.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/transport/knows_delta.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/transport/libp2p.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/transport/placement.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/transport/tcp.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/transport/tls_profile.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/types.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/uncertainty.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/wire.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/workflow/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/workflow/engine.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/workflow/plan.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/src/hypermind/workflow/repair.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/storage-backend-requirements.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/api/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/api/test_eval_endpoints.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/api/test_events_stream.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/api/test_management_app.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/chaos/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/chaos/test_gossip_amplification.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/chaos/test_kill_agent_during_rfp.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/chaos/test_partition_during_workflow.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/chaos/test_slow_consumer_backpressure.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/chaos/test_slow_peer.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/generate_vectors.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/SIGNING.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/agent-card-01.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/agent-card-02.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/capability-01.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/capability-02.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/capability-03.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/dispute-01.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/dispute-02.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/dispute-03.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/dispute-04.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/dispute-05.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/frost-01.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/frost-02.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/frost-03.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/knows-delta-01.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/knows-delta-02.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/mcp-prov-01.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/mcp-prov-02.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/merkle-01.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/merkle-02.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/merkle-03.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/merkle-04.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/rep-decay-01.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/task-01.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/task-02.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/trace-01.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/trace-02.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/wire-envelope-01.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/wire-envelope-02.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/wire-envelope-03.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/wire-envelope-04.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conformance/vectors/wire-envelope-05.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/conftest.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/fake_kms.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/harness/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/harness/conftest.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/harness/test_assertion_library.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/harness/test_runner_lifecycle.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/harness/test_threat_intel_harness.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/integration/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/integration/test_kms_aws.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/integration/test_kms_azure.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/integration/test_kms_gcp.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/integration/test_kms_vault.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/integration/test_relata_server.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/responders/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/responders/test_responders.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/responders/test_router.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/responders/test_structured_response.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/responders/test_tools.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/review/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/review/test_agents_parser.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/review/test_models.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/review/test_runner.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/conftest.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_app_endpoints.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_knowledge.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_knowledge_reuse.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_modes_aar.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_modes_backtest.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_modes_conformance.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_modes_evaluation.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_modes_governance.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_modes_redteam.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_modes_tabletop.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_modes_tournament.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_modes_whatif.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_personas.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_personas_endpoints.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_recorder_scoping.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_registry.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_resolve_outcomes.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_responder_timeout.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_runner.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/simlab/test_swarms.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/storage/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/storage/test_relata_backend.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/storage/test_sqlite_backend.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_active_multi_step.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_agent_card.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_agent_e2e.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_agent_edge.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_anti_entropy.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_anti_entropy_multiround.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_anti_entropy_selfheal.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_appendix_z_conformance.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_appendix_z_vectors.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_arg_dag_edge_types.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_backpressure.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_belief_revision.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_bias_detector.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_block_reason.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_calibration.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_capability.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_capability_canonical.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_capability_chain.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_capability_edge.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_capability_enforcement.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_capability_namespace_caveat.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_capability_revocation.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_citation_graph.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_cli.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_cli_interop.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_composite_lamps_prefix.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_consult.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_consult_stream.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_consult_stream_t4.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_contract_net_disputed_award.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_contract_net_frost_award.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_contract_net_happy.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_contract_net_reputation_scoring.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_contract_net_sybil_filter.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_correlated_agreement.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_cose_encrypt_roundtrip.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_cost_tracker.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_cross_namespace_consult.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_crypto.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_deliberation.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_deliberator_cap.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_deliberator_observe.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_deprecation_registry.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_determinism_corpus.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_dispute.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_dispute_fsm_full.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_dispute_mediate.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_dispute_quorum.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_dissent.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_diversity_quorum.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_dkg.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_embedding_registry.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_eval_comparison.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_examples_runnable.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_final_coverage.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_frost.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_frost_edge.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_frost_hedged_nonces.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_frost_persistence.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_frost_transcript_store_swap.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_hlc_clock_source.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_hpke_vectors.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_info_gain_routing.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_kernel_store.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_kms_backends.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_kms_fake.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_knows_delta.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_lamps_oid_canonical.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_last_lines.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_libp2p_peer_id.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_libp2p_scaffold.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_libp2p_stub.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_mcp_bridge.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_mcp_provenance.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_mcp_tools_list.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_mcp_transport.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_merkle_transparency.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_mind_active.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_mind_deliberator.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_mind_diversity_sybil_mediator.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_mind_evolve.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_mind_goals_policy.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_mind_records.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_mind_roles.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_mind_world_model.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_misc_edge.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_mtls_profile.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_namespace_lifecycle.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_namespace_policy.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_namespace_policy_acl.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_observability_asgi.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_observability_otel.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_open_factory.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_oracle_backprop.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_otel_export.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_pin_policy.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_placement_consistent_hash.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_placement_hint.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_plan_dag.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_plan_repair.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_portable_inclusion_proof.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_pq_default.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_pq_dual_vendor.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_pq_signing.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_priv_ns_conformance_coverage.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_property_based.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_protocol_version.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_public_surface_v05.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_pursue_workflow.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_rate_caveat.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_recorder_bounded.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_recorder_tail.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_reference_verifier_v2.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_rekor_client.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_rekor_downgrade.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_relata_memory_store.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_relata_tools.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_remaining_gaps.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_replay.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_reputation.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_reputation_memory.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_reputation_staleness.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_review_fixes.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_revocation.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_revocation_lifecycle.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_room_epoch.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_schema_hash_pinned.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_secret_redaction.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_self_heal_cycle1.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_self_heal_cycle2.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_self_heal_cycle3.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_self_heal_cycle3_cascade_isolate.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_self_heal_cycle3_governance.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_self_heal_cycle4.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_self_heal_cycle4_deliberator_broadcast.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_self_heal_cycle5.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_signer_protocol.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_sth_cross_gossip.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_swarm_iq.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_swarm_iq_at_scale.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_swarm_iq_recommend.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_swarm_memory.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_swarm_memory_federation.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_swarm_trace.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_swarm_vector_overflow.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_sync_agent.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_tal.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_task_handle.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_task_handle_network.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_tcp_duplicate_kid_attack.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_tcp_edge.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_tcp_final.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_tcp_read_loop_cleanup.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_tcp_transport.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_theory_of_mind.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_transport.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_two_impl_interop.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_uncertainty.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_uncertainty_edge.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_wire.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_wire_edge_cases.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_wire_kid_stability.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_wire_p3.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_wire_v2.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_wire_version.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_witness_preimage_length_prefix.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_workflow_compensation.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_workflow_engine.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/test_workflow_replay.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/usecases/__init__.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/usecases/conftest.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/usecases/test_ai_01_fed_benchmark.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/usecases/test_ai_alignment_redteam.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/usecases/test_cy_05_ir_swarm.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/usecases/test_cy_11_ransomware_intel.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/usecases/test_ed_credentials.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/usecases/test_en_grid_coordinate.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/usecases/test_fi_04_bsa_314b.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/usecases/test_fi_22_ma_dataroom.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/usecases/test_gv_01_intel_sharing.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/usecases/test_gv_21_red_team.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/usecases/test_hc_06_rare_disease.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/usecases/test_hc_21_fed_learning.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/usecases/test_lg_ediscovery.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/tests/usecases/test_mf_supply_chain.py +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/transport-rust/Cargo.toml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/transport-rust/README.md +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/transport-rust/pyproject.toml +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/transport-rust/src/lib.rs +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/index.html +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/package-lock.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/package.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/App.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/api/client.ts +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/ActivityCanvas.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/AgentContribution.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/BrierHeatmap.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/CIQTrajectory.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/CitationGraph.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/DisputeTimeline.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/DissentList.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/Logo.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/NowAsking.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/PersonaRadar.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/PopulationGenerator.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/Term.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/forms/SchemaForm.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/result/AARTimeline.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/result/BacktestScorecard.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/result/ConformanceReport.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/result/CrisisTabletop.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/result/DecisionBracket.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/result/EvaluationReport.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/result/GovernanceReceipt.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/result/MethodNote.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/result/RedTeamReport.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/components/result/ScenarioTree.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/docs/index.ts +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/docs/render.ts +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/main.ts +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/router.ts +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/stores/sims.ts +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/styles.css +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/types/trace.ts +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/views/Agents.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/views/Docs.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/views/Evidence.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/views/Home.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/views/HowItWorks.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/views/Knowledge.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/views/Namespaces.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/views/Report.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/views/Security.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/views/SimCompare.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/views/SimDetail.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/views/SimList.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/views/SimLive.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/views/SimNew.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/views/Tools.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/src/views/UseCases.vue +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/tsconfig.json +0 -0
- {hypermind-0.11.0 → hypermind-0.13.0}/webui/vite.config.ts +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hypermind
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.13.0
|
|
4
4
|
Summary: Federated agent intelligence — reference SDK for the HyperMind SCITT contested-claims profile
|
|
5
5
|
Project-URL: Homepage, https://github.com/ZySec-AI/hypermind
|
|
6
6
|
Project-URL: Documentation, https://github.com/ZySec-AI/hypermind/tree/main/docs
|
|
@@ -213,9 +213,33 @@ This is how humans work. We talk, we cite, we disagree, we build reputations, we
|
|
|
213
213
|
|
|
214
214
|
---
|
|
215
215
|
|
|
216
|
-
##
|
|
216
|
+
## Simulate any network — `hypermind.orgs` (the engine)
|
|
217
217
|
|
|
218
|
-
`
|
|
218
|
+
The SDK ships a **living-simulation engine**: spin up a network of LLM-backed agents with roles, per-agent models, and group-scoped native tools, then run a `research → publish → cite → dispute → resolve → learn → evolve` loop persisted to Relata. One general engine expresses many scenarios — a university researching a hard problem, a city at war, a foreign-policy cabinet, an internet crowd reacting to a what-if — via pluggable **interaction strategies** (`cooperative` / `adversarial` / `crowd`) and an override hook for custom phases.
|
|
219
|
+
|
|
220
|
+
```python
|
|
221
|
+
from hypermind.orgs import OrgSim
|
|
222
|
+
from hypermind.orgs.templates import university # or: city_at_war, un_security_council, ...
|
|
223
|
+
|
|
224
|
+
model = university(members=24) # generic OrgModel, scaled to 24 people
|
|
225
|
+
report = await OrgSim(model, relata_url="http://localhost:9090",
|
|
226
|
+
llm="anthropic", llm_client=client).simulate(
|
|
227
|
+
topic="What limits ab-initio protein folding?", rounds=6)
|
|
228
|
+
report.print() # reputation ranking · citation graph · dispute ledger · calibration
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
- **Generic core, template library.** `OrgModel` / `Unit` / `Seat` are org-agnostic; `hypermind.orgs.templates` ships ready presets (`university`, `hospital`, `city_at_war`, `foreign_policy_cabinet`, `un_security_council`, `internet_crowd`, `research_lab`) — pure convenience data the core never imports. Roll your own network from the primitives.
|
|
232
|
+
- **Per-agent models.** Any seat can pin its own provider/model (`Seat("Professor", llm="anthropic", model="claude-opus-4-8")`), or hand `OrgSim` a router for random / cost-aware assignment.
|
|
233
|
+
- **Native tools, group-scoped.** Tools (web search, retrieval, KB query, Relata research) are granted per unit/seat and enforced — an ungranted tool is *absent* from that agent's toolset. Grants can be declarative or randomised; register your own with `hypermind.orgs.register_tool(...)`.
|
|
234
|
+
- **Relata end-to-end.** Organisation → tenant; member → private memory session (agent kid); claims / disputes / reputation → tenant-scoped ledger rows; chain of custody → the Merkle log. Restart replays the whole org.
|
|
235
|
+
|
|
236
|
+
Worked example: [`examples/org_university.py`](examples/org_university.py). Discover all presets via `hypermind.orgs.templates.list_templates()`.
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
## SimLab modes (the demo UI)
|
|
241
|
+
|
|
242
|
+
**SimLab is a demo app**, not the core — a Vue web UI (bundled under `hypermind.simlab`) that visualises the same SDK primitives the `hypermind.orgs` engine drives programmatically. Use `hypermind.orgs` to build simulations; use SimLab to *watch* one. `hmctl simlab` ships 8 deliberation modes that exercise different protocol primitives:
|
|
219
243
|
|
|
220
244
|
| Mode | One-liner |
|
|
221
245
|
|---|---|
|
|
@@ -125,9 +125,33 @@ This is how humans work. We talk, we cite, we disagree, we build reputations, we
|
|
|
125
125
|
|
|
126
126
|
---
|
|
127
127
|
|
|
128
|
-
##
|
|
128
|
+
## Simulate any network — `hypermind.orgs` (the engine)
|
|
129
129
|
|
|
130
|
-
`
|
|
130
|
+
The SDK ships a **living-simulation engine**: spin up a network of LLM-backed agents with roles, per-agent models, and group-scoped native tools, then run a `research → publish → cite → dispute → resolve → learn → evolve` loop persisted to Relata. One general engine expresses many scenarios — a university researching a hard problem, a city at war, a foreign-policy cabinet, an internet crowd reacting to a what-if — via pluggable **interaction strategies** (`cooperative` / `adversarial` / `crowd`) and an override hook for custom phases.
|
|
131
|
+
|
|
132
|
+
```python
|
|
133
|
+
from hypermind.orgs import OrgSim
|
|
134
|
+
from hypermind.orgs.templates import university # or: city_at_war, un_security_council, ...
|
|
135
|
+
|
|
136
|
+
model = university(members=24) # generic OrgModel, scaled to 24 people
|
|
137
|
+
report = await OrgSim(model, relata_url="http://localhost:9090",
|
|
138
|
+
llm="anthropic", llm_client=client).simulate(
|
|
139
|
+
topic="What limits ab-initio protein folding?", rounds=6)
|
|
140
|
+
report.print() # reputation ranking · citation graph · dispute ledger · calibration
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
- **Generic core, template library.** `OrgModel` / `Unit` / `Seat` are org-agnostic; `hypermind.orgs.templates` ships ready presets (`university`, `hospital`, `city_at_war`, `foreign_policy_cabinet`, `un_security_council`, `internet_crowd`, `research_lab`) — pure convenience data the core never imports. Roll your own network from the primitives.
|
|
144
|
+
- **Per-agent models.** Any seat can pin its own provider/model (`Seat("Professor", llm="anthropic", model="claude-opus-4-8")`), or hand `OrgSim` a router for random / cost-aware assignment.
|
|
145
|
+
- **Native tools, group-scoped.** Tools (web search, retrieval, KB query, Relata research) are granted per unit/seat and enforced — an ungranted tool is *absent* from that agent's toolset. Grants can be declarative or randomised; register your own with `hypermind.orgs.register_tool(...)`.
|
|
146
|
+
- **Relata end-to-end.** Organisation → tenant; member → private memory session (agent kid); claims / disputes / reputation → tenant-scoped ledger rows; chain of custody → the Merkle log. Restart replays the whole org.
|
|
147
|
+
|
|
148
|
+
Worked example: [`examples/org_university.py`](examples/org_university.py). Discover all presets via `hypermind.orgs.templates.list_templates()`.
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## SimLab modes (the demo UI)
|
|
153
|
+
|
|
154
|
+
**SimLab is a demo app**, not the core — a Vue web UI (bundled under `hypermind.simlab`) that visualises the same SDK primitives the `hypermind.orgs` engine drives programmatically. Use `hypermind.orgs` to build simulations; use SimLab to *watch* one. `hmctl simlab` ships 8 deliberation modes that exercise different protocol primitives:
|
|
131
155
|
|
|
132
156
|
| Mode | One-liner |
|
|
133
157
|
|---|---|
|
|
@@ -82,6 +82,12 @@ Read in order. Each builds on the previous one's mental model.
|
|
|
82
82
|
|
|
83
83
|
Pick one that matches your domain.
|
|
84
84
|
|
|
85
|
+
### Living-simulation engine (`hypermind.orgs`)
|
|
86
|
+
|
|
87
|
+
| File | Domain | What it shows |
|
|
88
|
+
|---|---|---|
|
|
89
|
+
| [`org_university.py`](org_university.py) | Any network | Spin up a templated org (university / city / UNO / crowd), run research → cite → dispute → resolve → evolve, print a reputation + citation report. Per-agent models + group-scoped tools, persisted to Relata. |
|
|
90
|
+
|
|
85
91
|
### Pilot-shaped demonstrations
|
|
86
92
|
|
|
87
93
|
| File | Domain | What it shows |
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"""THE STORY — a university researches a hard problem, and standing emerges.
|
|
2
|
+
|
|
3
|
+
This is the ``hypermind.orgs`` living-simulation engine in ~15 lines: pick a
|
|
4
|
+
preconfigured template, point it at a Relata instance and an LLM, and run. Over
|
|
5
|
+
several rounds the departments publish findings, cite the strongest peers,
|
|
6
|
+
peer-review (dispute) weak claims, and the professors ground results — so
|
|
7
|
+
reputation, a citation graph, and a dispute ledger all emerge from agent
|
|
8
|
+
behaviour rather than being scripted.
|
|
9
|
+
|
|
10
|
+
Swap ``university`` for ``city_at_war``, ``foreign_policy_cabinet``,
|
|
11
|
+
``un_security_council`` or ``internet_crowd`` to run a completely different
|
|
12
|
+
scenario on the same engine — the only thing that changes is the org template
|
|
13
|
+
and its interaction mode.
|
|
14
|
+
|
|
15
|
+
PREREQUISITES
|
|
16
|
+
* A running Relata instance: docker compose -f deploy/docker-compose.yml up -d relata
|
|
17
|
+
* export RELATA_URL=http://localhost:9090 RELATA_TOKEN=...
|
|
18
|
+
* export ANTHROPIC_API_KEY=... (or use llm="openai" + OPENAI_API_KEY)
|
|
19
|
+
|
|
20
|
+
Run with: python -m examples.org_university
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
from __future__ import annotations
|
|
24
|
+
|
|
25
|
+
import asyncio
|
|
26
|
+
import os
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
async def main() -> None:
|
|
30
|
+
from hypermind.orgs import OrgSim
|
|
31
|
+
from hypermind.orgs.templates import university
|
|
32
|
+
|
|
33
|
+
relata_url = os.environ.get("RELATA_URL")
|
|
34
|
+
if not relata_url:
|
|
35
|
+
raise SystemExit(
|
|
36
|
+
"Set RELATA_URL (and RELATA_TOKEN) to a running Relata instance. "
|
|
37
|
+
"See deploy/docker-compose.yml."
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
# Build an Anthropic client for the members to think with.
|
|
41
|
+
import anthropic
|
|
42
|
+
|
|
43
|
+
client = anthropic.AsyncAnthropic() # reads ANTHROPIC_API_KEY
|
|
44
|
+
|
|
45
|
+
model = university(members=24) # 2 departments, scaled to 24 people
|
|
46
|
+
sim = OrgSim(
|
|
47
|
+
model,
|
|
48
|
+
relata_url=relata_url,
|
|
49
|
+
relata_token=os.environ.get("RELATA_TOKEN"),
|
|
50
|
+
llm="anthropic",
|
|
51
|
+
llm_client=client,
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
report = await sim.simulate(
|
|
55
|
+
topic="What limits the accuracy of ab-initio protein folding?",
|
|
56
|
+
rounds=6,
|
|
57
|
+
)
|
|
58
|
+
|
|
59
|
+
report.print()
|
|
60
|
+
print("\nMost-cited papers:")
|
|
61
|
+
for c in report.most_cited(3):
|
|
62
|
+
print(f" {c['citations_received']} cites {c['by']} ({c['unit']})")
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
if __name__ == "__main__":
|
|
66
|
+
asyncio.run(main())
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "hypermind"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.13.0"
|
|
8
8
|
description = "Federated agent intelligence — reference SDK for the HyperMind SCITT contested-claims profile"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11,<3.14"
|
|
@@ -73,7 +73,7 @@ open = HyperMindAgent.open
|
|
|
73
73
|
#: is held until the §External & human gates clear (IETF I-D, IANA,
|
|
74
74
|
#: third-party audit, OpenSSF acceptance, ≥3 pilots) — at that point we
|
|
75
75
|
#: cut ``1.0.0`` GA. See ROADMAP.md §Status snapshot.
|
|
76
|
-
__version__ = "0.
|
|
76
|
+
__version__ = "0.13.0"
|
|
77
77
|
|
|
78
78
|
#: SLSA build-provenance level committed for every release artefact.
|
|
79
79
|
#: Cosign keyless signing + slsa-github-generator + PEP 740 attestations
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"""hypermind.orgs — an agentic living-simulation engine.
|
|
2
|
+
|
|
3
|
+
Spin up a network of LLM-backed agents with roles, per-agent models, and
|
|
4
|
+
group-scoped native tools, then run a research → publish → cite → dispute →
|
|
5
|
+
resolve → learn → evolve loop persisted to Relata. One general engine expresses
|
|
6
|
+
many scenarios (research, war, foreign policy, internet crowd) via pluggable
|
|
7
|
+
interaction strategies.
|
|
8
|
+
|
|
9
|
+
Quick start (preconfigured template)::
|
|
10
|
+
|
|
11
|
+
from hypermind.orgs.templates import university
|
|
12
|
+
from hypermind.orgs import OrgSim
|
|
13
|
+
|
|
14
|
+
model = university(members=24)
|
|
15
|
+
report = await OrgSim(model, relata_url="http://localhost:9090",
|
|
16
|
+
llm="anthropic", llm_client=client).simulate(
|
|
17
|
+
topic="protein folding", rounds=8)
|
|
18
|
+
report.print()
|
|
19
|
+
|
|
20
|
+
The generic core (`OrgModel`/`Unit`/`Seat`) never imports the template library,
|
|
21
|
+
so custom networks are first-class — see `hypermind.orgs.templates` for
|
|
22
|
+
worked examples of the mapping.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
from __future__ import annotations
|
|
26
|
+
|
|
27
|
+
from hypermind.orgs.groundtruth import (
|
|
28
|
+
CallableGroundTruth,
|
|
29
|
+
GroundTruth,
|
|
30
|
+
LLMJudgeGroundTruth,
|
|
31
|
+
StaticGroundTruth,
|
|
32
|
+
)
|
|
33
|
+
from hypermind.orgs.interaction import (
|
|
34
|
+
Adversarial,
|
|
35
|
+
Cooperative,
|
|
36
|
+
Crowd,
|
|
37
|
+
Interaction,
|
|
38
|
+
get_interaction,
|
|
39
|
+
)
|
|
40
|
+
from hypermind.orgs.metrics import ScoreCard, compute_scorecard
|
|
41
|
+
from hypermind.orgs.model import (
|
|
42
|
+
DynamicsConfig,
|
|
43
|
+
OrgModel,
|
|
44
|
+
Seat,
|
|
45
|
+
Slot,
|
|
46
|
+
Unit,
|
|
47
|
+
)
|
|
48
|
+
from hypermind.orgs.report import MemberStanding, OrgReport
|
|
49
|
+
from hypermind.orgs.sim import OrgSim
|
|
50
|
+
from hypermind.orgs.tools import (
|
|
51
|
+
build_tool,
|
|
52
|
+
declarative_grants,
|
|
53
|
+
list_tools,
|
|
54
|
+
random_grants,
|
|
55
|
+
register_tool,
|
|
56
|
+
unregister_tool,
|
|
57
|
+
)
|
|
58
|
+
|
|
59
|
+
__all__ = [
|
|
60
|
+
"Adversarial",
|
|
61
|
+
"CallableGroundTruth",
|
|
62
|
+
"Cooperative",
|
|
63
|
+
"Crowd",
|
|
64
|
+
"DynamicsConfig",
|
|
65
|
+
"GroundTruth",
|
|
66
|
+
"Interaction",
|
|
67
|
+
"LLMJudgeGroundTruth",
|
|
68
|
+
"MemberStanding",
|
|
69
|
+
"OrgModel",
|
|
70
|
+
"OrgReport",
|
|
71
|
+
"OrgSim",
|
|
72
|
+
"ScoreCard",
|
|
73
|
+
"Seat",
|
|
74
|
+
"Slot",
|
|
75
|
+
"StaticGroundTruth",
|
|
76
|
+
"Unit",
|
|
77
|
+
"build_tool",
|
|
78
|
+
"compute_scorecard",
|
|
79
|
+
"declarative_grants",
|
|
80
|
+
"get_interaction",
|
|
81
|
+
"list_tools",
|
|
82
|
+
"random_grants",
|
|
83
|
+
"register_tool",
|
|
84
|
+
"unregister_tool",
|
|
85
|
+
]
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"""Pluggable ground-truth oracles (#157).
|
|
2
|
+
|
|
3
|
+
Reputation should reflect **real accuracy**, not a `confidence >= 0.5`
|
|
4
|
+
heuristic. A ``GroundTruth`` resolves a published claim to a boolean outcome
|
|
5
|
+
(or ``None`` = unknown → fall back to the interaction default). Feeding real
|
|
6
|
+
outcomes into `oracle_resolve` makes reputation and the scorecard's Brier
|
|
7
|
+
score meaningful, and enables backtesting ("did the crowd actually predict
|
|
8
|
+
right?").
|
|
9
|
+
|
|
10
|
+
Built-ins:
|
|
11
|
+
* ``StaticGroundTruth`` — known outcomes keyed by member label or topic.
|
|
12
|
+
* ``CallableGroundTruth`` — wrap any sync/async ``(topic, claim) -> bool|None``.
|
|
13
|
+
* ``LLMJudgeGroundTruth`` — an independent LLM judges each claim vs a rubric.
|
|
14
|
+
|
|
15
|
+
All are injectable; the LLM judge takes a client (fake in tests).
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
from __future__ import annotations
|
|
19
|
+
|
|
20
|
+
import inspect
|
|
21
|
+
import json
|
|
22
|
+
from collections.abc import Awaitable, Callable
|
|
23
|
+
from typing import Any, Protocol, runtime_checkable
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
@runtime_checkable
|
|
27
|
+
class GroundTruth(Protocol):
|
|
28
|
+
async def resolve(self, topic: str, claim: dict[str, Any]) -> bool | None:
|
|
29
|
+
"""Return True/False for a resolved claim, or None if unknown."""
|
|
30
|
+
...
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class StaticGroundTruth:
|
|
34
|
+
"""Fixed answers keyed by member label first, then topic.
|
|
35
|
+
|
|
36
|
+
``answers`` maps a claim's ``by`` label (or the topic string) to a bool.
|
|
37
|
+
"""
|
|
38
|
+
|
|
39
|
+
def __init__(self, answers: dict[str, bool]) -> None:
|
|
40
|
+
self._answers = dict(answers)
|
|
41
|
+
|
|
42
|
+
async def resolve(self, topic: str, claim: dict[str, Any]) -> bool | None:
|
|
43
|
+
by = claim.get("by")
|
|
44
|
+
if by in self._answers:
|
|
45
|
+
return self._answers[by]
|
|
46
|
+
return self._answers.get(topic)
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
class CallableGroundTruth:
|
|
50
|
+
"""Wrap any ``(topic, claim) -> bool | None`` (sync or async)."""
|
|
51
|
+
|
|
52
|
+
def __init__(
|
|
53
|
+
self,
|
|
54
|
+
fn: Callable[[str, dict[str, Any]], bool | None | Awaitable[bool | None]],
|
|
55
|
+
) -> None:
|
|
56
|
+
self._fn = fn
|
|
57
|
+
|
|
58
|
+
async def resolve(self, topic: str, claim: dict[str, Any]) -> bool | None:
|
|
59
|
+
out = self._fn(topic, claim)
|
|
60
|
+
if inspect.isawaitable(out):
|
|
61
|
+
return await out
|
|
62
|
+
return out
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
_JUDGE_SYSTEM = (
|
|
66
|
+
"You are an impartial evaluator. Given a question and a claim, decide "
|
|
67
|
+
"whether the claim is correct. Respond with a JSON object "
|
|
68
|
+
'{"correct": true|false} and nothing else.'
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
class LLMJudgeGroundTruth:
|
|
73
|
+
"""An independent LLM scores each claim against an optional rubric.
|
|
74
|
+
|
|
75
|
+
``client`` is an OpenAI-compatible async client; injectable so tests pass a
|
|
76
|
+
fake. Returns None on any parse/transport failure (→ interaction default).
|
|
77
|
+
"""
|
|
78
|
+
|
|
79
|
+
def __init__(
|
|
80
|
+
self,
|
|
81
|
+
*,
|
|
82
|
+
client: Any,
|
|
83
|
+
model: str = "gpt-4o-mini",
|
|
84
|
+
rubric: str = "",
|
|
85
|
+
timeout_s: float = 30.0,
|
|
86
|
+
) -> None:
|
|
87
|
+
self._client = client
|
|
88
|
+
self._model = model
|
|
89
|
+
self._rubric = rubric
|
|
90
|
+
self._timeout = timeout_s
|
|
91
|
+
|
|
92
|
+
async def resolve(self, topic: str, claim: dict[str, Any]) -> bool | None:
|
|
93
|
+
finding = claim.get("finding") or f"(confidence {claim.get('confidence')})"
|
|
94
|
+
rubric = f"\nRubric: {self._rubric}" if self._rubric else ""
|
|
95
|
+
user = (
|
|
96
|
+
f"Question: {topic}\nClaim: {finding}{rubric}\n"
|
|
97
|
+
'Is the claim correct? Reply as {"correct": true|false}.'
|
|
98
|
+
)
|
|
99
|
+
try:
|
|
100
|
+
resp = await self._client.chat.completions.create(
|
|
101
|
+
model=self._model,
|
|
102
|
+
messages=[
|
|
103
|
+
{"role": "system", "content": _JUDGE_SYSTEM},
|
|
104
|
+
{"role": "user", "content": user},
|
|
105
|
+
],
|
|
106
|
+
response_format={"type": "json_object"},
|
|
107
|
+
timeout=self._timeout,
|
|
108
|
+
)
|
|
109
|
+
content = resp.choices[0].message.content or "{}"
|
|
110
|
+
verdict = json.loads(content).get("correct")
|
|
111
|
+
return bool(verdict) if verdict is not None else None
|
|
112
|
+
except Exception:
|
|
113
|
+
return None
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
def as_ground_truth(
|
|
117
|
+
obj: GroundTruth | Callable[[str, dict[str, Any]], Any] | None,
|
|
118
|
+
) -> GroundTruth | None:
|
|
119
|
+
"""Normalise a GroundTruth, a plain callable, or None into a GroundTruth."""
|
|
120
|
+
if obj is None:
|
|
121
|
+
return None
|
|
122
|
+
if isinstance(obj, GroundTruth):
|
|
123
|
+
return obj
|
|
124
|
+
if callable(obj):
|
|
125
|
+
return CallableGroundTruth(obj)
|
|
126
|
+
raise TypeError(f"ground_truth must be a GroundTruth or callable, got {type(obj).__name__}")
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
"""Interaction strategies — how members treat each other's claims each round.
|
|
2
|
+
|
|
3
|
+
The engine (:mod:`hypermind.orgs.sim`) runs one general
|
|
4
|
+
research → publish → cite → dispute → resolve loop. *How* each phase behaves is
|
|
5
|
+
delegated to an :class:`Interaction` strategy, so the same loop expresses very
|
|
6
|
+
different scenarios:
|
|
7
|
+
|
|
8
|
+
* ``cooperative`` — cite freely across the org, dispute only on wide
|
|
9
|
+
contradiction (a university researching problem X).
|
|
10
|
+
* ``adversarial`` — cite within your own unit, dispute rival units hard (a city
|
|
11
|
+
at war, rival factions, contested foreign policy).
|
|
12
|
+
* ``crowd`` — many low-authority voices, synthesists aggregate, disputes are
|
|
13
|
+
rare (a what-if over an internet crowd).
|
|
14
|
+
|
|
15
|
+
Subclass :class:`Interaction` and override a single method to customise one
|
|
16
|
+
phase without rewriting the loop ("general loop + override hook").
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
from __future__ import annotations
|
|
20
|
+
|
|
21
|
+
from dataclasses import dataclass
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
@dataclass(frozen=True)
|
|
25
|
+
class ClaimRec:
|
|
26
|
+
"""A claim published this round, as seen by the interaction strategy."""
|
|
27
|
+
|
|
28
|
+
kid: bytes
|
|
29
|
+
member_label: str
|
|
30
|
+
member_kid: bytes
|
|
31
|
+
unit: str
|
|
32
|
+
role: str
|
|
33
|
+
confidence: float
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class Interaction:
|
|
37
|
+
"""Default (cooperative) strategy. Override methods to change one phase."""
|
|
38
|
+
|
|
39
|
+
name = "cooperative"
|
|
40
|
+
|
|
41
|
+
# ---- publish -------------------------------------------------------
|
|
42
|
+
def publish_floor(self, *, role: str, base_floor: float) -> float:
|
|
43
|
+
"""Confidence gate to publish, scaled by role.
|
|
44
|
+
|
|
45
|
+
Scouts surface early (lower bar); sceptics hold fire (higher bar).
|
|
46
|
+
"""
|
|
47
|
+
if role == "scout":
|
|
48
|
+
return max(0.0, base_floor - 0.15)
|
|
49
|
+
if role == "sceptic":
|
|
50
|
+
return min(1.0, base_floor + 0.15)
|
|
51
|
+
return base_floor
|
|
52
|
+
|
|
53
|
+
# ---- cite ----------------------------------------------------------
|
|
54
|
+
def cite_targets(
|
|
55
|
+
self,
|
|
56
|
+
*,
|
|
57
|
+
member_unit: str,
|
|
58
|
+
member_role: str,
|
|
59
|
+
own_kid: bytes,
|
|
60
|
+
claims: list[ClaimRec],
|
|
61
|
+
) -> list[bytes]:
|
|
62
|
+
"""Which peer claims this member cites. Cooperative: the single
|
|
63
|
+
highest-confidence peer claim anywhere in the org."""
|
|
64
|
+
peers = [c for c in claims if c.kid != own_kid]
|
|
65
|
+
if not peers:
|
|
66
|
+
return []
|
|
67
|
+
best = max(peers, key=lambda c: c.confidence)
|
|
68
|
+
return [best.kid]
|
|
69
|
+
|
|
70
|
+
# ---- dispute -------------------------------------------------------
|
|
71
|
+
def should_dispute(
|
|
72
|
+
self, *, disputer_role: str, disputer_mean: float, claim: ClaimRec, gap: float
|
|
73
|
+
) -> bool:
|
|
74
|
+
"""Whether ``disputer`` challenges ``claim``. Cooperative: only
|
|
75
|
+
sceptics, only on a wide belief gap."""
|
|
76
|
+
if disputer_role != "sceptic":
|
|
77
|
+
return False
|
|
78
|
+
return abs(disputer_mean - claim.confidence) >= gap
|
|
79
|
+
|
|
80
|
+
# ---- resolve -------------------------------------------------------
|
|
81
|
+
def resolve_outcome(self, *, claim: ClaimRec, ground_truth: bool | None) -> bool:
|
|
82
|
+
"""Ground-truth outcome for reputation back-prop. Default: caller's
|
|
83
|
+
signal, else 'confident claims are treated as correct'."""
|
|
84
|
+
if ground_truth is not None:
|
|
85
|
+
return ground_truth
|
|
86
|
+
return claim.confidence >= 0.5
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
class Cooperative(Interaction):
|
|
90
|
+
name = "cooperative"
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
class Adversarial(Interaction):
|
|
94
|
+
"""Rival units: cite your own side, attack the other side."""
|
|
95
|
+
|
|
96
|
+
name = "adversarial"
|
|
97
|
+
|
|
98
|
+
def cite_targets(
|
|
99
|
+
self,
|
|
100
|
+
*,
|
|
101
|
+
member_unit: str,
|
|
102
|
+
member_role: str,
|
|
103
|
+
own_kid: bytes,
|
|
104
|
+
claims: list[ClaimRec],
|
|
105
|
+
) -> list[bytes]:
|
|
106
|
+
# Cite the strongest claim from *your own* unit (rally your side).
|
|
107
|
+
allies = [c for c in claims if c.unit == member_unit and c.kid != own_kid]
|
|
108
|
+
if not allies:
|
|
109
|
+
return []
|
|
110
|
+
best = max(allies, key=lambda c: c.confidence)
|
|
111
|
+
return [best.kid]
|
|
112
|
+
|
|
113
|
+
def should_dispute(
|
|
114
|
+
self, *, disputer_role: str, disputer_mean: float, claim: ClaimRec, gap: float
|
|
115
|
+
) -> bool:
|
|
116
|
+
# Anyone disputes a rival unit's claim if it diverges at all past a
|
|
117
|
+
# softened gap; sceptics are the most aggressive.
|
|
118
|
+
if claim.role == "oracle":
|
|
119
|
+
return False
|
|
120
|
+
effective_gap = gap * (0.5 if disputer_role == "sceptic" else 1.0)
|
|
121
|
+
return abs(disputer_mean - claim.confidence) >= effective_gap
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
class Crowd(Interaction):
|
|
125
|
+
"""Large, low-authority population; synthesists aggregate; few disputes."""
|
|
126
|
+
|
|
127
|
+
name = "crowd"
|
|
128
|
+
|
|
129
|
+
def publish_floor(self, *, role: str, base_floor: float) -> float:
|
|
130
|
+
# Crowds speak up readily; the bar is low except for the aggregator.
|
|
131
|
+
if role == "synthesist":
|
|
132
|
+
return base_floor
|
|
133
|
+
return max(0.0, base_floor - 0.3)
|
|
134
|
+
|
|
135
|
+
def cite_targets(
|
|
136
|
+
self,
|
|
137
|
+
*,
|
|
138
|
+
member_unit: str,
|
|
139
|
+
member_role: str,
|
|
140
|
+
own_kid: bytes,
|
|
141
|
+
claims: list[ClaimRec],
|
|
142
|
+
) -> list[bytes]:
|
|
143
|
+
# Only synthesists aggregate — they cite the top few loudest voices.
|
|
144
|
+
if member_role != "synthesist":
|
|
145
|
+
return []
|
|
146
|
+
peers = sorted(
|
|
147
|
+
(c for c in claims if c.kid != own_kid),
|
|
148
|
+
key=lambda c: c.confidence,
|
|
149
|
+
reverse=True,
|
|
150
|
+
)
|
|
151
|
+
return [c.kid for c in peers[:3]]
|
|
152
|
+
|
|
153
|
+
def should_dispute(
|
|
154
|
+
self, *, disputer_role: str, disputer_mean: float, claim: ClaimRec, gap: float
|
|
155
|
+
) -> bool:
|
|
156
|
+
# The crowd rarely disputes; only sceptics, only on very wide gaps.
|
|
157
|
+
if disputer_role != "sceptic":
|
|
158
|
+
return False
|
|
159
|
+
return abs(disputer_mean - claim.confidence) >= min(1.0, gap + 0.2)
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
_PRESETS: dict[str, type[Interaction]] = {
|
|
163
|
+
"cooperative": Cooperative,
|
|
164
|
+
"adversarial": Adversarial,
|
|
165
|
+
"crowd": Crowd,
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
def get_interaction(name: str) -> Interaction:
|
|
170
|
+
"""Instantiate a preset interaction strategy by name."""
|
|
171
|
+
try:
|
|
172
|
+
return _PRESETS[name]()
|
|
173
|
+
except KeyError:
|
|
174
|
+
raise ValueError(
|
|
175
|
+
f"unknown interaction {name!r}; presets: {sorted(_PRESETS)}. "
|
|
176
|
+
"Pass an Interaction subclass instance to override phases."
|
|
177
|
+
) from None
|