Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
5e78d63
fix: planet finder review fixes + add microlensing detection pipeline
claude Mar 14, 2026
02aab34
fix: correct metadata field_id type to u16, register microlensing exa…
claude Mar 14, 2026
3990748
feat: add exomoon detection via graph cut / MRF optimization
claude Mar 14, 2026
c5abb54
refine: improve exomoon graph cut pipeline detection quality
claude Mar 14, 2026
6e7121c
feat: add real microlensing, medical imaging, and genomic graph cut p…
claude Mar 14, 2026
d08e344
refine: streamline medical and genomic graph cut examples
claude Mar 14, 2026
299482e
feat: optimize graph-cut pipelines, add supply chain anomaly detection
claude Mar 14, 2026
ea4e8b7
feat: add fintech, cybersecurity, and climate graph-cut examples
claude Mar 14, 2026
8ddd07d
fix: finalize climate_graphcut.rs from background agent
claude Mar 14, 2026
5981e31
feat: benchmark-driven optimization, missing dashboard components, AD…
claude Mar 15, 2026
3649b7d
fix: XSS sanitization, sort comparator, iterative cut refinement
claude Mar 15, 2026
34ca956
docs: ADR-040 sub-splits and real_microlensing doc cleanup
claude Mar 15, 2026
1dc7779
refactor: trim ADR-040 to 493 lines, enhance real_microlensing adapter
claude Mar 15, 2026
0d4d149
feat: Kepler's 3rd law, seeded orbits, log BLS grid, multi-duration s…
claude Mar 15, 2026
c009ec5
docs: update ADR-040/040b with recent enhancements
claude Mar 15, 2026
777c132
feat: QAOA quantum graph-cut solver via ruQu
claude Mar 15, 2026
8fc7b88
feat: real-data discovery pipeline across 3 public datasets
claude Mar 15, 2026
ad713fc
feat: deep discovery analyses + brain MCP training integration
claude Mar 15, 2026
771167f
feat: add brain training and status scripts for pi.ruv.io
claude Mar 15, 2026
3223c96
feat: ADR-093 daily discovery brain training + cloudbuild config
claude Mar 15, 2026
7bac3b2
feat: discovery data from 4 domains + trainer Dockerfile
claude Mar 15, 2026
430fdee
feat: update ADR-093 + add deploy_trainer.sh for Cloud Run scheduling
claude Mar 15, 2026
773adb5
feat: brain trainer core module + auth fix — 56 discoveries ingested
claude Mar 15, 2026
b9d63f4
fix: resolve compilation errors across workspace
claude Mar 15, 2026
7777201
feat: ADR-094 π.ruv.io shared web memory platform + implementation
claude Mar 15, 2026
f2244e1
fix: deep review of ADR-094 web memory — no stubs, all capabilities v…
claude Mar 15, 2026
eb26125
feat: PubMed discovery pipeline for π.ruv.io shared web memory
claude Mar 15, 2026
19ceeb2
docs: ADR-095 — π.ruv.io API v2 full capability surface
claude Mar 15, 2026
f6ed8fe
feat: add 4 new data sources to brain trainer
claude Mar 15, 2026
8a8a1b7
feat: discover ↔ train feedback loop with live API discovery
claude Mar 15, 2026
834b19f
feat: 15-agent concurrent discovery swarm with 12 new data sources
claude Mar 15, 2026
6590dde
feat: expand discovery swarm to 25+ domains with 200+ new entries
claude Mar 15, 2026
2054d95
feat: ETL pipeline with sublinear ForwardPush PPR for cross-domain di…
claude Mar 15, 2026
f4bd11b
feat: 691 discoveries, 50 cross-domain correlations via per-node PPR
claude Mar 16, 2026
4bed104
feat: cross-domain geopolitical correlations and swarm manifest from …
claude Mar 16, 2026
d1906ea
feat: Google Cloud infrastructure for brain pipeline and optimization
claude Mar 16, 2026
991ac9c
docs: ADR-096 cloud-native pipeline, real-time injection & Common Cra…
claude Mar 16, 2026
fb0dff5
feat: cloud-native data pipeline with real-time injection and optimiz…
claude Mar 16, 2026
40e8909
feat: Middle East causal analysis — 37-layer model, 63-node network, …
claude Mar 16, 2026
d08c8ed
fix: remove unused TokenCache from pipeline module
claude Mar 16, 2026
9421ab0
refactor: simplify pipeline.rs — reduce boilerplate and improve reada…
claude Mar 16, 2026
42bb7e3
feat: interactive training orchestrator for brain discovery pipeline
claude Mar 16, 2026
20a9a24
update: training orchestrator with improved PII stripping and color o…
claude Mar 16, 2026
8a82653
feat: 10 exotic frontier discovery datasets — 233 entries across 10 d…
claude Mar 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,7 @@ members = [
"crates/ruvix/tests",
"crates/ruvix/benches",
"crates/ruvix/examples/cognitive_demo",
"examples/train-discoveries",
]
resolver = "2"

