Repository navigation
Releases: vantage-ai-eng/vantage-core
Release list
vantage-core 0.1.20
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.20Ship-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.18
vantage-core 0.1.18
Tag: vantage-core-v0.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 / PendingWhat 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
Tag: vantage-core-v0.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 / accentsWhat changed
- Demo console + Control Center HTML accents →
--v-brandblue (#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
Tag: vantage-core-v0.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.16What 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
Tag: vantage-core-v0.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 reportsWhat changed (plumbing)
- Packaged
vantage_core.center_sim(fleet busy sim) — no reposcripts/required for beat 6. - Demo pending/SQL paths use packaged
starters/; Braintrust + Simulation scorecard samples insamples/. 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
Tag: vantage-core-v0.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 --openWhat changed (plumbing)
- Center Coverage from suite + last PASS + ingest JSON (Live / Seen ungated / Pending / Stale).
- Packaged
samples/langsmith_export_sample.jsonsopip installcan demo ingest without the monorepo. demo --offlineprints Coverage SAY + version banner;demo --interactivebeats 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
Tag: vantage-core-v0.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 --openWhat changed (plumbing)
vantage-core center— builds the cockpit HTML from suite YAML + ledger (+ optional ingest JSON).- Auto-refresh —
suite run/suite rerun --savewritesdecisions/center.html. CI stubs re-runcenterwithif: always()/after_scriptand upload the artifact. PR comment points atcenter.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
Tag: vantage-core-v0.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.htmlCeilings 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: 25What changed
- Metered cost — provider
usageis split into input / output / cached read / cache write / reasoning.usd.sourceis"metered"when those tokens exist,"estimated"when we fall back tocalls × (1500 in + 350 out) ×the pinned rate table.config_stamp.model_costs_sha256still 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_sremains wall-clock (scoring, simulated user, network).harness_overhead_sis the rest, recorded so a stopwatch mismatch is explainable.turns_to_closureis 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) andlatency_ceiling_p95_mson contract and suite. Absent does not gate. Present breach isover_cost_ceiling/over_latency_ceilinginbuild_pass_gate_numeric, same route mapping as other blockers. Both ceilings, when set, sit insidecontract_bar_sha256()/suite_sha256. - Regression vs last-ship — compare always reports p95 and USD deltas. Suite
latency_regression_pct/cost_regression_pctare opt-in blockers (over_latency_regression/over_cost_regression). No default. - Library scorer identity —
library:…contracts bindscorer_sha256(the scorer module body) into the content / bar hash. A later wheel cannot change the heuristic under an unchanged suite hash.hard_checksYAML 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. Website and investor copy are unchanged until these rows read SHIPPED and the wheel is on PyPI.
vantage-core 0.1.11
vantage-core 0.1.11
Tag: vantage-core-v0.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 keyringpip install vantage-core without -U may still leave 0.1.10 if it was already installed.
What changed
vantage-core verifyrecomputessuite_sha256from suite content in the decision (same treatment aspayload_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 runnow writes suitefail_underand per-pathcontent_sha256/bar_sha256onto the decision so verify can recompute. - Runner-version-gated fallback — stamp-vs-envelope (no recompute) is allowed only when signed
pins.runner_versionparses and is older than 0.1.11. At or after 0.1.11, or ifrunner_versionis 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.7
Still-trust CI: re-decide PRs against last ship.
Install: pip install -U vantage-core
Docs: https://www.vantageai.cc/runtimeai/method/cicd
PyPI: https://pypi.org/project/vantage-core/0.1.7/