open-standards/INGEST.md
Transaction Science 491b6c98f7
Some checks failed
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (pull_request) Has been cancelled
standards workspaces build + test / which workspaces this change touches (pull_request) Has been cancelled
standards workspaces build + test / macOS energy backends (pull_request) Has been cancelled
wai-quantum WebGPU member / does this change touch it (pull_request) Has been cancelled
wai-quantum WebGPU member / shader checks · browser build · wasip2 inertness (pull_request) Has been cancelled
wai-quantum WebGPU member / member · software Vulkan (linux) (pull_request) Has been cancelled
wai-quantum WebGPU member / member · Metal (macos) (pull_request) Has been cancelled
wai-quantum WebGPU member / member · GPU, Vulkan (jetson-hub) (pull_request) Has been cancelled
wai-quantum WebGPU member / member · GPU, Vulkan (thor) (pull_request) Has been cancelled
wai-quantum WebGPU member / member · integrated GPU, Vulkan (framework-128gb) (pull_request) Has been cancelled
wai-quantum WebGPU member / member · browser WebGPU (macos) (pull_request) Has been cancelled
wai-quantum WebGPU member / member · DX12 and Vulkan (cbio-windows) (pull_request) Has been cancelled
Rust: the repository tracks the latest stable, and says so accurately
This repository had four different answers to "what Rust does this need":

  rust-toolchain.toml  1.98.0   (the pin CI actually installs)
  59 Cargo.toml files  1.97     (rust-version)
  1 Cargo.toml file    1.88     (rust-version)
  INGEST.md            1.95.0   ("CI enforces both")

The floor was enforced in exactly one place -- `wai-quantum-webgpu.yml` ran
`cargo +1.97.0 check` against one crate's one feature. So 59 manifests declared
a minimum nothing verified, and the top-level document told readers a version
that had not been the pin for some time, crediting CI with checking it.

The policy is to track the latest stable. That makes a floor below the pin
something this repository does not promise, so the unenforced check goes, and
the documents stop claiming a version and an enforcement that were not there:

- `wai-quantum-webgpu.yml`: the `MSRV 1.97.0` step, the second toolchain its
  install step existed to fetch, and `MSRV` in the job's name.
- `INGEST.md`: states the pin at the root, that CI installs exactly it, and
  that there is no floor beneath it.
- `openpay/README.md` and `openpay/docs/00-foundation.md`: both named 1.95
  as the toolchain, and the README credited CI with enforcing an MSRV.

A version written in a document is a claim like any other. Stating 1.95 while
the pin is 1.98.0, and "CI enforces both" while one crate was checked, is worse
than stating nothing -- it reads as verified.

**Not done here, deliberately.** The 59 `rust-version = "1.97"` keys and the one
`1.88` stay for now. Removing them is not the small change it looks like: most
member crates inherit via `rust-version.workspace = true`, which fails to parse
the moment the workspace key is gone, so it is a coordinated edit across
hundreds of manifests rather than sixty. The key also has value independent of
any promise, since it turns an old toolchain into a clear message instead of a
compile error. What it must not do is state a floor nobody checks, so the
options are to delete it everywhere or to move it with the pin -- a decision
with consumer-facing consequences, which is its own change.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-11-03 06:39:32 -05:00

