@@ -536,6 +536,39 @@ fn replay_every_bundled_language_and_archive_current_evidence() {
536536const ARCHIVED_MANIFEST : & [ u8 ] =
537537 include_bytes ! ( "../../../tests/fixtures/grammar_manifests/manifest_2026_10_04.json" ) ;
538538
539+ #[ test]
540+ fn current_full_replay_evidence_binds_each_source_and_preserves_uncertainty ( ) {
541+ let input =
542+ include_bytes ! ( "../../../tests/acceptance/evidence/grammar-current-corpus-2026-10-06.json" ) ;
543+ let corpus = validate_corpus ( input) . unwrap ( ) ;
544+ let report: Value = serde_json:: from_slice ( include_bytes ! (
545+ "../../../tests/acceptance/evidence/grammar-current-manifest-2026-10-06.json"
546+ ) )
547+ . unwrap ( ) ;
548+ assert_separate_cohort_counts ( & report) ;
549+ assert_eq ! (
550+ report[ "corpus_sha256" ] ,
551+ format!( "{:x}" , Sha256 :: digest( input) )
552+ ) ;
553+ assert_eq ! ( report[ "manifest_sha256" ] , corpus. manifest_sha256) ;
554+ assert_eq ! ( report[ "program_stable" ] , true ) ;
555+ assert_eq ! ( report[ "grammar_qualified_count" ] , 0 ) ;
556+ assert_eq ! ( report[ "independent_holdout" ] , false ) ;
557+ assert_eq ! ( report[ "native_oracle_executed" ] , false ) ;
558+ assert_eq ! ( report[ "delivery_decision" ] , "not_evaluated" ) ;
559+ let cases = report[ "cases" ] . as_array ( ) . unwrap ( ) ;
560+ for source in & corpus. cases {
561+ let row = cases. iter ( ) . find ( |row| row[ "id" ] == source. id ) . unwrap ( ) ;
562+ assert_eq ! ( row[ "attempted" ] , true ) ;
563+ assert_eq ! ( row[ "source_sha256" ] , source. source_sha256) ;
564+ assert_eq ! ( row[ "language" ] , source. language) ;
565+ assert_eq ! ( row[ "cohort" ] , source. cohort) ;
566+ assert_eq ! ( row[ "label" ] , source. label) ;
567+ assert_eq ! ( row[ "origin" ] , source. origin) ;
568+ assert_eq ! ( row[ "expected_valid" ] , source. expected_valid) ;
569+ }
570+ }
571+
539572fn current_corpus_bytes ( archived : & [ u8 ] ) -> Vec < u8 > {
540573 validate_corpus_against_manifest ( archived, ARCHIVED_MANIFEST ) . unwrap ( ) ;
541574 let mut value: Value = serde_json:: from_slice ( archived) . unwrap ( ) ;
0 commit comments