vantage-core
Standalone RuntimeAI check-ride CLI. Author local contracts (or a suite of
3–5 paths), run against OpenRouter, get a portable runtimeai.decision/v1
artifact — with optional SHA/PR bind — no monorepo server/ required.
Seat: the ship / still-trust decision on paths you author — not a better Opik /
Braintrust / LangSmith experiment or trace UI. Those fragments can feed the gate
(ingest --suggest-paths); they do not replace it.
Version: 0.1.5 — suite rerun --baseline · ingest --suggest-paths · --reps/--pass-k ·
pass/review/block route · ledger / demo / suite / bind from 0.1.2–0.1.4.
Partner authoring: marketing/growth/AUTHORING_CHECKLIST.md
Install
pip install vantage-core
If your shell says pip: command not found (common on macOS):
python3 -m pip install -U vantage-core
Or use a venv: python3 -m venv .venv && source .venv/bin/activate && pip install vantage-core.
PyPI · contributors: pip install -e ./vantage-core from a clone.
Requires OPENROUTER_API_KEY (BYOK). Live runs fail loudly without it.
Stranger path (under 30 min)
A — Live demo (sample contracts, no editing)
export OPENROUTER_API_KEY=sk-or-...
vantage-core demo --json --save decisions/
vantage-core decisions show decisions/<latest>.json
echo $?
Runs the bundled Acme 3-path sample suite (refuse · cite · escalate) and writes a dated
decision under decisions/. Browse: examples/samples/ · also shipped inside the package.
Before / after talk track (no live run): examples/decisions/ —
vantage-core decisions show examples/decisions/before_pass.json
vantage-core decisions show examples/decisions/after_fail.json
B — Scaffold your own (partner authors — we don’t write your suite)
vantage-core init
# → samples/ known-good demo pack (run as-is)
# → contracts/ editable starters + TEMPLATE — make these yours
# → suites/starter.suite.yaml
# → decisions/ README.md .gitignore
C — Edit one path, validate, run your suite
# edit contracts/01_refuse_pii.yaml (id / system / opening / checks)
vantage-core validate ./contracts/01_refuse_pii.yaml
vantage-core suite validate ./suites/starter.suite.yaml
vantage-core suite run ./suites/starter.suite.yaml --json --save decisions/
vantage-core decisions list
echo $? # 0 iff suite pass_gate.passed
D — Single contract (still supported)
vantage-core run --contract ./contracts/01_refuse_pii.yaml --json --save decisions/
E — Library scenario (60s, not your suite)
vantage-core run --scenario support_escalation_v1 \
--model openai/gpt-4o-mini --turns 4 --fail-under 7.0 --json
Optional guided draft: vantage-core init --guided
Suite (runtimeai.suite/v1)
One decision surface over 3–5 critical paths:
schema: runtimeai.suite/v1
id: team.release_paths_v1
name: "Release critical paths"
fail_policy: all_must_pass # default: any path fail → suite fail
# fail_policy: threshold
# min_passed: 2
# cost_ceiling_usd: 0.50
paths:
- ../contracts/01_refuse_pii.yaml
- ../contracts/02_cite_sources.yaml
- ../contracts/03_escalate_not_guess.yaml
vantage-core suite validate suites/starter.suite.yaml
vantage-core suite run suites/starter.suite.yaml --json --save decisions/
Exit 0 iff suite pass_gate.passed. JSON includes suite.paths[] summaries and
optional nested path_decisions. Example: examples/suites/.
Dated-change ritual (suite rerun --baseline)
Still-trust: after a model/prompt/policy change, re-run and compare to a prior decision.
# 1) Baseline (before the change)
vantage-core suite run suites/starter.suite.yaml --json --save decisions/
# note the saved path, e.g. decisions/2026-08-01T1500Z_team.release_paths_v1.json
# 2) Change lands → still-trust re-run
vantage-core suite rerun suites/starter.suite.yaml \
--baseline decisions/<prior>.json \
--json --save decisions/
echo $? # current gate only (not “same as baseline”)
The new decision has a fresh session_id / generated_at. With --baseline, JSON includes
compare_to_baseline (score/cost deltas, path regressions, gate_transition).
Exit code always reflects the current suite gate.
N-run (--reps / --pass-k)
Default remains single-run. For release diligence:
vantage-core suite run suites/starter.suite.yaml --reps 3 --pass-k 2 --json
Suite passes when at least K of N full suite runs pass. JSON includes reps summaries.
Cost: BYOK inference scales roughly ×N.
Three-state route (pass / review / block)
Every decision pass_gate.route is one of:
| route | meaning | exit |
|---|---|---|
pass |
clear to ship | 0 |
review |
near bar / low trust / partial N-run — human look | 2 |
block |
do not ship | 1 |
CI tip: treat nonzero as fail (if [ $? -ne 0 ]), or special-case 2 for review workflows.
Binary “passed” on the decision remains the scorecard truth; exit follows route.
Dated decisions ledger (free)
Keep dated JSON under decisions/ — your free “what did we decide then?” ledger.
Filenames: YYYY-MM-DDTHHMMZ_<suite-or-contract-id>.json.
vantage-core demo --json --save decisions/ # or: suite run … --save decisions/
vantage-core decisions list [dir] # default: ./decisions
vantage-core decisions show decisions/<file>.json # human view: score, cost, bind, paths
This is not hosted / multi-tenant history (paid later). Local files + bind are enough for demos and CI artifacts.
SHA / PR bind
On every run / suite run, when a SHA is known, the decision includes:
"bind": {
"git_sha": "…",
"git_ref": "refs/pull/142/merge",
"pr_number": 142,
"source": "github_actions",
"headline": "PR #142 / SHA abc1234 decided at 2026-08-05T20:00:00Z"
}
Resolution order: VANTAGE_GIT_SHA → GITHUB_SHA → CI_COMMIT_SHA → git rev-parse HEAD.
PR number from GITHUB_REF (refs/pull/N/…), VANTAGE_PR_NUMBER, or GITHUB_EVENT_PATH.
Bind fields are included in integrity.payload_sha256.
CI stub (mark as required check): examples/ci/github-actions-suite-gate.yml
Contract format (runtimeai.contract/v1)
Mode B — custom (your scenarios — preferred):
schema: runtimeai.contract/v1
id: my_team.policy_refuse_v1
mode: custom
agent:
system: |
You are a policy agent…
opening: |
User: …
scorer:
kind: hard_checks
checks:
- id: refuses
any_of: ["cannot", "refuse"]
points: 5
Mode A — library replay (our demos):
schema: runtimeai.contract/v1
id: my_team.support_path_v1
mode: library_replay
fail_under: 7.0
turns: 4
library:
scenario_id: support_escalation_v1
See examples/contracts/starters/ and examples/contracts/demos/.
| Starter | Quiet-miss |
|---|---|
01_refuse_pii.yaml |
Leaks prohibited data |
02_cite_sources.yaml |
Invents facts |
03_escalate_not_guess.yaml |
Fakes root cause |
04_sql_safety.yaml |
Destructive / over-broad SQL |
05_routing.yaml |
Wrong queue / fake refund |
TEMPLATE.yaml |
Blank |
Decision artifact
vantage-core schema
vantage-core validate scorecard.json
| Block | Contents |
|---|---|
contract |
scenario / suite id + content SHA, model, turns, fail_under |
scorecard |
score /10, rubric, pass_gate |
suite |
(suite run) per-path results + fail_policy |
bind |
(when SHA known) git SHA / PR / headline |
usd |
est_eval |
exit |
0 iff pass_gate.passed |
integrity |
SHA-256 of the payload (includes bind + suite) |
Bundled library
| Id | What |
|---|---|
support_escalation_v1 |
Escalating customer ticket (empty export) → multi-turn + heuristic rubric |
de_sql_optimization_v1 |
Slow Snowflake query → rewrite + heuristic rubric |
Publish (maintainers)
Preferred — GitHub trusted publishing
- On PyPI: create project
vantage-core(or claim name) → Publishing → GitHub- Repository: this monorepo
- Workflow:
publish-vantage-core.yml - Environment:
pypi(match the Actions environment)
- Bump
versioninpyproject.toml - Tag and release:
git tag vantage-core-v0.1.5
git push origin vantage-core-v0.1.5
# Create a GitHub Release for that tag → workflow publishes
Or Actions → Publish vantage-core to PyPI → Run workflow with confirm=publish.
Manual / token fallback
cd vantage-core
./scripts/publish-pypi.sh --check # build + twine check only
export TWINE_USERNAME=__token__
export TWINE_PASSWORD=pypi-…
./scripts/publish-pypi.sh
Complement intake (ingest)
Feed a file export (LangSmith-shaped JSON) to get suggested critical-path names — not a trace UI, not OAuth.
vantage-core ingest examples/ingest/langsmith_export_sample.json --suggest-paths
Then author those paths (init → edit contracts) and gate with suite run /
suite rerun --baseline. Claim: export/manual complement only; LangSmith-first destination.
Changelog (0.1.5)
suite rerun --baseline— still-trust re-run; fresh decision id/timestampcompare_to_baselineon the new decision (score/cost deltas, path regressions, gate transition)- Exit code = current suite gate (not “matched baseline”)
ingest --suggest-paths— LangSmith-shaped export → path suggestions (complement, not OAuth)- N-run —
suite run|rerun --reps N --pass-k K(default single-run) - Three-state route —
pass_gate.route:pass|review|block· exit 0/2/1
Changelog (0.1.4)
- Dated decisions ledger —
decisions list/decisions show;--save DIRondemo/suite run/run - Fixtures —
examples/decisions/before_pass.json+after_fail.json(same suite id, different bind / gate)
Changelog (0.1.3)
- Sample pack (
samples/) — Acme 3-path demo suite + optional SQL/routing vantage-core demo— run samples with no initinitalso copiessamples/alongside editablecontracts/
Changelog (0.1.2)
runtimeai.suite/v1+vantage-core suite validate|run- SHA/PR bind on decision artifacts (
bindblock) initscaffolds contracts + starter suite +decisions/+ README- Starters: SQL safety + routing templates
Dev monorepo parity
VANTAGE_USE_MONOREPO=1 vantage-core run --scenario support_escalation_v1 …
# or: vantage-core run --monorepo --scenario …
Related
- Product page: https://www.vantageai.cc/runtimeai/method/cicd
- IDE package:
pip install runtimeai-ide - Authoring checklist:
marketing/growth/AUTHORING_CHECKLIST.md
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vantage_core-0.1.5.tar.gz.
File metadata
- Download URL: vantage_core-0.1.5.tar.gz
- Upload date:
- Size: 69.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f1f20ffa5d8ba568b882f8fc5885977a688ee7b2b1b30f86d04236398154cfc
|
|
| MD5 |
c1563c0e503a209c8a435467cfbd1b5b
|
|
| BLAKE2b-256 |
0330597d74b16348a1e4e20d571af6da6a72c369be54f92b28564380fd9815c7
|
Provenance
The following attestation bundles were made for vantage_core-0.1.5.tar.gz:
Publisher:
publish-vantage-core.yml on simonbright/vantage
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vantage_core-0.1.5.tar.gz -
Subject digest:
8f1f20ffa5d8ba568b882f8fc5885977a688ee7b2b1b30f86d04236398154cfc - Sigstore transparency entry: 2377290910
- Sigstore integration time:
-
Permalink:
simonbright/vantage@98c25a33feaaff7728cb0f73455f64ce1ca4b3d9 -
Branch / Tag:
refs/tags/vantage-core-v0.1.5 - Owner: https://github.com/simonbright
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-vantage-core.yml@98c25a33feaaff7728cb0f73455f64ce1ca4b3d9 -
Trigger Event:
release
-
Statement type:
File details
Details for the file vantage_core-0.1.5-py3-none-any.whl.
File metadata
- Download URL: vantage_core-0.1.5-py3-none-any.whl
- Upload date:
- Size: 72.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d20c9ee36ea0e84ab44c8fb68199a8a13658d1be4db442f22e0aaa0dc4f5fe22
|
|
| MD5 |
3df7b40bf8957bcf0a6b1d4a2fb9b0bc
|
|
| BLAKE2b-256 |
e1c02830f8baf997257d6b1ce760b6a4827b068046927f961087e4bf97fa95a0
|
Provenance
The following attestation bundles were made for vantage_core-0.1.5-py3-none-any.whl:
Publisher:
publish-vantage-core.yml on simonbright/vantage
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vantage_core-0.1.5-py3-none-any.whl -
Subject digest:
d20c9ee36ea0e84ab44c8fb68199a8a13658d1be4db442f22e0aaa0dc4f5fe22 - Sigstore transparency entry: 2377291015
- Sigstore integration time:
-
Permalink:
simonbright/vantage@98c25a33feaaff7728cb0f73455f64ce1ca4b3d9 -
Branch / Tag:
refs/tags/vantage-core-v0.1.5 - Owner: https://github.com/simonbright
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-vantage-core.yml@98c25a33feaaff7728cb0f73455f64ce1ca4b3d9 -
Trigger Event:
release
-
Statement type: