Skip to content

Grid v0.1.4

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 04 Sep 04:10
· 209 commits to main since this release
v0.1.4
65b989d

Grid v0.1.4 release notes

Grid v0.1.4 adds routing and integration support for provider selection groups and distributed token quotas.

Provider selection and load balancing

Grid publishes stable provider candidates and selection groups in the accepted routing overlay. Praxis AI performs request-time selection; with selectionPolicy: roundRobin, eligible provider gateways are selected in round-robin order. Grid does not select individual inference replicas hidden behind one provider gateway.

Distributed token-quota integration

Grid publishes routing state and the consumer configuration contract. Praxis AI owns request-time quota admission. The distributed quota integration supports:

  • Basic Auth before quota reservation
  • One identity-scoped Alice budget shared across consumer gateways
  • Valkey-backed sliding-window state
  • Atomic concurrent reservation safety
  • Natural window expiry and recovery
  • Quota persistence across consumer restarts
  • Fail-closed admission during Valkey outage
  • NetworkPolicy isolation for quota-client access

The distributed quota and Basic Auth integrations are experimental features. They are not included in the standard official Praxis AI 0.3.0 image, which supports provider selection and load balancing. To
evaluate these features, build a Praxis AI image from the AI repository with both token-rate-limit-filter and praxis-filter/basic-auth-filter enabled, then supply that image explicitly to the Grid deployment. Grid does not build or publish a Praxis AI rollup. The source-build and qualification procedure is documented in the token-quota topology README.

This release also includes pressure-aware admission and provider recovery, secure SWIM state validation, and AgentToolProvider support. Existing provider selection defaults remain compatible; deployments should review selection-policy defaults when upgrading existing GridNetworks.

Feature demonstrations

Praxis Grid Aware Token Rate Limiting Provider Routing

grid-quota-demo-v4-narrated.mp4

Praxis Grid Pressure Aware Routing and Provider Bursting

praxis-grid-cloud-burst.mp4

Container Images

ghcr.io/praxis-proxy/ai:0.3.0@sha256:ccd46f8772eebcbde2f41ad35c3234d23463b8314a5865083e32baf31eddd1a8
ghcr.io/praxis-proxy/grid-operator@sha256:8927163eef65ac7bdac8d39f960c735f0d26375ef7d6d999cd417f3a64437724
ghcr.io/praxis-proxy/grid-mock-providers@sha256:775791261b7ac0284797a84a277d95dea146d27d9b3d4786d165a96eb17c2758
ghcr.io/praxis-proxy/grid-overlay-sync@sha256:a3cc31a8b5469dca63a0de406e342bfbbe46dee02fe33721d6bac1943748c711

Helm Chart

oci://ghcr.io/praxis-proxy/charts/grid-operator --version 0.1.4
oci://ghcr.io/praxis-proxy/charts/grid-operator@sha256:fc72f7b58b2e2729f0a9da730e97a9b3b676f8aa74b0222724a764d1c1290d6c
oci://ghcr.io/praxis-proxy/charts/praxis-gateway --version 0.1.4
oci://ghcr.io/praxis-proxy/charts/grid-site --version 0.1.4
oci://ghcr.io/praxis-proxy/charts/grid-mock-providers --version 0.1.4

Install:

helm install grid-operator \
  oci://ghcr.io/praxis-proxy/charts/grid-operator \
  --version 0.1.4 \
  --namespace grid-system --create-namespace

The Grid images were built from 65b989d6e70e2b62d557987fd1cf3c6bc2ba4524. The Praxis AI image was verified from the organization-owned image above at praxis-proxy/ai@b44360afb4100c5543b1180ac8df16e482978fc8. Every reference above is immutable.

Distributed token quota image requirement

Grid publishes the routing topology and qualification for distributed token quotas, but the standard Praxis AI 0.3.0 container does not include the optional token-rate-limit-filter and praxis-filter/basic-auth-filter features. Deployments using the
quota example must supply a Praxis AI image built with both features. Grid does not publish a replacement AI rollup.

What's Changed

  • fix(demo): correct broken deploy relative path in grid-glb-demo by @jordigilh in #39
  • fix(operator): stop GridNetwork reconciler infinite hot-loop (grid#42) by @jordigilh in #45
  • fix(xtask): restore make lint to green on main by @jordigilh in #50
  • docs: clarify mock-epp/llmd-ext-proc image scope in operations.md by @jordigilh in #51
  • feat(operator,crdt,swim): tenant-budget plumbing via SWIM-gossiped GCounter (grid#40) by @jordigilh in #47
  • feat(demo): add --kv-cache flag to llm-d pool-metrics demo by @jordigilh in #46
  • chore(lints): enable clippy redundant_clone, similar_names, unchecked_time_subtraction by @jordigilh in #55
  • fix(ci): resolve triggered-integration-test base SHA live from refs/heads/main by @jordigilh in #62
  • fix(crdt): cap distinct origin site-slots per tenant_spend counter by @jordigilh in #63
  • fix(ci): stop trusting refs/pull/N/merge for triggered-integration-test by @jordigilh in #67
  • fix(xtask): set GridNetwork gatewayRefs[].localSiteName in E2E fixtures by @jordigilh in #61
  • fix(operator): distinguish SecretMissing from KeyMissing in TLS Secret resolution by @jordigilh in #59
  • feat(operator): stabilized provider admission with scrape-generation identity by @nerdalert in #71
  • fix(operator): validate gateway port by @hexfusion in #74
  • fix(operator): stop advertised cert data removing a site from routing by @hexfusion in #81
  • docs: fix README architecture diagram alignment by @nerdalert in #85
  • fix: satisfy strict clippy lints by @nerdalert in #87
  • test(swim): cover impersonation, tampering, and key rotation for signed state broadcasts by @jordigilh in #99
  • feat(routing): publish provider selection modes by @nerdalert in #65
  • feat(token-quota): add distributed quota topology by @nerdalert in #84
  • test: add a validation for single-cluster multi-gateway routing by @nerdalert in #117
  • chore(release): prepare Grid v0.1.4 by @nerdalert in #115

New Contributors

Full Changelog: v0.1.3...v0.1.4