122 lines
7.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Ingest — Scope of the Open Standards Ecosystem
*Dated 2026-05-23.*
The three open standards in this repository are self-contained. They do not depend on running any external service. They interoperate where interoperation is useful, but they are complete on their own.
The implementation principle is direct: the best ideas from open-source and private efforts in each niche are ingested and built in Rust under permissive licences, so that each protocol is an ever-present, fully complete, free alternative.
This document records the scope of each protocol — the capabilities included and the capabilities being added — so a contributor can see at a glance what is in the ecosystem and what remains to land.
---
## Rust
Every Rust workspace in this repository is built with the toolchain pinned at the repository root in [`rust-toolchain.toml`](rust-toolchain.toml), which tracks the latest stable release (edition 2024). CI installs that exact version on every runner, so the pin is what the code is held to.
There is no minimum-supported-version floor below the pin. The `rust-version` key in each `Cargo.toml` is a cargo convenience -- it turns an older toolchain into a clear message instead of a compile error -- and is not a support promise.
---
## openpay/
**Scope:** a complete payment-acceptance stack. Card, account-to-account, and stablecoin rails behind one orchestrator, with a typestate-enforced lifecycle and an append-only double-entry ledger.
### Included in v0.1.0
- Typed money (integer minor units, no `f64`).
- Typestate payment lifecycle (`Payment<Created>` → `Authorized` → `Captured` → `Refunded`, distinct types).
- Card rail with `CardAcquirer` trait + Hyperswitch driver.
- Account-to-account rail with `A2aAcquirer` trait + FedNow / PIX (Bacen SPI) / SEPA Instant (RT1/TIPS) drivers — direct ISO 20022 with no PSP intermediary.
- Stablecoin rail with `CryptoGateway` trait + `EvmJsonRpcGateway` (USDC on Base / Ethereum / Polygon / Arbitrum) + a hand-rolled ERC-20 calldata encoder.
- Token-only vault (`Vault` trait + AES-256-GCM-SIV reference).
- On-device fraud scoring (heuristic, ONNX, pure-Rust Burn backends).
- Outbound webhook delivery with Stripe-compatible signing + auto-disable on chronic failure.
- Multi-rail orchestrator with policy routing, idempotency, soft-failure fallback, and 3DS / SCA resume.
- Append-only double-entry ledger with bi-temporal history.
- Ledger ↔ bank-statement reconciliation via deterministic UUID v5 matching.
- Minigraf-backed implementations of every domain store (`LedgerStore`, `WebhookStore`, `ReconciliationStore`, `RefundStore`, `DisputeStore`, `SettlementStore`, `SubscriptionStore`, `IdempotencyStore`).
- Refunds, disputes, batch settlement (with NACHA payout file generation), recurring subscriptions (calendar-aware intervals, trials, dunning, proration), FX with banker's rounding.
- HTTP server (`op-server`) and operator CLI (`op-cli`) with 14 subcommands.
- Driver-SDK conformance harness (`op-driver-sdk`).
- FFI to iOS / macOS (`op-ffi-swift`), Android (`op-ffi-jni`), and browser/Node (`op-wasm`). PAN never crosses any FFI boundary.
- ISO 20022 message helpers (`op-iso20022`) and an EMV TLV codec (`op-emv`).
### Adding
Tracked in [issues labelled `openpay`](https://github.com/Transaction-Science/open-standards/issues?q=is%3Aissue+label%3Aopenpay):
- PCI-DSS scope-management materials and zero-scope reference deployment ([#1](https://github.com/Transaction-Science/open-standards/issues/1)).
- Network token provisioning (VTS + MDES) behind a `Tokenized<Card>` typestate ([#2](https://github.com/Transaction-Science/open-standards/issues/2)).
- Bi-temporal ledger lens: CLI `as_of` queries + Grafana dashboard + OpenTelemetry traces per state transition ([#3](https://github.com/Transaction-Science/open-standards/issues/3)).
- Dispute auto-evidence packager.
- MCC-aware / least-cost routing.
- Sub-merchant onboarding and KYB.
- Multi-currency settlement orchestration.
- Webhook delivery SLA + retry-policy semantics.
---
## smart-byte/
**Scope:** a complete content-addressed value-envelope substrate. Signed envelopes that carry arbitrary cargo with provenance and energy cost intrinsic, replicated by deterministic lockstep BFT across federated 8–32-node clusters.
### Included in v1 spec
- Envelope schema: identity (content-addressed hash), provenance (issuer-signed birth certificate), ownership chain (signature-bound transitions), cargo (opaque application-layer payload), joule cost (measured + estimated).
- Deterministic lockstep simulation — every node runs the identical state machine, one frame at a time.
- Byzantine supermajority commit (>2/3 cluster agreement on post-frame state hash).
- Federation by bounded clusters connected by a gossip overlay (the pattern that has run the internet).
- Per-byte content-addressed history.
- Security engineering documented in `SECURITY.md` — proven primitives, no exotic constructions.
- The Treatise (Parts I–III in full; IV–VII previewed) and the strategic-context document.
### Adding
Tracked in [issues labelled `smart-byte`](https://github.com/Transaction-Science/open-standards/issues?q=is%3Aissue+label%3Asmart-byte):
- Rust reference implementation `smart-byte-rs` — envelope + sign + lockstep gossip MVP ([#4](https://github.com/Transaction-Science/open-standards/issues/4)).
- KERI Self-Addressing IDentifiers + key-event log format ([#5](https://github.com/Transaction-Science/open-standards/issues/5)).
- Conformance test-vector pack published at `byte.transaction.science/conformance` ([#6](https://github.com/Transaction-Science/open-standards/issues/6)).
- Revocation registry.
- Privacy primitives (selective disclosure).
- Schema discovery format.
- Cross-cluster gateway protocol with formal dispute semantics.
---
## eoc/
**Scope:** a complete energy-optimised compute substrate. Every query resolves through a four-stage memoising cascade — cache → key-value → graph → neural — and a neural model is invoked only when nothing cheaper can answer.
### Included in v1 spec
- Four-stage cascade with explicit stage boundaries.
- Joules as the unit of accounting; energy is a protocol-level field, not telemetry.
- Browser-runnable / commodity-CPU posture.
- Federated, no-off-switch positioning (CC-BY-4.0 spec; no single entity runs it).
- Specification suite across `spec/` covering wire format, decay semantics, registry shape, and worked evaluation instances.
### Adding
Tracked in [issues labelled `eoc`](https://github.com/Transaction-Science/open-standards/issues?q=is%3Aissue+label%3Aeoc):
- Rust + WASM reference implementation `eoc-rs` with hardware joule counters (RAPL / NVML / `powermetrics`) ([#7](https://github.com/Transaction-Science/open-standards/issues/7)).
- Benchmark harness `eoc-bench` and the joules-per-MT-Bench-point metric ([#8](https://github.com/Transaction-Science/open-standards/issues/8)).
- GSF SCI-for-AI submission + HuggingFace cookbook recipe ([#9](https://github.com/Transaction-Science/open-standards/issues/9)).
- Cache-key canonicalisation specification.
- Learned router stage (matrix-factorisation or comparable).
- Semantic-similarity threshold calibration methodology.
- Registered MIME / JSON-Schema for the protocol envelope.
---
## How this document evolves
This file is the living scope manifest. Adding a capability begins by filing an issue with the relevant `openpay` / `smart-byte` / `eoc` label, then appearing in the **Adding** list above. Shipping a capability moves it to the **Included** list.
A new standard joins this repository by:
1. Landing in a new top-level subdirectory with its own README and licence, per [`CHARTER.md`](CHARTER.md).
2. Getting a paragraph in the root [`README.md`](README.md).
3. Adding its own section here.