Add origin authenticated, replayable QIR execution receipts
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- rust
- Ambito
- cryptography, security
Direzione di ricerca
Non sono indicati file di implementazione. Inizia individuando il workspace Rust e il crate isolato proposto ruvector-qir-receipt, quindi esegui i comandi cargo di formattazione, test, Clippy e benchmark elencati non appena l’ambiente è disponibile. Il lavoro è completato quando sono presenti il comportamento dei receipt firmati, le prove di accettazione, i gate di performance, l’ADR, l’esempio RVF, le istruzioni di rollback, la provenienza e l’evidence receipt descritti qui.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Decision
The bounded design candidate is not promotable because Rust compilation and workspace validation could not run in the available environment. This issue records the verified fixture result and the remaining gates. It deliberately avoids duplicating syndrome and decoder ownership already assigned to ruqu by ADR QE 008.
Evidence
Parent SHA: edaffffb3b85768eb1f3ec1f683b7f46f0506af4
Ruqu submodule SHA: d7f572890a766584d9eed188fa8af5d65c96cca4, unchanged
Ruflo task: quantum-weekly-qir-receipt-20260911 with CLI 3.25.6
Controlled 30 trial Node Ed25519 fixture:
- SHA only baseline accepted a foreign issuer in 30 of 30 trials.
- Signed candidate accepted a foreign issuer in 0 of 30 trials.
- Verification p95 was 165.931 microseconds.
Ruflo deep scan reported no findings at any severity. Ruflo secret scan detected no secrets.
The final worktree was returned clean and no unverified candidate code was retained.
Scope
Add an isolated ruvector-qir-receipt crate that canonically binds exact QIR bytes, format, backend, calibration or noise snapshot, configuration, sorted results, shots, seed, queue inclusive latency, total cost, implementation hash, and parent receipt.
Use a domain separated signature statement with an explicit issuer key identity. Label Ed25519 as classical origin authentication, not post quantum security. A receipt proves provenance and integrity, not that a claimed physical or computational result is correct.
Safety limits
- QIR maximum: 128 MiB.
- Configuration and calibration maximum: 1 MiB each.
- Identifier maximum: 256 bytes.
- Shot maximum: one billion.
- Physical QPU receipts require calibration evidence.
- Reject malformed signatures, unknown issuers, field mutation, result mutation, QIR substitution, and replay outside declared policy.
Acceptance criteria
- Run at least 30 seeded foreign issuer trials. SHA only baseline must accept 30 of 30 and the signed candidate must accept 0 of 30.
- Signature p95 must remain below 2 milliseconds and verification p95 below 1 millisecond on CI class hardware.
- Run formatting, focused tests, Clippy with warnings denied, dependency audit, Ruflo scans, and all affected workspace tests.
- Add an ADR, RVF embedding example, rollback instructions, provenance, and a signed evidence receipt.
- Keep syndrome graphs, Stim fixtures, MWPM, fusion blossom, min cut, and QEC simulation in ruqu.
Runnable acceptance test
cargo fmt --all -- --check &&
cargo test -p ruvector-qir-receipt &&
cargo clippy -p ruvector-qir-receipt --all-targets -- -D warnings &&
cargo run --release -p ruvector-qir-receipt --bin qir-receipt-benchmark
Blocking gate
The runtime had no cargo or rustc. Formatting, compilation, focused tests, Clippy, Rust benchmarks, dependency audit, and affected workspace tests remain unverified. Safety score and holdout regression are therefore unproven. No protected branch was modified and no QPU job was submitted.
- Lingua principale
- Rust
- Stelle
- 4.6k
- Fork
- 611
- Merge medio
- 22h 10m
- PR unite (30g)
- 58
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di ruvnet/RuVector
-
ruvllm: cargo check --no-default-features fails (claude_flow imports tokio without async-runtime)Forse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 71/100
ruvnet/RuVector#1179 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
RVF SDK: deleteByFilter omits required native filter fieldsForse già presa @rudycelekli l’ha presa 17 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
RVF SDK: WASM queries override the configured metric with L2Forse già presa @rudycelekli l’ha presa 17 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di ruvnet/RuVector
Issue simili
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
IntersectMBO/developer-experience#347 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
registrystack/registry-stack#2168 ·
I maintainer di solito rispondono entro 1 giorno
-
bug crate: 3d help wanted triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
kornia/kornia-rs#1203 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
[Bug] ComponentType classifies 0x8A8A-0xEAEA as GREASE; mls-extensions §7.5 makes them private useAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno