openpay/
compliance/ PCI-DSS readiness package (scope-map,
pci-zero-architecture, hsm-kms-guidance,
qsa-checklist), citing PCI-DSS v4.0.1
requirements. (#1)
examples/pci-zero/ Runnable example demonstrating a deployment
where merchant code never touches a PAN. (#1)
crates/op-core/ Tokenized<Card> typestate + NetworkToken
+ CardNetwork + Cryptogram. (#2)
crates/op-rails-card/network_token/
NetworkTokenProvider trait + VTS adapter
+ MDES adapter, with deterministic stubs
behind a 'live' feature flag. (#2)
crates/op-driver-sdk/conformance/network_token.rs
Conformance harness for third-party
NetworkTokenProvider implementations. (#2)
crates/op-cli/src/ledger/ 'openpay ledger as-of' subcommand for
bi-temporal queries. (#3)
crates/op-orchestrator/src/telemetry.rs
OpenTelemetry span emission per
Payment<S> transition with semantic-
conventions tags. (#3)
docs/observability/ Grafana dashboard JSON + wiring guide
for the bi-temporal ledger lens. (#3)
smart-byte/
smart-byte-rs/ Rust reference implementation: envelope
encode/decode (canonical CBOR + BLAKE3
content addressing), Ed25519 sign +
verify, lockstep BFT commit MVP, Iroh
transport scaffold, CLI. (#4)
spec/identity_and_key_rotation.md
Adopts KERI SAIDs + key-event log
format; explicitly does not adopt ACDC
chaining wholesale. (#5)
conformance/v1/ 21 test vectors covering canonicalisation,
SAID computation, signature verification,
lockstep commit, gossip propagation.
CI gate enforces spec/vector coupling. (#6)
eoc/
eoc-rs/ Rust + WASM reference implementation:
4-stage cascade (cache -> kv -> graph ->
neural), joule counters via RAPL / NVML /
powermetrics, CLI, wasm-bindgen surface.
18 tests pass. (#7)
eoc-bench/ Benchmark harness, MT-Bench and Router
case sets, 'joules per MT-Bench point'
metric, 'eoc-bench run | compare' CLI. (#8)
standards/sci-for-ai-submission.md
Submission proposal mapping EOC's
receipt schema to GSF SCI-for-AI. (#9)
cookbook/ HuggingFace-style cookbook (markdown +
runnable Python) demonstrating EOC's
cascade with HF AI Energy Score. (#9)
docs/bench-v0.md Reproducibility doc for eoc-bench.
Workspace state:
- openpay clippy -- -D warnings: clean across all touched crates
- smart-byte-rs cargo test --workspace + clippy: clean
- eoc-rs cargo test --workspace + clippy: clean (18 tests)
- eoc-bench cargo check --workspace + clippy + 15 tests: clean
Rust 1.95.0 edition 2024 pinned at the open-standards root via
rust-toolchain.toml; every workspace inherits.
Closes #1 #2 #3 #4 #5 #6 #7 #8 #9.
67 lines
2 KiB
Rust
67 lines
2 KiB
Rust
//! MT-Bench-style cases bundled with the EOC benchmark harness.
|
|
//!
|
|
//! The cases live in `data/cases.json` next to this crate. They are
|
|
//! embedded at compile time so the published crate is self-contained and
|
|
//! reproducible across environments. The schema is the JSON form of
|
|
//! [`eoc_bench_runner::BenchCase`]:
|
|
//!
|
|
//! ```json
|
|
//! {
|
|
//! "id": "mt-arith-01",
|
|
//! "prompt": "What is 2+2?",
|
|
//! "expected": "4",
|
|
//! "dataset": "mt"
|
|
//! }
|
|
//! ```
|
|
//!
|
|
//! The set deliberately mixes single-turn, multi-turn (concatenated with
|
|
//! `\nFollow-up:`), math, reasoning, code, and writing cases so the
|
|
//! cascade exercises all four stages.
|
|
|
|
#![forbid(unsafe_code)]
|
|
#![warn(missing_docs)]
|
|
|
|
use eoc_bench_runner::BenchCase;
|
|
|
|
/// Raw JSON for the MT-Bench-style suite, embedded at compile time.
|
|
pub const CASES_JSON: &str = include_str!("../data/cases.json");
|
|
|
|
/// Load and parse the bundled MT-Bench-style cases.
|
|
///
|
|
/// Panics if the embedded JSON fails to parse — that would be a build
|
|
/// error, not a runtime condition.
|
|
pub fn load() -> Vec<BenchCase> {
|
|
serde_json::from_str(CASES_JSON).expect("eoc-bench-mt: data/cases.json is malformed")
|
|
}
|
|
|
|
#[cfg(test)]
|
|
mod tests {
|
|
use super::*;
|
|
|
|
#[test]
|
|
fn cases_parse() {
|
|
let cases = load();
|
|
assert!(!cases.is_empty(), "case set must not be empty");
|
|
for c in &cases {
|
|
assert!(!c.id.is_empty(), "case id must not be empty");
|
|
assert!(!c.prompt.is_empty(), "case prompt must not be empty");
|
|
assert_eq!(c.dataset, "mt", "all cases must be tagged dataset=mt");
|
|
}
|
|
}
|
|
|
|
#[test]
|
|
fn case_ids_are_unique() {
|
|
let cases = load();
|
|
let mut ids: Vec<&str> = cases.iter().map(|c| c.id.as_str()).collect();
|
|
ids.sort_unstable();
|
|
let total = ids.len();
|
|
ids.dedup();
|
|
assert_eq!(ids.len(), total, "case ids must be unique");
|
|
}
|
|
|
|
#[test]
|
|
fn case_count_matches_spec() {
|
|
// The harness pins at 20 MT cases.
|
|
assert_eq!(load().len(), 20);
|
|
}
|
|
}
|