vyre-conform 0.1.0

Conformance suite for vyre backends — proves byte-identical output to CPU reference
Documentation
#[test]
fn {name}() {{
    let op_id_str = {op_id_str};
    let input_words: &[u32] = &[{input_values}];
    let specs = vyre_conform::op_registry::all_specs();
    let Some(op) = specs.iter().find(|spec| spec.id == {op_id}) else {{
        panic!("Fix: generated test references an op missing from op_registry::all_specs: {{}}", {op_id});
    }};
    let program = {program};
    let inputs = {value_inputs};
    let actual_values = vyre_conform::vyre_reference::run(&program, &inputs)
        .unwrap_or_else(|error| panic!("Fix: reference interpreter rejected generated {op_id_display}/{archetype_id_display} archetype test: {{}}", error));
    let observed_words: Vec<u32> = actual_values.iter().flat_map(|value| value.to_bytes().chunks(4).map(|chunk| {{
        let mut padded = [0u8; 4];
        padded[..chunk.len()].copy_from_slice(chunk);
        u32::from_le_bytes(padded)
    }})).collect();
    {if:point_cpu_reference}
    let oracle_impl = vyre_conform::oracles::cpu_ref::CpuReferenceOracle;
    let verdict = vyre_conform::oracles::Oracle::verify(&oracle_impl, op, input_words, &observed_words);
    assert!(matches!(verdict, vyre_conform::oracles::Verdict::Pass), "Fix: CpuReference oracle rejected {op_id_display}/{archetype_id_display}/{property_display} seed {seed}: {{:?}}", verdict);
    {/if}
    {if:point_non_empty}
    assert!(!actual_values.is_empty(), "Fix: vyre_reference::run produced no output for {op_id_display}/{archetype_id_display}/{property_display} seed {seed} via {oracle_display}");
    {/if}
}}