@@ -1675,6 +1675,18 @@ mod tests {
16751675 . as_ref( )
16761676 . unwrap( )
16771677 . contains( STORAGE_IO_MODEL_VERSION ) ) ;
1678+ assert_eq ! ( selected. cache_profile. as_deref( ) , Some ( "no-cache-v1" ) ) ;
1679+ for name in [ "result_cache_hit_ratio" , "buffer_cache_hit_ratio" ] {
1680+ assert_eq ! (
1681+ selected
1682+ . inputs
1683+ . iter( )
1684+ . find( |term| term. name == name)
1685+ . unwrap( )
1686+ . value,
1687+ 0.0
1688+ ) ;
1689+ }
16781690 assert_eq ! (
16791691 selected. evidence_version. as_deref( ) ,
16801692 Some ( "test-evidence-v1" )
@@ -1693,6 +1705,24 @@ mod tests {
16931705 let ( baseline, selected, _) = model. annotations ( & candidate, & root) ;
16941706 assert_eq ! ( baseline. value, Some ( 160.0 ) ) ;
16951707 assert_eq ! ( selected. value, Some ( 10.0 ) ) ;
1708+ // Aggregate cache hit assumptions cannot locate cached extents or
1709+ // reconstruct independently rounded physical storage requests.
1710+ let mut cached = serde_json:: to_value ( & requests_only) . unwrap ( ) ;
1711+ cached[ "targets" ] [ 0 ] [ "scope" ] [ "cache_profile" ] = serde_json:: json!( {
1712+ "profile" : "evidence" , "version" : "cached-with-storage-v1" ,
1713+ "distinct_evaluations" : 1 , "repeated_identical_evaluations" : 9 ,
1714+ "result_cache" : { "working_set_bytes" : 100 , "capacity_bytes" : 100 } ,
1715+ "buffer_cache" : { "working_set_bytes" : 100 , "capacity_bytes" : 100 } ,
1716+ "result_invalidation_ratio" : null,
1717+ } ) ;
1718+ let cached = parse_planner_cost_document ( & cached. to_string ( ) ) . unwrap ( ) ;
1719+ let cached_model = ExportPlannerCostModel { document : & cached } ;
1720+ assert ! ( cached_model. candidate_cost( & candidate, & target) . is_none( ) ) ;
1721+ assert ! ( cached_model
1722+ . annotations( & candidate, & root)
1723+ . 0
1724+ . value
1725+ . is_none( ) ) ;
16961726 document
16971727 . storage_io
16981728 . as_mut ( )
0 commit comments