Vantage RuntimeAI · Releases

vantage-core releases

What shipped in the CLI people install. Latest is 0.1.20 — try it with no account.

vantage-core 0.1.20 Latest

vantage-core 0.1.20

Tag: vantage-core-v0.1.20 · PyPI: pending

Two fixes and a listing. The gate is now installable as a GitHub Action, and it runs

on every Python version this package claims to support — which, until this release,

it did not.

vantage-core --version   # 0.1.20

Ship-gate GitHub Action

- uses: vantage-ai-eng/vantage-core@v1
  with:
    suite: suites/starter.suite.yaml
    openrouter-api-key: ${{ secrets.OPENROUTER_API_KEY }}

Four lines in place of the ~90-line workflow vantage-core ci stub github emits. The

action sets up Python, installs the CLI, validates the suite, restores the last

successful decision recorded on your default branch, re-decides against it, builds the

scorecard memo and Center, uploads the decision artifact, and posts the verdict as a PR

comment.

Exit codes are unchanged: 0 pass · 2 review · 1 block. fail-on defaults to

block, so a review verdict reports without breaking the build. Set fail-on: review

to gate on both, or fail-on: never while you tune a suite. If the decide step cannot

produce an exit code, the gate fails closed.

Inputs and outputs are documented in action.yml. The ci stub command

still emits a plain workflow for anyone who would rather own it.

Fixed — center and report were broken on Python 3.10 and 3.11

pyproject.toml declared requires-python = ">=3.10" and carried PyPI classifiers for

3.10, 3.11 and 3.12. But vantage_core/center.py and vantage_core/report.py contained

PEP 701 f-string syntax, which only parses on 3.12 and later. Neither module compiled on

3.10.

Both load lazily, so import vantage_core succeeded and nothing surfaced until you ran

vantage-core center or vantage-core report — at which point you got a SyntaxError

on a Python version this package advertised.

Seven lines hoisted out of f-string expressions. The emitted HTML is byte-identical.

Full test suite on Python 3.10: 220 passed, previously 8 failed plus a collection

error.

If you are on 3.10 or 3.11 and the scorecard or Control Center never worked for you,

this is why. Upgrade to 0.1.20.

Fixed — a test that passed because its input was missing

test_scan_skips_node_modules_and_env asserts that .env does not appear in the paths

scan_repo collects — the check that a draft scan cannot pull secrets out of a repo.

.env is gitignored, so in any fresh clone the file was absent and the assertion passed

on absence rather than on the scanner skipping it. The fixture is now written at run

time, and paths are compared relative to the scan root.

Worth stating plainly, since this package exists to catch exactly this: a green test that

tests nothing is the failure mode, not the exception.

vantage-core 0.1.19

vantage-core 0.1.19

Tag: vantage-core-v0.1.19 · PyPI: live 15 September 2026

Authorized custom authoring: they grant inputs → we draft custom Core contracts → they Accept in Control Center → CI in their repo.

vantage-core --version   # 0.1.19
vantage-core draft . --write-drafts ./contracts_drafts
vantage-core center --serve   # Accept / Skip / Refine

# Optional grant snapshot (API key / PAT on your machine):
vantage-core grant langsmith --project my-proj --out ./exports/ls.json
vantage-core draft . --grant langsmith,github --github-repo owner/name
  • Scan authorized local repo / tests / ingest export.
  • Grant snapshots — grant langsmith|braintrust|github / draft --grant write local files under .vantage-grant/. Tokens stay on their machine. Accept still required.
  • Emit 3–5 custom runtimeai.contract/v1 paths from *their* strings — not library IDs.
  • Author next: Accept copies contracts/ + suite. Static center.html stays copy-commands.
  • ci stub --suite / draft accept --ci — required check uses the accepted suite. Secret OPENROUTER_API_KEY only.
  • MCP runtimeai_draft_suite emits Core contracts (needs vantage-core; no OpenRouter).

Auto-write = no Accept + continuous bar sync. We do not do that.

Grant snapshot ≠ auto-write. Hosted browser OAuth (token with us) is paid-later.

