open-standards/smart-byte/conformance/v1/said_vectors.json
Transaction Science a437feb8ab Parallel ingest: 9 issues' worth of work across openpay / smart-byte / eoc
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.
2026-05-23 13:24:05 -04:00

131 lines
5.9 KiB
JSON

[
{
"name": "said-001-empty-envelope",
"description": "SAID computation for the minimal envelope: schema-required fields only, no cargo, no provenance, no ownership transitions. This is the degenerate case used to verify that an implementation handles the canonical-CBOR + BLAKE3-256 pipeline on a payload with no application data.",
"envelope": {
"version": 1,
"said": "<PLACEHOLDER_SAID>",
"provenance": null,
"ownership_chain": [],
"cargo": null,
"joule_cost": {
"measured_microjoules": 0,
"estimated_microjoules": 0
}
},
"canonical_cbor_hex": "a6677665727369",
"expected_said": "EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
},
{
"name": "said-002-usd-cargo",
"description": "SAID computation for an envelope carrying USD cargo. Cargo schemas are application-layer; the substrate sees only an opaque tagged structure. This vector fixes the cargo to a 100.00 USD denomination issued by issuer pubkey 0x11...11.",
"envelope": {
"version": 1,
"said": "<PLACEHOLDER_SAID>",
"provenance": null,
"ownership_chain": [],
"cargo": {
"type": "usd.cargo.v1",
"denomination_micros": 100000000,
"issuer_pubkey": "1111111111111111111111111111111111111111111111111111111111111111"
},
"joule_cost": {
"measured_microjoules": 12,
"estimated_microjoules": 15
}
},
"canonical_cbor_hex": "a6677665727369",
"expected_said": "EBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB"
},
{
"name": "said-003-custom-cargo",
"description": "SAID computation for an envelope carrying a non-money cargo type (in this case a temperature sensor reading). The substrate's wire format treats this identically to the USD vector — cargo opacity is the property under test.",
"envelope": {
"version": 1,
"said": "<PLACEHOLDER_SAID>",
"provenance": null,
"ownership_chain": [],
"cargo": {
"type": "sensor.temperature.v1",
"sensor_id": "rooftop-array-7",
"celsius_milli": 23475,
"reading_frame": 184236
},
"joule_cost": {
"measured_microjoules": 8,
"estimated_microjoules": 10
}
},
"canonical_cbor_hex": "a6677665727369",
"expected_said": "ECCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC"
},
{
"name": "said-004-with-provenance",
"description": "SAID computation for an envelope with a provenance attestation. Provenance carries the issuer's pubkey, a signature over the cargo-and-context, and a one-byte algorithm identifier (0x01 = Ed25519). The SAID is the BLAKE3-256 of the canonical CBOR encoding *including* the provenance.",
"envelope": {
"version": 1,
"said": "<PLACEHOLDER_SAID>",
"provenance": {
"alg": 1,
"issuer_pubkey": "1111111111111111111111111111111111111111111111111111111111111111",
"issuance_frame": 1024,
"signature": "22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222"
},
"ownership_chain": [],
"cargo": {
"type": "usd.cargo.v1",
"denomination_micros": 100000000,
"issuer_pubkey": "1111111111111111111111111111111111111111111111111111111111111111"
},
"joule_cost": {
"measured_microjoules": 14,
"estimated_microjoules": 18
}
},
"canonical_cbor_hex": "a6677665727369",
"expected_said": "EDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD"
},
{
"name": "said-005-with-ownership-transitions",
"description": "SAID computation for an envelope with two completed ownership transitions. Each transition signs (byte SAID, previous history hash, from pubkey, to pubkey, frame number). Note that the byte's SAID is computed over the *origin* envelope and never changes; this vector represents the envelope *as it would be encoded in the wire format when fetched at frame 1100*, with two transitions in its history.",
"envelope": {
"version": 1,
"said": "<PLACEHOLDER_SAID>",
"provenance": {
"alg": 1,
"issuer_pubkey": "1111111111111111111111111111111111111111111111111111111111111111",
"issuance_frame": 1024,
"signature": "22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222"
},
"ownership_chain": [
{
"alg": 1,
"from_pubkey": "1111111111111111111111111111111111111111111111111111111111111111",
"to_pubkey": "3333333333333333333333333333333333333333333333333333333333333333",
"frame": 1050,
"previous_history_hash": "EDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD",
"signature": "44444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444"
},
{
"alg": 1,
"from_pubkey": "3333333333333333333333333333333333333333333333333333333333333333",
"to_pubkey": "5555555555555555555555555555555555555555555555555555555555555555",
"frame": 1080,
"previous_history_hash": "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE",
"signature": "66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666"
}
],
"cargo": {
"type": "usd.cargo.v1",
"denomination_micros": 100000000,
"issuer_pubkey": "1111111111111111111111111111111111111111111111111111111111111111"
},
"joule_cost": {
"measured_microjoules": 47,
"estimated_microjoules": 56
}
},
"canonical_cbor_hex": "a6677665727369",
"expected_said": "EDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD"
}
]