Expand Down
1 change: 1 addition & 0 deletions crates/mcp-brain-server/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions crates/mcp-brain-server/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -71,3 +71,6 @@ nanosecond-scheduler = "0.1"
temporal-attractor-studio = "0.1"
temporal-neural-solver = "0.1"
strange-loop = "0.3"

# ndarray — required for temporal-neural-solver Array1 interop (ADR-094)
ndarray = "0.15"
79 changes: 79 additions & 0 deletions crates/mcp-brain-server/Dockerfile.trainer
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# Multi-stage build for brain trainer job
# Runs daily to discover and train the π.ruv.io brain
# Created by rUv — altruistic knowledge enrichment
FROM rustlang/rust:nightly-bookworm AS builder

WORKDIR /app

RUN apt-get update && apt-get install -y --no-install-recommends \
pkg-config \
libssl-dev \
&& rm -rf /var/lib/apt/lists/*

# Copy workspace (same as main brain server build)
COPY crates/mcp-brain-server/Cargo.workspace.toml ./Cargo.toml
COPY Cargo.lock ./

COPY crates/mcp-brain-server ./crates/mcp-brain-server
COPY crates/mcp-brain ./crates/mcp-brain
COPY crates/sona ./crates/sona
COPY crates/ruvector-mincut ./crates/ruvector-mincut
COPY crates/ruvector-nervous-system ./crates/ruvector-nervous-system
COPY crates/ruvector-domain-expansion ./crates/ruvector-domain-expansion
COPY crates/ruvector-delta-core ./crates/ruvector-delta-core
COPY crates/ruvector-solver ./crates/ruvector-solver
COPY crates/ruvllm ./crates/ruvllm
COPY crates/ruvector-core ./crates/ruvector-core
COPY crates/rvf ./crates/rvf
COPY patches ./patches

# Same build fixes as main Dockerfile
RUN sed -i '/ruvector-graph\s*=/d' crates/ruvector-mincut/Cargo.toml && \
sed -i '/integration\s*=\s*\[/d' crates/ruvector-mincut/Cargo.toml && \
sed -i 's/"integration",\s*//g' crates/ruvector-mincut/Cargo.toml && \
sed -i '/\[\[example\]\]/,/^$/d' crates/ruvector-mincut/Cargo.toml && \
sed -i '/\[\[bench\]\]/,/^$/d' crates/ruvector-mincut/Cargo.toml && \
sed -i '/ruvector-graph\s*=/d' crates/ruvllm/Cargo.toml && \
sed -i '/ruvector-attention\s*=/d' crates/ruvllm/Cargo.toml && \
sed -i '/ruvector-gnn\s*=/d' crates/ruvllm/Cargo.toml && \
sed -i '/ruvector-full\s*=/d' crates/ruvllm/Cargo.toml && \
sed -i '/graph\s*=\s*\[/d' crates/ruvllm/Cargo.toml && \
sed -i '/attention\s*=\s*\[/d' crates/ruvllm/Cargo.toml && \
sed -i '/gnn\s*=\s*\[/d' crates/ruvllm/Cargo.toml && \
sed -i '/\[\[example\]\]/,/^$/d' crates/ruvllm/Cargo.toml && \
sed -i '/\[\[bench\]\]/,/^$/d' crates/ruvllm/Cargo.toml && \
sed -i '/\[\[example\]\]/,/^$/d' crates/ruvector-core/Cargo.toml && \
sed -i '/\[\[bench\]\]/,/^$/d' crates/ruvector-core/Cargo.toml && \
sed -i '/\[\[example\]\]/,/^$/d' crates/ruvector-solver/Cargo.toml && \
sed -i '/\[\[bench\]\]/,/^$/d' crates/ruvector-solver/Cargo.toml && \
sed -i '/\[\[example\]\]/,/^$/d' crates/ruvector-nervous-system/Cargo.toml && \
sed -i '/\[\[bench\]\]/,/^$/d' crates/ruvector-nervous-system/Cargo.toml && \
sed -i '/\[\[example\]\]/,/^$/d' crates/ruvector-domain-expansion/Cargo.toml && \
sed -i '/\[\[bench\]\]/,/^$/d' crates/ruvector-domain-expansion/Cargo.toml && \
sed -i '/\[\[example\]\]/,/^$/d' crates/ruvector-delta-core/Cargo.toml && \
sed -i '/\[\[bench\]\]/,/^$/d' crates/ruvector-delta-core/Cargo.toml && \
find crates/rvf -name "Cargo.toml" -exec sed -i '/\[\[example\]\]/,/^$/d' {} \; && \
find crates/rvf -name "Cargo.toml" -exec sed -i '/\[\[bench\]\]/,/^$/d' {} \; && \
find crates/sona -name "Cargo.toml" -exec sed -i '/\[\[example\]\]/,/^$/d' {} \; && \
find crates/sona -name "Cargo.toml" -exec sed -i '/\[\[bench\]\]/,/^$/d' {} \; && \
find crates/rvf -name "Cargo.toml" -exec sed -i 's/rust-version = "1.87"/rust-version = "1.85"/g' {} \; && \
sed -i 's/.is_multiple_of(\([^)]*\))/ % \1 == 0/g' crates/rvf/rvf-wire/src/delta.rs && \
find crates/rvf -name "*.rs" -exec sed -i 's/.is_multiple_of(\([^)]*\))/ % \1 == 0/g' {} \; && \
sed -i 's/features = \["storage", "hnsw", "parallel", "simd"\]/features = ["storage", "hnsw", "parallel"]/g' crates/ruvllm/Cargo.toml && \
sed -i 's/pub mod simd_intrinsics;/\/\/ pub mod simd_intrinsics;/g' crates/ruvector-core/src/lib.rs && \
sed -i 's/pub mod pi_quant_simd;/\/\/ pub mod pi_quant_simd;/g' crates/ruvllm/src/quantize/mod.rs

RUN cargo build --release -p mcp-brain-server --bin brain-trainer

FROM debian:bookworm-slim

RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*

COPY --from=builder /app/target/release/brain-trainer /usr/local/bin/brain-trainer

ENV RUST_LOG=info
ENV BRAIN_URL=https://pi.ruv.io

CMD ["brain-trainer"]
53 changes: 53 additions & 0 deletions crates/mcp-brain-server/cloud/deploy-all.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#!/usr/bin/env bash
# Full deployment: build + deploy Cloud Run + setup Pub/Sub + deploy Scheduler
# Usage: ./deploy-all.sh [PROJECT_ID]

set -euo pipefail

PROJECT_ID="${1:-ruv-dev}"
REGION="us-central1"
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
ROOT_DIR="$(cd "$SCRIPT_DIR/../../.." && pwd)"

echo "=== RuVector Brain Full Deployment ==="
echo "Project: $PROJECT_ID"
echo "Region: $REGION"
echo ""

# Step 1: Build container
echo "--- Step 1: Building container ---"
cd "$ROOT_DIR"
gcloud builds submit \
--config=crates/mcp-brain-server/cloudbuild.yaml \
--project="$PROJECT_ID" .

# Step 2: Deploy to Cloud Run
echo "--- Step 2: Deploying to Cloud Run ---"
gcloud run deploy ruvbrain \
--image="gcr.io/${PROJECT_ID}/ruvbrain:latest" \
--region="$REGION" \
--project="$PROJECT_ID" \
--platform=managed \
--memory=2Gi \
--cpu=2 \
--min-instances=1 \
--max-instances=10 \
--timeout=300 \
--concurrency=80 \
--set-env-vars="RUST_LOG=info,GWT_ENABLED=true,TEMPORAL_ENABLED=true,META_LEARNING_ENABLED=true,SONA_ENABLED=true" \
--allow-unauthenticated

# Step 3: Setup Pub/Sub
echo "--- Step 3: Setting up Pub/Sub ---"
bash "$SCRIPT_DIR/setup-pubsub.sh" "$PROJECT_ID"

# Step 4: Deploy Scheduler
echo "--- Step 4: Deploying Scheduler ---"
bash "$SCRIPT_DIR/deploy-scheduler.sh" "$PROJECT_ID"

echo ""
echo "=== Deployment Complete ==="
echo "Service URL: https://pi.ruv.io"
echo "Health: curl https://pi.ruv.io/v1/health"
echo "Status: curl -H 'Authorization: Bearer ruvector-swarm' https://pi.ruv.io/v1/status"
echo "Pipeline: curl -H 'Authorization: Bearer ruvector-swarm' https://pi.ruv.io/v1/pipeline/metrics"
89 changes: 89 additions & 0 deletions crates/mcp-brain-server/cloud/deploy-scheduler.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
#!/usr/bin/env bash
# Deploy Cloud Scheduler jobs for brain optimization
# Usage: ./deploy-scheduler.sh [PROJECT_ID]

set -euo pipefail

PROJECT_ID="${1:-ruv-dev}"
REGION="us-central1"
SERVICE_URL="https://pi.ruv.io"
SA_EMAIL="ruvbrain-scheduler@${PROJECT_ID}.iam.gserviceaccount.com"

echo "Deploying Cloud Scheduler jobs for brain optimization"

deploy_job() {
local name="$1"
local schedule="$2"
local description="$3"
local body="$4"

echo " Deploying: $name ($schedule)"

gcloud scheduler jobs delete "$name" \
--project="$PROJECT_ID" \
--location="$REGION" \
--quiet 2>/dev/null || true

gcloud scheduler jobs create http "$name" \
--project="$PROJECT_ID" \
--location="$REGION" \
--schedule="$schedule" \
--time-zone="UTC" \
--description="$description" \
--uri="${SERVICE_URL}/v1/pipeline/optimize" \
--http-method=POST \
--message-body="$body" \
--headers="Content-Type=application/json,Authorization=Bearer ruvector-swarm" \
--oidc-service-account-email="$SA_EMAIL" \
--max-retry-attempts=3 \
--min-backoff="5s" \
--max-backoff="60s"
}

# Training - every 5 minutes
deploy_job "brain-train" \
"*/5 * * * *" \
"SONA training cycle" \
'{"actions":["train"]}'

# Drift monitoring - every 15 minutes
deploy_job "brain-drift" \
"*/15 * * * *" \
"Embedding drift check" \
'{"actions":["drift_check"]}'

# Domain transfer - every 30 minutes
deploy_job "brain-transfer" \
"*/30 * * * *" \
"Cross-domain knowledge transfer" \
'{"actions":["transfer_all"]}'

# Graph rebalance - hourly
deploy_job "brain-graph" \
"0 * * * *" \
"Graph CSR + MinCut rebuild" \
'{"actions":["rebuild_graph"]}'

# Attractor analysis - every 20 minutes
deploy_job "brain-attractor" \
"*/20 * * * *" \
"Lyapunov attractor analysis" \
'{"actions":["attractor_analysis"]}'

# Full sweep - daily 3 AM UTC
deploy_job "brain-full-optimize" \
"0 3 * * *" \
"Complete daily optimization" \
'{"actions":["train","drift_check","transfer_all","rebuild_graph","cleanup","attractor_analysis"]}'

# Cleanup - daily 4 AM UTC
deploy_job "brain-cleanup" \
"0 4 * * *" \
"Low-quality memory pruning" \
'{"actions":["cleanup"]}'

echo ""
echo "=== Scheduler Jobs Deployed ==="
gcloud scheduler jobs list --project="$PROJECT_ID" --location="$REGION" --filter="name:brain-"
echo ""
echo "Manual trigger: gcloud scheduler jobs run brain-train --project=$PROJECT_ID --location=$REGION"
Loading
Loading