vantage-core 0.1.18

vantage-core 0.1.18

Demo + Coverage clarity — sample documents open in the main panel; Coverage adds a distinct Gap state; Live is labeled as last ship-cleared PASS (not this decision).

Try this

python3 -m pip install --no-cache-dir -U vantage-core
vantage-core --version   # 0.1.18

vantage-core demo --interactive
# Sample documents → open YAML/JSON in the main panel
# Beat 3: Live / Seen ungated / Gap / Pending

What changed

  • Demo: sample suite/contracts/exports selectable in the sidebar; content reviewed full-width (not cramped in the rail).
  • Coverage: Gap = known quiet-miss family with no export evidence yet (separate from Seen ungated).
  • Live cue: Live ≠ this decision when the current gate is STOP; Live notes say last ship-cleared PASS.
  • Pending → Live uses the Acme sample SQL safety id (sample.acme_sql_safety_v1) so docs match the cockpit.
  • Primary next distinguishes Seen ungated vs Gap; CLI suite refs avoid absolute machine paths.
  • Shorter beat-3 talk track; Goal / beat labels include Gap.

What this is not

No hosted dashboard. No change to the CI brake. Coverage is still one-shot file fuel — not monitoring.

vantage-core 0.1.17

vantage-core 0.1.17

Vantage blue on Control Center + demo — interactive DEMO chrome and center.html use brand blue (#1375d9), not teal. Same DEMO labeling as 0.1.16.

Try this

python3 -m pip install --no-cache-dir -U vantage-core
vantage-core --version   # 0.1.17

vantage-core demo --interactive
# badge: DEMO · 0.1.17 · Vantage blue banner / accents

What changed

  • Demo console + Control Center HTML accents → --v-brand blue (#1375d9 / #e8f4fd).
  • Pass / block / review colors unchanged (status, not brand).

What this is not

No hosted dashboard. No change to the CI gate or Coverage semantics.

vantage-core 0.1.16

vantage-core 0.1.16

Clear DEMO chrome for design partners — after pip install, the interactive walkthrough is labeled as a demo (banner, title, badge) so it cannot be confused with their CI ledger. The iframe still shows the real Control Center HTML (same as the CI artifact).

Try this

python3 -m pip install --no-cache-dir -U vantage-core
vantage-core --version   # 0.1.16

vantage-core demo --interactive
# same: vantage-core center --demo
# → http://127.0.0.1:8767/
# banner: Interactive demo — sample fixtures, not your CI ledger
# badge: DEMO · 0.1.16

What changed

  • Outer demo chrome: demo-banner, Control Center · Demo H1, DEMO · version badge, Demo beats sidebar, Demo · Control Center main bar.
  • Packaged sample fixtures / Obs exports / fleet sim unchanged from 0.1.15.

What this is not

No hosted org dashboard. No live LangSmith sync. No override of the CI gate. The right panel is the real cockpit; the left chrome is the walkthrough.

vantage-core 0.1.15

vantage-core 0.1.15

Control Center demo ships in the wheel — after pip install vantage-core, strangers launch the same browser walkthrough you use. No monorepo clone. CI remains the brake (0/2/1). Offline HTML — not a Cloud dashboard.

What's new

| Surface | What you get |

|---------|----------------|

| demo --interactive | Full beats 1–7 from a PyPI install (fixtures, Obs samples, fleet sim, report samples) |

| center --demo | Same walkthrough — alias on the prod Center command |

| Naming | RuntimeAI Control Center (was “still-ship Center”) on CLI, HTML, CI stubs |

| Reports | Summary PDF from the HTML memo; packaged detailed Simulation scorecard sample |

Preferred line: *Obs shows what ran; Center shows which of those behaviors you already gate, which you still owe, and what the next ship would change.*

Try this

python3 -m pip install --no-cache-dir -U vantage-core
vantage-core --version   # 0.1.15

vantage-core demo --interactive
# same: vantage-core center --demo
# → http://127.0.0.1:8767/
# beats 1–2 silent miss · 3–5 Coverage → Pending → Live · 6 fleet · 7 reports

What changed (plumbing)

  • Packaged vantage_core.center_sim (fleet busy sim) — no repo scripts/ required for beat 6.
  • Demo pending/SQL paths use packaged starters/; Braintrust + Simulation scorecard samples in samples/.
  • center --demo / elevated stranger path in README.

What this is not

No hosted org dashboard. No live LangSmith sync. No fleet exit. No override of the CI gate.

vantage-core 0.1.14

vantage-core 0.1.14

Coverage on Center — the cockpit now reads their existing tools.

Drop a LangSmith / Braintrust export; Center shows which of those behaviors you already gate, which you still owe, and what the next ship would change. CI remains the brake (0/2/1). Offline HTML — not a Cloud dashboard.

What's new

| Surface | What you see |

|---------|----------------|

| Live | On last ship-cleared PASS — already gated |

| Seen ungated | In their export, not in the suite — author next |

| Pending | Authored, not yet on that PASS — next ship would change this |

| Stale | On last ship-cleared PASS, but absent from the recent export |

Same ingest file as authoring. One-shot export — not OAuth, not monitoring, not a trace UI.

Preferred line: *Obs shows what ran; Center shows which of those behaviors you already gate, which you still owe, and what the next ship would change.*

Try this

python3 -m pip install --no-cache-dir -U vantage-core
vantage-core --version   # 0.1.14

# Browser (primary demo) — mirrors this release
vantage-core demo --interactive
# → http://127.0.0.1:8767/
# beats 1–2 silent miss · 3–5 Coverage → Pending → Live · 6 fleet

# CLI talk track (same story, no browser)
vantage-core demo --offline
# with artifacts:
vantage-core demo --save decisions/
vantage-core center --decisions decisions/ --html decisions/center.html --open

What changed (plumbing)

  • Center Coverage from suite + last PASS + ingest JSON (Live / Seen ungated / Pending / Stale).
  • Packaged samples/langsmith_export_sample.json so pip install can demo ingest without the monorepo.
  • demo --offline prints Coverage SAY + version banner; demo --interactive beats 3–5 walk export → Coverage → pending → live (beat 6 remains fleet). Both demos label themselves as mirroring 0.1.14.

What this is not

No hosted org dashboard. No live LangSmith sync. No fleet exit. No override of the CI gate.

vantage-core 0.1.13

vantage-core 0.1.13

Still-ship Center — the local control surface for ship / still-trust.

CI remains the brake (0/2/1). Center is the cockpit: what is in play, what blocks, what moved, what to do next. Offline HTML artifact — not a Cloud dashboard.

What's in Center

One screen over suite + local decisions/ ledger (+ optional ingest plan):

| Surface | What you see |

|---------|----------------|

| Verdict | Ship and still-trust twin labels · route · what blocks |

| Path register | Every path with optional why: and priority: (display + sort) · bar · bind |

| Memory | Vs last ship · motion history (last N) · per-path last pass / fail |

| Next | One primary next action · author-next ingest panel (drafts only — you own the bar) |

| Fleet register | When suites/*.suite.yaml has more than one suite: advisory rollup (N CLEAR · K STOP) and focus on the worst suite |

Fleet never invents a fleet exit. Each suite keeps its own CI gate. Opening Center never unblocks a merge.

Try this

python3 -m pip install --no-cache-dir -U vantage-core
vantage-core --version   # 0.1.13

# Interactive control surface (browser) — run beats, watch Center update
vantage-core demo --interactive
# → http://127.0.0.1:8767/

# Or CLI → open the HTML cockpit
vantage-core demo --save decisions/
vantage-core center --decisions decisions/ --html decisions/center.html --open

What changed (plumbing)

  • vantage-core center — builds the cockpit HTML from suite YAML + ledger (+ optional ingest JSON).
  • Auto-refresh — suite run / suite rerun --save writes decisions/center.html. CI stubs re-run center with if: always() / after_script and upload the artifact. PR comment points at center.html.
  • vantage-core demo --interactive — browser walkthrough: last ship → after change → fleet; Center panel updates after each beat.

What this is not

No hosted org dashboard. No fleet exit code. No OAuth connectors. No override of the CI gate.

vantage-core 0.1.12

vantage-core 0.1.12

Cost and latency are now first-class gate inputs when you opt in. They are estimated when the provider returns no usage, metered when it does — and the field says which.

Try this

python3 -m pip install --no-cache-dir -U vantage-core
vantage-core --version   # 0.1.12
vantage-core demo --save decisions/
vantage-core report "$(vantage-core decisions latest)" --html decisions/suite.html

Ceilings are opt-in, no defaults. Add them only if you want them to block:

# on a contract (path) or a suite
cost_ceiling_usd: 0.05
latency_ceiling_p95_ms: 8000
# vs last-ship baseline (suite only)
# cost_regression_pct: 25
# latency_regression_pct: 25

What changed

  • Metered cost — provider usage is split into input / output / cached read / cache write / reasoning. usd.source is "metered" when those tokens exist, "estimated" when we fall back to calls × (1500 in + 350 out) × the pinned rate table. config_stamp.model_costs_sha256 still pins the table so a partner can reproduce the figure.
  • Agent-turn latency — latency.agent_turn_latency_ms[] is request sent → response complete per agent turn. elapsed_s remains wall-clock (scoring, simulated user, network). harness_overhead_s is the rest, recorded so a stopwatch mismatch is explainable. turns_to_closure is null if the scenario never closed — never the turn cap. Derived: agent_time_to_closure_s, turn_latency_median_ms, turn_latency_p95_ms. Gate on p95, never the mean.
  • Ceilings as blockers — path-level cost_ceiling_usd (suite-level already existed) and latency_ceiling_p95_ms on contract and suite. Absent does not gate. Present breach is over_cost_ceiling / over_latency_ceiling in build_pass_gate_numeric, same route mapping as other blockers. Both ceilings, when set, sit inside contract_bar_sha256() / suite_sha256.
  • Regression vs last-ship — compare always reports p95 and USD deltas. Suite latency_regression_pct / cost_regression_pct are opt-in blockers (over_latency_regression / over_cost_regression). No default.
  • Library scorer identity — library:… contracts bind scorer_sha256 (the scorer module body) into the content / bar hash. A later wheel cannot change the heuristic under an unchanged suite hash. hard_checks YAML was already in the bar; that path is unchanged. Existing hard-check suite hashes are stable. Library-replay hashes move once.

What this is not

No default ceilings. No pillar rollups, pack catalogs, or GEV in Core.

vantage-core 0.1.11

vantage-core 0.1.11

0.1.10's verify does not recompute the suite hash; 0.1.11 does. Upgrade if you need suite_sha256 to be falsifiable against the decision record.

Try this

python3 -m pip install --no-cache-dir -U vantage-core
vantage-core --version   # 0.1.11
vantage-core demo --save decisions/
vantage-core report "$(vantage-core decisions latest)" --html decisions/suite.html
vantage-core attest "$(vantage-core decisions latest)"   # needs RUNTIMEAI_API_KEY
vantage-core verify "$(vantage-core decisions latest)"   # offline, in-package keyring

pip install vantage-core without -U may still leave 0.1.10 if it was already installed.

What changed

  • vantage-core verify recomputes suite_sha256 from suite content in the decision (same treatment as payload_sha256). A client-supplied stamp cannot fake the bar. 0.1.10's verify compared stamp to envelope only and did not recompute.
  • Path-hash stamping — live suite run now writes suite fail_under and per-path content_sha256 / bar_sha256 onto the decision so verify can recompute.
  • Runner-version-gated fallback — stamp-vs-envelope (no recompute) is allowed only when signed pins.runner_version parses and is older than 0.1.11. At or after 0.1.11, or if runner_version is missing/unparseable: recompute or fail. Never fall back merely because the client omitted hashes.
  • Countersignature remains free while in preview; we will give at least 90 days' notice before that changes. Pro is cadence, retained history, and the chain — not a paywall on signing.

What this is not

Not a hosted chain yet (seq / prev_digest stay null). Verify does not need a RuntimeAI account. Attest does.

vantage-core 0.1.10

vantage-core 0.1.10

Decision attestation ships here. PyPI 0.1.9 predates attestation and cannot be replaced (PyPI versions are immutable). Git labeled some of this work as 0.1.9; that published wheel does not include attest, verify, or the keyring.

Try this

python3 -m pip install --no-cache-dir -U vantage-core
vantage-core --version   # 0.1.10
vantage-core demo --save decisions/
vantage-core report "$(vantage-core decisions latest)" --html decisions/suite.html
vantage-core attest "$(vantage-core decisions latest)"   # needs RUNTIMEAI_API_KEY
vantage-core verify "$(vantage-core decisions latest)"   # offline, in-package keyring

pip install vantage-core without -U may still leave 0.1.9 if it was already installed.

What changed

  • vantage-core verify — offline, free, no account. Default keyring is shipped in the package. --keyring PATH|URL is opt-in for a kid issued after your last pip install.
  • vantage-core attest — POST digest-only (RUNTIMEAI_API_KEY). Never sends scores, rubrics, prompts, or transcripts. Missing key fails cleanly; a server 501 maps to a clean message (no raw body).
  • Published keyring — in-package copy of https://www.vantageai.cc/runtimeai/attestation/keys.json (kid vantage-attestation-2026-08).
  • Subject binding — new envelopes carry an issuer-assigned subject (acct_… or runtimeai:master). Never client-supplied.
  • suite_sha256 — suite definition hash on the envelope and on suite-level decisions.
  • trigger stamping — live run / suite run stamp trigger.kind (change / cadence / catalog) inside the integrity hash.
  • config_stamp.model_costs_sha256 — populated from the rate table actually used on live runs.

Offline demo --save uses historical fixtures and may omit trigger / model_costs_sha256 / suite_sha256. Those fields are stamped on live runs.

What this is not

Not a hosted chain yet (seq / prev_digest stay null). Verify does not need a RuntimeAI account. Attest does.

vantage-core 0.1.9

vantage-core 0.1.9

Try the CLI with no RuntimeAI account and no API key. You get a saved decision file and an HTML scorecard you can open in a browser.

Try this

python3 -m pip install --no-cache-dir -U vantage-core
vantage-core --version   # 0.1.9
vantage-core demo --save decisions/
vantage-core report "$(vantage-core decisions latest)" --html decisions/suite.html

Open decisions/suite.html. That is the memo.

What changed

  • Saving the demo now writes files. In 0.1.8, demo --save printed a walkthrough and left the folder empty, so the next command had nothing to open.
  • A correct short answer can pass. Live demo --live (needs an OpenRouter key) no longer fails just because the model’s reply is brief. Empty replies still fail.

What this is not

Not a Cloud dashboard. The HTML file stays on your machine — or in your GitHub Actions / GitLab artifacts if you wire CI. Hosted history remains paid.

vantage-core 0.1.8

vantage-core 0.1.8 — release notes

What's new

Human scorecard from CI

CI is not only a green check. From a saved runtimeai.decision/v1 JSON, emit a self-contained HTML (and optional PDF) memo — same axes / pass-review-block / bind / compare-to-baseline as the Simulator scorecard. No RuntimeAI account. Lives in their GitHub Actions / GitLab artifact store.

vantage-core report decisions/suite.json --html decisions/suite.html
vantage-core report decisions/suite.json --pdf decisions/suite.pdf

GitHub / GitLab stubs (ci stub github|gitlab) generate the memo after the gate and upload JSON + HTML + PDF as runtimeai-decision. Report failure does not change the suite exit code.

Not in this path: a free Cloud dashboard, SaaS upload of suite history, or a RuntimeAI API key.

Still in

Still-trust CI (0.1.7) · richer ingest (0.1.6) · suite rerun --baseline · --reps / --pass-k · pass / review / block · dated decisions/ ledger · demo · SHA/PR bind · --ci-comment

Claim discipline

Free CI = gate + decision JSON + PR comment + optional human HTML/PDF artifact in their CI. Same rubrics as the UI. Hosted history remains paid.

Not in this release

Hosted multi-tenant history, Cloud dashboard, LangSmith OAuth, GitHub App, gateway, prompt playground.

vantage-core 0.1.7

vantage-core 0.1.7 — release notes

What's new

Still-trust CI

PRs re-decide against the last ship decision. Default branch records a new artifact. Exit is the current gate (0 / 2 / 1), not “same as last time.”

vantage-core ci stub github    # required-check workflow
vantage-core ci stub gitlab
# or: vantage-core init --ci

--baseline latest

vantage-core suite run suites/starter.suite.yaml --json --save decisions/
vantage-core suite rerun suites/starter.suite.yaml --baseline latest --json --save decisions/
vantage-core decisions latest

--baseline also accepts a directory of decision JSON.

60-second demo (no API key)

vantage-core demo              # talk track: last ship → after change → PR comment
vantage-core demo --live       # live Acme sample suite (needs OPENROUTER_API_KEY)

PR / MR comment

--ci-comment posts bind headline + compare_to_baseline (updated in place). Uses GITHUB_TOKEN or GitLab CI_JOB_TOKEN. No GitHub App.

vantage-core suite rerun suites/starter.suite.yaml \
  --baseline latest --json --save decisions/ --ci-comment

Still in

  • Richer ingest (0.1.6) · suite rerun --baseline · --reps / --pass-k · pass / review / block
  • Dated decisions/ ledger · demo · init · SHA/PR bind

Claim discipline

Ship / still-trust decision — not observability. CI comment is evidence on the PR, not a review product.

Not in this release

Hosted multi-tenant history, LangSmith OAuth, GitHub App, gateway, prompt playground.

vantage-core 0.1.6

vantage-core 0.1.6 — release notes

What's new

Richer complement ingest

vantage-core ingest export.json
vantage-core ingest export.json --write-drafts ./contracts_drafts

Pipeline: extract evidence → match Vantage risk priors (detectors on user/assistant/error/tags) → rank by severity × failure shape → optional contract drafts with openings from *their* turns.

Not a trace UI. Not OAuth. Partner still owns the suite.

--suggest-paths from 0.1.5 still works.

Still in

  • suite rerun --baseline · --reps / --pass-k · pass / review / block (exit 0/2/1)
  • Dated decisions/ ledger · demo · init · SHA/PR bind

Claim discipline

Ship / still-trust decision — not observability. Fragments (LangSmith-shaped exports) feed the gate.

Not in this release

Hosted multi-tenant history, LangSmith OAuth, gateway, prompt playground.

vantage-core 0.1.5

vantage-core 0.1.5 — release notes (draft)

Packages: B · G′ · E · F (free gate)

What's new

Still-trust re-run (B)

vantage-core suite run suites/starter.suite.yaml --json --save decisions/
vantage-core suite rerun suites/starter.suite.yaml \
  --baseline decisions/<prior>.json --json --save decisions/
echo $?   # current gate only

New decision each time; optional compare_to_baseline (score/cost deltas, path regressions, gate_transition).

Complement ingest (G′)

vantage-core ingest examples/ingest/langsmith_export_sample.json --suggest-paths

LangSmith-shaped file export → suggested critical paths. Not a trace UI. Not OAuth.

N-run (E)

vantage-core suite run suites/starter.suite.yaml --reps 3 --pass-k 2 --json

Default remains single-run. BYOK cost ~×N.

Three-state route (F)

pass_gate.route: pass (exit 0) · review (exit 2) · block (exit 1).

CI: fail on nonzero, or special-case review=2.

Claim discipline

Ship/still-trust decision — not observability. Fragments (LangSmith exports) feed the gate.

Not in this release

Hosted multi-tenant history, LangSmith OAuth, gateway, prompt playground, Diagnostics clone.

For search engines and LLMs
vantage-core CLI releases. Latest 0.1.20. pip install -U vantage-core. Demo --save writes decision JSON with no API key. report --html writes a local scorecard. Not a Cloud dashboard. CI guide: /runtimeai/method/cicd.