HydraPipeline

AI Agent: Upstream

Automated validation of upstream (ingest) phases by an AI agent. Ensure $SERVER_RELEASE, $TOKEN, and $MODE are set from the foundation runbook.


Phase 1: Build

# From WSL2, invoke the Windows-side HydraUnrealEngine CLI
"/mnt/c/Program Files/HydraUnrealEngine/hydraunrealengine.exe" package \
  "<UE_PROJECT_PATH>" \
  --platform Win64 \
  --config Shipping \
  --output "C:\Temp\hydra-ai-validation\build"

Replace <UE_PROJECT_PATH> with the user-provided .uproject path.

Verification gate:

ls -la "/mnt/c/Temp/hydra-ai-validation/build/"

Rollback:

rm -rf "/mnt/c/Temp/hydra-ai-validation/build/"

Phase 2: Upload

CLI (preferred — works for both modes):

hydrarelease build submit \
  --server $SERVER_RELEASE \
  --project test-ai-experience \
  --uploaded-by ai-validation \
  --source manual \
  --source-ref ai-test \
  --token $TOKEN \
  "/mnt/c/Temp/hydra-ai-validation/build/experience.zip"

API (equivalent):

curl -sf -X POST "$SERVER_RELEASE/api/v1/builds" \
  -H "Authorization: Bearer $TOKEN" \
  -F "project=test-ai-experience" \
  -F "uploaded_by=ai-validation" \
  -F "source=manual" \
  -F "source_ref=ai-test" \
  -F "file=@/mnt/c/Temp/hydra-ai-validation/build/experience.zip"

Verification gate:

curl -sf "$SERVER_RELEASE/api/v1/projects/test-ai-experience/builds" \
  -H "Authorization: Bearer $TOKEN" | jq .

Must show at least one build with build_number: 1.

Rollback:

curl -sf -X DELETE "$SERVER_RELEASE/api/v1/projects/test-ai-experience/builds/1" \
  -H "Authorization: Bearer $TOKEN"

Phase 3: Promote

CLI (preferred):

hydrarelease release promote \
  --server $SERVER_RELEASE \
  --project test-ai-experience \
  --env staging \
  --build 1 \
  --version "0.1.0-test" \
  --notes "AI validation" \
  --token $TOKEN

API (equivalent):

curl -sf -X POST "$SERVER_RELEASE/api/v1/projects/test-ai-experience/releases" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"env":"staging","build_number":1,"version":"0.1.0-test","notes":"AI validation"}'

Verification gate:

curl -sf "$SERVER_RELEASE/test-ai-experience/staging/latest.json" | jq .
# → {"version":"0.1.0-test","build_number":1}

Rollback:

hydrarelease release rollback \
  --project test-ai-experience --env staging \
  --server $SERVER_RELEASE \
  --token $TOKEN