//! Characterize the committed legacy carrier, without proposing a new decoder.
use cyber_bao::{
    BlockSize, CHUNK_SIZE, ChunkNum, ChunkRanges, HashBackend, Poseidon2Backend,
    io::slice::{decode_slice, extract_slice},
};

fn main() {
    let backend = Poseidon2Backend;
    let hello = b"hello";
    let (root, proof) = extract_slice(&backend, hello, 0..5, BlockSize::ZERO);
    assert_eq!(proof, [5_u64.to_le_bytes().as_slice(), hello].concat());
    let one = ChunkRanges::from(ChunkNum(0)..ChunkNum(1));
    for declared in [0_u64, 4, 5, 6, 4096] {
        let mut changed = proof.clone();
        changed[..8].copy_from_slice(&declared.to_le_bytes());
        let decoded = decode_slice(&backend, &changed, &root, &one, BlockSize::ZERO)
            .expect("legacy single-group decoder accepts changed header");
        assert_eq!(decoded, vec![(0, hello.to_vec())]);
        println!("single declared={declared} payload=5 accepted=true");
    }

    let body = vec![0x42; 2 * CHUNK_SIZE];
    let all = ChunkRanges::from(ChunkNum(0)..ChunkNum(2));
    let (root, mut proof) = extract_slice(&backend, &body, 0..8192, BlockSize::ZERO);
    let original_len = proof.len();
    proof.extend_from_slice(b"suffix");
    let decoded = decode_slice(&backend, &proof, &root, &all, BlockSize::ZERO)
        .expect("legacy multi-group decoder accepts suffix");
    assert_eq!(
        decoded,
        vec![(0, body[..4096].to_vec()), (4096, body[4096..].to_vec())]
    );
    println!("multi original={original_len} suffix=6 accepted=true");

    let (_, single_empty) = extract_slice(&backend, hello, 2..2, BlockSize::ZERO);
    assert_eq!(
        single_empty,
        [5_u64.to_le_bytes().as_slice(), hello].concat()
    );
    let (_, multi_empty) = extract_slice(&backend, &body, 2..2, BlockSize::ZERO);
    assert_eq!(multi_empty, 8192_u64.to_le_bytes());
    let empty = ChunkRanges::from(ChunkNum(0)..ChunkNum(0));
    let wrong = backend.chunk_hash(b"wrong", 0, true);
    let decoded = decode_slice(&backend, &multi_empty, &wrong, &empty, BlockSize::ZERO)
        .expect("legacy empty traversal performs no root check");
    assert!(decoded.is_empty());
    println!(
        "empty single_wire={} multi_wire={} multi_wrong_root_accepted=true",
        single_empty.len(),
        multi_empty.len()
    );
}

Homonyms

cyber/src/main.rs
soft3/tru/cli/main.rs
warriors/trisha/cli/main.rs
soft3/glia/import/main.rs
cyb/apps/src/main.rs
cyb/optica/src/main.rs
warriors/joy/cli/main.rs
neural/trident/src/main.rs
cyb/cli/src/main.rs
neural/rune/cli/main.rs
soft3/nox/cli/main.rs
cyb/shell/src/main.rs
cyberia/cyberia-my/src/main.rs
soft3/radio/iroh-relay/src/main.rs
soft3/radio/particle/src/main.rs
neural/eidos/cli/src/main.rs
soft3/conformance/rs/src/main.rs
soft3/glia/run/cli/main.rs
soft3/cybergraph/cli/src/main.rs
soft3/neuron/cli/src/main.rs
soft3/hemera/cli/src/main.rs
warriors/erga/cli/src/main.rs
soft3/strata/cli/src/main.rs
neural/rs/pure-rust-check/src/main.rs
soft3/radio/iroh-dns-server/src/main.rs
neural/rs/macho-linker/src/main.rs
soft3/zheng/cli/src/main.rs
soft3/foculus/src/bin/main.rs
neural/rs/cli/src/main.rs
soft3/radio/radio-cli/src/main.rs
neural/rs/rsc/src/main.rs
soft3/lens/cli/src/main.rs
soft3/bbg/cli/src/main.rs
neural/rs/link/src/main.rs
soft3/strata/nebu/cli/src/main.rs
soft3/mudra/audit/quantus-mldsa-crosscheck/src/main.rs
warriors/erga/rs/mine-bench/src/main.rs
warriors/erga/rs/blake-bench/src/main.rs
soft3/strata/trop/cli/src/main.rs
soft3/strata/genies/cli/src/main.rs
cyb/honeycrisp/acpu/src/probe/main.rs
soft3/strata/jali/cli/src/main.rs
cyb/wysm/crates/cli/src/main.rs
warriors/erga/rs/rtable-bench/src/main.rs
warriors/trisha/tools/neptune-policy-oracle/src/main.rs
cyb/honeycrisp/rane/src/probe/main.rs
soft3/lytics/rs/agent/src/main.rs
neural/inf/rs/cli/src/main.rs
soft3/strata/kuro/cli/src/main.rs
neural/trident/silicon/src/bin/main.rs
soft3/lytics/rs/ingest/src/main.rs
cyb/honeycrisp/unimem/experiments/iosurface_probe/src/main.rs
cyb/honeycrisp/unimem/experiments/hyp_probe/src/main.rs
soft3/radio/audit/2026-10-12-bao-proof-research/primary-probe/src/main.rs
soft3/mudra/audit/signature-optimality/xnt-predicate-check/src/main.rs
soft3/radio/audit/2026-10-12-bao-bounded-proof/nostd-parent/src/main.rs
soft3/radio/audit/2026-10-12-bao-bounded-proof/nostd/src/main.rs
soft3/radio/audit/2026-10-12-bao-bounded-proof/fixture-probe/src/main.rs
cyb/honeycrisp/unimem/experiments/dext_contiguous_alloc/client/src/main.rs
cyb/honeycrisp/unimem/experiments/dext_iosurface_pa/client/src/main.rs

Graph