ade_core_interop
RED- Purpose
Live cardano-node interop driver. Hosts the
live_*_sessionRED binaries plus the N-E GREEN tx-submission bridges and the chain-follow driver (follow).follow.rsis the FORBIDDEN minted-ValidatedHeaderSummaryshape theDC-NODE-35gate forbids from reachingselect_best_chain. (Unchanged across the span.)- Interprets
Live cardano-node N2N wire data for the closure-gate readiness probe + the tx-submission bridges; strips tag-24 via
ade_codec::unwrap_tag24.- MUST NOT
(1) Construct semantic types from raw bytes. (2) Be depended on by any BLUE/GREEN crate (RED leaf). (3) Overstate semantic truth in evidence. (4, CN-WIRE-08)
followstrips viaade_codec::unwrap_tag24. (5, cross-refDC-NODE-35) thefollow.rsminted summary shape MUST NOT reachselect_best_chain.- Inbound deps
None (RED leaf — binaries;
ade_testkitdev/plain only).- Outbound deps
ade_core,ade_codec,ade_crypto,ade_ledger,ade_runtime,ade_network,ade_testkit,ade_types,tokio.- Entry points
ade_core_interop::follow::*,ade_core_interop::tx_submission::{ingest_n2n_events, *},ade_core_interop::local_tx_submission::*.- Key modules
follow.rs,tx_submission.rs,local_tx_submission.rs, thelive_*_sessionbinaries.- Creates (RED-only)
Live-session drivers and transcript types; never semantic types.
Depends on
—
Depended on by
—
CI guards — 8
| Script | Enforces |
|---|---|
| ci_check_consensus_closed_enums.sh | CN-CONS-02, DC-CONS-03, DC-CONS-04, DC-CONS-05, DC-CONS-06, DC-CONS-09, DC-CONS-10, DC-CONSENSUS-01, DC-MEM-01, DC-MEM-02, DC-TXV-01, DC-TXV-02, DC-TXV-03, DC-TXV-04, DC-TXV-05, DC-VAL-01, DC-VAL-02, DC-VAL-03, DC-VAL-04, DC-VAL-05, DC-VAL-06, T-DET-01 |
| ci_check_no_async_in_blue.sh | DC-CORE-01 |
| ci_check_no_chaindb_in_consensus_blue.sh | DC-CONS-03, DC-CONS-05, DC-CONS-07, DC-CONSENSUS-01 |
| ci_check_no_density_in_fork_choice.sh | CN-CONS-01, CN-CONS-02, CN-CONS-03, CN-CONS-05, DC-CONS-03, DC-CONSENSUS-01, T-CONS-01 |
| ci_check_producer_corpus_present.sh | CN-CONS-06 |
| ci_check_receive_paths_corpus_present.sh | RO-LIVE-02 |
| ci_check_server_paths_corpus_present.sh | RO-LIVE-01 |
| ci_check_tag24_wire_authority.sh | CN-WIRE-08 |
Related invariants — 6
| ID | Status | Statement |
|---|---|---|
| CN-CONS-06 | enforced | Cross-impl acceptance: blocks forged by Ade are accepted by cardano-node when delivered via N2N block-fetch / chain-sync. Evidence is operator-action:… |
| CN-WIRE-08 | enforced | N2N tag-24 CBOR-in-CBOR payload envelopes are constructed and stripped through ONE shared BLUE byte authority in ade_codec (wrap_tag24/unwrap_tag24). … |
| DC-CONSENSUS-01 | enforced | Chain selection is deterministic and matches Haskell node behavior |
| DC-CORE-01 | enforced | BLUE authoritative crates are sync-only: no async fn, .await, tokio::, async_std::, Future, futures::, task spawning, async channels, or timers. Async… |
| RO-LIVE-01 | partial | A Haskell cardano-node peer issuing RequestRange covering an Ade-forged block receives, via the producer-side block-fetch server, bytes that pass that… |
| RO-LIVE-02 | partial | A cardano-node peer's RollForward + BlockDelivered stream, consumed by the receive bridge, produces a ChainDb tip equal to the peer's announced tip at… |