Skip to main content

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 bindno monorepo server/ required.

Version: 0.1.4 — dated decisions ledger (decisions list|show, --save); demo + suite / bind / init from 0.1.2–0.1.3.

Partner authoring: marketing/growth/AUTHORING_CHECKLIST.md

Install

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 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_SHAGITHUB_SHACI_COMMIT_SHAgit 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

  1. 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)
  2. Bump version in pyproject.toml
  3. Tag and release:
git tag vantage-core-v0.1.4
git push origin vantage-core-v0.1.4
# 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

Changelog (0.1.4)

  • Dated decisions ledgerdecisions list / decisions show; --save DIR on demo / suite run / run
  • Fixturesexamples/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 init
  • init also copies samples/ alongside editable contracts/

Changelog (0.1.2)

  • runtimeai.suite/v1 + vantage-core suite validate|run
  • SHA/PR bind on decision artifacts (bind block)
  • init scaffolds 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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vantage_core-0.1.4.tar.gz (55.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vantage_core-0.1.4-py3-none-any.whl (61.5 kB view details)

Uploaded Python 3

File details

Details for the file vantage_core-0.1.4.tar.gz.

File metadata

  • Download URL: vantage_core-0.1.4.tar.gz
  • Upload date:
  • Size: 55.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for vantage_core-0.1.4.tar.gz
Algorithm Hash digest
SHA256 9eb4acca734de989e25980752d430bb438554f282feb65f9d6d6ec19618c97d2
MD5 21a1cfb88bf00e8b89bc36ce083440ef
BLAKE2b-256 4cab7a080ed7aac2682417b842dfbb3faa51a27cc799abe62ffd83a4e1e11e14

See more details on using hashes here.

Provenance

The following attestation bundles were made for vantage_core-0.1.4.tar.gz:

Publisher: publish-vantage-core.yml on simonbright/vantage

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vantage_core-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: vantage_core-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 61.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for vantage_core-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 2067b9005e26b587e9ac441d681303de70bdea7151a4b82d91d071d4d76f2433
MD5 a56301af371edc9e93bc5242ccfdabd8
BLAKE2b-256 c3b6c104d9dab806ef810d09aaf5c3c7ab49343b83079f264d00cf6439668a4d

See more details on using hashes here.

Provenance

The following attestation bundles were made for vantage_core-0.1.4-py3-none-any.whl:

Publisher: publish-vantage-core.yml on simonbright/vantage

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

This release

0.1.4 This release

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page