Skip to content

feat(prism): Verda BYOK next to Lium - #191

Merged
echobt merged 1 commit into
mainfrom
feat/verda-byok-ship
Aug 21, 2026
Merged

feat(prism): Verda BYOK next to Lium#191
echobt merged 1 commit into
mainfrom
feat/verda-byok-ship

Conversation

@echobt

@echobt echobt commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Live Prism intake accepts miner-funded Lium or Verda (OAuth + inference headers).
  • New prism-verda crate: serverless job-deployments, digest-only image, 1× B200 pin, sold-out stays queued.
  • Miner docs (docs/PRISM.md, docs/external-miner/prism.md) and external-docs-check pin.

Test plan

  • cargo test -p prism-lium-payer -p prism-verda --lib
  • API retry_reuses_payer_vault + /v1/status verda_capacity_note
  • loc-cap / external-docs-check
  • Isolated live B200 boot (Running, then DELETE)

Summary by CodeRabbit

  • New Features
    • Added Verda as an evaluation backend alongside Lium.
    • Added Verda BYOK credential support, provider selection, and secure credential handling.
    • Added serverless batch evaluation with pinned GPU images and job status reporting.
    • Added capacity messaging and support for resuming or terminating evaluations.
  • Bug Fixes
    • Prevented miner submissions from overriding operator-controlled image and execution settings.
    • Improved validation and error handling for incomplete or conflicting credentials.
  • Documentation
    • Updated operator and miner documentation with Verda setup, headers, billing, and backend behavior.

Live intake accepts Lium or Verda serverless jobs (digest-only image,
1× B200 pin). Sold-out stays queued; miners cannot override image/cmd.
@echobt
echobt merged commit 94d6b8d into main Aug 21, 2026
2 checks passed
@coderabbitai

coderabbitai Bot commented Aug 21, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 23ad579b-a312-4370-88a5-742f19316117

📥 Commits

Reviewing files that changed from the base of the PR and between b466b76 and 82ac541.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (14)
  • crates/prism-challenge/Cargo.toml
  • crates/prism-challenge/src/api.rs
  • crates/prism-lium-payer/Cargo.toml
  • crates/prism-lium-payer/src/dispatch.rs
  • crates/prism-lium-payer/src/lib.rs
  • crates/prism-verda/Cargo.toml
  • crates/prism-verda/src/image.rs
  • crates/prism-verda/src/job_server.py
  • crates/prism-verda/src/lib.rs
  • crates/prism-verda/tests/live_b200_boot.rs
  • crates/prism-verda/tests/live_dense.rs
  • docs/PRISM.md
  • docs/external-miner/prism.md
  • xtask/src/external_docs_check.rs

📝 Walkthrough

Walkthrough

The PR adds a Verda serverless evaluation backend. It supports pinned images, embedded job execution, OAuth and inference credentials, compute provisioning, result polling, termination, and Lium or Verda payer credentials across submissions and retries.

Changes

Verda evaluation backend

Layer / File(s) Summary
Verda backend foundation
crates/prism-verda/Cargo.toml, crates/prism-verda/src/image.rs, crates/prism-verda/src/job_server.py, crates/prism-verda/src/lib.rs
Adds Verda credentials, digest-pinned image helpers, an embedded batch server, command and environment generation, and client construction.
Verda deployment and evaluation lifecycle
crates/prism-verda/src/lib.rs, crates/prism-verda/tests/*
Adds API authentication, compute selection, deployment readiness checks, job submission, result polling, capacity handling, termination, resumption, and live integration tests.

Provider payer integration

Layer / File(s) Summary
Provider credential intake and persistence
crates/prism-lium-payer/*, crates/prism-challenge/*
Resolves Lium or Verda credentials from headers, rejects miner-controlled image settings, seals provider credentials, supports retry reuse, and resolves the matching backend.
External provider documentation
docs/PRISM.md, docs/external-miner/prism.md, xtask/src/external_docs_check.rs
Documents Verda funding, headers, provider selection, pinned settings, capacity behavior, and required documentation pins.

Estimated code review effort: 5 (Critical) | ~120 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Miner
  participant PrismChallenge
  participant PayerKeyVault
  participant VerdaClient
  participant VerdaJobServer
  Miner->>PrismChallenge: submit evaluation with provider credentials
  PrismChallenge->>PayerKeyVault: seal ProviderCreds
  PrismChallenge->>VerdaClient: provision deployment
  VerdaClient->>VerdaJobServer: upload evaluation archive
  VerdaJobServer-->>VerdaClient: return status and metrics
  VerdaClient-->>PrismChallenge: return evaluation result
Loading
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/verda-byok-ship

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant