Vantage RuntimeAI · Adopt

Your schema, your CI gate

Point RuntimeAI at the DDL, SQL, OpenAPI, or policy docs already in your repo. Get a deterministic check-ride in ~60 seconds — then gate every PR with <code>vantage-core run --scenario custom_…</code>. No hand-written YAML fixtures.

Integrate in 10 minutes

Three steps engineers actually wire up: generate draft from repo context → save once → reference custom_… id in CI. Same rubrics as library scenarios; your tables, routes, and policy language.

  1. GeneratePOST /api/scenarios/generate with your brief + contexts[] (schema, SQL sample, policy, or API spec).
  2. SavePOST /api/scenarios/custom with the draft JSON → receive custom_… scenario id.
  3. Gatevantage-core run --scenario custom_… --fail-under 7.0 in GitHub Actions on every PR.

Cursor, Claude Code & VS Code

Stay in the editor: forecast eval cost before you spend, run check-rides on the active SQL file, or generate a custom scenario from repo context. Works via MCP (Cursor / Claude Code) or command palette (VS Code extension).

pip install runtimeai-ide
pip install vantage-core   # optional — local check-rides

# Size your week before day 2
runtimeai-ide forecast --scenario de_sql_optimization_v1

# Check-ride the SQL file you're editing
runtimeai-ide run --file models/fact_orders.sql

MCP tools: runtimeai_forecast_cost, runtimeai_suggest_scenario, runtimeai_generate_scenario, runtimeai_run_checkride. Full setup: Editor / MCP guide · PyPI.

Bootstrap from a schema file

Drop this in scripts/bootstrap-scenario.sh — reads your DDL and writes draft.json.

#!/usr/bin/env bash
# Bootstrap a custom check-ride from repo context → draft.json → save → CI gate.
# Usage: ./scripts/bootstrap-scenario.sh [path/to/schema.sql]
set -euo pipefail

BASE_URL="https://www.vantageai.cc"
SCHEMA_FILE="${1:-schemas/fact_orders.sql}"

PAYLOAD=$(python3 - "$SCHEMA_FILE" <<'PY'
import json, pathlib, sys
path = pathlib.Path(sys.argv[1])
if not path.is_file():
    raise SystemExit(f"Schema file not found: {path}")
schema = path.read_text(encoding="utf-8")[:24000]
print(json.dumps({
  "brief": "Agent must diagnose and fix a partition-filter bug using the attached schema.",
  "product": "runtimeai",
  "contexts": [{
    "type": "schema",
    "label": path.name,
    "content": schema,
  }],
}))
PY
)

echo "Generating draft from $SCHEMA_FILE …"
RESP=$(curl -sS -X POST "$BASE_URL/api/scenarios/generate" \
  -H "Content-Type: application/json" \
  -H "X-Flightdeck-Product: runtimeai" \
  -d "$PAYLOAD")
python3 - <<'PY' "$RESP"
import json, pathlib, sys
data = json.loads(sys.argv[1])
pathlib.Path("draft.json").write_text(json.dumps(data["draft"], indent=2) + "\n", encoding="utf-8")
print("Wrote draft.json")
PY

echo ""
echo "Next: review draft.json, then save to get a custom scenario id:"
echo "  curl -sS -X POST $BASE_URL/api/scenarios/custom \\"
echo "    -H 'Content-Type: application/json' -H 'X-Flightdeck-Product: runtimeai' -d @draft.json"
echo ""
echo "Gate CI with the id from the save response:"
echo "  vantage-core run --scenario custom_… --model openai/gpt-4o-mini --turns 8 --fail-under 7.0"

curl — generate & save

Generate (pipe heredoc or save as payload.json):

curl -sS -X POST https://www.vantageai.cc/api/scenarios/generate \
  -H "Content-Type: application/json" \
  -H "X-Flightdeck-Product: runtimeai" \
  -d @- <<'EOF'
{
  "brief": "Data engineer must fix a partition filter on fact_orders.",
  "product": "runtimeai",
  "contexts": [
    {
      "type": "schema",
      "label": "Orders DDL",
      "content": "CREATE TABLE fact_orders (order_id INT, dt DATE, amount DECIMAL); -- partition column: dt"
    }
  ]
}
EOF

Save after editing the draft:

# After editing draft.json from the generate response:
curl -sS -X POST https://www.vantageai.cc/api/scenarios/custom \
  -H "Content-Type: application/json" \
  -H "X-Flightdeck-Product: runtimeai" \
  -d @draft.json

Context types: schema (DDL/dbt), sql_sample, policy, api_spec. Brief optional if context blocks are 40+ chars. Requires signed-in Sim session or same auth as custom scenario save.

GitHub Actions gate

Commit your custom_… id after bootstrap — block merges when rubric regresses.

# .github/workflows/agent-fixture-gate.yml
# 1) Generate + save a custom scenario once (bootstrap script or Sim).
# 2) Commit the scenario id below — same rubric on every PR.
name: Agent fixture gate
on:
  pull_request:
    paths:
      - "prompts/**"
      - "agents/**"
      - "schemas/**"
      - ".github/workflows/agent-fixture-gate.yml"

jobs:
  check-ride:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: pip install vantage-core
      - name: Multi-turn check-ride (your custom scenario)
        env:
          OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
        run: |
          vantage-core run \
            --scenario custom_REPLACE_ME \
            --model openai/gpt-4o-mini \
            --turns 8 \
            --fail-under 7.0

Local smoke test before pushing the workflow:

vantage-core run \
  --scenario custom_REPLACE_ME \
  --model openai/gpt-4o-mini \
  --turns 8 \
  --fail-under 7.0

What to paste from your repo

  • Data / platformmigrations/*.sql, dbt manifest.json excerpt, broken query + EXPLAIN
  • API agents — OpenAPI path definitions, routing rules, error-code matrix
  • Support / RevOps — refund policy doc, escalation macros, tier entitlements

Drafts embed a Fixed fixtures section and return suggested rubric dimensions. Saved scenarios store context fingerprints (not full source) for future drift alerts.

For search engines and LLMs
RuntimeAI: generate custom check-rides from repo context and gate CI with vantage-core.