--repo CaspianG/wavemind --dir state/production-evidence-downloads",
"ingest_command": "wavemind ingest-production-evidence --artifact-dir state/production-evidence-downloads --refresh",
"strict_validation_command": "python benchmarks/production_evidence_gate.py --output benchmarks/production_evidence_results.json --markdown-output benchmarks/PRODUCTION_EVIDENCE.md --strict",
"post_ingest_refresh_command": "python benchmarks/strict_evidence_readiness_report.py --output benchmarks/strict_evidence_readiness_results.json --markdown-output benchmarks/STRICT_EVIDENCE_READINESS.md",
- "ready_for_safe_dispatch": false,
- "can_auto_run_now": false,
- "next_action": "Provision the listed environment, run the command, then promote the result artifact through the ingest gate.",
- "blocker_category": "missing_env"
+ "ready_for_safe_dispatch": true,
+ "can_auto_run_now": true,
+ "next_action": "Run the safe dispatch command now, download the resulting artifact, ingest it, then rerun strict validation.",
+ "blocker_category": "missing_artifact"
},
{
"id": "faiss_ivfpq_50m",
diff --git a/docs/benchmark-dashboard.html b/docs/benchmark-dashboard.html
index f22bdde..4e4dc1d 100644
--- a/docs/benchmark-dashboard.html
+++ b/docs/benchmark-dashboard.html
@@ -90,7 +90,7 @@ Visual Summary
Cluster Autoscale
Cluster evidence: shard placement, autoscale planning, Kubernetes operator reconciliation, rebalance safety, active-active convergence, CRDT field state, and the deterministic 100M capacity envelope.
| Status | pass |
|---|
| Gate checks | 62/62 |
|---|
| Simulated memories | 1000000 |
|---|
| Namespaces | 4096 |
|---|
| Autoscale target | 10000000 |
|---|
| Required nodes | 50 |
|---|
| Operator replicas | 34 |
|---|
| 100M capacity nodes | 128 |
|---|
| 100M capacity zones | 8 |
|---|
| Recommended max replicas | 192 |
|---|
Read the cluster autoscale report
- Strict Evidence Readiness
Operator runbook for the remaining remote, 10M, 50M, and 100M evidence gaps: safe dispatch commands, missing environment, promotion steps, strict validation, and locked claims.
Blockers: complete: 4, missing_env: 4
| Report status | pass |
|---|
| Readiness | action_required |
|---|
| Claim status | claims_limited |
|---|
| Requirements | 8 |
|---|
| Action required | 4 |
|---|
| Safe dispatch ready | 0 |
|---|
| Can auto-run now | 0 |
|---|
| Planned target memories | 180000000 |
|---|
Read the strict evidence readiness runbook
+ Strict Evidence Readiness
Operator runbook for the remaining remote, 10M, 50M, and 100M evidence gaps: safe dispatch commands, missing environment, promotion steps, strict validation, and locked claims.
Blockers: complete: 4, missing_artifact: 1, missing_env: 3
| Report status | pass |
|---|
| Readiness | action_required |
|---|
| Claim status | claims_limited |
|---|
| Requirements | 8 |
|---|
| Action required | 4 |
|---|
| Safe dispatch ready | 1 |
|---|
| Can auto-run now | 1 |
|---|
| Planned target memories | 180000000 |
|---|
Read the strict evidence readiness runbook
Benchmark Leaderboard
diff --git a/docs/data/leaderboard-status.json b/docs/data/leaderboard-status.json
index 1294b4e..9c6ef70 100644
--- a/docs/data/leaderboard-status.json
+++ b/docs/data/leaderboard-status.json
@@ -1,6 +1,6 @@
{
"schema": "wavemind.leaderboard_status.v1",
- "generated_at": "2026-07-11T20:18:09Z",
+ "generated_at": "2026-07-11T20:56:13Z",
"source_ref": "d0e3446be447",
"workflow_run_id": null,
"refresh_profile": "local",
@@ -39,7 +39,7 @@
"freshness_gate": {
"schema": "wavemind.leaderboard_freshness.v1",
"status": "pass",
- "checked_at": "2026-07-11T20:18:09Z",
+ "checked_at": "2026-07-11T20:56:13Z",
"max_age_days": 8.0,
"source_count": 32,
"fresh_count": 32,
@@ -56,14 +56,14 @@
"schema": "wavemind.benchmark_matrix.v1",
"timestamp_key": "generated_at",
"timestamp": "2026-07-11T19:56:03Z",
- "age_days": 0.015347222222222222,
+ "age_days": 0.04178240740740741,
"status": "pass"
},
{
"path": "benchmarks/benchmark_artifact_audit.json",
"schema": "wavemind.benchmark_artifact_audit.v1",
"timestamp_key": "checked_at",
- "timestamp": "2026-07-11T20:18:09Z",
+ "timestamp": "2026-07-11T20:56:13Z",
"age_days": 0.0,
"status": "pass"
},
@@ -72,7 +72,7 @@
"schema": "wavemind.production_readiness.v1",
"timestamp_key": "generated_at",
"timestamp": "2026-07-11T20:18:10Z",
- "age_days": 0.0,
+ "age_days": 0.02642361111111111,
"status": "pass"
},
{
@@ -80,15 +80,15 @@
"schema": "wavemind.production_evidence.v1",
"timestamp_key": "generated_at",
"timestamp": "2026-07-11T19:56:06Z",
- "age_days": 0.0153125,
+ "age_days": 0.041747685185185186,
"status": "pass"
},
{
"path": "benchmarks/production_evidence_preflight_results.json",
"schema": "wavemind.production_evidence_preflight.v1",
"timestamp_key": "generated_at",
- "timestamp": "2026-07-11T19:56:07Z",
- "age_days": 0.015300925925925926,
+ "timestamp": "2026-07-11T20:54:43Z",
+ "age_days": 0.0010416666666666667,
"status": "pass"
},
{
@@ -96,15 +96,15 @@
"schema": "wavemind.production_evidence_env_contract.v1",
"timestamp_key": "generated_at",
"timestamp": "2026-07-11T19:47:54Z",
- "age_days": 0.021006944444444446,
+ "age_days": 0.04744212962962963,
"status": "pass"
},
{
"path": "benchmarks/production_evidence_bundle_results.json",
"schema": "wavemind.production_evidence_bundle.v1",
"timestamp_key": "generated_at",
- "timestamp": "2026-07-11T20:18:11Z",
- "age_days": 0.0,
+ "timestamp": "2026-07-11T20:56:03Z",
+ "age_days": 0.00011574074074074075,
"status": "pass"
},
{
@@ -112,7 +112,7 @@
"schema": "wavemind.release_claims.v1",
"timestamp_key": "generated_at",
"timestamp": "2026-07-11T19:56:09Z",
- "age_days": 0.015277777777777777,
+ "age_days": 0.041712962962962966,
"status": "pass"
},
{
@@ -120,15 +120,15 @@
"schema": "wavemind.scale_gap.v1",
"timestamp_key": "generated_at",
"timestamp": "2026-07-11T19:56:10Z",
- "age_days": 0.015266203703703704,
+ "age_days": 0.04170138888888889,
"status": "pass"
},
{
"path": "benchmarks/strict_evidence_readiness_results.json",
"schema": "wavemind.strict_evidence_readiness.v1",
"timestamp_key": "generated_at",
- "timestamp": "2026-07-11T19:56:10Z",
- "age_days": 0.015266203703703704,
+ "timestamp": "2026-07-11T20:57:54Z",
+ "age_days": 0.0,
"status": "pass"
},
{
@@ -136,7 +136,7 @@
"schema": "wavemind.cluster_admission.v1",
"timestamp_key": "generated_at",
"timestamp": "2026-07-11T20:01:43Z",
- "age_days": 0.011412037037037037,
+ "age_days": 0.03784722222222222,
"status": "pass"
},
{
@@ -144,7 +144,7 @@
"schema": "wavemind.active_active_admission.v1",
"timestamp_key": "generated_at",
"timestamp": "2026-07-09T10:20:56Z",
- "age_days": 2.4147337962962965,
+ "age_days": 2.4411689814814816,
"status": "pass"
},
{
@@ -152,7 +152,7 @@
"schema": "wavemind.serverless_admission.v1",
"timestamp_key": "generated_at",
"timestamp": "2026-07-09T10:20:56Z",
- "age_days": 2.4147337962962965,
+ "age_days": 2.4411689814814816,
"status": "pass"
},
{
@@ -160,7 +160,7 @@
"schema": "wavemind.multimodal_admission.v1",
"timestamp_key": "generated_at",
"timestamp": "2026-07-09T12:56:09Z",
- "age_days": 2.3069444444444445,
+ "age_days": 2.3333796296296296,
"status": "pass"
},
{
@@ -168,7 +168,7 @@
"schema": "wavemind.memory_os_admission.v1",
"timestamp_key": "generated_at",
"timestamp": "2026-07-09T00:40:28Z",
- "age_days": 2.817835648148148,
+ "age_days": 2.8442708333333333,
"status": "pass"
},
{
@@ -176,7 +176,7 @@
"schema": "wavemind.memory_os_canary.v1",
"timestamp_key": "generated_at",
"timestamp": "2026-07-09T01:06:28Z",
- "age_days": 2.7997800925925924,
+ "age_days": 2.8262152777777776,
"status": "pass"
},
{
@@ -184,7 +184,7 @@
"schema": "wavemind.memory_os_policy_evolution.v1",
"timestamp_key": "generated_at",
"timestamp": "2026-07-09T13:44:41Z",
- "age_days": 2.2732407407407407,
+ "age_days": 2.299675925925926,
"status": "pass"
},
{
@@ -192,15 +192,15 @@
"schema": "wavemind.memory_os_policy_bundle.v1",
"timestamp_key": "generated_at",
"timestamp": "2026-07-09T19:29:13Z",
- "age_days": 2.0339814814814816,
+ "age_days": 2.060416666666667,
"status": "pass"
},
{
"path": "benchmarks/production_evidence_dispatch_results.json",
"schema": "wavemind.production_evidence_dispatch.v1",
"timestamp_key": "generated_at",
- "timestamp": "2026-07-11T19:56:07Z",
- "age_days": 0.015300925925925926,
+ "timestamp": "2026-07-11T20:56:02Z",
+ "age_days": 0.0001273148148148148,
"status": "pass"
},
{
@@ -208,7 +208,7 @@
"schema": "wavemind.production_scale_run_plan.v1",
"timestamp_key": "generated_at",
"timestamp": "2026-07-11T19:47:53Z",
- "age_days": 0.02101851851851852,
+ "age_days": 0.047453703703703706,
"status": "pass"
},
{
@@ -216,7 +216,7 @@
"schema": "wavemind.agent_coherence_benchmark.v1",
"timestamp_key": "generated_at",
"timestamp": "2026-07-08T17:24:13Z",
- "age_days": 3.120787037037037,
+ "age_days": 3.147222222222222,
"status": "pass"
},
{
@@ -224,7 +224,7 @@
"schema": "wavemind.agent_impact_leaderboard.v1",
"timestamp_key": "generated_at",
"timestamp": "2026-07-11T19:56:03Z",
- "age_days": 0.015347222222222222,
+ "age_days": 0.04178240740740741,
"status": "pass"
},
{
@@ -232,7 +232,7 @@
"schema": "wavemind.structured_memory_report.v1",
"timestamp_key": "generated_at",
"timestamp": "2026-07-09T22:45:10Z",
- "age_days": 1.8979050925925927,
+ "age_days": 1.9243402777777778,
"status": "pass"
},
{
@@ -240,7 +240,7 @@
"schema": "wavemind.memory_os_intelligence_report.v1",
"timestamp_key": "generated_at",
"timestamp": "2026-07-09T22:45:10Z",
- "age_days": 1.8979050925925927,
+ "age_days": 1.9243402777777778,
"status": "pass"
},
{
@@ -248,7 +248,7 @@
"schema": "wavemind.cluster_autoscale_report.v1",
"timestamp_key": "generated_at",
"timestamp": "2026-07-09T22:45:10Z",
- "age_days": 1.8979050925925927,
+ "age_days": 1.9243402777777778,
"status": "pass"
},
{
@@ -256,7 +256,7 @@
"schema": "wavemind.kubernetes_operator_smoke.v1",
"timestamp_key": "generated_at",
"timestamp": "2026-07-11T19:49:12.785845Z",
- "age_days": 0.020095071238425924,
+ "age_days": 0.04653025642361111,
"status": "pass"
},
{
@@ -264,7 +264,7 @@
"schema": "wavemind.kubernetes_cluster_network_smoke.v1",
"timestamp_key": "generated_at",
"timestamp": "2026-07-11T19:49:34.107653+00:00",
- "age_days": 0.01984829105324074,
+ "age_days": 0.04628347623842593,
"status": "pass"
},
{
@@ -272,7 +272,7 @@
"schema": "wavemind.kubernetes_active_active_region_smoke.v1",
"timestamp_key": "generated_at",
"timestamp": "2026-07-11T19:50:19.980112+00:00",
- "age_days": 0.019317359814814816,
+ "age_days": 0.045752545,
"status": "pass"
},
{
@@ -280,7 +280,7 @@
"schema": "wavemind.kubernetes_serverless_lifecycle_smoke.v1",
"timestamp_key": "generated_at",
"timestamp": "2026-07-11T19:52:02.978556+00:00",
- "age_days": 0.018125248194444443,
+ "age_days": 0.04456043337962963,
"status": "pass"
},
{
@@ -288,7 +288,7 @@
"schema": "wavemind.kubernetes_postgres_qdrant_dr_smoke.v1",
"timestamp_key": "generated_at",
"timestamp": "2026-07-11T19:52:28.621094+00:00",
- "age_days": 0.017828459560185184,
+ "age_days": 0.04426364474537037,
"status": "pass"
},
{
@@ -296,7 +296,7 @@
"schema": "wavemind.scale_readiness_benchmark.v1",
"timestamp_key": "generated_at",
"timestamp": "2026-07-09T22:45:10Z",
- "age_days": 1.8979050925925927,
+ "age_days": 1.9243402777777778,
"status": "pass"
},
{
@@ -304,7 +304,7 @@
"schema": "wavemind.cost_efficiency_leaderboard.v1",
"timestamp_key": "generated_at",
"timestamp": "2026-07-11T19:56:03Z",
- "age_days": 0.015347222222222222,
+ "age_days": 0.04178240740740741,
"status": "pass"
}
]
@@ -340,8 +340,8 @@
"artifact_audit": {
"schema": "wavemind.benchmark_artifact_audit.v1",
"status": "pass",
- "checked_at": "2026-07-11T20:18:09Z",
- "age_days": 0.015353437488425926,
+ "checked_at": "2026-07-11T20:56:13Z",
+ "age_days": 0.04178398337962963,
"max_age_days": 8.0,
"errors": []
},
@@ -939,7 +939,7 @@
"strict_pass_count": 4,
"strict_total_requirements": 8,
"preflight_overall_status": "action_required",
- "preflight_ready_count": 0,
+ "preflight_ready_count": 1,
"preflight_total_checks": 8,
"production_readiness_status": "pass",
"production_readiness_score": 1.0,
@@ -1118,8 +1118,8 @@
"overall_status": "action_required",
"summary": {
"overall_status": "action_required",
- "ready_count": 0,
- "action_required_count": 8,
+ "ready_count": 1,
+ "action_required_count": 7,
"total_checks": 8
}
},
@@ -1164,8 +1164,8 @@
"summary": {
"overall_status": "action_required",
"total_jobs": 8,
- "ready_to_dispatch_count": 0,
- "blocked_by_preflight_count": 4,
+ "ready_to_dispatch_count": 1,
+ "blocked_by_preflight_count": 3,
"complete_count": 4,
"commit_results_default": false,
"runner_label": "self-hosted-large",
@@ -1176,8 +1176,9 @@
"service-scale-10m": 3
},
"status_counts": {
- "blocked_by_preflight": 4,
- "complete": 4
+ "blocked_by_preflight": 3,
+ "complete": 4,
+ "ready_to_dispatch": 1
}
},
"jobs": [
@@ -1433,11 +1434,11 @@
{
"id": "pgvector_10m_service",
"title": "10M pgvector service load",
- "status": "blocked_by_preflight",
+ "status": "ready_to_dispatch",
"dispatch_required": true,
- "ready": false,
+ "ready": true,
"strict_status": "action_required",
- "preflight_status": "action_required",
+ "preflight_status": "ready",
"wave": "service-scale-10m",
"workflow": "production-streaming-load.yml",
"artifact": "benchmarks/production_streaming_load_pgvector_10m_results.json",
@@ -1455,27 +1456,24 @@
"replicas": "3",
"autoscaling_max_replicas": "24",
"capacity_headroom": "0.7",
- "runner_label": "self-hosted-large",
+ "runner_label": "ubuntu-latest",
"runner_storage_root": "state/production-runs",
"commit_results": false,
- "pgvector_dsns": "$WAVEMIND_PGVECTOR_DSNS"
+ "provision_pgvector_shards": true,
+ "pgvector_shard_count": "4"
},
- "input_bindings": {
- "pgvector_dsns": "$WAVEMIND_PGVECTOR_DSNS"
- },
- "required_env": [
- "WAVEMIND_PGVECTOR_DSNS"
- ],
- "missing_env": [
- "WAVEMIND_PGVECTOR_DSNS"
- ],
+ "input_bindings": {},
+ "required_env": [],
+ "missing_env": [],
"required_secrets": [],
"issues": [
- "set WAVEMIND_PGVECTOR_DSNS"
+ "missing artifact"
],
- "warnings": [],
- "safe_launch_command": "gh workflow run production-streaming-load.yml -f engine=\"pgvector-service\" -f size=\"10000000\" -f dim=\"128\" -f queries=\"2000\" -f top_k=\"10\" -f batch_size=\"5000\" -f target_recall=\"0.95\" -f target_p99_ms=\"100.0\" -f target_qps=\"100.0\" -f replicas=\"3\" -f autoscaling_max_replicas=\"24\" -f capacity_headroom=\"0.7\" -f runner_label=\"self-hosted-large\" -f runner_storage_root=\"state/production-runs\" -f commit_results=\"false\" -f pgvector_dsns=\"$WAVEMIND_PGVECTOR_DSNS\"",
- "publish_launch_command": "gh workflow run production-streaming-load.yml -f engine=\"pgvector-service\" -f size=\"10000000\" -f dim=\"128\" -f queries=\"2000\" -f top_k=\"10\" -f batch_size=\"5000\" -f target_recall=\"0.95\" -f target_p99_ms=\"100.0\" -f target_qps=\"100.0\" -f replicas=\"3\" -f autoscaling_max_replicas=\"24\" -f capacity_headroom=\"0.7\" -f runner_label=\"self-hosted-large\" -f runner_storage_root=\"state/production-runs\" -f commit_results=\"true\" -f pgvector_dsns=\"$WAVEMIND_PGVECTOR_DSNS\"",
+ "warnings": [
+ "Ephemeral isolated service processes prove the 10M candidate-index SLO, not PostgreSQL HA or independent-node failure tolerance."
+ ],
+ "safe_launch_command": "gh workflow run production-streaming-load.yml -f engine=\"pgvector-service\" -f size=\"10000000\" -f dim=\"128\" -f queries=\"2000\" -f top_k=\"10\" -f batch_size=\"5000\" -f target_recall=\"0.95\" -f target_p99_ms=\"100.0\" -f target_qps=\"100.0\" -f replicas=\"3\" -f autoscaling_max_replicas=\"24\" -f capacity_headroom=\"0.7\" -f runner_label=\"ubuntu-latest\" -f runner_storage_root=\"state/production-runs\" -f commit_results=\"false\" -f provision_pgvector_shards=\"true\" -f pgvector_shard_count=\"4\"",
+ "publish_launch_command": "gh workflow run production-streaming-load.yml -f engine=\"pgvector-service\" -f size=\"10000000\" -f dim=\"128\" -f queries=\"2000\" -f top_k=\"10\" -f batch_size=\"5000\" -f target_recall=\"0.95\" -f target_p99_ms=\"100.0\" -f target_qps=\"100.0\" -f replicas=\"3\" -f autoscaling_max_replicas=\"24\" -f capacity_headroom=\"0.7\" -f runner_label=\"ubuntu-latest\" -f runner_storage_root=\"state/production-runs\" -f commit_results=\"true\" -f provision_pgvector_shards=\"true\" -f pgvector_shard_count=\"4\"",
"download_command": "gh run download --repo CaspianG/wavemind --dir state/production-evidence-downloads",
"ingest_command": "wavemind ingest-production-evidence --artifact-dir state/production-evidence-downloads --refresh"
},
@@ -1851,19 +1849,21 @@
"total_requirements": 8,
"action_required_count": 4,
"complete_count": 4,
- "ready_for_safe_dispatch_count": 0,
- "can_auto_run_now_count": 0,
+ "ready_for_safe_dispatch_count": 1,
+ "can_auto_run_now_count": 1,
"target_memories_total": 180000000,
"check_counts": {
"pass": 8
},
"dispatch_status_counts": {
- "blocked_by_preflight": 4,
- "complete": 4
+ "blocked_by_preflight": 3,
+ "complete": 4,
+ "ready_to_dispatch": 1
},
"blocker_counts": {
"complete": 4,
- "missing_env": 4
+ "missing_artifact": 1,
+ "missing_env": 3
}
},
"checks": [
@@ -2141,8 +2141,8 @@
"id": "pgvector_10m_service",
"title": "10M pgvector service load",
"strict_status": "action_required",
- "preflight_status": "action_required",
- "dispatch_status": "blocked_by_preflight",
+ "preflight_status": "ready",
+ "dispatch_status": "ready_to_dispatch",
"scale_gap_status": "blocked_by_env",
"workflow": "production-streaming-load.yml",
"wave": "service-scale-10m",
@@ -2155,28 +2155,26 @@
"target_recall_at_k": 0.95,
"target_p99_ms": 100.0,
"target_qps": 100.0,
- "required_env": [
- "WAVEMIND_PGVECTOR_DSNS"
- ],
- "missing_env": [
- "WAVEMIND_PGVECTOR_DSNS"
- ],
+ "required_env": [],
+ "missing_env": [],
"required_secrets": [],
"issues": [
- "set WAVEMIND_PGVECTOR_DSNS"
+ "missing artifact"
+ ],
+ "warnings": [
+ "Ephemeral isolated service processes prove the 10M candidate-index SLO, not PostgreSQL HA or independent-node failure tolerance."
],
- "warnings": [],
"local_profile_command": "python benchmarks/production_streaming_load_benchmark.py --sizes 10000000 --dim 128 --queries 2000 --top-k 10 --batch-size 5000 --engines pgvector-service --target-recall 0.95 --target-p99-ms 100.0 --target-qps 100.0 --replicas 3 --autoscaling-max-replicas 24 --capacity-headroom 0.7 --memory-payload-kb 2.0 --vector-dtype-bytes 4 --output benchmarks/production_streaming_load_pgvector_10m_results.json --checkpoint-path state/production-runs/pgvector-service-10000000.checkpoint.json",
- "safe_dispatch_command": "gh workflow run production-streaming-load.yml -f engine=\"pgvector-service\" -f size=\"10000000\" -f dim=\"128\" -f queries=\"2000\" -f top_k=\"10\" -f batch_size=\"5000\" -f target_recall=\"0.95\" -f target_p99_ms=\"100.0\" -f target_qps=\"100.0\" -f replicas=\"3\" -f autoscaling_max_replicas=\"24\" -f capacity_headroom=\"0.7\" -f runner_label=\"self-hosted-large\" -f runner_storage_root=\"state/production-runs\" -f commit_results=\"false\" -f pgvector_dsns=\"$WAVEMIND_PGVECTOR_DSNS\"",
- "publish_dispatch_command": "gh workflow run production-streaming-load.yml -f engine=\"pgvector-service\" -f size=\"10000000\" -f dim=\"128\" -f queries=\"2000\" -f top_k=\"10\" -f batch_size=\"5000\" -f target_recall=\"0.95\" -f target_p99_ms=\"100.0\" -f target_qps=\"100.0\" -f replicas=\"3\" -f autoscaling_max_replicas=\"24\" -f capacity_headroom=\"0.7\" -f runner_label=\"self-hosted-large\" -f runner_storage_root=\"state/production-runs\" -f commit_results=\"true\" -f pgvector_dsns=\"$WAVEMIND_PGVECTOR_DSNS\"",
+ "safe_dispatch_command": "gh workflow run production-streaming-load.yml -f engine=\"pgvector-service\" -f size=\"10000000\" -f dim=\"128\" -f queries=\"2000\" -f top_k=\"10\" -f batch_size=\"5000\" -f target_recall=\"0.95\" -f target_p99_ms=\"100.0\" -f target_qps=\"100.0\" -f replicas=\"3\" -f autoscaling_max_replicas=\"24\" -f capacity_headroom=\"0.7\" -f runner_label=\"ubuntu-latest\" -f runner_storage_root=\"state/production-runs\" -f commit_results=\"false\" -f provision_pgvector_shards=\"true\" -f pgvector_shard_count=\"4\"",
+ "publish_dispatch_command": "gh workflow run production-streaming-load.yml -f engine=\"pgvector-service\" -f size=\"10000000\" -f dim=\"128\" -f queries=\"2000\" -f top_k=\"10\" -f batch_size=\"5000\" -f target_recall=\"0.95\" -f target_p99_ms=\"100.0\" -f target_qps=\"100.0\" -f replicas=\"3\" -f autoscaling_max_replicas=\"24\" -f capacity_headroom=\"0.7\" -f runner_label=\"ubuntu-latest\" -f runner_storage_root=\"state/production-runs\" -f commit_results=\"true\" -f provision_pgvector_shards=\"true\" -f pgvector_shard_count=\"4\"",
"download_command": "gh run download --repo CaspianG/wavemind --dir state/production-evidence-downloads",
"ingest_command": "wavemind ingest-production-evidence --artifact-dir state/production-evidence-downloads --refresh",
"strict_validation_command": "python benchmarks/production_evidence_gate.py --output benchmarks/production_evidence_results.json --markdown-output benchmarks/PRODUCTION_EVIDENCE.md --strict",
"post_ingest_refresh_command": "python benchmarks/strict_evidence_readiness_report.py --output benchmarks/strict_evidence_readiness_results.json --markdown-output benchmarks/STRICT_EVIDENCE_READINESS.md",
- "ready_for_safe_dispatch": false,
- "can_auto_run_now": false,
- "next_action": "Provision the listed environment, run the command, then promote the result artifact through the ingest gate.",
- "blocker_category": "missing_env"
+ "ready_for_safe_dispatch": true,
+ "can_auto_run_now": true,
+ "next_action": "Run the safe dispatch command now, download the resulting artifact, ingest it, then rerun strict validation.",
+ "blocker_category": "missing_artifact"
},
{
"id": "faiss_ivfpq_50m",
diff --git a/tests/test_leaderboard_status.py b/tests/test_leaderboard_status.py
index 0e3c2d4..fbb60a6 100644
--- a/tests/test_leaderboard_status.py
+++ b/tests/test_leaderboard_status.py
@@ -343,7 +343,7 @@ def test_leaderboard_status_renderer_writes_public_contract(tmp_path):
assert payload["strict_evidence_readiness"]["summary"]["target_memories_total"] == (
180_000_000
)
- assert payload["strict_evidence_readiness"]["summary"]["can_auto_run_now_count"] == 0
+ assert payload["strict_evidence_readiness"]["summary"]["can_auto_run_now_count"] == 1
assert payload["strict_evidence_readiness"]["summary"]["check_counts"] == {"pass": 8}
assert any(
row["id"] == "hundred_million_remote_load"
diff --git a/tests/test_production_evidence_dispatch.py b/tests/test_production_evidence_dispatch.py
index 88a35a7..3210212 100644
--- a/tests/test_production_evidence_dispatch.py
+++ b/tests/test_production_evidence_dispatch.py
@@ -52,8 +52,8 @@ def test_dispatch_plan_reports_blocked_jobs_without_remote_prerequisites():
assert payload["schema"] == "wavemind.production_evidence_dispatch.v1"
assert payload["overall_status"] == "action_required"
assert payload["summary"]["total_jobs"] == 8
- assert payload["summary"]["blocked_by_preflight_count"] == 4
- assert payload["summary"]["ready_to_dispatch_count"] == 0
+ assert payload["summary"]["blocked_by_preflight_count"] == 3
+ assert payload["summary"]["ready_to_dispatch_count"] == 1
assert payload["summary"]["complete_count"] == 4
by_id = {row["id"]: row for row in payload["jobs"]}
@@ -72,6 +72,7 @@ def test_dispatch_plan_reports_blocked_jobs_without_remote_prerequisites():
assert by_id["hundred_million_remote_load"]["workflow"] == (
"production-streaming-load.yml"
)
+ assert by_id["pgvector_10m_service"]["status"] == "ready_to_dispatch"
def test_dispatch_plan_becomes_ready_with_prerequisites_without_leaking_secret_values(
@@ -104,8 +105,10 @@ def test_dispatch_plan_becomes_ready_with_prerequisites_without_leaking_secret_v
assert qdrant["input_bindings"]["qdrant_url"] == "$WAVEMIND_QDRANT_URL"
assert qdrant["required_secrets"] == ["WAVEMIND_QDRANT_API_KEY"]
pgvector = by_id["pgvector_10m_service"]
- assert pgvector["inputs"]["pgvector_dsns"] == "$WAVEMIND_PGVECTOR_DSNS"
- assert pgvector["input_bindings"]["pgvector_dsns"] == "$WAVEMIND_PGVECTOR_DSNS"
+ assert pgvector["inputs"]["provision_pgvector_shards"] is True
+ assert pgvector["inputs"]["pgvector_shard_count"] == "4"
+ assert pgvector["inputs"]["runner_label"] == "ubuntu-latest"
+ assert "pgvector_dsns" not in pgvector["input_bindings"]
assert "pgvector_dsn" not in pgvector["inputs"]
diff --git a/tests/test_production_evidence_preflight.py b/tests/test_production_evidence_preflight.py
index 4dcd4b3..3404fae 100644
--- a/tests/test_production_evidence_preflight.py
+++ b/tests/test_production_evidence_preflight.py
@@ -53,6 +53,9 @@ def test_production_evidence_preflight_reports_missing_env():
assert by_id["external_http_cluster"]["status"] == "action_required"
assert "WAVEMIND_CLUSTER_NODES" in by_id["external_http_cluster"]["missing_env"]
assert by_id["qdrant_10m_service"]["missing_env"] == ["WAVEMIND_QDRANT_URL"]
+ assert by_id["pgvector_10m_service"]["status"] == "ready"
+ assert by_id["pgvector_10m_service"]["missing_env"] == []
+ assert "provision_pgvector_shards=true" in by_id["pgvector_10m_service"]["command"]
assert by_id["faiss_ivfpq_50m"]["missing_env"] == ["WAVEMIND_FAISS_IVFPQ_PATH"]
@@ -67,6 +70,7 @@ def test_production_evidence_preflight_can_be_ready_with_real_prerequisites(tmp_
by_id = {row["id"]: row for row in payload["checks"]}
assert by_id["external_http_active_active"]["missing_env"] == []
assert by_id["pgvector_10m_service"]["missing_env"] == []
+ assert "four-service pgvector topology" in by_id["pgvector_10m_service"]["evidence"]
assert "-f batch_query_size=24" in by_id["external_http_cluster"]["command"]
assert by_id["hundred_million_remote_load"]["ready"] is True
assert "production_streaming_load_qdrant_sharded_100m_results.json" in by_id[
diff --git a/tests/test_strict_evidence_readiness_report.py b/tests/test_strict_evidence_readiness_report.py
index 56757d2..82be6d8 100644
--- a/tests/test_strict_evidence_readiness_report.py
+++ b/tests/test_strict_evidence_readiness_report.py
@@ -22,8 +22,9 @@ def test_strict_evidence_readiness_joins_all_strict_requirements():
assert payload["summary"]["complete_count"] == 4
assert payload["summary"]["target_memories_total"] == 180_000_000
assert payload["summary"]["check_counts"] == {"pass": 8}
- assert payload["summary"]["can_auto_run_now_count"] == 0
- assert payload["summary"]["blocker_counts"]["missing_env"] == 4
+ assert payload["summary"]["can_auto_run_now_count"] == 1
+ assert payload["summary"]["blocker_counts"]["missing_env"] == 3
+ assert payload["summary"]["blocker_counts"]["missing_artifact"] == 1
assert payload["summary"]["blocker_counts"]["complete"] == 4
by_id = {row["id"]: row for row in payload["requirements"]}
@@ -60,6 +61,10 @@ def test_strict_evidence_readiness_joins_all_strict_requirements():
assert qdrant_100m["locked_claim"] == "10M-100M service-backed production scale"
assert '-f size="100000000"' in qdrant_100m["safe_dispatch_command"]
assert qdrant_100m["can_auto_run_now"] is False
+ pgvector_10m = by_id["pgvector_10m_service"]
+ assert pgvector_10m["can_auto_run_now"] is True
+ assert pgvector_10m["missing_env"] == []
+ assert "Run the safe dispatch command now" in pgvector_10m["next_action"]
serialized = json.dumps(payload, sort_keys=True)
assert "ghp_" not in serialized
diff --git a/wavemind/production_evidence.py b/wavemind/production_evidence.py
index 7abcf7b..f78d5e4 100644
--- a/wavemind/production_evidence.py
+++ b/wavemind/production_evidence.py
@@ -1208,6 +1208,55 @@ def _large_run_preflight(
)
+def _managed_pgvector_preflight(root: Path) -> EvidencePreflightCheck:
+ plan_artifact = "benchmarks/production_streaming_load_pgvector_10m_plan.json"
+ output_artifact = "benchmarks/production_streaming_load_pgvector_10m_results.json"
+ workflow_path = root / ".github" / "workflows" / "production-streaming-load.yml"
+ plan = _first_plan(root, plan_artifact)
+ workflow = workflow_path.read_text(encoding="utf-8") if workflow_path.exists() else ""
+ issues: list[str] = []
+ if not plan:
+ issues.append(f"missing plan artifact {plan_artifact}")
+ for token in (
+ "provision_pgvector_shards",
+ "pgvector_shard_count",
+ "github-hosted-isolated-service-processes",
+ "pgvector/pgvector:pg16",
+ ):
+ if token not in workflow:
+ issues.append(f"production streaming workflow is missing {token}")
+
+ command = (
+ "gh workflow run production-streaming-load.yml --ref main "
+ "-f engine=pgvector-service -f size=10000000 -f dim=128 "
+ "-f queries=2000 -f top_k=10 -f batch_size=5000 "
+ "-f target_recall=0.95 -f target_p99_ms=100 -f target_qps=100 "
+ "-f replicas=3 -f autoscaling_max_replicas=24 "
+ "-f capacity_headroom=0.7 -f runner_label=ubuntu-latest "
+ "-f provision_pgvector_shards=true -f pgvector_shard_count=4 "
+ "-f runner_storage_root=state -f commit_results=true"
+ )
+ return EvidencePreflightCheck(
+ id="pgvector_10m_service",
+ title="10M pgvector service load preflight",
+ status=_preflight_status(issues),
+ ready=not issues,
+ evidence=(
+ "workflow-provisioned four-service pgvector topology; external DSNs optional; "
+ f"plan {plan_artifact}"
+ ),
+ required_env=(),
+ missing_env=(),
+ command=command,
+ output_artifact=output_artifact,
+ issues=tuple(dict.fromkeys(issues)),
+ warnings=(
+ "Ephemeral isolated service processes prove the 10M candidate-index SLO, "
+ "not PostgreSQL HA or independent-node failure tolerance.",
+ ),
+ )
+
+
def evaluate_production_evidence_preflight(
root: Path = PROJECT_ROOT,
*,
@@ -1263,14 +1312,7 @@ def evaluate_production_evidence_preflight(
output_artifact="benchmarks/production_streaming_load_qdrant_sharded_10m_results.json",
env=environment,
),
- _large_run_preflight(
- root,
- check_id="pgvector_10m_service",
- title="10M pgvector service load preflight",
- plan_artifact="benchmarks/production_streaming_load_pgvector_10m_plan.json",
- output_artifact="benchmarks/production_streaming_load_pgvector_10m_results.json",
- env=environment,
- ),
+ _managed_pgvector_preflight(root),
_large_run_preflight(
root,
check_id="faiss_ivfpq_50m",
@@ -1542,19 +1584,23 @@ def _dispatch_config(
"required_secrets": ["WAVEMIND_QDRANT_API_KEYS"],
}
if requirement_id == "pgvector_10m_service":
+ inputs = _streaming_dispatch_inputs(
+ root,
+ plan_artifact="benchmarks/production_streaming_load_pgvector_10m_plan.json",
+ engine="pgvector-service",
+ size=10_000_000,
+ credential_input="pgvector_dsns",
+ credential_placeholder="$WAVEMIND_PGVECTOR_DSNS",
+ runner_label="ubuntu-latest",
+ commit_results=commit_results,
+ )
+ inputs.pop("pgvector_dsns", None)
+ inputs["provision_pgvector_shards"] = True
+ inputs["pgvector_shard_count"] = "4"
return {
"workflow": "production-streaming-load.yml",
"wave": "service-scale-10m",
- "inputs": _streaming_dispatch_inputs(
- root,
- plan_artifact="benchmarks/production_streaming_load_pgvector_10m_plan.json",
- engine="pgvector-service",
- size=10_000_000,
- credential_input="pgvector_dsns",
- credential_placeholder="$WAVEMIND_PGVECTOR_DSNS",
- runner_label=runner_label,
- commit_results=commit_results,
- ),
+ "inputs": inputs,
"required_secrets": [],
}
if requirement_id == "faiss_ivfpq_50m":
From c77632c6e314def44778cb6d24b3a349ca0b5613 Mon Sep 17 00:00:00 2001
From: CaspianG <259116618+CaspianG@users.noreply.github.com>
Date: Sun, 12 Jul 2026 05:25:27 +0300
Subject: [PATCH 18/19] Build sharded pgvector indexes concurrently
---
.../workflows/production-streaming-load.yml | 15 +++++++-
.../production_streaming_load_benchmark.py | 37 +++++++++++++++++--
tests/test_benchmark_workflow.py | 3 ++
3 files changed, 50 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/production-streaming-load.yml b/.github/workflows/production-streaming-load.yml
index 712a455..9e3d97d 100644
--- a/.github/workflows/production-streaming-load.yml
+++ b/.github/workflows/production-streaming-load.yml
@@ -210,7 +210,12 @@ jobs:
-c shared_buffers=512MB \
-c maintenance_work_mem=768MB \
-c effective_cache_size=2GB \
- -c max_parallel_maintenance_workers=2
+ -c max_parallel_maintenance_workers=1 \
+ -c max_wal_size=4GB \
+ -c min_wal_size=1GB \
+ -c checkpoint_timeout=30min \
+ -c checkpoint_completion_target=0.9 \
+ -c wal_compression=on
printf 'postgresql://postgres:wavemind-ci@127.0.0.1:%s/wavemind\n' "$port" \
>> pgvector-managed-dsns.txt
done
@@ -323,6 +328,10 @@ jobs:
env.setdefault("WAVEMIND_PGVECTOR_EF_SEARCH", "800")
env.setdefault("WAVEMIND_PGVECTOR_QUERY_ROUTING", "namespace")
env.setdefault("WAVEMIND_PGVECTOR_PREWARM_INDEX", "1")
+ if managed_shards:
+ env["WAVEMIND_PGVECTOR_INDEX_BUILD_WORKERS"] = os.environ[
+ "PGVECTOR_SHARD_COUNT"
+ ]
elif engine == "faiss-ivfpq-persisted":
value = os.environ.get("INPUT_FAISS_IVFPQ_PATH", "").strip()
env["WAVEMIND_FAISS_IVFPQ_PATH"] = value or str(runner_storage_root / f"faiss-ivfpq-{size}.faiss")
@@ -427,6 +436,10 @@ jobs:
)
if row.get("query_routing") != "namespace":
raise SystemExit("managed pgvector evidence must use namespace routing")
+ if int(row.get("index_build_workers", 0) or 0) != expected_shards:
+ raise SystemExit(
+ "managed pgvector evidence must build independent shard indexes in parallel"
+ )
if row.get("evidence_topology") != "github-hosted-isolated-service-processes":
raise SystemExit(
"managed pgvector evidence is missing its isolated-service topology attestation"
diff --git a/benchmarks/production_streaming_load_benchmark.py b/benchmarks/production_streaming_load_benchmark.py
index ddc3a94..40224c7 100644
--- a/benchmarks/production_streaming_load_benchmark.py
+++ b/benchmarks/production_streaming_load_benchmark.py
@@ -3079,9 +3079,17 @@ def _run_pgvector_sharded_streaming(
checkpoint_metadata["insert_mode"] = insert_mode
_write_checkpoint(checkpoint_path, checkpoint)
- index_present: list[bool] = []
- prewarm_blocks: list[int] = []
- for connection in connections:
+ index_build_workers = min(
+ shard_count,
+ _positive_int_env("WAVEMIND_PGVECTOR_INDEX_BUILD_WORKERS", 1),
+ )
+
+ def prepare_shard_index(item: tuple[int, Any]) -> tuple[bool, int]:
+ shard_index, connection = item
+ print(
+ f"pgvector shard {shard_index + 1}/{shard_count}: building {index_type} index",
+ flush=True,
+ )
if config["create_hnsw"]:
if index_type in {"hnsw", "hnsw-binary"}:
options = []
@@ -3130,10 +3138,30 @@ def _run_pgvector_sharded_streaming(
"SELECT pg_prewarm(%s, 'buffer')", (index_name,)
).fetchone()[0]
)
- prewarm_blocks.append(blocks)
+ print(
+ f"pgvector shard {shard_index + 1}/{shard_count}: index ready; "
+ f"prewarmed_blocks={blocks}",
+ flush=True,
+ )
+ return present, blocks
+
+ if index_build_workers == 1:
+ prepared_indexes = [
+ prepare_shard_index(item) for item in enumerate(connections)
+ ]
+ else:
+ with concurrent.futures.ThreadPoolExecutor(
+ max_workers=index_build_workers
+ ) as index_executor:
+ prepared_indexes = list(
+ index_executor.map(prepare_shard_index, enumerate(connections))
+ )
+ index_present = [present for present, _ in prepared_indexes]
+ prewarm_blocks = [blocks for _, blocks in prepared_indexes]
checkpoint_metadata["index_name"] = index_name
checkpoint_metadata["index_type"] = index_type
checkpoint_metadata["index_present"] = all(index_present)
+ checkpoint_metadata["index_build_workers"] = index_build_workers
_write_checkpoint(checkpoint_path, checkpoint)
wait_after_build_seconds = float(
@@ -3270,6 +3298,7 @@ def routed_search(
"prewarm_index": bool(config["prewarm_index"]),
"prewarm_blocks": sum(prewarm_blocks),
"prewarm_blocks_by_shard": prewarm_blocks,
+ "index_build_workers": index_build_workers,
"warmup_queries": warmup_queries,
"wait_after_build_seconds": wait_after_build_seconds,
"shard_count": shard_count,
diff --git a/tests/test_benchmark_workflow.py b/tests/test_benchmark_workflow.py
index d1c73de..0e1d4d2 100644
--- a/tests/test_benchmark_workflow.py
+++ b/tests/test_benchmark_workflow.py
@@ -250,11 +250,14 @@ def test_production_streaming_load_workflow_runs_checkpointed_large_n_profiles()
assert "Provision isolated pgvector services" in workflow
assert '"pgvector/pgvector:pg16"' in workflow
assert "--shm-size 1g" in workflow
+ assert "WAVEMIND_PGVECTOR_INDEX_BUILD_WORKERS" in workflow
+ assert "max_wal_size=4GB" in workflow
assert "pg_isready --username postgres --dbname wavemind" in workflow
assert "pgvector-managed-dsns.txt" in workflow
assert "github-hosted-isolated-service-processes" in workflow
assert "pgvector shard row counts do not prove an exact balanced layout" in workflow
assert "managed pgvector evidence must use namespace routing" in workflow
+ assert "build independent shard indexes in parallel" in workflow
assert "isolated-service topology attestation" in workflow
assert "Capture pgvector service diagnostics" in workflow
assert "WAVEMIND_FAISS_IVFPQ_PATH" in workflow
From 943328bb7cc146c6db2719aaac2d5afba94077b7 Mon Sep 17 00:00:00 2001
From: CaspianG <259116618+CaspianG@users.noreply.github.com>
Date: Sun, 12 Jul 2026 05:29:47 +0300
Subject: [PATCH 19/19] Fix concurrent pgvector index result collection
---
benchmarks/production_streaming_load_benchmark.py | 1 -
1 file changed, 1 deletion(-)
diff --git a/benchmarks/production_streaming_load_benchmark.py b/benchmarks/production_streaming_load_benchmark.py
index 40224c7..49b4fd1 100644
--- a/benchmarks/production_streaming_load_benchmark.py
+++ b/benchmarks/production_streaming_load_benchmark.py
@@ -3128,7 +3128,6 @@ def prepare_shard_index(item: tuple[int, Any]) -> tuple[bool, int]:
raise RuntimeError(
f"pgvector {index_type} index {index_name!r} is missing"
)
- index_present.append(present)
connection.execute(f"ANALYZE {table}")
blocks = 0
if config["prewarm_index"] and present: