feat(runtime): private local product runtime + openvang agent factory - #2372
Merged
Conversation
The first product-runtime deliverable: a private control plane that turns vanguarstew from an operator-run dev tool into a self-hostable maintainer-assist service. In this phase it NEVER mutates GitHub -- it accepts work, stores private results locally, and exposes only loopback health checks. Additive and self-contained: depends only on modules already on test (benchmark.sealed_*, agent.review.review_pr, agent.llm), touches no scored agent/ or benchmark/ code, and adds no third-party runtime dependency (stdlib only). - vanguarstew_runtime/: cli, config (env-only secrets), state (durable SQLite queue), github (read-only client), service (signed webhook intake + loopback /healthz /readyz). - openvang/: agent factory, scheduler, subnet, isolated execution, memory. - deploy/ + Dockerfile + docker-compose.yml: Compose/systemd templates. - ignore files exclude private runtime state (.env, data/, *.sqlite3, private-review-results/) from git and build contexts. - pyproject: 'vanguarstew' console entry point + the two new packages. 45 runtime/openvang tests, ruff clean. Scope note: first of several PRs splitting a large local branch. The .dockerignore change here only APPENDS the runtime ignore entries and preserves the attested eval image's existing allowlist; the full rewrite is held for the attestation review where that TCB tradeoff belongs.
openvang/memory.py requires the optional 'cryptography' package. The CI test job installs only pytest/pytest-cov, so the openvang memory tests errored on a clean runner (ModuleNotFoundError) even though they pass where the dep is present. Install cryptography in the test job, and declare it as a pyproject extra (dev + private-memory) so real installs get it. Runtime code stays stdlib-only; this is a test-time dependency of the openvang memory feature.
This was referenced Aug 7, 2026
Merged
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
First slice of a large local branch — the private product runtime. Additive and self-contained: depends only on modules already on
test(benchmark.sealed_*,agent.review.review_pr,agent.llm), touches no scoredagent/orbenchmark/code, and adds no third-party runtime dependency (stdlib only).What's here
vanguarstew_runtime/—cli,config(env-only secrets),state(durable SQLite work queue),github(read-only client),service(signed webhook intake + loopback/healthz//readyz).openvang/— agent factory, scheduler, subnet, isolated execution, memory.deploy/+Dockerfile+docker-compose.yml— Compose/systemd templates..env,data/,*.sqlite3,private-review-results/) from git + build contexts.pyproject:vanguarstewconsole entry point + the two new packages.In this phase it never mutates GitHub — accepts work, stores private results locally, exposes only loopback health checks. Security/publication contract in
docs/product-runtime-plan.md.Verification
45 runtime/openvang tests, ruff clean, verified passing in isolation off
test(no dependency on the memory/review changes still in the local branch).Scope notes (deliberate boundaries)
pyprojectchange is runtime-only (entry point + packages); thegittensor-vanguard → openvangidentity update (matching the org transfer) is held for its own change..dockerignoreonly appends the runtime ignore entries and preserves the attested eval image's existing allowlist. The full rewrite (which trades that TCB allowlist away) is held for the attestation review where that tradeoff belongs.Refs #2371.