diff --git a/INGEST.md b/INGEST.md index bf9cde454..923c39bd9 100644 --- a/INGEST.md +++ b/INGEST.md @@ -1,18 +1,53 @@ # Ingest — Scope of the Open Standards Ecosystem -*Dated 2026-05-23.* +*Dated 2026-05-23. Reconciled 2026-11-04.* -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 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. +This file **indexes** the ecosystem and records the repository-wide facts. It does not duplicate each standard's scope: that lives in the standard's own `README.md` and `SPEC.md`, which are the source of truth and cannot drift from the code the way a second copy here did. Four standards also carry an Included / Adding breakdown below, because theirs has content worth keeping; the rest are indexed and link to their own documents. --- -## Rust 1.95.0 +## One toolchain pin, no MSRV floor -Every Rust workspace in this repository targets **Rust 1.95.0 (edition 2024)**. The pin is at the repository root in [`rust-toolchain.toml`](rust-toolchain.toml). Per-workspace MSRV is declared in each `Cargo.toml` (`rust-version = "1.95"`). CI enforces both. +Every Rust workspace in this repository targets the toolchain pinned at the repository root in [`rust-toolchain.toml`](rust-toolchain.toml) — currently **1.99.1 (edition 2024)**. That pin is the only statement of the version, and bumping it is a change to every workspace at once. + +**No first-party crate declares `rust-version`, deliberately.** This project tracks latest stable rather than supporting a floor, and a per-crate MSRV would be a second, quieter version statement that drifts from the pin. Two things in the tree mention it and neither is a second toolchain. [`wai/wai-verify/Cargo.toml`](wai/wai-verify/Cargo.toml) records that it declines an MSRV on purpose: the model checker runs the proof harnesses under a toolchain it brings itself, and an MSRV above that one makes cargo refuse to build them — note the crate carries **no `rust-toolchain.toml`**, so nothing in this repository pins a second version. And `joule-code/joule-code-rs/vendor/wtransport/Cargo.toml` declares `1.88`, which is vendored third-party code stating its own floor. + +*This section previously claimed the pin was 1.95.0 and that "per-workspace MSRV is declared in each `Cargo.toml`". Both were wrong at the time of reading — hence the reconciliation date above.* + +--- + +## The standards + +Twenty-two, each with its own documents. A standard's scope, conformance and status are stated there, not here. + +| Standard | Documents | +|---|---| +| `aac/` | [README](aac/README.md) · [SPEC](aac/SPEC.md) | +| `arl/` | [README](arl/README.md) | +| `eoc/` | [README](eoc/README.md) · Included / Adding below | +| `jcp/` | [README](jcp/README.md) · [SPEC](jcp/SPEC.md) | +| `joule-code/` | [README](joule-code/README.md) · [SPEC](joule-code/SPEC.md) | +| `joule-os/` | [README](joule-os/README.md) | +| `joule-ui/` | [README](joule-ui/README.md) · [SPEC](joule-ui/SPEC.md) | +| `jouleclaw/` | [README](jouleclaw/README.md) · [SPEC](jouleclaw/SPEC.md) | +| `joulecontract/` | [README](joulecontract/README.md) · [SPEC](joulecontract/SPEC.md) | +| `jouledesk/` | [README](jouledesk/README.md) · [SPEC](jouledesk/SPEC.md) | +| `joulehook/` | [README](joulehook/README.md) · [SPEC](joulehook/SPEC.md) | +| `joulespec/` | [README](joulespec/README.md) · [SPEC](joulespec/SPEC.md) | +| `jouletable/` | [README](jouletable/README.md) · [SPEC](jouletable/SPEC.md) | +| `map/` | [README](map/README.md) · [SPEC](map/SPEC.md) | +| `mesh/` | [README](mesh/README.md) · [SPEC](mesh/SPEC.md) · Included / Adding below | +| `openpay/` | [README](openpay/README.md) · Included / Adding below | +| `pool/` | [README](pool/README.md) · [SPEC](pool/SPEC.md) | +| `proof/` | [README](proof/README.md) · [SPEC](proof/SPEC.md) | +| `sandbox/` | [README](sandbox/README.md) · [SPEC](sandbox/SPEC.md) | +| `sense/` | [README](sense/README.md) · [SPEC](sense/SPEC.md) | +| `smart-byte/` | [README](smart-byte/README.md) · Included / Adding below | +| `wai/` | [README](wai/README.md) · [SPEC](wai/SPEC.md) | --- @@ -42,11 +77,11 @@ Every Rust workspace in this repository targets **Rust 1.95.0 (edition 2024)**. ### Adding -Tracked in [issues labelled `openpay`](https://github.com/Transaction-Science/open-standards/issues?q=is%3Aissue+label%3Aopenpay): +Not in a tracker today — see the note at the end of this file. This list is the record: -- 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` 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)). +- PCI-DSS scope-management materials and zero-scope reference deployment. +- Network token provisioning (VTS + MDES) behind a `Tokenized` typestate. +- Bi-temporal ledger lens: CLI `as_of` queries + Grafana dashboard + OpenTelemetry traces per state transition. - Dispute auto-evidence packager. - MCC-aware / least-cost routing. - Sub-merchant onboarding and KYB. @@ -71,11 +106,11 @@ Tracked in [issues labelled `openpay`](https://github.com/Transaction-Science/op ### Adding -Tracked in [issues labelled `smart-byte`](https://github.com/Transaction-Science/open-standards/issues?q=is%3Aissue+label%3Asmart-byte): +Not in a tracker today — see the note at the end of this file. This list is the record: -- 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)). +- Rust reference implementation `smart-byte-rs` — envelope + sign + lockstep gossip MVP. +- KERI Self-Addressing IDentifiers + key-event log format. +- Conformance test-vector pack published at `byte.transaction.science/conformance`. - Revocation registry. - Privacy primitives (selective disclosure). - Schema discovery format. @@ -97,11 +132,11 @@ Tracked in [issues labelled `smart-byte`](https://github.com/Transaction-Science ### Adding -Tracked in [issues labelled `eoc`](https://github.com/Transaction-Science/open-standards/issues?q=is%3Aissue+label%3Aeoc): +Not in a tracker today — see the note at the end of this file. This list is the record: -- 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)). +- Rust + WASM reference implementation `eoc-rs` with hardware joule counters (RAPL / NVML / `powermetrics`). +- Benchmark harness `eoc-bench` and the joules-per-MT-Bench-point metric. +- GSF SCI-for-AI submission + HuggingFace cookbook recipe. - Cache-key canonicalisation specification. - Learned router stage (matrix-factorisation or comparable). - Semantic-similarity threshold calibration methodology. @@ -152,10 +187,14 @@ measured, not taken from a price list. ## 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. +This file is the index and the repository-wide record. Adding a capability begins by filing an issue on the forge under the relevant label; where a standard keeps an Included / Adding breakdown here, the capability appears in **Adding** and moves to **Included** when it ships. 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. +3. Adding a row to **The standards** above. A section of its own is optional and worth writing only when there is more to say than its README already says. + +**On the links this file used to carry, and why the Adding lists now link nowhere.** It pointed 12 times at `github.com` issues. That is not where this project's git lives any more, and more to the point **there is nothing on the other side**: the forge repository has its issue tracker enabled and **empty** — `open_issues_count` is 0 — because the migration carried code and pull requests, not issues. So the nine per-item numbers could not be repointed; a pre-migration `#7` has no counterpart, and Forgejo numbers issues and pull requests from one counter, so guessing would also have been unsafe. They were removed, and the three "tracked in issues labelled X" lines were replaced with the truth, which is that these lists are themselves the record. + +Filing them as forge issues would be the better state and is not something the credentials here can do — `/issues` is 403 for both of them. Until then, an item moves from **Adding** to **Included** by being shipped and edited here, and this file is the tracker.