hypermind 0.11.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/.editorconfig +18 -0
- hypermind-0.11.0/.gitattributes +12 -0
- hypermind-0.11.0/.github/FUNDING.yml +11 -0
- hypermind-0.11.0/.github/ISSUE_TEMPLATE/bug_report.yml +105 -0
- hypermind-0.11.0/.github/ISSUE_TEMPLATE/config.yml +10 -0
- hypermind-0.11.0/.github/ISSUE_TEMPLATE/feature_request.yml +70 -0
- hypermind-0.11.0/.github/PULL_REQUEST_TEMPLATE.md +64 -0
- hypermind-0.11.0/.github/renovate.json +6 -0
- hypermind-0.11.0/.github/workflows/check-license.yml +14 -0
- hypermind-0.11.0/.github/workflows/code-review-pr.yml +27 -0
- hypermind-0.11.0/.github/workflows/hotfix-security.yml +31 -0
- hypermind-0.11.0/.github/workflows/issue-auto-fix.yml +24 -0
- hypermind-0.11.0/.github/workflows/issue-triage.yml +25 -0
- hypermind-0.11.0/.github/workflows/pr-standards.yml +16 -0
- hypermind-0.11.0/.github/workflows/quality.yml +28 -0
- hypermind-0.11.0/.github/workflows/release.yml +209 -0
- hypermind-0.11.0/.github/workflows/security.yml +32 -0
- hypermind-0.11.0/.github/workflows/stale.yml +15 -0
- hypermind-0.11.0/.github/workflows-disabled/branch-flow-check.yml +74 -0
- hypermind-0.11.0/.github/workflows-disabled/chaos.yml +19 -0
- hypermind-0.11.0/.github/workflows-disabled/check-license.yml +14 -0
- hypermind-0.11.0/.github/workflows-disabled/ci.yml +175 -0
- hypermind-0.11.0/.github/workflows-disabled/code-freeze.yml +64 -0
- hypermind-0.11.0/.github/workflows-disabled/code-review-pr.yml +58 -0
- hypermind-0.11.0/.github/workflows-disabled/code-review.yml +22 -0
- hypermind-0.11.0/.github/workflows-disabled/codeql.yml +49 -0
- hypermind-0.11.0/.github/workflows-disabled/dco.yml +29 -0
- hypermind-0.11.0/.github/workflows-disabled/docs-to-wiki.yml +27 -0
- hypermind-0.11.0/.github/workflows-disabled/docs.yml +17 -0
- hypermind-0.11.0/.github/workflows-disabled/formal.yml +77 -0
- hypermind-0.11.0/.github/workflows-disabled/fuzz.yml +21 -0
- hypermind-0.11.0/.github/workflows-disabled/hotfix-security.yml +31 -0
- hypermind-0.11.0/.github/workflows-disabled/issue-auto-fix.yml +21 -0
- hypermind-0.11.0/.github/workflows-disabled/issue-triage.yml +22 -0
- hypermind-0.11.0/.github/workflows-disabled/merge-comment.yml +215 -0
- hypermind-0.11.0/.github/workflows-disabled/pip-audit.yml +51 -0
- hypermind-0.11.0/.github/workflows-disabled/pr-standards.yml +81 -0
- hypermind-0.11.0/.github/workflows-disabled/quality.yml +48 -0
- hypermind-0.11.0/.github/workflows-disabled/release.yml +228 -0
- hypermind-0.11.0/.github/workflows-disabled/sbom.yml +43 -0
- hypermind-0.11.0/.github/workflows-disabled/scorecard.yml +52 -0
- hypermind-0.11.0/.github/workflows-disabled/security.yml +54 -0
- hypermind-0.11.0/.github/workflows-disabled/sprint-retro.yml +82 -0
- hypermind-0.11.0/.github/workflows-disabled/stale.yml +41 -0
- hypermind-0.11.0/.gitignore +145 -0
- hypermind-0.11.0/.pre-commit-config.yaml +40 -0
- hypermind-0.11.0/.tool-versions +1 -0
- hypermind-0.11.0/CHANGELOG.md +378 -0
- hypermind-0.11.0/CHARTER.md +265 -0
- hypermind-0.11.0/CODEOWNERS +33 -0
- hypermind-0.11.0/CODE_OF_CONDUCT.md +206 -0
- hypermind-0.11.0/CONTRIBUTING.md +156 -0
- hypermind-0.11.0/GOVERNANCE.md +259 -0
- hypermind-0.11.0/LICENSE +201 -0
- hypermind-0.11.0/MAINTAINERS.md +88 -0
- hypermind-0.11.0/Makefile +141 -0
- hypermind-0.11.0/PKG-INFO +524 -0
- hypermind-0.11.0/README.md +436 -0
- hypermind-0.11.0/RELATA_COMPATIBILITY.md +267 -0
- hypermind-0.11.0/RELATA_INTEGRATION_PLAN.md +186 -0
- hypermind-0.11.0/ROADMAP.md +655 -0
- hypermind-0.11.0/SECURITY.md +122 -0
- hypermind-0.11.0/bench/README.md +47 -0
- hypermind-0.11.0/bench/__init__.py +0 -0
- hypermind-0.11.0/bench/baselines/v0.6.json +29 -0
- hypermind-0.11.0/bench/bench_consult.py +61 -0
- hypermind-0.11.0/bench/bench_dispute.py +65 -0
- hypermind-0.11.0/bench/bench_publish.py +82 -0
- hypermind-0.11.0/bench/coordination/README.md +35 -0
- hypermind-0.11.0/bench/coordination/__init__.py +1 -0
- hypermind-0.11.0/bench/coordination/baselines/v0.10.json +37 -0
- hypermind-0.11.0/bench/coordination/bench_rfp_latency.py +78 -0
- hypermind-0.11.0/bench/coordination/bench_task_throughput.py +87 -0
- hypermind-0.11.0/bench/coordination/bench_workflow_replay.py +71 -0
- hypermind-0.11.0/bench/coordination/run_all.py +54 -0
- hypermind-0.11.0/bench/question_sets/geopolitics_q20.json +122 -0
- hypermind-0.11.0/bench/question_sets/msft_outlook_q10.json +62 -0
- hypermind-0.11.0/bench/run_bench.py +171 -0
- hypermind-0.11.0/chaos/README.md +134 -0
- hypermind-0.11.0/chaos/__init__.py +1 -0
- hypermind-0.11.0/chaos/p1_partition_recovery.py +84 -0
- hypermind-0.11.0/chaos/p2_witness_compromise.py +98 -0
- hypermind-0.11.0/chaos/p3_key_rotation.py +135 -0
- hypermind-0.11.0/chaos/p4_dispute_backlog.py +166 -0
- hypermind-0.11.0/chaos/p5_wire_cutover.py +162 -0
- hypermind-0.11.0/chaos/p6_quorum_loss.py +156 -0
- hypermind-0.11.0/chaos/p7_clock_skew.py +133 -0
- hypermind-0.11.0/chaos/p8_recorder_outage.py +118 -0
- hypermind-0.11.0/chaos/run_chaos.py +171 -0
- hypermind-0.11.0/deploy/Dockerfile +21 -0
- hypermind-0.11.0/deploy/README.md +64 -0
- hypermind-0.11.0/deploy/docker-compose.yml +80 -0
- hypermind-0.11.0/deploy/grafana/dashboards/hypermind-coordination.json +122 -0
- hypermind-0.11.0/deploy/grafana/dashboards/hypermind-v06.json +60 -0
- hypermind-0.11.0/deploy/grafana/dashboards/hypermind.json +212 -0
- hypermind-0.11.0/deploy/grafana/provisioning/dashboards/hypermind.yml +13 -0
- hypermind-0.11.0/deploy/grafana/provisioning/datasources/prometheus.yml +9 -0
- hypermind-0.11.0/deploy/k8s/hypermind-deployment.yaml +150 -0
- hypermind-0.11.0/deploy/prometheus/prometheus.yml +13 -0
- hypermind-0.11.0/deploy/systemd/hypermind.service +61 -0
- hypermind-0.11.0/docs/README.md +226 -0
- hypermind-0.11.0/docs/SIMLAB.md +98 -0
- hypermind-0.11.0/docs/SIMLAB_AUDIT_PLAN.md +157 -0
- hypermind-0.11.0/docs/_meta/glossary.md +45 -0
- hypermind-0.11.0/docs/_meta/provenance.md +13 -0
- hypermind-0.11.0/docs/_meta/public-surface.md +114 -0
- hypermind-0.11.0/docs/_meta/standards-map.md +68 -0
- hypermind-0.11.0/docs/api/agent.md +3 -0
- hypermind-0.11.0/docs/api/agent_card.md +3 -0
- hypermind-0.11.0/docs/api/capability.md +4 -0
- hypermind-0.11.0/docs/api/crypto.md +5 -0
- hypermind-0.11.0/docs/api/dispute.md +5 -0
- hypermind-0.11.0/docs/api/knowledge.md +4 -0
- hypermind-0.11.0/docs/api/observability.md +3 -0
- hypermind-0.11.0/docs/api/simlab-openapi.yaml +495 -0
- hypermind-0.11.0/docs/api/sync.md +3 -0
- hypermind-0.11.0/docs/api/tasks.md +5 -0
- hypermind-0.11.0/docs/api/transport.md +5 -0
- hypermind-0.11.0/docs/api/wire.md +4 -0
- hypermind-0.11.0/docs/architecture-v0.6.md +332 -0
- hypermind-0.11.0/docs/assets/hero-swarm.svg +265 -0
- hypermind-0.11.0/docs/audit/findings.md +59 -0
- hypermind-0.11.0/docs/audit/scope.md +73 -0
- hypermind-0.11.0/docs/concepts.md +796 -0
- hypermind-0.11.0/docs/conformance/authority.md +56 -0
- hypermind-0.11.0/docs/conformance/bake-off-report.md +50 -0
- hypermind-0.11.0/docs/conformance/mark-policy.md +124 -0
- hypermind-0.11.0/docs/decide/01-disqualifiers.md +136 -0
- hypermind-0.11.0/docs/decide/02-alternatives.md +56 -0
- hypermind-0.11.0/docs/decide/03-incentive-aligned-cases.md +76 -0
- hypermind-0.11.0/docs/decide/04-use-cases.md +64 -0
- hypermind-0.11.0/docs/design/01-architecture.md +81 -0
- hypermind-0.11.0/docs/design/02-traces.md +258 -0
- hypermind-0.11.0/docs/design/03-failure-modes.md +109 -0
- hypermind-0.11.0/docs/design/04-poisoning-defenses.md +164 -0
- hypermind-0.11.0/docs/design/05-deployment-topology.md +145 -0
- hypermind-0.11.0/docs/feature-matrix.md +318 -0
- hypermind-0.11.0/docs/getting-started.md +405 -0
- hypermind-0.11.0/docs/governance/cna.md +117 -0
- hypermind-0.11.0/docs/governance/foundation-evaluation.md +95 -0
- hypermind-0.11.0/docs/hypermind-protocol-spec.md +42 -0
- hypermind-0.11.0/docs/index.md +36 -0
- hypermind-0.11.0/docs/legal/export-classification.md +88 -0
- hypermind-0.11.0/docs/lts.md +81 -0
- hypermind-0.11.0/docs/migrate/v0.x-to-v1.0.md +151 -0
- hypermind-0.11.0/docs/migration/v0.7.md +14 -0
- hypermind-0.11.0/docs/onboarding/00-prerequisites.md +49 -0
- hypermind-0.11.0/docs/onboarding/README.md +54 -0
- hypermind-0.11.0/docs/onboarding/after.md +78 -0
- hypermind-0.11.0/docs/onboarding/exercises/e01-run-the-loop.md +33 -0
- hypermind-0.11.0/docs/onboarding/exercises/e02-draw-the-architecture.md +29 -0
- hypermind-0.11.0/docs/onboarding/exercises/e03-trace-a-claim.md +29 -0
- hypermind-0.11.0/docs/onboarding/exercises/e04-read-a-spec-section.md +38 -0
- hypermind-0.11.0/docs/onboarding/exercises/e05-break-it.md +60 -0
- hypermind-0.11.0/docs/onboarding/exercises/e06-add-a-test.md +31 -0
- hypermind-0.11.0/docs/onboarding/exercises/e07-first-pr.md +49 -0
- hypermind-0.11.0/docs/onboarding/glossary.md +27 -0
- hypermind-0.11.0/docs/onboarding/topics/00-what-is-hypermind.md +47 -0
- hypermind-0.11.0/docs/onboarding/topics/01-agents-and-swarms.md +47 -0
- hypermind-0.11.0/docs/onboarding/topics/02-architecture-tour.md +55 -0
- hypermind-0.11.0/docs/onboarding/topics/03-spec-literacy.md +55 -0
- hypermind-0.11.0/docs/onboarding/topics/04-cryptography.md +42 -0
- hypermind-0.11.0/docs/onboarding/topics/05-cbor-cose.md +41 -0
- hypermind-0.11.0/docs/onboarding/topics/06-transparency-logs.md +41 -0
- hypermind-0.11.0/docs/onboarding/topics/07-distributed-systems.md +47 -0
- hypermind-0.11.0/docs/onboarding/topics/08-async-python.md +38 -0
- hypermind-0.11.0/docs/onboarding/topics/09-security-mindset.md +52 -0
- hypermind-0.11.0/docs/onboarding/week-1-foundations.md +40 -0
- hypermind-0.11.0/docs/onboarding/week-2-deep-dive.md +78 -0
- hypermind-0.11.0/docs/operate/01-deployment.md +114 -0
- hypermind-0.11.0/docs/operate/02-runbook.md +93 -0
- hypermind-0.11.0/docs/operate/03-resource-budget.md +107 -0
- hypermind-0.11.0/docs/operate/backup-restore.md +158 -0
- hypermind-0.11.0/docs/operate/data-residency.md +155 -0
- hypermind-0.11.0/docs/operate/key-rotation.md +139 -0
- hypermind-0.11.0/docs/operate/runbooks/dispute-backlog-drain.md +109 -0
- hypermind-0.11.0/docs/operate/runbooks/key-rotation.md +94 -0
- hypermind-0.11.0/docs/operate/runbooks/kms-rotation.md +99 -0
- hypermind-0.11.0/docs/operate/runbooks/multi-host-deploy.md +88 -0
- hypermind-0.11.0/docs/operate/runbooks/partition-heal.md +97 -0
- hypermind-0.11.0/docs/operate/runbooks/quorum-loss.md +94 -0
- hypermind-0.11.0/docs/operate/runbooks/rfp-dispute-triage.md +78 -0
- hypermind-0.11.0/docs/operate/runbooks/wire-cutover.md +117 -0
- hypermind-0.11.0/docs/operate/runbooks/witness-compromise.md +97 -0
- hypermind-0.11.0/docs/operate/runbooks/workflow-replay.md +79 -0
- hypermind-0.11.0/docs/operate/slo.md +137 -0
- hypermind-0.11.0/docs/paper/00-patent.md +240 -0
- hypermind-0.11.0/docs/paper/hypermind-paper-draft.md +497 -0
- hypermind-0.11.0/docs/paper/hypermind-paper.docx +0 -0
- hypermind-0.11.0/docs/paper/hypermind-paper.tex +1503 -0
- hypermind-0.11.0/docs/release-notes/v1.0-checklist.md +63 -0
- hypermind-0.11.0/docs/release-notes/v1.0.0.md +140 -0
- hypermind-0.11.0/docs/security/threat-model.md +303 -0
- hypermind-0.11.0/docs/simlab/modes.md +487 -0
- hypermind-0.11.0/docs/simulations.md +351 -0
- hypermind-0.11.0/docs/spec/00-overview.md +180 -0
- hypermind-0.11.0/docs/spec/01-transport.md +109 -0
- hypermind-0.11.0/docs/spec/02-cryptography.md +169 -0
- hypermind-0.11.0/docs/spec/03-messages.md +259 -0
- hypermind-0.11.0/docs/spec/04-knowledge-model.md +198 -0
- hypermind-0.11.0/docs/spec/05-routing.md +204 -0
- hypermind-0.11.0/docs/spec/06-conformance.md +139 -0
- hypermind-0.11.0/docs/spec/07-trust-access-layer.md +271 -0
- hypermind-0.11.0/docs/spec/08-onboarding-contract.md +253 -0
- hypermind-0.11.0/docs/spec/09-agent-sdk.md +288 -0
- hypermind-0.11.0/docs/spec/10-disputes.md +55 -0
- hypermind-0.11.0/docs/spec/11-witness-transparency.md +127 -0
- hypermind-0.11.0/docs/spec/12-governance.md +33 -0
- hypermind-0.11.0/docs/spec/13-observability.md +290 -0
- hypermind-0.11.0/docs/spec/14-threat-model.md +31 -0
- hypermind-0.11.0/docs/spec/15-living-transmission.md +7 -0
- hypermind-0.11.0/docs/spec/16-reference-comparisons.md +20 -0
- hypermind-0.11.0/docs/spec/17-upgrade-v1.md +27 -0
- hypermind-0.11.0/docs/spec/18-revocation.md +125 -0
- hypermind-0.11.0/docs/spec/19-autonomy-contract.md +210 -0
- hypermind-0.11.0/docs/spec/20-swarm-intelligence.md +263 -0
- hypermind-0.11.0/docs/spec/21-belief-state.md +305 -0
- hypermind-0.11.0/docs/spec/21-private-namespaces.md +94 -0
- hypermind-0.11.0/docs/spec/22-transport-mtls.md +91 -0
- hypermind-0.11.0/docs/spec/23-envelope-encryption.md +123 -0
- hypermind-0.11.0/docs/spec/24-namespace-identity.md +163 -0
- hypermind-0.11.0/docs/spec/25-capability-extensions.md +101 -0
- hypermind-0.11.0/docs/spec/26-workflow.md +174 -0
- hypermind-0.11.0/docs/spec/27-contract-net.md +241 -0
- hypermind-0.11.0/docs/spec/28-distributed-trace.md +71 -0
- hypermind-0.11.0/docs/spec/_meta/gaps-closed.md +61 -0
- hypermind-0.11.0/docs/spec/appendix-N-calibration.md +17 -0
- hypermind-0.11.0/docs/spec/appendix-TLA.md +52 -0
- hypermind-0.11.0/docs/spec/appendix-z.md +344 -0
- hypermind-0.11.0/docs/spec/errata.md +50 -0
- hypermind-0.11.0/docs/spec/index.md +23 -0
- hypermind-0.11.0/docs/spec/invariants.md +100 -0
- hypermind-0.11.0/docs/spec/normative-trace.md +86 -0
- hypermind-0.11.0/docs/supply-chain/sbom.md +127 -0
- hypermind-0.11.0/docs/supply-chain/slsa.md +221 -0
- hypermind-0.11.0/docs/supply-chain/verify-self.md +209 -0
- hypermind-0.11.0/docs/sustainability.md +166 -0
- hypermind-0.11.0/examples/01_hello_world.py +65 -0
- hypermind-0.11.0/examples/02_two_agents_dispute.py +103 -0
- hypermind-0.11.0/examples/03_consult_panel.py +88 -0
- hypermind-0.11.0/examples/04_oracle_resolve.py +165 -0
- hypermind-0.11.0/examples/05_consult_to_synthesis.py +186 -0
- hypermind-0.11.0/examples/06_hybrid_pq.py +20 -0
- hypermind-0.11.0/examples/07_frost_threshold.py +19 -0
- hypermind-0.11.0/examples/08_ramp_and_diagnostics.py +144 -0
- hypermind-0.11.0/examples/09_audit_export_chain.py +156 -0
- hypermind-0.11.0/examples/10_autonomous_agent.py +71 -0
- hypermind-0.11.0/examples/11_swarm_deliberation.py +86 -0
- hypermind-0.11.0/examples/12_swarm_iq_scorecard.py +65 -0
- hypermind-0.11.0/examples/13_role_specialisation.py +71 -0
- hypermind-0.11.0/examples/14_active_learning_loop.py +121 -0
- hypermind-0.11.0/examples/16_wire_message.py +164 -0
- hypermind-0.11.0/examples/17_tool_delegation.py +243 -0
- hypermind-0.11.0/examples/18_custom_responder.py +123 -0
- hypermind-0.11.0/examples/19_governance.py +115 -0
- hypermind-0.11.0/examples/20_conformance_check.py +232 -0
- hypermind-0.11.0/examples/21_revocation.py +140 -0
- hypermind-0.11.0/examples/22_agent_card.py +147 -0
- hypermind-0.11.0/examples/23_task_delegation.py +150 -0
- hypermind-0.11.0/examples/24_mcp_tool_call.py +226 -0
- hypermind-0.11.0/examples/25_swarm_trace.py +239 -0
- hypermind-0.11.0/examples/README.md +180 -0
- hypermind-0.11.0/examples/coordination/01_durable_workflow.py +136 -0
- hypermind-0.11.0/examples/coordination/02_contract_net.py +191 -0
- hypermind-0.11.0/examples/coordination/03_belief_and_plan.py +95 -0
- hypermind-0.11.0/examples/coordination/__init__.py +0 -0
- hypermind-0.11.0/examples/coordination/usecases/__init__.py +0 -0
- hypermind-0.11.0/examples/coordination/usecases/ai_01_fed_benchmark.py +106 -0
- hypermind-0.11.0/examples/coordination/usecases/ai_alignment_redteam.py +117 -0
- hypermind-0.11.0/examples/coordination/usecases/cy_05_ir_swarm.py +168 -0
- hypermind-0.11.0/examples/coordination/usecases/cy_11_ransomware_intel.py +120 -0
- hypermind-0.11.0/examples/coordination/usecases/ed_credentials.py +213 -0
- hypermind-0.11.0/examples/coordination/usecases/en_grid_coordinate.py +166 -0
- hypermind-0.11.0/examples/coordination/usecases/fi_04_bsa_314b.py +105 -0
- hypermind-0.11.0/examples/coordination/usecases/fi_22_ma_dataroom.py +131 -0
- hypermind-0.11.0/examples/coordination/usecases/gv_01_intel_sharing.py +113 -0
- hypermind-0.11.0/examples/coordination/usecases/gv_21_red_team.py +98 -0
- hypermind-0.11.0/examples/coordination/usecases/hc_06_rare_disease.py +217 -0
- hypermind-0.11.0/examples/coordination/usecases/hc_21_fed_learning.py +165 -0
- hypermind-0.11.0/examples/coordination/usecases/lg_ediscovery.py +175 -0
- hypermind-0.11.0/examples/coordination/usecases/mf_supply_chain.py +266 -0
- hypermind-0.11.0/examples/e2e_many_agents.py +314 -0
- hypermind-0.11.0/examples/full_e2e_demo.py +620 -0
- hypermind-0.11.0/examples/lifecycle.py +97 -0
- hypermind-0.11.0/examples/scenario_aar.py +96 -0
- hypermind-0.11.0/examples/scenario_backtest.py +108 -0
- hypermind-0.11.0/examples/scenario_capability_attenuation.py +201 -0
- hypermind-0.11.0/examples/scenario_conformance.py +110 -0
- hypermind-0.11.0/examples/scenario_crisis_tabletop.py +132 -0
- hypermind-0.11.0/examples/scenario_cross_namespace_federation.py +286 -0
- hypermind-0.11.0/examples/scenario_decision_tournament.py +101 -0
- hypermind-0.11.0/examples/scenario_dispute_lifecycle_async.py +174 -0
- hypermind-0.11.0/examples/scenario_evaluation.py +157 -0
- hypermind-0.11.0/examples/scenario_geopolitical_crisis.py +863 -0
- hypermind-0.11.0/examples/scenario_geopolitical_traced.py +1003 -0
- hypermind-0.11.0/examples/scenario_governance_committee.py +116 -0
- hypermind-0.11.0/examples/scenario_information_pipeline.py +242 -0
- hypermind-0.11.0/examples/scenario_learning_loop.py +257 -0
- hypermind-0.11.0/examples/scenario_namespace_trust.py +298 -0
- hypermind-0.11.0/examples/scenario_persona_panel.py +65 -0
- hypermind-0.11.0/examples/scenario_private_namespace.py +146 -0
- hypermind-0.11.0/examples/scenario_red_team.py +110 -0
- hypermind-0.11.0/examples/scenario_regulated_consortium.py +186 -0
- hypermind-0.11.0/examples/scenario_threat_intel.py +260 -0
- hypermind-0.11.0/examples/scenario_vouch_chain.py +231 -0
- hypermind-0.11.0/examples/scenario_what_if_tree.py +121 -0
- hypermind-0.11.0/examples/serve_api.py +177 -0
- hypermind-0.11.0/examples/two_node_tcp.py +88 -0
- hypermind-0.11.0/formal/README.md +230 -0
- hypermind-0.11.0/formal/hax-rust/README.md +76 -0
- hypermind-0.11.0/formal/hax-rust/scope.md +79 -0
- hypermind-0.11.0/formal/proverif/dispute_fsm.pv +168 -0
- hypermind-0.11.0/formal/proverif/dispute_liveness.pv +337 -0
- hypermind-0.11.0/formal/tamarin/capability_chain.spthy +279 -0
- hypermind-0.11.0/formal/tamarin/dispute_fsm.spthy +261 -0
- hypermind-0.11.0/formal/tamarin/signed_statement.spthy +192 -0
- hypermind-0.11.0/formal/tamarin/wire_security.spthy +285 -0
- hypermind-0.11.0/fuzz/README.md +10 -0
- hypermind-0.11.0/fuzz/__init__.py +0 -0
- hypermind-0.11.0/fuzz/fuzz_agent_card.py +83 -0
- hypermind-0.11.0/fuzz/fuzz_anti_entropy.py +35 -0
- hypermind-0.11.0/fuzz/fuzz_capability.py +27 -0
- hypermind-0.11.0/fuzz/fuzz_dispute.py +80 -0
- hypermind-0.11.0/fuzz/fuzz_inclusion_proof.py +48 -0
- hypermind-0.11.0/fuzz/fuzz_wire.py +27 -0
- hypermind-0.11.0/fuzz/seed_corpus.py +98 -0
- hypermind-0.11.0/harness/__init__.py +63 -0
- hypermind-0.11.0/harness/__main__.py +86 -0
- hypermind-0.11.0/harness/assertions.py +416 -0
- hypermind-0.11.0/harness/fixtures.py +28 -0
- hypermind-0.11.0/harness/report.py +148 -0
- hypermind-0.11.0/harness/roles.py +28 -0
- hypermind-0.11.0/harness/runner.py +124 -0
- hypermind-0.11.0/harness/scenario.py +128 -0
- hypermind-0.11.0/harness/scenarios/__init__.py +0 -0
- hypermind-0.11.0/harness/scenarios/autonomous_evolution.py +142 -0
- hypermind-0.11.0/harness/scenarios/swarm_iq_benchmark.py +107 -0
- hypermind-0.11.0/harness/scenarios/threat_intel.py +136 -0
- hypermind-0.11.0/mkdocs.yml +30 -0
- hypermind-0.11.0/pyproject.toml +195 -0
- hypermind-0.11.0/reference_verifier/__init__.py +83 -0
- hypermind-0.11.0/reference_verifier/schemas/encrypted_statement.cddl +28 -0
- hypermind-0.11.0/reference_verifier/schemas/namespace_accept.cddl +20 -0
- hypermind-0.11.0/reference_verifier/schemas/namespace_create.cddl +25 -0
- hypermind-0.11.0/reference_verifier/schemas/namespace_founding_attest.cddl +30 -0
- hypermind-0.11.0/reference_verifier/schemas/namespace_invite.cddl +22 -0
- hypermind-0.11.0/reference_verifier/schemas/wire-v0.1.cddl +73 -0
- hypermind-0.11.0/reference_verifier/verifier.py +944 -0
- hypermind-0.11.0/review/__init__.py +21 -0
- hypermind-0.11.0/review/__main__.py +133 -0
- hypermind-0.11.0/review/agents.py +324 -0
- hypermind-0.11.0/review/models.py +168 -0
- hypermind-0.11.0/review/runner.py +78 -0
- hypermind-0.11.0/src/hmctl/__init__.py +7 -0
- hypermind-0.11.0/src/hmctl/cli.py +947 -0
- hypermind-0.11.0/src/hypermind/__init__.py +208 -0
- hypermind-0.11.0/src/hypermind/_deprecations.py +108 -0
- hypermind-0.11.0/src/hypermind/agent.py +2896 -0
- hypermind-0.11.0/src/hypermind/agent_card.py +127 -0
- hypermind-0.11.0/src/hypermind/api/__init__.py +32 -0
- hypermind-0.11.0/src/hypermind/api/app.py +686 -0
- hypermind-0.11.0/src/hypermind/capability.py +923 -0
- hypermind-0.11.0/src/hypermind/consult.py +493 -0
- hypermind-0.11.0/src/hypermind/consult_bias.py +112 -0
- hypermind-0.11.0/src/hypermind/contract_net.py +219 -0
- hypermind-0.11.0/src/hypermind/crypto/__init__.py +21 -0
- hypermind-0.11.0/src/hypermind/crypto/cose_encrypt.py +126 -0
- hypermind-0.11.0/src/hypermind/crypto/dkg.py +246 -0
- hypermind-0.11.0/src/hypermind/crypto/domain.py +59 -0
- hypermind-0.11.0/src/hypermind/crypto/frost.py +771 -0
- hypermind-0.11.0/src/hypermind/crypto/hashing.py +38 -0
- hypermind-0.11.0/src/hypermind/crypto/hlc.py +163 -0
- hypermind-0.11.0/src/hypermind/crypto/hpke.py +277 -0
- hypermind-0.11.0/src/hypermind/crypto/kms.py +196 -0
- hypermind-0.11.0/src/hypermind/crypto/kms_backends/__init__.py +56 -0
- hypermind-0.11.0/src/hypermind/crypto/kms_backends/aws.py +128 -0
- hypermind-0.11.0/src/hypermind/crypto/kms_backends/azure.py +114 -0
- hypermind-0.11.0/src/hypermind/crypto/kms_backends/gcp.py +97 -0
- hypermind-0.11.0/src/hypermind/crypto/kms_backends/vault.py +120 -0
- hypermind-0.11.0/src/hypermind/crypto/namespace_root.py +204 -0
- hypermind-0.11.0/src/hypermind/crypto/pq.py +152 -0
- hypermind-0.11.0/src/hypermind/crypto/room_epoch.py +97 -0
- hypermind-0.11.0/src/hypermind/crypto/signing.py +245 -0
- hypermind-0.11.0/src/hypermind/deliberation.py +355 -0
- hypermind-0.11.0/src/hypermind/did_web.py +256 -0
- hypermind-0.11.0/src/hypermind/dispute.py +858 -0
- hypermind-0.11.0/src/hypermind/errors.py +218 -0
- hypermind-0.11.0/src/hypermind/eval/__init__.py +49 -0
- hypermind-0.11.0/src/hypermind/eval/calibration.py +307 -0
- hypermind-0.11.0/src/hypermind/eval/comparison.py +251 -0
- hypermind-0.11.0/src/hypermind/eval/replay.py +202 -0
- hypermind-0.11.0/src/hypermind/eval/swarm_iq.py +718 -0
- hypermind-0.11.0/src/hypermind/knowledge/__init__.py +17 -0
- hypermind-0.11.0/src/hypermind/knowledge/citation_graph.py +141 -0
- hypermind-0.11.0/src/hypermind/knowledge/correlated_agreement.py +167 -0
- hypermind-0.11.0/src/hypermind/knowledge/embedding_registry.py +115 -0
- hypermind-0.11.0/src/hypermind/knowledge/kernel_store.py +197 -0
- hypermind-0.11.0/src/hypermind/knowledge/rekor.py +173 -0
- hypermind-0.11.0/src/hypermind/knowledge/reputation.py +364 -0
- hypermind-0.11.0/src/hypermind/knowledge/swarm_memory.py +523 -0
- hypermind-0.11.0/src/hypermind/knowledge/transparency.py +409 -0
- hypermind-0.11.0/src/hypermind/mcp/__init__.py +60 -0
- hypermind-0.11.0/src/hypermind/mcp/bridge.py +151 -0
- hypermind-0.11.0/src/hypermind/mcp/client.py +142 -0
- hypermind-0.11.0/src/hypermind/mcp/provenance.py +214 -0
- hypermind-0.11.0/src/hypermind/mcp/relata_tools.py +152 -0
- hypermind-0.11.0/src/hypermind/mcp/server.py +248 -0
- hypermind-0.11.0/src/hypermind/mcp/transport.py +206 -0
- hypermind-0.11.0/src/hypermind/mind/__init__.py +150 -0
- hypermind-0.11.0/src/hypermind/mind/active.py +234 -0
- hypermind-0.11.0/src/hypermind/mind/belief.py +369 -0
- hypermind-0.11.0/src/hypermind/mind/deliberator.py +625 -0
- hypermind-0.11.0/src/hypermind/mind/diversity.py +144 -0
- hypermind-0.11.0/src/hypermind/mind/evolve.py +184 -0
- hypermind-0.11.0/src/hypermind/mind/federation.py +154 -0
- hypermind-0.11.0/src/hypermind/mind/goals.py +117 -0
- hypermind-0.11.0/src/hypermind/mind/integration.py +190 -0
- hypermind-0.11.0/src/hypermind/mind/mediator.py +74 -0
- hypermind-0.11.0/src/hypermind/mind/memory_store.py +129 -0
- hypermind-0.11.0/src/hypermind/mind/policy.py +307 -0
- hypermind-0.11.0/src/hypermind/mind/records.py +260 -0
- hypermind-0.11.0/src/hypermind/mind/roles.py +190 -0
- hypermind-0.11.0/src/hypermind/mind/sybil_guard.py +41 -0
- hypermind-0.11.0/src/hypermind/mind/world_model.py +166 -0
- hypermind-0.11.0/src/hypermind/namespace.py +515 -0
- hypermind-0.11.0/src/hypermind/namespace_policy.py +254 -0
- hypermind-0.11.0/src/hypermind/observability/__init__.py +25 -0
- hypermind-0.11.0/src/hypermind/observability/asgi.py +214 -0
- hypermind-0.11.0/src/hypermind/observability/cost.py +277 -0
- hypermind-0.11.0/src/hypermind/observability/otel_export.py +200 -0
- hypermind-0.11.0/src/hypermind/observability/recorder.py +344 -0
- hypermind-0.11.0/src/hypermind/observability/swarm_trace.py +438 -0
- hypermind-0.11.0/src/hypermind/pin_policy.py +116 -0
- hypermind-0.11.0/src/hypermind/py.typed +0 -0
- hypermind-0.11.0/src/hypermind/responders/__init__.py +87 -0
- hypermind-0.11.0/src/hypermind/responders/anthropic.py +159 -0
- hypermind-0.11.0/src/hypermind/responders/base.py +162 -0
- hypermind-0.11.0/src/hypermind/responders/openai.py +199 -0
- hypermind-0.11.0/src/hypermind/responders/router.py +254 -0
- hypermind-0.11.0/src/hypermind/responders/structured.py +287 -0
- hypermind-0.11.0/src/hypermind/responders/tools.py +444 -0
- hypermind-0.11.0/src/hypermind/revocation.py +270 -0
- hypermind-0.11.0/src/hypermind/rule_ids.py +135 -0
- hypermind-0.11.0/src/hypermind/schemas/encrypted_statement.cddl +28 -0
- hypermind-0.11.0/src/hypermind/schemas/namespace_accept.cddl +20 -0
- hypermind-0.11.0/src/hypermind/schemas/namespace_create.cddl +25 -0
- hypermind-0.11.0/src/hypermind/schemas/namespace_founding_attest.cddl +30 -0
- hypermind-0.11.0/src/hypermind/schemas/namespace_invite.cddl +22 -0
- hypermind-0.11.0/src/hypermind/schemas/wire-v0.1.cddl +73 -0
- hypermind-0.11.0/src/hypermind/simlab/__init__.py +15 -0
- hypermind-0.11.0/src/hypermind/simlab/_persona_registry.py +93 -0
- hypermind-0.11.0/src/hypermind/simlab/_scenario_impl.py +2778 -0
- hypermind-0.11.0/src/hypermind/simlab/app.py +2538 -0
- hypermind-0.11.0/src/hypermind/simlab/backends/__init__.py +27 -0
- hypermind-0.11.0/src/hypermind/simlab/backends/anchor.py +88 -0
- hypermind-0.11.0/src/hypermind/simlab/backends/local.py +32 -0
- hypermind-0.11.0/src/hypermind/simlab/backends/server.py +79 -0
- hypermind-0.11.0/src/hypermind/simlab/cli_command.py +108 -0
- hypermind-0.11.0/src/hypermind/simlab/config.py +106 -0
- hypermind-0.11.0/src/hypermind/simlab/deployment.py +26 -0
- hypermind-0.11.0/src/hypermind/simlab/knowledge.py +716 -0
- hypermind-0.11.0/src/hypermind/simlab/learning.py +295 -0
- hypermind-0.11.0/src/hypermind/simlab/modes/__init__.py +115 -0
- hypermind-0.11.0/src/hypermind/simlab/modes/_eval_real_llm.py +373 -0
- hypermind-0.11.0/src/hypermind/simlab/modes/aar.py +611 -0
- hypermind-0.11.0/src/hypermind/simlab/modes/backtest.py +610 -0
- hypermind-0.11.0/src/hypermind/simlab/modes/binary_forecast.py +69 -0
- hypermind-0.11.0/src/hypermind/simlab/modes/conformance.py +1869 -0
- hypermind-0.11.0/src/hypermind/simlab/modes/evaluation.py +2271 -0
- hypermind-0.11.0/src/hypermind/simlab/modes/governance.py +648 -0
- hypermind-0.11.0/src/hypermind/simlab/modes/redteam.py +534 -0
- hypermind-0.11.0/src/hypermind/simlab/modes/tabletop.py +797 -0
- hypermind-0.11.0/src/hypermind/simlab/modes/tournament.py +448 -0
- hypermind-0.11.0/src/hypermind/simlab/modes/whatif.py +523 -0
- hypermind-0.11.0/src/hypermind/simlab/namespace.py +125 -0
- hypermind-0.11.0/src/hypermind/simlab/personas.py +477 -0
- hypermind-0.11.0/src/hypermind/simlab/prompt_generator.py +172 -0
- hypermind-0.11.0/src/hypermind/simlab/question_sets/geopolitics_q20.json +122 -0
- hypermind-0.11.0/src/hypermind/simlab/question_sets/governance_q5.json +67 -0
- hypermind-0.11.0/src/hypermind/simlab/question_sets/msft_outlook_q10.json +62 -0
- hypermind-0.11.0/src/hypermind/simlab/question_sets/whatif_q3.json +38 -0
- hypermind-0.11.0/src/hypermind/simlab/registry.py +325 -0
- hypermind-0.11.0/src/hypermind/simlab/runner.py +239 -0
- hypermind-0.11.0/src/hypermind/simlab/scenario.py +147 -0
- hypermind-0.11.0/src/hypermind/simlab/swarms.py +180 -0
- hypermind-0.11.0/src/hypermind/simlab/tool_handlers/__init__.py +4 -0
- hypermind-0.11.0/src/hypermind/simlab/tool_handlers/alpha_vantage.py +39 -0
- hypermind-0.11.0/src/hypermind/simlab/tool_handlers/brave.py +46 -0
- hypermind-0.11.0/src/hypermind/simlab/tool_handlers/newsapi.py +50 -0
- hypermind-0.11.0/src/hypermind/simlab/tool_handlers/openweather.py +46 -0
- hypermind-0.11.0/src/hypermind/simlab/tool_handlers/pinecone.py +52 -0
- hypermind-0.11.0/src/hypermind/simlab/tool_handlers/qdrant.py +57 -0
- hypermind-0.11.0/src/hypermind/simlab/tool_handlers/query_knowledge_base.py +21 -0
- hypermind-0.11.0/src/hypermind/simlab/tool_handlers/relata_recall.py +61 -0
- hypermind-0.11.0/src/hypermind/simlab/tool_handlers/retrieve_document.py +21 -0
- hypermind-0.11.0/src/hypermind/simlab/tool_handlers/serper.py +46 -0
- hypermind-0.11.0/src/hypermind/simlab/tool_handlers/tavily.py +53 -0
- hypermind-0.11.0/src/hypermind/simlab/tool_handlers/weaviate.py +65 -0
- hypermind-0.11.0/src/hypermind/simlab/tool_handlers/wikipedia.py +64 -0
- hypermind-0.11.0/src/hypermind/simlab/tool_handlers/wolfram.py +48 -0
- hypermind-0.11.0/src/hypermind/simlab/tool_handlers/yahoo_finance.py +49 -0
- hypermind-0.11.0/src/hypermind/simlab/tool_registry.py +568 -0
- hypermind-0.11.0/src/hypermind/simlab/topic_adapter.py +338 -0
- hypermind-0.11.0/src/hypermind/simlab/topic_questions.py +259 -0
- hypermind-0.11.0/src/hypermind/storage/__init__.py +69 -0
- hypermind-0.11.0/src/hypermind/storage/backend.py +71 -0
- hypermind-0.11.0/src/hypermind/storage/relata.py +245 -0
- hypermind-0.11.0/src/hypermind/storage/sqlite.py +258 -0
- hypermind-0.11.0/src/hypermind/sync.py +191 -0
- hypermind-0.11.0/src/hypermind/tal.py +175 -0
- hypermind-0.11.0/src/hypermind/tasks.py +334 -0
- hypermind-0.11.0/src/hypermind/testing.py +16 -0
- hypermind-0.11.0/src/hypermind/tools/__init__.py +32 -0
- hypermind-0.11.0/src/hypermind/tools/registry.py +61 -0
- hypermind-0.11.0/src/hypermind/transport/__init__.py +22 -0
- hypermind-0.11.0/src/hypermind/transport/anti_entropy.py +708 -0
- hypermind-0.11.0/src/hypermind/transport/bus.py +206 -0
- hypermind-0.11.0/src/hypermind/transport/knows_delta.py +204 -0
- hypermind-0.11.0/src/hypermind/transport/libp2p.py +298 -0
- hypermind-0.11.0/src/hypermind/transport/placement.py +58 -0
- hypermind-0.11.0/src/hypermind/transport/tcp.py +797 -0
- hypermind-0.11.0/src/hypermind/transport/tls_profile.py +417 -0
- hypermind-0.11.0/src/hypermind/types.py +59 -0
- hypermind-0.11.0/src/hypermind/uncertainty.py +222 -0
- hypermind-0.11.0/src/hypermind/wire.py +897 -0
- hypermind-0.11.0/src/hypermind/workflow/__init__.py +72 -0
- hypermind-0.11.0/src/hypermind/workflow/engine.py +655 -0
- hypermind-0.11.0/src/hypermind/workflow/plan.py +182 -0
- hypermind-0.11.0/src/hypermind/workflow/repair.py +203 -0
- hypermind-0.11.0/storage-backend-requirements.md +189 -0
- hypermind-0.11.0/tests/__init__.py +0 -0
- hypermind-0.11.0/tests/api/__init__.py +0 -0
- hypermind-0.11.0/tests/api/test_eval_endpoints.py +239 -0
- hypermind-0.11.0/tests/api/test_events_stream.py +141 -0
- hypermind-0.11.0/tests/api/test_management_app.py +302 -0
- hypermind-0.11.0/tests/chaos/__init__.py +0 -0
- hypermind-0.11.0/tests/chaos/test_gossip_amplification.py +130 -0
- hypermind-0.11.0/tests/chaos/test_kill_agent_during_rfp.py +41 -0
- hypermind-0.11.0/tests/chaos/test_partition_during_workflow.py +59 -0
- hypermind-0.11.0/tests/chaos/test_slow_consumer_backpressure.py +48 -0
- hypermind-0.11.0/tests/chaos/test_slow_peer.py +221 -0
- hypermind-0.11.0/tests/conformance/__init__.py +5 -0
- hypermind-0.11.0/tests/conformance/generate_vectors.py +973 -0
- hypermind-0.11.0/tests/conformance/vectors/SIGNING.md +132 -0
- hypermind-0.11.0/tests/conformance/vectors/agent-card-01.json +46 -0
- hypermind-0.11.0/tests/conformance/vectors/agent-card-02.json +30 -0
- hypermind-0.11.0/tests/conformance/vectors/capability-01.json +22 -0
- hypermind-0.11.0/tests/conformance/vectors/capability-02.json +22 -0
- hypermind-0.11.0/tests/conformance/vectors/capability-03.json +18 -0
- hypermind-0.11.0/tests/conformance/vectors/dispute-01.json +43 -0
- hypermind-0.11.0/tests/conformance/vectors/dispute-02.json +43 -0
- hypermind-0.11.0/tests/conformance/vectors/dispute-03.json +43 -0
- hypermind-0.11.0/tests/conformance/vectors/dispute-04.json +30 -0
- hypermind-0.11.0/tests/conformance/vectors/dispute-05.json +50 -0
- hypermind-0.11.0/tests/conformance/vectors/frost-01.json +17 -0
- hypermind-0.11.0/tests/conformance/vectors/frost-02.json +17 -0
- hypermind-0.11.0/tests/conformance/vectors/frost-03.json +17 -0
- hypermind-0.11.0/tests/conformance/vectors/knows-delta-01.json +37 -0
- hypermind-0.11.0/tests/conformance/vectors/knows-delta-02.json +16 -0
- hypermind-0.11.0/tests/conformance/vectors/mcp-prov-01.json +23 -0
- hypermind-0.11.0/tests/conformance/vectors/mcp-prov-02.json +15 -0
- hypermind-0.11.0/tests/conformance/vectors/merkle-01.json +18 -0
- hypermind-0.11.0/tests/conformance/vectors/merkle-02.json +21 -0
- hypermind-0.11.0/tests/conformance/vectors/merkle-03.json +24 -0
- hypermind-0.11.0/tests/conformance/vectors/merkle-04.json +29 -0
- hypermind-0.11.0/tests/conformance/vectors/rep-decay-01.json +15 -0
- hypermind-0.11.0/tests/conformance/vectors/task-01.json +23 -0
- hypermind-0.11.0/tests/conformance/vectors/task-02.json +17 -0
- hypermind-0.11.0/tests/conformance/vectors/trace-01.json +21 -0
- hypermind-0.11.0/tests/conformance/vectors/trace-02.json +11 -0
- hypermind-0.11.0/tests/conformance/vectors/wire-envelope-01.json +23 -0
- hypermind-0.11.0/tests/conformance/vectors/wire-envelope-02.json +23 -0
- hypermind-0.11.0/tests/conformance/vectors/wire-envelope-03.json +23 -0
- hypermind-0.11.0/tests/conformance/vectors/wire-envelope-04.json +23 -0
- hypermind-0.11.0/tests/conformance/vectors/wire-envelope-05.json +23 -0
- hypermind-0.11.0/tests/conftest.py +53 -0
- hypermind-0.11.0/tests/fake_kms.py +37 -0
- hypermind-0.11.0/tests/harness/__init__.py +0 -0
- hypermind-0.11.0/tests/harness/conftest.py +5 -0
- hypermind-0.11.0/tests/harness/test_assertion_library.py +316 -0
- hypermind-0.11.0/tests/harness/test_runner_lifecycle.py +126 -0
- hypermind-0.11.0/tests/harness/test_threat_intel_harness.py +62 -0
- hypermind-0.11.0/tests/integration/__init__.py +0 -0
- hypermind-0.11.0/tests/integration/test_kms_aws.py +27 -0
- hypermind-0.11.0/tests/integration/test_kms_azure.py +24 -0
- hypermind-0.11.0/tests/integration/test_kms_gcp.py +22 -0
- hypermind-0.11.0/tests/integration/test_kms_vault.py +28 -0
- hypermind-0.11.0/tests/integration/test_relata_server.py +76 -0
- hypermind-0.11.0/tests/responders/__init__.py +0 -0
- hypermind-0.11.0/tests/responders/test_responders.py +174 -0
- hypermind-0.11.0/tests/responders/test_router.py +240 -0
- hypermind-0.11.0/tests/responders/test_structured_response.py +460 -0
- hypermind-0.11.0/tests/responders/test_tools.py +283 -0
- hypermind-0.11.0/tests/review/__init__.py +0 -0
- hypermind-0.11.0/tests/review/test_agents_parser.py +121 -0
- hypermind-0.11.0/tests/review/test_models.py +238 -0
- hypermind-0.11.0/tests/review/test_runner.py +147 -0
- hypermind-0.11.0/tests/simlab/__init__.py +0 -0
- hypermind-0.11.0/tests/simlab/conftest.py +19 -0
- hypermind-0.11.0/tests/simlab/test_app_endpoints.py +147 -0
- hypermind-0.11.0/tests/simlab/test_knowledge.py +184 -0
- hypermind-0.11.0/tests/simlab/test_knowledge_reuse.py +437 -0
- hypermind-0.11.0/tests/simlab/test_modes_aar.py +85 -0
- hypermind-0.11.0/tests/simlab/test_modes_backtest.py +92 -0
- hypermind-0.11.0/tests/simlab/test_modes_conformance.py +185 -0
- hypermind-0.11.0/tests/simlab/test_modes_evaluation.py +700 -0
- hypermind-0.11.0/tests/simlab/test_modes_governance.py +171 -0
- hypermind-0.11.0/tests/simlab/test_modes_redteam.py +100 -0
- hypermind-0.11.0/tests/simlab/test_modes_tabletop.py +97 -0
- hypermind-0.11.0/tests/simlab/test_modes_tournament.py +108 -0
- hypermind-0.11.0/tests/simlab/test_modes_whatif.py +121 -0
- hypermind-0.11.0/tests/simlab/test_personas.py +92 -0
- hypermind-0.11.0/tests/simlab/test_personas_endpoints.py +149 -0
- hypermind-0.11.0/tests/simlab/test_recorder_scoping.py +118 -0
- hypermind-0.11.0/tests/simlab/test_registry.py +45 -0
- hypermind-0.11.0/tests/simlab/test_resolve_outcomes.py +365 -0
- hypermind-0.11.0/tests/simlab/test_responder_timeout.py +317 -0
- hypermind-0.11.0/tests/simlab/test_runner.py +44 -0
- hypermind-0.11.0/tests/simlab/test_swarms.py +126 -0
- hypermind-0.11.0/tests/storage/__init__.py +0 -0
- hypermind-0.11.0/tests/storage/test_relata_backend.py +262 -0
- hypermind-0.11.0/tests/storage/test_sqlite_backend.py +189 -0
- hypermind-0.11.0/tests/test_active_multi_step.py +56 -0
- hypermind-0.11.0/tests/test_agent_card.py +159 -0
- hypermind-0.11.0/tests/test_agent_e2e.py +216 -0
- hypermind-0.11.0/tests/test_agent_edge.py +329 -0
- hypermind-0.11.0/tests/test_anti_entropy.py +128 -0
- hypermind-0.11.0/tests/test_anti_entropy_multiround.py +140 -0
- hypermind-0.11.0/tests/test_anti_entropy_selfheal.py +152 -0
- hypermind-0.11.0/tests/test_appendix_z_conformance.py +479 -0
- hypermind-0.11.0/tests/test_appendix_z_vectors.py +116 -0
- hypermind-0.11.0/tests/test_arg_dag_edge_types.py +61 -0
- hypermind-0.11.0/tests/test_backpressure.py +120 -0
- hypermind-0.11.0/tests/test_belief_revision.py +150 -0
- hypermind-0.11.0/tests/test_bias_detector.py +39 -0
- hypermind-0.11.0/tests/test_block_reason.py +121 -0
- hypermind-0.11.0/tests/test_calibration.py +307 -0
- hypermind-0.11.0/tests/test_capability.py +111 -0
- hypermind-0.11.0/tests/test_capability_canonical.py +103 -0
- hypermind-0.11.0/tests/test_capability_chain.py +135 -0
- hypermind-0.11.0/tests/test_capability_edge.py +110 -0
- hypermind-0.11.0/tests/test_capability_enforcement.py +180 -0
- hypermind-0.11.0/tests/test_capability_namespace_caveat.py +175 -0
- hypermind-0.11.0/tests/test_capability_revocation.py +135 -0
- hypermind-0.11.0/tests/test_citation_graph.py +57 -0
- hypermind-0.11.0/tests/test_cli.py +145 -0
- hypermind-0.11.0/tests/test_cli_interop.py +20 -0
- hypermind-0.11.0/tests/test_composite_lamps_prefix.py +67 -0
- hypermind-0.11.0/tests/test_consult.py +100 -0
- hypermind-0.11.0/tests/test_consult_stream.py +85 -0
- hypermind-0.11.0/tests/test_consult_stream_t4.py +51 -0
- hypermind-0.11.0/tests/test_contract_net_disputed_award.py +74 -0
- hypermind-0.11.0/tests/test_contract_net_frost_award.py +91 -0
- hypermind-0.11.0/tests/test_contract_net_happy.py +60 -0
- hypermind-0.11.0/tests/test_contract_net_reputation_scoring.py +81 -0
- hypermind-0.11.0/tests/test_contract_net_sybil_filter.py +67 -0
- hypermind-0.11.0/tests/test_correlated_agreement.py +99 -0
- hypermind-0.11.0/tests/test_cose_encrypt_roundtrip.py +103 -0
- hypermind-0.11.0/tests/test_cost_tracker.py +245 -0
- hypermind-0.11.0/tests/test_cross_namespace_consult.py +100 -0
- hypermind-0.11.0/tests/test_crypto.py +126 -0
- hypermind-0.11.0/tests/test_deliberation.py +362 -0
- hypermind-0.11.0/tests/test_deliberator_cap.py +134 -0
- hypermind-0.11.0/tests/test_deliberator_observe.py +59 -0
- hypermind-0.11.0/tests/test_deprecation_registry.py +57 -0
- hypermind-0.11.0/tests/test_determinism_corpus.py +97 -0
- hypermind-0.11.0/tests/test_dispute.py +170 -0
- hypermind-0.11.0/tests/test_dispute_fsm_full.py +351 -0
- hypermind-0.11.0/tests/test_dispute_mediate.py +146 -0
- hypermind-0.11.0/tests/test_dispute_quorum.py +247 -0
- hypermind-0.11.0/tests/test_dissent.py +160 -0
- hypermind-0.11.0/tests/test_diversity_quorum.py +103 -0
- hypermind-0.11.0/tests/test_dkg.py +103 -0
- hypermind-0.11.0/tests/test_embedding_registry.py +50 -0
- hypermind-0.11.0/tests/test_eval_comparison.py +150 -0
- hypermind-0.11.0/tests/test_examples_runnable.py +57 -0
- hypermind-0.11.0/tests/test_final_coverage.py +401 -0
- hypermind-0.11.0/tests/test_frost.py +84 -0
- hypermind-0.11.0/tests/test_frost_edge.py +64 -0
- hypermind-0.11.0/tests/test_frost_hedged_nonces.py +206 -0
- hypermind-0.11.0/tests/test_frost_persistence.py +67 -0
- hypermind-0.11.0/tests/test_frost_transcript_store_swap.py +107 -0
- hypermind-0.11.0/tests/test_hlc_clock_source.py +149 -0
- hypermind-0.11.0/tests/test_hpke_vectors.py +177 -0
- hypermind-0.11.0/tests/test_info_gain_routing.py +61 -0
- hypermind-0.11.0/tests/test_kernel_store.py +174 -0
- hypermind-0.11.0/tests/test_kms_backends.py +174 -0
- hypermind-0.11.0/tests/test_kms_fake.py +36 -0
- hypermind-0.11.0/tests/test_knows_delta.py +223 -0
- hypermind-0.11.0/tests/test_lamps_oid_canonical.py +51 -0
- hypermind-0.11.0/tests/test_last_lines.py +237 -0
- hypermind-0.11.0/tests/test_libp2p_peer_id.py +119 -0
- hypermind-0.11.0/tests/test_libp2p_scaffold.py +108 -0
- hypermind-0.11.0/tests/test_libp2p_stub.py +86 -0
- hypermind-0.11.0/tests/test_mcp_bridge.py +54 -0
- hypermind-0.11.0/tests/test_mcp_provenance.py +268 -0
- hypermind-0.11.0/tests/test_mcp_tools_list.py +55 -0
- hypermind-0.11.0/tests/test_mcp_transport.py +59 -0
- hypermind-0.11.0/tests/test_merkle_transparency.py +75 -0
- hypermind-0.11.0/tests/test_mind_active.py +104 -0
- hypermind-0.11.0/tests/test_mind_deliberator.py +144 -0
- hypermind-0.11.0/tests/test_mind_diversity_sybil_mediator.py +118 -0
- hypermind-0.11.0/tests/test_mind_evolve.py +102 -0
- hypermind-0.11.0/tests/test_mind_goals_policy.py +220 -0
- hypermind-0.11.0/tests/test_mind_records.py +97 -0
- hypermind-0.11.0/tests/test_mind_roles.py +88 -0
- hypermind-0.11.0/tests/test_mind_world_model.py +122 -0
- hypermind-0.11.0/tests/test_misc_edge.py +399 -0
- hypermind-0.11.0/tests/test_mtls_profile.py +401 -0
- hypermind-0.11.0/tests/test_namespace_lifecycle.py +272 -0
- hypermind-0.11.0/tests/test_namespace_policy.py +96 -0
- hypermind-0.11.0/tests/test_namespace_policy_acl.py +119 -0
- hypermind-0.11.0/tests/test_observability_asgi.py +123 -0
- hypermind-0.11.0/tests/test_observability_otel.py +98 -0
- hypermind-0.11.0/tests/test_open_factory.py +48 -0
- hypermind-0.11.0/tests/test_oracle_backprop.py +79 -0
- hypermind-0.11.0/tests/test_otel_export.py +124 -0
- hypermind-0.11.0/tests/test_pin_policy.py +83 -0
- hypermind-0.11.0/tests/test_placement_consistent_hash.py +67 -0
- hypermind-0.11.0/tests/test_placement_hint.py +46 -0
- hypermind-0.11.0/tests/test_plan_dag.py +98 -0
- hypermind-0.11.0/tests/test_plan_repair.py +113 -0
- hypermind-0.11.0/tests/test_portable_inclusion_proof.py +125 -0
- hypermind-0.11.0/tests/test_pq_default.py +125 -0
- hypermind-0.11.0/tests/test_pq_dual_vendor.py +111 -0
- hypermind-0.11.0/tests/test_pq_signing.py +108 -0
- hypermind-0.11.0/tests/test_priv_ns_conformance_coverage.py +97 -0
- hypermind-0.11.0/tests/test_property_based.py +227 -0
- hypermind-0.11.0/tests/test_protocol_version.py +232 -0
- hypermind-0.11.0/tests/test_public_surface_v05.py +130 -0
- hypermind-0.11.0/tests/test_pursue_workflow.py +65 -0
- hypermind-0.11.0/tests/test_rate_caveat.py +140 -0
- hypermind-0.11.0/tests/test_recorder_bounded.py +117 -0
- hypermind-0.11.0/tests/test_recorder_tail.py +147 -0
- hypermind-0.11.0/tests/test_reference_verifier_v2.py +312 -0
- hypermind-0.11.0/tests/test_rekor_client.py +87 -0
- hypermind-0.11.0/tests/test_rekor_downgrade.py +55 -0
- hypermind-0.11.0/tests/test_relata_memory_store.py +130 -0
- hypermind-0.11.0/tests/test_relata_tools.py +88 -0
- hypermind-0.11.0/tests/test_remaining_gaps.py +194 -0
- hypermind-0.11.0/tests/test_replay.py +178 -0
- hypermind-0.11.0/tests/test_reputation.py +80 -0
- hypermind-0.11.0/tests/test_reputation_memory.py +15 -0
- hypermind-0.11.0/tests/test_reputation_staleness.py +38 -0
- hypermind-0.11.0/tests/test_review_fixes.py +185 -0
- hypermind-0.11.0/tests/test_revocation.py +239 -0
- hypermind-0.11.0/tests/test_revocation_lifecycle.py +235 -0
- hypermind-0.11.0/tests/test_room_epoch.py +77 -0
- hypermind-0.11.0/tests/test_schema_hash_pinned.py +72 -0
- hypermind-0.11.0/tests/test_secret_redaction.py +77 -0
- hypermind-0.11.0/tests/test_self_heal_cycle1.py +502 -0
- hypermind-0.11.0/tests/test_self_heal_cycle2.py +251 -0
- hypermind-0.11.0/tests/test_self_heal_cycle3.py +157 -0
- hypermind-0.11.0/tests/test_self_heal_cycle3_cascade_isolate.py +421 -0
- hypermind-0.11.0/tests/test_self_heal_cycle3_governance.py +128 -0
- hypermind-0.11.0/tests/test_self_heal_cycle4.py +414 -0
- hypermind-0.11.0/tests/test_self_heal_cycle4_deliberator_broadcast.py +127 -0
- hypermind-0.11.0/tests/test_self_heal_cycle5.py +167 -0
- hypermind-0.11.0/tests/test_signer_protocol.py +88 -0
- hypermind-0.11.0/tests/test_sth_cross_gossip.py +108 -0
- hypermind-0.11.0/tests/test_swarm_iq.py +251 -0
- hypermind-0.11.0/tests/test_swarm_iq_at_scale.py +93 -0
- hypermind-0.11.0/tests/test_swarm_iq_recommend.py +103 -0
- hypermind-0.11.0/tests/test_swarm_memory.py +217 -0
- hypermind-0.11.0/tests/test_swarm_memory_federation.py +92 -0
- hypermind-0.11.0/tests/test_swarm_trace.py +292 -0
- hypermind-0.11.0/tests/test_swarm_vector_overflow.py +58 -0
- hypermind-0.11.0/tests/test_sync_agent.py +122 -0
- hypermind-0.11.0/tests/test_tal.py +188 -0
- hypermind-0.11.0/tests/test_task_handle.py +103 -0
- hypermind-0.11.0/tests/test_task_handle_network.py +183 -0
- hypermind-0.11.0/tests/test_tcp_duplicate_kid_attack.py +59 -0
- hypermind-0.11.0/tests/test_tcp_edge.py +133 -0
- hypermind-0.11.0/tests/test_tcp_final.py +295 -0
- hypermind-0.11.0/tests/test_tcp_read_loop_cleanup.py +96 -0
- hypermind-0.11.0/tests/test_tcp_transport.py +120 -0
- hypermind-0.11.0/tests/test_theory_of_mind.py +110 -0
- hypermind-0.11.0/tests/test_transport.py +78 -0
- hypermind-0.11.0/tests/test_two_impl_interop.py +231 -0
- hypermind-0.11.0/tests/test_uncertainty.py +81 -0
- hypermind-0.11.0/tests/test_uncertainty_edge.py +75 -0
- hypermind-0.11.0/tests/test_wire.py +242 -0
- hypermind-0.11.0/tests/test_wire_edge_cases.py +120 -0
- hypermind-0.11.0/tests/test_wire_kid_stability.py +86 -0
- hypermind-0.11.0/tests/test_wire_p3.py +79 -0
- hypermind-0.11.0/tests/test_wire_v2.py +349 -0
- hypermind-0.11.0/tests/test_wire_version.py +102 -0
- hypermind-0.11.0/tests/test_witness_preimage_length_prefix.py +102 -0
- hypermind-0.11.0/tests/test_workflow_compensation.py +77 -0
- hypermind-0.11.0/tests/test_workflow_engine.py +99 -0
- hypermind-0.11.0/tests/test_workflow_replay.py +108 -0
- hypermind-0.11.0/tests/usecases/__init__.py +0 -0
- hypermind-0.11.0/tests/usecases/conftest.py +19 -0
- hypermind-0.11.0/tests/usecases/test_ai_01_fed_benchmark.py +11 -0
- hypermind-0.11.0/tests/usecases/test_ai_alignment_redteam.py +10 -0
- hypermind-0.11.0/tests/usecases/test_cy_05_ir_swarm.py +11 -0
- hypermind-0.11.0/tests/usecases/test_cy_11_ransomware_intel.py +10 -0
- hypermind-0.11.0/tests/usecases/test_ed_credentials.py +15 -0
- hypermind-0.11.0/tests/usecases/test_en_grid_coordinate.py +15 -0
- hypermind-0.11.0/tests/usecases/test_fi_04_bsa_314b.py +10 -0
- hypermind-0.11.0/tests/usecases/test_fi_22_ma_dataroom.py +10 -0
- hypermind-0.11.0/tests/usecases/test_gv_01_intel_sharing.py +11 -0
- hypermind-0.11.0/tests/usecases/test_gv_21_red_team.py +10 -0
- hypermind-0.11.0/tests/usecases/test_hc_06_rare_disease.py +15 -0
- hypermind-0.11.0/tests/usecases/test_hc_21_fed_learning.py +15 -0
- hypermind-0.11.0/tests/usecases/test_lg_ediscovery.py +15 -0
- hypermind-0.11.0/tests/usecases/test_mf_supply_chain.py +15 -0
- hypermind-0.11.0/transport-rust/Cargo.toml +25 -0
- hypermind-0.11.0/transport-rust/README.md +68 -0
- hypermind-0.11.0/transport-rust/pyproject.toml +13 -0
- hypermind-0.11.0/transport-rust/src/lib.rs +62 -0
- hypermind-0.11.0/webui/index.html +16 -0
- hypermind-0.11.0/webui/package-lock.json +2498 -0
- hypermind-0.11.0/webui/package.json +31 -0
- hypermind-0.11.0/webui/src/App.vue +120 -0
- hypermind-0.11.0/webui/src/api/client.ts +377 -0
- hypermind-0.11.0/webui/src/components/ActivityCanvas.vue +1057 -0
- hypermind-0.11.0/webui/src/components/AgentContribution.vue +143 -0
- hypermind-0.11.0/webui/src/components/BrierHeatmap.vue +398 -0
- hypermind-0.11.0/webui/src/components/CIQTrajectory.vue +160 -0
- hypermind-0.11.0/webui/src/components/CitationGraph.vue +804 -0
- hypermind-0.11.0/webui/src/components/DisputeTimeline.vue +195 -0
- hypermind-0.11.0/webui/src/components/DissentList.vue +81 -0
- hypermind-0.11.0/webui/src/components/Logo.vue +39 -0
- hypermind-0.11.0/webui/src/components/NowAsking.vue +96 -0
- hypermind-0.11.0/webui/src/components/PersonaRadar.vue +521 -0
- hypermind-0.11.0/webui/src/components/PopulationGenerator.vue +482 -0
- hypermind-0.11.0/webui/src/components/Term.vue +47 -0
- hypermind-0.11.0/webui/src/components/forms/SchemaForm.vue +137 -0
- hypermind-0.11.0/webui/src/components/result/AARTimeline.vue +311 -0
- hypermind-0.11.0/webui/src/components/result/BacktestScorecard.vue +351 -0
- hypermind-0.11.0/webui/src/components/result/ConformanceReport.vue +526 -0
- hypermind-0.11.0/webui/src/components/result/CrisisTabletop.vue +284 -0
- hypermind-0.11.0/webui/src/components/result/DecisionBracket.vue +289 -0
- hypermind-0.11.0/webui/src/components/result/EvaluationReport.vue +1023 -0
- hypermind-0.11.0/webui/src/components/result/GovernanceReceipt.vue +210 -0
- hypermind-0.11.0/webui/src/components/result/MethodNote.vue +138 -0
- hypermind-0.11.0/webui/src/components/result/RedTeamReport.vue +344 -0
- hypermind-0.11.0/webui/src/components/result/ScenarioTree.vue +200 -0
- hypermind-0.11.0/webui/src/docs/index.ts +79 -0
- hypermind-0.11.0/webui/src/docs/render.ts +106 -0
- hypermind-0.11.0/webui/src/main.ts +10 -0
- hypermind-0.11.0/webui/src/router.ts +44 -0
- hypermind-0.11.0/webui/src/stores/sims.ts +38 -0
- hypermind-0.11.0/webui/src/styles.css +580 -0
- hypermind-0.11.0/webui/src/types/trace.ts +659 -0
- hypermind-0.11.0/webui/src/views/Agents.vue +944 -0
- hypermind-0.11.0/webui/src/views/Docs.vue +347 -0
- hypermind-0.11.0/webui/src/views/Evidence.vue +279 -0
- hypermind-0.11.0/webui/src/views/Home.vue +1808 -0
- hypermind-0.11.0/webui/src/views/HowItWorks.vue +2101 -0
- hypermind-0.11.0/webui/src/views/Knowledge.vue +1189 -0
- hypermind-0.11.0/webui/src/views/Namespaces.vue +989 -0
- hypermind-0.11.0/webui/src/views/Report.vue +499 -0
- hypermind-0.11.0/webui/src/views/Security.vue +688 -0
- hypermind-0.11.0/webui/src/views/SimCompare.vue +157 -0
- hypermind-0.11.0/webui/src/views/SimDetail.vue +2836 -0
- hypermind-0.11.0/webui/src/views/SimList.vue +390 -0
- hypermind-0.11.0/webui/src/views/SimLive.vue +396 -0
- hypermind-0.11.0/webui/src/views/SimNew.vue +849 -0
- hypermind-0.11.0/webui/src/views/Tools.vue +801 -0
- hypermind-0.11.0/webui/src/views/UseCases.vue +517 -0
- hypermind-0.11.0/webui/tsconfig.json +14 -0
- hypermind-0.11.0/webui/vite.config.ts +22 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
root = true
|
|
2
|
+
|
|
3
|
+
[*]
|
|
4
|
+
charset = utf-8
|
|
5
|
+
end_of_line = lf
|
|
6
|
+
insert_final_newline = true
|
|
7
|
+
trim_trailing_whitespace = true
|
|
8
|
+
indent_style = space
|
|
9
|
+
indent_size = 4
|
|
10
|
+
|
|
11
|
+
[*.py]
|
|
12
|
+
indent_size = 4
|
|
13
|
+
|
|
14
|
+
[*.{yml,yaml,json,toml,md}]
|
|
15
|
+
indent_size = 2
|
|
16
|
+
|
|
17
|
+
[Makefile]
|
|
18
|
+
indent_style = tab
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Enforce LF for files that participate in cryptographic hashing or
|
|
2
|
+
# byte-exact wire-format comparisons. CRLF on Windows checkouts would
|
|
3
|
+
# otherwise change ENVELOPE_SCHEMA_HASH (BLAKE3 of the CDDL bytes) and
|
|
4
|
+
# break Appendix Z conformance vectors. See tests/test_appendix_z_conformance.py.
|
|
5
|
+
*.cddl text eol=lf
|
|
6
|
+
*.cbor binary
|
|
7
|
+
*.json text eol=lf
|
|
8
|
+
*.py text eol=lf
|
|
9
|
+
*.toml text eol=lf
|
|
10
|
+
*.yml text eol=lf
|
|
11
|
+
*.yaml text eol=lf
|
|
12
|
+
*.md text eol=lf
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# HyperMind welcomes funding to sustain open, secure agent infrastructure.
|
|
2
|
+
#
|
|
3
|
+
# We are actively pursuing support from:
|
|
4
|
+
# - NLnet (NGI Zero)
|
|
5
|
+
# - OpenSSF Alpha-Omega
|
|
6
|
+
# - Alfred P. Sloan Foundation
|
|
7
|
+
# - Open Philanthropy
|
|
8
|
+
#
|
|
9
|
+
# See ROADMAP.md (v0.6.14) for the funded-work plan and milestones.
|
|
10
|
+
|
|
11
|
+
github: [ZySec-AI]
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
name: Bug report
|
|
2
|
+
description: Report a defect in HyperMind (SDK, CLI, spec, or reference verifier).
|
|
3
|
+
title: "[bug] <short summary>"
|
|
4
|
+
labels: ["bug", "needs-triage"]
|
|
5
|
+
body:
|
|
6
|
+
- type: markdown
|
|
7
|
+
attributes:
|
|
8
|
+
value: |
|
|
9
|
+
Thanks for taking the time to file a bug report. Please fill out the
|
|
10
|
+
sections below as completely as you can — the more we know, the faster
|
|
11
|
+
we can fix it.
|
|
12
|
+
|
|
13
|
+
**Security issues:** if this bug has security impact, please do **not**
|
|
14
|
+
file it here. Use the private vulnerability reporting channel described
|
|
15
|
+
in [SECURITY.md](../../SECURITY.md).
|
|
16
|
+
|
|
17
|
+
- type: input
|
|
18
|
+
id: hypermind-version
|
|
19
|
+
attributes:
|
|
20
|
+
label: HyperMind version
|
|
21
|
+
description: Output of `hmctl --version` or `pip show hypermind`.
|
|
22
|
+
placeholder: "e.g. 0.1.0a0"
|
|
23
|
+
validations:
|
|
24
|
+
required: true
|
|
25
|
+
|
|
26
|
+
- type: dropdown
|
|
27
|
+
id: python-version
|
|
28
|
+
attributes:
|
|
29
|
+
label: Python version
|
|
30
|
+
options:
|
|
31
|
+
- "3.11"
|
|
32
|
+
- "3.12"
|
|
33
|
+
- "3.13"
|
|
34
|
+
- "other (please specify in 'Additional context')"
|
|
35
|
+
validations:
|
|
36
|
+
required: true
|
|
37
|
+
|
|
38
|
+
- type: dropdown
|
|
39
|
+
id: os
|
|
40
|
+
attributes:
|
|
41
|
+
label: Operating system
|
|
42
|
+
options:
|
|
43
|
+
- Linux
|
|
44
|
+
- macOS
|
|
45
|
+
- Windows
|
|
46
|
+
- other (please specify in 'Additional context')
|
|
47
|
+
validations:
|
|
48
|
+
required: true
|
|
49
|
+
|
|
50
|
+
- type: input
|
|
51
|
+
id: wire-version
|
|
52
|
+
attributes:
|
|
53
|
+
label: Wire-format version
|
|
54
|
+
description: The HyperMind wire/protocol version in use, if known.
|
|
55
|
+
placeholder: "e.g. wire/1"
|
|
56
|
+
validations:
|
|
57
|
+
required: false
|
|
58
|
+
|
|
59
|
+
- type: textarea
|
|
60
|
+
id: what-happened
|
|
61
|
+
attributes:
|
|
62
|
+
label: What happened?
|
|
63
|
+
description: A clear and concise description of the actual behaviour.
|
|
64
|
+
validations:
|
|
65
|
+
required: true
|
|
66
|
+
|
|
67
|
+
- type: textarea
|
|
68
|
+
id: expected
|
|
69
|
+
attributes:
|
|
70
|
+
label: Expected behaviour
|
|
71
|
+
description: What did you expect to happen instead?
|
|
72
|
+
validations:
|
|
73
|
+
required: true
|
|
74
|
+
|
|
75
|
+
- type: textarea
|
|
76
|
+
id: repro
|
|
77
|
+
attributes:
|
|
78
|
+
label: Steps to reproduce
|
|
79
|
+
description: Minimal, deterministic steps. Code snippets and `hmctl`
|
|
80
|
+
invocations are very welcome.
|
|
81
|
+
placeholder: |
|
|
82
|
+
1. ...
|
|
83
|
+
2. ...
|
|
84
|
+
3. ...
|
|
85
|
+
render: shell
|
|
86
|
+
validations:
|
|
87
|
+
required: true
|
|
88
|
+
|
|
89
|
+
- type: textarea
|
|
90
|
+
id: logs
|
|
91
|
+
attributes:
|
|
92
|
+
label: Logs / tracebacks
|
|
93
|
+
description: Paste relevant log output. Will be auto-rendered as a code block.
|
|
94
|
+
render: shell
|
|
95
|
+
validations:
|
|
96
|
+
required: false
|
|
97
|
+
|
|
98
|
+
- type: textarea
|
|
99
|
+
id: additional-context
|
|
100
|
+
attributes:
|
|
101
|
+
label: Additional context
|
|
102
|
+
description: Anything else that might help — environment details,
|
|
103
|
+
related issues, screenshots, etc.
|
|
104
|
+
validations:
|
|
105
|
+
required: false
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
blank_issues_enabled: false
|
|
2
|
+
contact_links:
|
|
3
|
+
- name: Questions and discussion
|
|
4
|
+
url: https://github.com/ZySec-AI/hypermind/discussions
|
|
5
|
+
about: For usage questions, design conversations, and general discussion,
|
|
6
|
+
please use GitHub Discussions instead of opening an issue.
|
|
7
|
+
- name: Report a security vulnerability
|
|
8
|
+
url: https://github.com/ZySec-AI/hypermind/blob/main/SECURITY.md
|
|
9
|
+
about: Do not file public issues for security vulnerabilities. Follow the
|
|
10
|
+
private vulnerability reporting process described in SECURITY.md.
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
name: Feature request
|
|
2
|
+
description: Suggest a new capability, API, or spec change for HyperMind.
|
|
3
|
+
title: "[feature] <short summary>"
|
|
4
|
+
labels: ["enhancement", "needs-design-review"]
|
|
5
|
+
body:
|
|
6
|
+
- type: markdown
|
|
7
|
+
attributes:
|
|
8
|
+
value: |
|
|
9
|
+
Thanks for proposing an improvement to HyperMind. Substantive proposals
|
|
10
|
+
— especially those touching the wire format, cryptography, dispute
|
|
11
|
+
FSM, or capability model — will go through a design-review cycle
|
|
12
|
+
before implementation.
|
|
13
|
+
|
|
14
|
+
- type: textarea
|
|
15
|
+
id: problem
|
|
16
|
+
attributes:
|
|
17
|
+
label: Problem statement
|
|
18
|
+
description: What problem are you trying to solve? Who is affected, and
|
|
19
|
+
what is the cost of the status quo?
|
|
20
|
+
validations:
|
|
21
|
+
required: true
|
|
22
|
+
|
|
23
|
+
- type: textarea
|
|
24
|
+
id: proposed
|
|
25
|
+
attributes:
|
|
26
|
+
label: Proposed solution
|
|
27
|
+
description: Describe the change you'd like to see. API sketches,
|
|
28
|
+
wire-format diffs, and pseudocode are very welcome.
|
|
29
|
+
validations:
|
|
30
|
+
required: true
|
|
31
|
+
|
|
32
|
+
- type: textarea
|
|
33
|
+
id: alternatives
|
|
34
|
+
attributes:
|
|
35
|
+
label: Alternatives considered
|
|
36
|
+
description: What other approaches did you weigh? Why did you discard them?
|
|
37
|
+
validations:
|
|
38
|
+
required: false
|
|
39
|
+
|
|
40
|
+
- type: dropdown
|
|
41
|
+
id: contribution
|
|
42
|
+
attributes:
|
|
43
|
+
label: Willingness to contribute
|
|
44
|
+
options:
|
|
45
|
+
- "I'll PR"
|
|
46
|
+
- "I'd help review"
|
|
47
|
+
- "Just suggesting"
|
|
48
|
+
validations:
|
|
49
|
+
required: true
|
|
50
|
+
|
|
51
|
+
- type: dropdown
|
|
52
|
+
id: area
|
|
53
|
+
attributes:
|
|
54
|
+
label: Spec / code area
|
|
55
|
+
multiple: true
|
|
56
|
+
options:
|
|
57
|
+
- wire
|
|
58
|
+
- crypto
|
|
59
|
+
- dispute
|
|
60
|
+
- capability
|
|
61
|
+
- transport
|
|
62
|
+
- agent
|
|
63
|
+
- observability
|
|
64
|
+
- mcp
|
|
65
|
+
- cli
|
|
66
|
+
- docs
|
|
67
|
+
- ci
|
|
68
|
+
- other
|
|
69
|
+
validations:
|
|
70
|
+
required: true
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Pull Request
|
|
2
|
+
|
|
3
|
+
<!--
|
|
4
|
+
Thanks for contributing to HyperMind. Please fill out every section below.
|
|
5
|
+
PRs that skip the checklist will be sent back for revisions.
|
|
6
|
+
-->
|
|
7
|
+
|
|
8
|
+
## Summary
|
|
9
|
+
|
|
10
|
+
<!-- 2-3 sentences: what does this PR do, and why? Focus on the "why". -->
|
|
11
|
+
|
|
12
|
+
## Type of change
|
|
13
|
+
|
|
14
|
+
- [ ] Bug fix
|
|
15
|
+
- [ ] New feature
|
|
16
|
+
- [ ] Breaking change
|
|
17
|
+
- [ ] Documentation
|
|
18
|
+
- [ ] Refactor
|
|
19
|
+
- [ ] Security
|
|
20
|
+
- [ ] Performance
|
|
21
|
+
|
|
22
|
+
## Spec / code area
|
|
23
|
+
|
|
24
|
+
- [ ] wire
|
|
25
|
+
- [ ] crypto
|
|
26
|
+
- [ ] dispute
|
|
27
|
+
- [ ] capability
|
|
28
|
+
- [ ] transport
|
|
29
|
+
- [ ] agent
|
|
30
|
+
- [ ] observability
|
|
31
|
+
- [ ] mcp
|
|
32
|
+
- [ ] cli
|
|
33
|
+
- [ ] docs
|
|
34
|
+
- [ ] ci
|
|
35
|
+
|
|
36
|
+
## Checklist
|
|
37
|
+
|
|
38
|
+
<!-- Mirrors CONTRIBUTING.md. All boxes must be ticked before merge. -->
|
|
39
|
+
|
|
40
|
+
- [ ] Tests added/updated
|
|
41
|
+
- [ ] Coverage ≥97% (≥99% line, ≥95% branch by v1.0)
|
|
42
|
+
- [ ] No regressions: `pytest tests/test_self_heal_cycle1.py tests/test_self_heal_cycle2.py` passes
|
|
43
|
+
- [ ] Demos in `examples/` still run
|
|
44
|
+
- [ ] Docs updated if public API changed
|
|
45
|
+
- [ ] CHANGELOG entry added under `[Unreleased]`
|
|
46
|
+
- [ ] DCO `Signed-off-by:` trailer on every commit
|
|
47
|
+
- [ ] Security tag applied if touching `wire.py`, `crypto/`, `capability.py`, `dispute.py`, or `knowledge/transparency.py`
|
|
48
|
+
|
|
49
|
+
## Issue references
|
|
50
|
+
|
|
51
|
+
<!-- e.g. Closes #123, Refs #456 -->
|
|
52
|
+
|
|
53
|
+
Closes #
|
|
54
|
+
Refs #
|
|
55
|
+
|
|
56
|
+
## Notes for reviewers
|
|
57
|
+
|
|
58
|
+
<!--
|
|
59
|
+
Anything reviewers should pay special attention to:
|
|
60
|
+
- Tricky logic
|
|
61
|
+
- Deliberate trade-offs
|
|
62
|
+
- Areas where you'd like extra scrutiny
|
|
63
|
+
- Follow-up work intentionally left out of this PR
|
|
64
|
+
-->
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
name: License Compatibility Check
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
types: [opened, synchronize, reopened]
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
pull-requests: write
|
|
9
|
+
contents: read
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
check-license:
|
|
13
|
+
uses: ZySec-AI/.github/.github/workflows/_reusable-check-license.yml@develop
|
|
14
|
+
secrets: inherit
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
name: Code Review (PR)
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
types: [opened, synchronize, reopened, ready_for_review]
|
|
6
|
+
branches: [develop]
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
pull-requests: write
|
|
11
|
+
issues: write
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
review:
|
|
15
|
+
if: |
|
|
16
|
+
!contains(github.event.pull_request.labels.*.name, 'bot-skip') &&
|
|
17
|
+
github.event.pull_request.draft == false
|
|
18
|
+
uses: ZySec-AI/.github/.github/workflows/_reusable-code-review.yml@develop
|
|
19
|
+
secrets:
|
|
20
|
+
LLM_PROVIDER: ${{ secrets.LLM_PROVIDER }}
|
|
21
|
+
LLM_API_KEY: ${{ secrets.LLM_API_KEY }}
|
|
22
|
+
LLM_BASE_URL: ${{ secrets.LLM_BASE_URL }}
|
|
23
|
+
LLM_MODEL: ${{ secrets.LLM_MODEL }}
|
|
24
|
+
ORG_ADMIN_TOKEN: ${{ secrets.ORG_ADMIN_TOKEN }}
|
|
25
|
+
with:
|
|
26
|
+
mode: pr-review
|
|
27
|
+
fail_on: NEVER
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
name: Security (Hotfix Fast-Path)
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
branches: [release]
|
|
6
|
+
types: [opened, synchronize, reopened]
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
security-events: write
|
|
11
|
+
actions: read
|
|
12
|
+
pull-requests: write
|
|
13
|
+
|
|
14
|
+
jobs:
|
|
15
|
+
fast-security:
|
|
16
|
+
name: Fast Security Gate (hotfix)
|
|
17
|
+
if: contains(github.event.pull_request.labels.*.name, 'hotfix')
|
|
18
|
+
uses: ZySec-AI/.github/.github/workflows/_reusable-security.yml@develop
|
|
19
|
+
with:
|
|
20
|
+
auto_detect: true
|
|
21
|
+
fast-mode: true
|
|
22
|
+
secrets: inherit
|
|
23
|
+
|
|
24
|
+
full-security:
|
|
25
|
+
name: Full Security Gate (non-hotfix)
|
|
26
|
+
if: "!contains(github.event.pull_request.labels.*.name, 'hotfix')"
|
|
27
|
+
uses: ZySec-AI/.github/.github/workflows/_reusable-security.yml@develop
|
|
28
|
+
with:
|
|
29
|
+
auto_detect: true
|
|
30
|
+
fast-mode: false
|
|
31
|
+
secrets: inherit
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
name: Issue Auto-Fix
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
issues:
|
|
5
|
+
types: [labeled]
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
contents: write
|
|
9
|
+
issues: write
|
|
10
|
+
pull-requests: write
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
fix:
|
|
14
|
+
if: github.event.label.name == 'bot-fix-please'
|
|
15
|
+
uses: ZySec-AI/.github/.github/workflows/_reusable-code-review.yml@develop
|
|
16
|
+
secrets:
|
|
17
|
+
LLM_PROVIDER: ${{ secrets.LLM_PROVIDER }}
|
|
18
|
+
LLM_API_KEY: ${{ secrets.LLM_API_KEY }}
|
|
19
|
+
LLM_BASE_URL: ${{ secrets.LLM_BASE_URL }}
|
|
20
|
+
LLM_MODEL: ${{ secrets.LLM_MODEL }}
|
|
21
|
+
ORG_ADMIN_TOKEN: ${{ secrets.ORG_ADMIN_TOKEN }}
|
|
22
|
+
with:
|
|
23
|
+
mode: issue-fix
|
|
24
|
+
fail_on: NEVER
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
name: Issue Triage
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
issues:
|
|
5
|
+
types: [opened, reopened]
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
contents: read
|
|
9
|
+
issues: write
|
|
10
|
+
pull-requests: write
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
triage:
|
|
14
|
+
if: |
|
|
15
|
+
!contains(github.event.issue.labels.*.name, 'bot-skip') &&
|
|
16
|
+
!contains(github.event.issue.labels.*.name, 'bot-reviewed')
|
|
17
|
+
uses: ZySec-AI/.github/.github/workflows/_reusable-code-review.yml@develop
|
|
18
|
+
secrets:
|
|
19
|
+
LLM_PROVIDER: ${{ secrets.LLM_PROVIDER }}
|
|
20
|
+
LLM_API_KEY: ${{ secrets.LLM_API_KEY }}
|
|
21
|
+
LLM_BASE_URL: ${{ secrets.LLM_BASE_URL }}
|
|
22
|
+
LLM_MODEL: ${{ secrets.LLM_MODEL }}
|
|
23
|
+
ORG_ADMIN_TOKEN: ${{ secrets.ORG_ADMIN_TOKEN }}
|
|
24
|
+
with:
|
|
25
|
+
mode: issue-triage
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
name: PR Standards
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
types: [opened, edited, synchronize, labeled, unlabeled, ready_for_review]
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
pull-requests: write
|
|
9
|
+
issues: write
|
|
10
|
+
contents: read
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
validate:
|
|
14
|
+
uses: ZySec-AI/.github/.github/workflows/_reusable-pr-standards.yml@develop
|
|
15
|
+
secrets:
|
|
16
|
+
ORG_ADMIN_TOKEN: ${{ secrets.ORG_ADMIN_TOKEN }}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
name: Quality Gates
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [develop, stage, release]
|
|
6
|
+
paths-ignore:
|
|
7
|
+
- '**.md'
|
|
8
|
+
- 'docs/**'
|
|
9
|
+
- 'LICENSE'
|
|
10
|
+
- '.gitignore'
|
|
11
|
+
pull_request:
|
|
12
|
+
branches: [develop, stage, release]
|
|
13
|
+
paths-ignore:
|
|
14
|
+
- '**.md'
|
|
15
|
+
- 'docs/**'
|
|
16
|
+
- 'LICENSE'
|
|
17
|
+
- '.gitignore'
|
|
18
|
+
workflow_dispatch:
|
|
19
|
+
|
|
20
|
+
permissions:
|
|
21
|
+
contents: read
|
|
22
|
+
|
|
23
|
+
jobs:
|
|
24
|
+
gates:
|
|
25
|
+
uses: ZySec-AI/.github/.github/workflows/_reusable-quality.yml@develop
|
|
26
|
+
secrets: inherit
|
|
27
|
+
with:
|
|
28
|
+
auto_detect: true
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
name: release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- 'release' # bare release branch (must descend from develop)
|
|
7
|
+
- 'release/**' # release/v0.1.0a1, release/v0.2.0, etc.
|
|
8
|
+
tags:
|
|
9
|
+
- 'v*' # v0.1.0a1, v0.2.0, ... (canonical release)
|
|
10
|
+
workflow_dispatch: # manual trigger from the Actions tab
|
|
11
|
+
|
|
12
|
+
permissions:
|
|
13
|
+
contents: read
|
|
14
|
+
id-token: write # REQUIRED for PyPI trusted publishing (OIDC) + Sigstore cosign
|
|
15
|
+
attestations: write # REQUIRED for GitHub attestations (PEP 740)
|
|
16
|
+
|
|
17
|
+
concurrency:
|
|
18
|
+
group: release-${{ github.ref }}
|
|
19
|
+
cancel-in-progress: false
|
|
20
|
+
|
|
21
|
+
jobs:
|
|
22
|
+
guard-source-branch:
|
|
23
|
+
name: guard — release ref must descend from develop
|
|
24
|
+
runs-on: ubuntu-latest
|
|
25
|
+
steps:
|
|
26
|
+
- name: checkout (full history needed for ancestry check)
|
|
27
|
+
uses: actions/checkout@v4
|
|
28
|
+
with:
|
|
29
|
+
fetch-depth: 0
|
|
30
|
+
- name: ensure release ref is reachable from origin/develop
|
|
31
|
+
run: |
|
|
32
|
+
set -euo pipefail
|
|
33
|
+
git fetch --no-tags origin develop:refs/remotes/origin/develop
|
|
34
|
+
REF="${{ github.sha }}"
|
|
35
|
+
if git merge-base --is-ancestor "$REF" origin/develop; then
|
|
36
|
+
echo "✓ ${REF} is an ancestor of origin/develop — release pipeline may proceed"
|
|
37
|
+
else
|
|
38
|
+
echo "✗ ${REF} is NOT reachable from origin/develop."
|
|
39
|
+
echo ""
|
|
40
|
+
echo " Releases MUST be cut from a commit that has been merged into develop."
|
|
41
|
+
echo " Direct pushes to release/** branches or tags from feature/main branches"
|
|
42
|
+
echo " are blocked. Open a PR into develop first, then create the release branch"
|
|
43
|
+
echo " or tag from the merged develop HEAD."
|
|
44
|
+
exit 1
|
|
45
|
+
fi
|
|
46
|
+
|
|
47
|
+
test:
|
|
48
|
+
name: test (py${{ matrix.python }})
|
|
49
|
+
needs: guard-source-branch
|
|
50
|
+
runs-on: ubuntu-latest
|
|
51
|
+
strategy:
|
|
52
|
+
fail-fast: true
|
|
53
|
+
matrix:
|
|
54
|
+
python: ['3.11', '3.12', '3.13']
|
|
55
|
+
steps:
|
|
56
|
+
- uses: actions/checkout@v4
|
|
57
|
+
- uses: actions/setup-python@v5
|
|
58
|
+
with:
|
|
59
|
+
python-version: ${{ matrix.python }}
|
|
60
|
+
cache: pip
|
|
61
|
+
- run: python -m pip install --upgrade pip
|
|
62
|
+
- run: pip install -e .[test] quantcrypt pymerkle
|
|
63
|
+
- run: pytest --cov=src/hypermind --cov=src/hmctl --cov-fail-under=78 -q
|
|
64
|
+
|
|
65
|
+
build:
|
|
66
|
+
name: build sdist + wheel
|
|
67
|
+
runs-on: ubuntu-latest
|
|
68
|
+
needs: test
|
|
69
|
+
steps:
|
|
70
|
+
- uses: actions/checkout@v4
|
|
71
|
+
- uses: actions/setup-python@v5
|
|
72
|
+
with:
|
|
73
|
+
python-version: '3.12'
|
|
74
|
+
- run: python -m pip install --upgrade pip build
|
|
75
|
+
- run: python -m build # produces dist/*.tar.gz + dist/*.whl
|
|
76
|
+
- run: python -m pip install twine && twine check dist/*
|
|
77
|
+
- uses: actions/upload-artifact@v4
|
|
78
|
+
with:
|
|
79
|
+
name: dist
|
|
80
|
+
path: dist/
|
|
81
|
+
retention-days: 7
|
|
82
|
+
|
|
83
|
+
# ---------------------------------------------------------------------------
|
|
84
|
+
# SLSA L3 provenance — runs in parallel with cosign signing.
|
|
85
|
+
# The slsa-github-generator reusable workflow runs the build in an isolated
|
|
86
|
+
# environment and generates a signed SLSA provenance attestation. Pinned to
|
|
87
|
+
# v1.10.0 by tag (SHA-pinning via Renovate is the recommended next step).
|
|
88
|
+
# ---------------------------------------------------------------------------
|
|
89
|
+
slsa-provenance:
|
|
90
|
+
name: SLSA L3 provenance
|
|
91
|
+
needs: build
|
|
92
|
+
# Only generate provenance on version tags (not release/* branches).
|
|
93
|
+
if: startsWith(github.ref, 'refs/tags/v')
|
|
94
|
+
permissions:
|
|
95
|
+
id-token: write
|
|
96
|
+
contents: write
|
|
97
|
+
actions: read # required by slsa-github-generator
|
|
98
|
+
uses: slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@v1.10.0
|
|
99
|
+
with:
|
|
100
|
+
base64-subjects: "" # populated automatically from the dist artifact
|
|
101
|
+
upload-assets: true # attach .intoto.jsonl to the GitHub release
|
|
102
|
+
|
|
103
|
+
cosign:
|
|
104
|
+
name: cosign keyless sign
|
|
105
|
+
runs-on: ubuntu-latest
|
|
106
|
+
needs: build
|
|
107
|
+
# Only sign on version tags — signing release/* branches is unnecessary noise.
|
|
108
|
+
if: startsWith(github.ref, 'refs/tags/v')
|
|
109
|
+
permissions:
|
|
110
|
+
id-token: write # OIDC token for Sigstore Fulcio
|
|
111
|
+
contents: read
|
|
112
|
+
steps:
|
|
113
|
+
- uses: actions/checkout@v4
|
|
114
|
+
|
|
115
|
+
- name: Download dist artifacts
|
|
116
|
+
uses: actions/download-artifact@v4
|
|
117
|
+
with:
|
|
118
|
+
name: dist
|
|
119
|
+
path: dist/
|
|
120
|
+
|
|
121
|
+
- name: Install cosign
|
|
122
|
+
uses: sigstore/cosign-installer@v3
|
|
123
|
+
|
|
124
|
+
- name: Sign dist artifacts (keyless OIDC)
|
|
125
|
+
# cosign sign-blob uses the GitHub Actions OIDC token to obtain a
|
|
126
|
+
# short-lived Sigstore Fulcio certificate and writes the signature +
|
|
127
|
+
# certificate to a .sigstore bundle alongside each artifact.
|
|
128
|
+
# --yes suppresses the interactive consent prompt in CI.
|
|
129
|
+
run: |
|
|
130
|
+
set -euo pipefail
|
|
131
|
+
for f in dist/*.whl dist/*.tar.gz; do
|
|
132
|
+
echo "Signing ${f} ..."
|
|
133
|
+
cosign sign-blob --yes \
|
|
134
|
+
--bundle "${f}.bundle" \
|
|
135
|
+
"${f}"
|
|
136
|
+
done
|
|
137
|
+
|
|
138
|
+
- name: Upload .bundle files as artifact
|
|
139
|
+
uses: actions/upload-artifact@v4
|
|
140
|
+
with:
|
|
141
|
+
name: sigstore-bundles
|
|
142
|
+
path: dist/*.bundle
|
|
143
|
+
retention-days: 30
|
|
144
|
+
|
|
145
|
+
publish-pypi:
|
|
146
|
+
name: publish → PyPI (prod)
|
|
147
|
+
runs-on: ubuntu-latest
|
|
148
|
+
needs: [build]
|
|
149
|
+
# Prod only on a tag — release branches go to TestPyPI only.
|
|
150
|
+
if: startsWith(github.ref, 'refs/tags/v')
|
|
151
|
+
environment:
|
|
152
|
+
name: pypi
|
|
153
|
+
url: https://pypi.org/p/hypermind
|
|
154
|
+
permissions:
|
|
155
|
+
id-token: write # OIDC trusted publishing — no API key required
|
|
156
|
+
attestations: write # PEP 740 attestations attached to each PyPI artefact
|
|
157
|
+
steps:
|
|
158
|
+
- uses: actions/download-artifact@v4
|
|
159
|
+
with:
|
|
160
|
+
name: dist
|
|
161
|
+
path: dist/
|
|
162
|
+
- uses: pypa/gh-action-pypi-publish@release/v1
|
|
163
|
+
with:
|
|
164
|
+
attestations: true # PEP 740 — signed SLSA provenance per PyPI artefact
|
|
165
|
+
|
|
166
|
+
# ---------------------------------------------------------------------------
|
|
167
|
+
# GitHub Release — runs last, after signing and provenance are complete.
|
|
168
|
+
# Attaches: dist/*.whl, dist/*.tar.gz, *.bundle (Sigstore), *.intoto.jsonl
|
|
169
|
+
# (SLSA provenance uploaded by slsa-github-generator via upload-assets: true).
|
|
170
|
+
# ---------------------------------------------------------------------------
|
|
171
|
+
github-release:
|
|
172
|
+
name: GitHub release
|
|
173
|
+
runs-on: ubuntu-latest
|
|
174
|
+
needs: [cosign, publish-pypi, slsa-provenance]
|
|
175
|
+
if: startsWith(github.ref, 'refs/tags/v')
|
|
176
|
+
permissions:
|
|
177
|
+
contents: write # create release + upload assets
|
|
178
|
+
steps:
|
|
179
|
+
- uses: actions/checkout@v4
|
|
180
|
+
|
|
181
|
+
- name: Download dist artifacts
|
|
182
|
+
uses: actions/download-artifact@v4
|
|
183
|
+
with:
|
|
184
|
+
name: dist
|
|
185
|
+
path: dist/
|
|
186
|
+
|
|
187
|
+
- name: Download Sigstore bundles
|
|
188
|
+
uses: actions/download-artifact@v4
|
|
189
|
+
with:
|
|
190
|
+
name: sigstore-bundles
|
|
191
|
+
path: dist/
|
|
192
|
+
|
|
193
|
+
- name: Create GitHub release and upload assets
|
|
194
|
+
env:
|
|
195
|
+
GH_TOKEN: ${{ github.token }}
|
|
196
|
+
run: |
|
|
197
|
+
set -euo pipefail
|
|
198
|
+
TAG="${{ github.ref_name }}"
|
|
199
|
+
|
|
200
|
+
# Build asset list: wheels, sdists, and their .bundle files.
|
|
201
|
+
ASSETS=()
|
|
202
|
+
for f in dist/*.whl dist/*.tar.gz dist/*.bundle; do
|
|
203
|
+
[[ -f "$f" ]] && ASSETS+=("$f")
|
|
204
|
+
done
|
|
205
|
+
|
|
206
|
+
gh release create "${TAG}" \
|
|
207
|
+
--title "HyperMind ${TAG}" \
|
|
208
|
+
--generate-notes \
|
|
209
|
+
"${ASSETS[@]}"
|