vyre-conform 0.1.0

Conformance suite for vyre backends — proves byte-identical output to CPU reference
Documentation
use std::collections::HashSet;
use std::path::Path;
use crate::generate::archetypes::Archetype;
use crate::generate::archetypes::TestInput;
use crate::enforce::category::Category;
use crate::generate::emit::emit::{write_test, EmittedTest};
use crate::generate::emit::naming::{sanitize, test_name};
use crate::generate::emit::provenance::{header, SourceTuple};
use crate::generate::emit::seed::SeedStream;
use crate::generate::emit::{GenError, GeneratedFile, GenerationPlan, GenerationReport, TemplateKind};
use crate::adversarial::mutations::catalog::applied::applied_for_classes;
use crate::spec::{OracleKind, SpecRow};
use crate::generate::templates::{render, TemplateContext};
use crate::spec::types::OpSpec;
use super::codegen::{expected_bytes, law_name, route_key, rust_test, spec_row_index};
use super::util::{input_bytes_for_arity, last_segment, oracle_name, property_key, template_src};

fn validation_cases() -> &'static [ValidationCase] {
    &[
        ValidationCase {
            rule_id: "V001",
            description: "valid op program is accepted",
            expectation: ValidationExpectation::MustAccept,
        },
        ValidationCase {
            rule_id: "V001",
            description: "duplicate buffer names are rejected",
            expectation: ValidationExpectation::MustReject,
        },
    ]
}