Skip to content

test(querier): rfc 0028 slice 2a — 19 test binaries fold into one harness - #400

Merged
jensholdgaard merged 1 commit into
mainfrom
rfc0028-slice2-querier-harness
Jul 6, 2026
Merged

test(querier): rfc 0028 slice 2a — 19 test binaries fold into one harness#400
jensholdgaard merged 1 commit into
mainfrom
rfc0028-slice2-querier-harness

Conversation

@jensholdgaard

Copy link
Copy Markdown
Owner

What

RFC 0028 slice 2a — the querier's 19 integration-test binaries fold into one tests/it/ harness (the same recipe as the ingester's #399). Pure file moves plus the §6-sanctioned mechanical scaffolding: tests/it/main.rs mod lines, removal of the 12 duplicated mod common; declarations, crate::-prefixed common imports/paths, and one include_str! gaining a ../ segment for the new file depth. No test body changed.

RFC0028.1 — inventory proof

cargo test -p ourios-querier -- --list: 162 tests before, 162 after; leaf-name sets identical after stripping module-path prefixes (both snapshots below).

RFC0028.2 — exemptions

None: no querier test installs the process-global meter provider, mutates the environment, or otherwise needs its own process.

Indicative timing (not the RFC0028.3 gate)

Same machine, warm workspace: touch crates/ourios-querier/src/lib.rs && cargo test -p ourios-querier --no-run88.8 s before, 50.0 s after (1.8×). The remaining cost is the two unavoidable DataFusion links (lib-test + the one harness); the authoritative RFC0028.3 probe re-run happens once slice 2 completes across crates, recorded in epic #382.

Invariants / hazards

CLAUDE.md §6.2 (tests are specifications): nothing weakened or deleted — the inventory proof is this PR's shape.

Pre inventory (162)
audit_scan::tests::day_key_prune_matches_the_path_prune: test
audit_scan::tests::day_partition_prune_is_conservative_on_unparseable_paths: test
audit_scan::tests::day_partition_prune_overlap_cases: test
audit_scan::tests::day_prune_requires_a_contiguous_trailing_run: test
bucket_path_with_spaces_resolves: test
compile::tests::attr_fragment_matches_canonical_json: test
compile::tests::duration_nanos_covers_all_units: test
compile::tests::hex_bytes_decodes_case_insensitively: test
compile::tests::resolve_window_defaults_to_lookback_when_no_range: test
compile::tests::resolve_window_uses_explicit_range: test
compile::tests::timestamp_nanos_parses_rfc3339: test
cross_file_same_timestamp_tiebreak_assert_first: test
cross_file_same_timestamp_tiebreak_retract_first: test
derived_map_folds_assert_then_retract_by_timestamp: test
drift::tests::decode_drift_rows_rejects_a_null_group_key: test
drift::tests::resolve_window_normalises_reversed_bounds: test
drift_excludes_a_string_prefix_sibling_tenant: test
drift_rejects_audit_file_escaping_tenant_root: test
dsl::display::tests::canonicalizes_terse_aliases_to_keywords: test
dsl::display::tests::corpus_round_trips_through_canonical_form: test
dsl::display::tests::floats_serialise_without_an_exponent: test
dsl::display::tests::integer_valued_float_keeps_a_fractional_part: test
dsl::display::tests::serialization_is_single_line: test
dsl::ir::tests::and_flattens_nested_same_kind_and_collapses_singletons: test
dsl::ir::tests::is_string_operand_classifies_fields: test
dsl::ir::tests::or_does_not_absorb_an_and_child: test
dsl::parse::tests::drift_head_forecloses_trailing_stages: test
dsl::parse::tests::drift_head_requires_from_and_to: test
dsl::parse::tests::drift_is_not_a_reserved_field_in_a_log_query: test
dsl::parse::tests::flattens_same_kind_groups: test
dsl::parse::tests::parse_rejects_drift_as_a_log_query: test
dsl::parse::tests::parse_time_pub_handles_all_three_forms: test
dsl::parse::tests::parses_and_or_not_precedence: test
dsl::parse::tests::parses_bracketed_and_dotted_attr_keys: test
dsl::parse::tests::parses_calls_with_arity_checks: test
dsl::parse::tests::parses_drift_head_with_all_time_forms: test
dsl::parse::tests::parses_full_pipeline: test
dsl::parse::tests::parses_match_all_and_match_none: test
dsl::parse::tests::parses_scalar_comparison: test
dsl::parse::tests::parses_severity_name_case_insensitively: test
dsl::parse::tests::parses_string_escapes: test
dsl::parse::tests::rejects_bare_identifier_as_value: test
dsl::parse::tests::rejects_literal_newline_outside_a_string: test
dsl::parse::tests::rejects_malformed_duration_and_timestamp: test
dsl::parse::tests::rejects_non_string_operand_in_string_function: test
dsl::parse::tests::rejects_regex_operator_on_severity: test
dsl::parse::tests::rejects_severity_as_a_scalar_path: test
dsl::parse::tests::rejects_unterminated_string_and_literal_newline: test
dsl::parse::tests::requires_a_real_rfc3339_offset: test
dsl::parse::tests::validate_sort_key_rejects_non_idents: test
dsl::structured::tests::defaults_stages_to_empty: test
dsl::structured::tests::parse_structured_rejects_drift_as_a_log_query: test
dsl::structured::tests::parses_calls_with_typed_args: test
dsl::structured::tests::parses_comparison_with_attr_object: test
dsl::structured::tests::parses_const_and_boolean_nodes: test
dsl::structured::tests::parses_structured_drift_object: test
dsl::structured::tests::parses_the_full_stage_set: test
dsl::structured::tests::rejects_bad_call_arity_and_unknown_fn: test
dsl::structured::tests::rejects_drift_object_mixed_with_predicate_or_stages: test
dsl::structured::tests::rejects_empty_combinator_and_flattens_same_kind: test
dsl::structured::tests::rejects_negative_severity_number: test
dsl::structured::tests::rejects_non_string_operand_in_call: test
dsl::structured::tests::rejects_oversized_integer_instead_of_float_coercion: test
dsl::structured::tests::rejects_regex_op_on_severity: test
dsl::structured::tests::rejects_stray_top_level_by_on_count: test
dsl::structured::tests::rejects_unknown_field_and_malformed_json: test
dsl::structured::tests::rejects_unknown_field_object_key: test
dsl::structured::tests::rejects_unknown_node_key: test
dsl::structured::tests::rejects_unknown_stage_body_key: test
dsl::structured::tests::rejects_unknown_top_level_key: test
dsl::structured::tests::render_rejects_a_non_empty_body: test
dsl::structured::tests::routes_severity_to_the_severity_predicate: test
dsl::structured::tests::validates_sort_key_against_the_grammar: test
executes_and_counts_matching_rows: test
h5_3_drift_query_returns_templates_that_gained_a_version: test
invalid_query_fails_before_alias_derivation: test
log_row::tests::absent_body_returns_the_absent_variant: test
log_row::tests::string_in_registry_renders_faithful: test
log_row::tests::string_not_in_registry_returns_retained_body: test
log_row::tests::structured_absent_body_falls_back: test
log_row::tests::structured_decode_success_returns_typed_value: test
log_row::tests::structured_undecodable_body_is_retained_not_faithful: test
read_dir_error_surfaces_as_storage_not_empty: test
rfc0001_10_time_unix_nano_preserved_verbatim_from_wire: test
rfc0001_5_bare_template_id_spans_all_versions_of_leaf: test
rfc0001_6_bare_template_id_does_not_follow_alias_chains: test
rfc0002_10_yaml_safe_single_line: test
rfc0002_11_structured_surface_schema_validation: test
rfc0002_1_predicate_compiles_to_a_filter: test
rfc0002_2_string_and_structured_surfaces_agree: test
rfc0002_3_no_datafusion_leakage: test
rfc0002_4_default_time_window: test
rfc0002_5_named_severity_equality_is_a_band: test
rfc0002_5_severity_name_maps_to_severity_number: test
rfc0002_6_attr_not_equal_requires_present_key: test
rfc0002_6_first_class_fields_resolve: test
rfc0002_6_non_text_operators_rejected: test
rfc0002_6_unsupported_stage_rejected: test
rfc0002_7_round_trip_idempotent: test
rfc0002_8_malformed_query_specific_error: test
rfc0002_9_resolves_to_expands_via_alias_map: test
rfc0002_9_storage_backed_resolves_to_expands_via_derived_map: test
rfc0005_13_effective_window_prunes_row_groups: test
rfc0005_13_pre_amendment_file_windows_on_time_unix_nano: test
rfc0005_13_window_returns_observed_only_record: test
rfc0007_1_pushdown_prunes_row_groups: test
rfc0007_1_severity_filter_counts_and_prunes: test
rfc0007_2_template_exact_work_scales_with_result_not_corpus: test
rfc0007_2_time_window_prunes_whole_partitions: test
rfc0007_3_real_engine_error_does_not_leak: test
rfc0007_4_heterogeneous_schemas_stay_queryable: test
rfc0007_4_severity_filter_on_column_absent_everywhere_is_empty: test
rfc0007_5_tenant_isolation: test
rfc0009_3_manifest_naming_compacted_file_avoids_double_count: test
rfc0009_3_manifest_restricts_to_named_files: test
rfc0010_1_drift_returns_drifted_templates_with_counts: test
rfc0010_2_half_open_window_excludes_out_of_window_events: test
rfc0010_3_event_type_scoping_excludes_non_widenings: test
rfc0010_4_tenant_isolation: test
rfc0010_5_empty_window_is_empty_not_error: test
rfc0010_6_ordering_count_desc_then_template_id_asc: test
rfc0010_7_aggregate_version_and_time_bounds: test
rfc0010_8_no_sql_or_datafusion_leakage: test
rfc0017_2_registry_derives_completely_including_v1: test
rfc0017_3_clean_row_renders_bit_identically: test
rfc0017_4_lossy_rows_return_retained_body: test
rfc0017_5_rows_render_against_their_own_version: test
rfc0017_6_typed_row_payload_returned_b1b2_compatible: test
rfc0017_7_no_engine_internals_leak: test
rfc0017_8_every_persisted_otlp_field_round_trips: test
rfc0017_9_structured_body_returned_as_structure: test
rfc0017_9_structured_row_with_absent_body_falls_back: test
rfc0017_9_structured_row_with_undecodable_body_falls_back: test
rfc0018_4_event_name_is_filterable: test
rfc0018_6_severity_compare_matches_preserved_out_of_range: test
rfc0022_3_pre_amendment_files_answer_identically: test
rfc0022_4_operator_set_gated_on_promotion: test
rfc0022_5_promoted_predicates_prune: test
rfc0022_6_read_path_is_projection_blind: test
rfc0022_7_promoted_set_drift_unions_cleanly: test
rfc0022_fixture_writes_the_pre_amendment_file: test
rfc0024_6_querier_agrees_with_the_naive_oracle: test
rfc0025_3_rendering_distinguishes_absent_from_empty: test
second_tenants_alias_events_never_fold_into_the_derived_map: test
symlinked_tenant_root_is_rejected: test
template_registry::tests::created_keys_at_initial_version_widened_at_new_version: test
template_registry::tests::rejection_contributes_nothing: test
template_registry::tests::same_key_resolves_in_timestamp_order_last_wins: test
template_registry::tests::type_expanded_keys_at_new_version: test
tenant_dir_without_committed_parquet_is_empty: test
tests::default_result_has_zeroed_stats: test
tests::fold_metrics_extracts_pruning_and_bytes: test
tests::new_on_missing_dir_does_not_panic_and_queries_empty: test
tests::object_store_url_prepends_prefix_and_round_trips: test
tests::object_store_url_with_no_prefix_is_just_the_key: test
tests::query_error_display_messages_are_stable: test
tests::resolve_globs_committed_parquet_without_a_manifest: test
tests::resolve_malformed_manifest_is_a_storage_error: test
tests::resolve_manifest_is_authoritative: test
tests::resolve_missing_tenant_dir_is_empty: test
tests::resolve_tmp_only_partition_is_empty: test
tests::rfc0007_3_storage_display_leaks_no_engine_tokens: test
Post inventory (162)
audit_scan::tests::day_key_prune_matches_the_path_prune: test
audit_scan::tests::day_partition_prune_is_conservative_on_unparseable_paths: test
audit_scan::tests::day_partition_prune_overlap_cases: test
audit_scan::tests::day_prune_requires_a_contiguous_trailing_run: test
boundary::rfc0007_3_real_engine_error_does_not_leak: test
compile::tests::attr_fragment_matches_canonical_json: test
compile::tests::duration_nanos_covers_all_units: test
compile::tests::hex_bytes_decodes_case_insensitively: test
compile::tests::resolve_window_defaults_to_lookback_when_no_range: test
compile::tests::resolve_window_uses_explicit_range: test
compile::tests::timestamp_nanos_parses_rfc3339: test
drift::drift_excludes_a_string_prefix_sibling_tenant: test
drift::drift_rejects_audit_file_escaping_tenant_root: test
drift::h5_3_drift_query_returns_templates_that_gained_a_version: test
drift::rfc0010_1_drift_returns_drifted_templates_with_counts: test
drift::rfc0010_2_half_open_window_excludes_out_of_window_events: test
drift::rfc0010_3_event_type_scoping_excludes_non_widenings: test
drift::rfc0010_4_tenant_isolation: test
drift::rfc0010_5_empty_window_is_empty_not_error: test
drift::rfc0010_6_ordering_count_desc_then_template_id_asc: test
drift::rfc0010_7_aggregate_version_and_time_bounds: test
drift::rfc0010_8_no_sql_or_datafusion_leakage: test
drift::tests::decode_drift_rows_rejects_a_null_group_key: test
drift::tests::resolve_window_normalises_reversed_bounds: test
dsl::display::tests::canonicalizes_terse_aliases_to_keywords: test
dsl::display::tests::corpus_round_trips_through_canonical_form: test
dsl::display::tests::floats_serialise_without_an_exponent: test
dsl::display::tests::integer_valued_float_keeps_a_fractional_part: test
dsl::display::tests::serialization_is_single_line: test
dsl::ir::tests::and_flattens_nested_same_kind_and_collapses_singletons: test
dsl::ir::tests::is_string_operand_classifies_fields: test
dsl::ir::tests::or_does_not_absorb_an_and_child: test
dsl::parse::tests::drift_head_forecloses_trailing_stages: test
dsl::parse::tests::drift_head_requires_from_and_to: test
dsl::parse::tests::drift_is_not_a_reserved_field_in_a_log_query: test
dsl::parse::tests::flattens_same_kind_groups: test
dsl::parse::tests::parse_rejects_drift_as_a_log_query: test
dsl::parse::tests::parse_time_pub_handles_all_three_forms: test
dsl::parse::tests::parses_and_or_not_precedence: test
dsl::parse::tests::parses_bracketed_and_dotted_attr_keys: test
dsl::parse::tests::parses_calls_with_arity_checks: test
dsl::parse::tests::parses_drift_head_with_all_time_forms: test
dsl::parse::tests::parses_full_pipeline: test
dsl::parse::tests::parses_match_all_and_match_none: test
dsl::parse::tests::parses_scalar_comparison: test
dsl::parse::tests::parses_severity_name_case_insensitively: test
dsl::parse::tests::parses_string_escapes: test
dsl::parse::tests::rejects_bare_identifier_as_value: test
dsl::parse::tests::rejects_literal_newline_outside_a_string: test
dsl::parse::tests::rejects_malformed_duration_and_timestamp: test
dsl::parse::tests::rejects_non_string_operand_in_string_function: test
dsl::parse::tests::rejects_regex_operator_on_severity: test
dsl::parse::tests::rejects_severity_as_a_scalar_path: test
dsl::parse::tests::rejects_unterminated_string_and_literal_newline: test
dsl::parse::tests::requires_a_real_rfc3339_offset: test
dsl::parse::tests::validate_sort_key_rejects_non_idents: test
dsl::structured::tests::defaults_stages_to_empty: test
dsl::structured::tests::parse_structured_rejects_drift_as_a_log_query: test
dsl::structured::tests::parses_calls_with_typed_args: test
dsl::structured::tests::parses_comparison_with_attr_object: test
dsl::structured::tests::parses_const_and_boolean_nodes: test
dsl::structured::tests::parses_structured_drift_object: test
dsl::structured::tests::parses_the_full_stage_set: test
dsl::structured::tests::rejects_bad_call_arity_and_unknown_fn: test
dsl::structured::tests::rejects_drift_object_mixed_with_predicate_or_stages: test
dsl::structured::tests::rejects_empty_combinator_and_flattens_same_kind: test
dsl::structured::tests::rejects_negative_severity_number: test
dsl::structured::tests::rejects_non_string_operand_in_call: test
dsl::structured::tests::rejects_oversized_integer_instead_of_float_coercion: test
dsl::structured::tests::rejects_regex_op_on_severity: test
dsl::structured::tests::rejects_stray_top_level_by_on_count: test
dsl::structured::tests::rejects_unknown_field_and_malformed_json: test
dsl::structured::tests::rejects_unknown_field_object_key: test
dsl::structured::tests::rejects_unknown_node_key: test
dsl::structured::tests::rejects_unknown_stage_body_key: test
dsl::structured::tests::rejects_unknown_top_level_key: test
dsl::structured::tests::render_rejects_a_non_empty_body: test
dsl::structured::tests::routes_severity_to_the_severity_predicate: test
dsl::structured::tests::validates_sort_key_against_the_grammar: test
execution::bucket_path_with_spaces_resolves: test
execution::executes_and_counts_matching_rows: test
execution::read_dir_error_surfaces_as_storage_not_empty: test
execution::rfc0007_1_pushdown_prunes_row_groups: test
execution::rfc0007_1_severity_filter_counts_and_prunes: test
execution::rfc0007_2_template_exact_work_scales_with_result_not_corpus: test
execution::rfc0007_2_time_window_prunes_whole_partitions: test
execution::rfc0007_5_tenant_isolation: test
execution::tenant_dir_without_committed_parquet_is_empty: test
forward_compat::rfc0007_4_heterogeneous_schemas_stay_queryable: test
forward_compat::rfc0007_4_severity_filter_on_column_absent_everywhere_is_empty: test
log_row::tests::absent_body_returns_the_absent_variant: test
log_row::tests::string_in_registry_renders_faithful: test
log_row::tests::string_not_in_registry_returns_retained_body: test
log_row::tests::structured_absent_body_falls_back: test
log_row::tests::structured_decode_success_returns_typed_value: test
log_row::tests::structured_undecodable_body_is_retained_not_faithful: test
manifest::rfc0009_3_manifest_naming_compacted_file_avoids_double_count: test
manifest::rfc0009_3_manifest_restricts_to_named_files: test
rfc0001_query_semantics::rfc0001_5_bare_template_id_spans_all_versions_of_leaf: test
rfc0001_query_semantics::rfc0001_6_bare_template_id_does_not_follow_alias_chains: test
rfc0001_time_preserved::rfc0001_10_time_unix_nano_preserved_verbatim_from_wire: test
rfc0002_dsl::rfc0002_10_yaml_safe_single_line: test
rfc0002_dsl::rfc0002_11_structured_surface_schema_validation: test
rfc0002_dsl::rfc0002_1_predicate_compiles_to_a_filter: test
rfc0002_dsl::rfc0002_2_string_and_structured_surfaces_agree: test
rfc0002_dsl::rfc0002_3_no_datafusion_leakage: test
rfc0002_dsl::rfc0002_4_default_time_window: test
rfc0002_dsl::rfc0002_5_named_severity_equality_is_a_band: test
rfc0002_dsl::rfc0002_5_severity_name_maps_to_severity_number: test
rfc0002_dsl::rfc0002_6_attr_not_equal_requires_present_key: test
rfc0002_dsl::rfc0002_6_first_class_fields_resolve: test
rfc0002_dsl::rfc0002_6_non_text_operators_rejected: test
rfc0002_dsl::rfc0002_6_unsupported_stage_rejected: test
rfc0002_dsl::rfc0002_7_round_trip_idempotent: test
rfc0002_dsl::rfc0002_8_malformed_query_specific_error: test
rfc0002_dsl::rfc0002_9_resolves_to_expands_via_alias_map: test
rfc0002_dsl::rfc0002_9_storage_backed_resolves_to_expands_via_derived_map: test
rfc0005_13::rfc0005_13_effective_window_prunes_row_groups: test
rfc0005_13::rfc0005_13_pre_amendment_file_windows_on_time_unix_nano: test
rfc0005_13::rfc0005_13_window_returns_observed_only_record: test
rfc0005_14_alias_derivation::cross_file_same_timestamp_tiebreak_assert_first: test
rfc0005_14_alias_derivation::cross_file_same_timestamp_tiebreak_retract_first: test
rfc0005_14_alias_derivation::derived_map_folds_assert_then_retract_by_timestamp: test
rfc0005_14_alias_derivation::invalid_query_fails_before_alias_derivation: test
rfc0005_14_alias_derivation::second_tenants_alias_events_never_fold_into_the_derived_map: test
rfc0005_14_alias_derivation::symlinked_tenant_root_is_rejected: test
rfc0017_query_rows::rfc0017_6_typed_row_payload_returned_b1b2_compatible: test
rfc0017_query_rows::rfc0017_7_no_engine_internals_leak: test
rfc0017_query_rows::rfc0017_8_every_persisted_otlp_field_round_trips: test
rfc0017_registry::rfc0017_2_registry_derives_completely_including_v1: test
rfc0017_rendering::rfc0017_3_clean_row_renders_bit_identically: test
rfc0017_rendering::rfc0017_4_lossy_rows_return_retained_body: test
rfc0017_rendering::rfc0017_5_rows_render_against_their_own_version: test
rfc0017_rendering::rfc0017_9_structured_body_returned_as_structure: test
rfc0017_rendering::rfc0017_9_structured_row_with_absent_body_falls_back: test
rfc0017_rendering::rfc0017_9_structured_row_with_undecodable_body_falls_back: test
rfc0018_otlp_compliance::rfc0018_4_event_name_is_filterable: test
rfc0018_severity::rfc0018_6_severity_compare_matches_preserved_out_of_range: test
rfc0022_attr_columns::rfc0022_3_pre_amendment_files_answer_identically: test
rfc0022_attr_columns::rfc0022_4_operator_set_gated_on_promotion: test
rfc0022_attr_columns::rfc0022_5_promoted_predicates_prune: test
rfc0022_attr_columns::rfc0022_6_read_path_is_projection_blind: test
rfc0022_attr_columns::rfc0022_7_promoted_set_drift_unions_cleanly: test
rfc0022_attr_columns::rfc0022_fixture_writes_the_pre_amendment_file: test
rfc0024_properties::rfc0024_6_querier_agrees_with_the_naive_oracle: test
rfc0025_rendering::rfc0025_3_rendering_distinguishes_absent_from_empty: test
template_registry::tests::created_keys_at_initial_version_widened_at_new_version: test
template_registry::tests::rejection_contributes_nothing: test
template_registry::tests::same_key_resolves_in_timestamp_order_last_wins: test
template_registry::tests::type_expanded_keys_at_new_version: test
tests::default_result_has_zeroed_stats: test
tests::fold_metrics_extracts_pruning_and_bytes: test
tests::new_on_missing_dir_does_not_panic_and_queries_empty: test
tests::object_store_url_prepends_prefix_and_round_trips: test
tests::object_store_url_with_no_prefix_is_just_the_key: test
tests::query_error_display_messages_are_stable: test
tests::resolve_globs_committed_parquet_without_a_manifest: test
tests::resolve_malformed_manifest_is_a_storage_error: test
tests::resolve_manifest_is_authoritative: test
tests::resolve_missing_tenant_dir_is_empty: test
tests::resolve_tmp_only_partition_is_empty: test
tests::rfc0007_3_storage_display_leaks_no_engine_tokens: test

🤖 Generated with Claude Code

…ness

Pure moves + mechanical scaffolding (tests/it/main.rs mod lines,
crate::-prefixed common imports, one include_str! gaining a path
segment): no test body changed (RFC0028.1). Nothing needs process
isolation in this crate, so nothing is exempt (RFC0028.2).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@jensholdgaard
jensholdgaard requested a review from Copilot July 6, 2026 08:47
@coderabbitai

coderabbitai Bot commented Jul 6, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@jensholdgaard, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 11 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: c25cf1fc-3074-43be-bbb6-6dcd180155f8

📥 Commits

Reviewing files that changed from the base of the PR and between 24c2c7c and 0755928.

📒 Files selected for processing (21)
  • crates/ourios-querier/tests/it/acceptance.rs
  • crates/ourios-querier/tests/it/boundary.rs
  • crates/ourios-querier/tests/it/common/mod.rs
  • crates/ourios-querier/tests/it/drift.rs
  • crates/ourios-querier/tests/it/execution.rs
  • crates/ourios-querier/tests/it/forward_compat.rs
  • crates/ourios-querier/tests/it/main.rs
  • crates/ourios-querier/tests/it/manifest.rs
  • crates/ourios-querier/tests/it/rfc0001_query_semantics.rs
  • crates/ourios-querier/tests/it/rfc0001_time_preserved.rs
  • crates/ourios-querier/tests/it/rfc0002_dsl.rs
  • crates/ourios-querier/tests/it/rfc0005_13.rs
  • crates/ourios-querier/tests/it/rfc0005_14_alias_derivation.rs
  • crates/ourios-querier/tests/it/rfc0017_query_rows.rs
  • crates/ourios-querier/tests/it/rfc0017_registry.rs
  • crates/ourios-querier/tests/it/rfc0017_rendering.rs
  • crates/ourios-querier/tests/it/rfc0018_otlp_compliance.rs
  • crates/ourios-querier/tests/it/rfc0018_severity.rs
  • crates/ourios-querier/tests/it/rfc0022_attr_columns.rs
  • crates/ourios-querier/tests/it/rfc0024_properties.rs
  • crates/ourios-querier/tests/it/rfc0025_rendering.rs
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch rfc0028-slice2-querier-harness

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR implements RFC 0028 slice 2a for ourios-querier by consolidating the crate’s integration tests into a single tests/it/ harness to reduce DataFusion-heavy link count while preserving the existing test inventory and behavior.

Changes:

  • Introduces a consolidated integration test harness at crates/ourios-querier/tests/it/main.rs and moves former integration tests under tests/it/ as modules.
  • Removes per-file mod common; patterns and updates shared fixture imports/paths to use crate::common.
  • Adjusts the one include_str! path for the deeper test-module location.

Reviewed changes

Copilot reviewed 13 out of 21 changed files in this pull request and generated no comments.

Show a summary per file
File Description
crates/ourios-querier/tests/it/main.rs New single-harness entrypoint that wires all integration-test modules.
crates/ourios-querier/tests/it/common/mod.rs Consolidated shared fixtures for the harness (now referenced via crate::common).
crates/ourios-querier/tests/it/acceptance.rs Acceptance-criteria mapping notes retained in harness module form.
crates/ourios-querier/tests/it/boundary.rs Boundary/leakage integration test moved under harness.
crates/ourios-querier/tests/it/execution.rs Execution-path integration tests moved under harness.
crates/ourios-querier/tests/it/forward_compat.rs Forward-compat schema-drift integration tests moved under harness.
crates/ourios-querier/tests/it/manifest.rs Manifest reader-side integration tests moved under harness.
crates/ourios-querier/tests/it/drift.rs Drift integration tests updated to use crate::common fixtures.
crates/ourios-querier/tests/it/rfc0001_query_semantics.rs Updated common-fixture references to crate::common under harness.
crates/ourios-querier/tests/it/rfc0001_time_preserved.rs Updated common-fixture references to crate::common under harness.
crates/ourios-querier/tests/it/rfc0002_dsl.rs Updated common imports and include_str! path for new module depth.
crates/ourios-querier/tests/it/rfc0005_13.rs Updated common imports to crate::common under harness.
crates/ourios-querier/tests/it/rfc0005_14_alias_derivation.rs Updated common imports to crate::common under harness.
crates/ourios-querier/tests/it/rfc0017_query_rows.rs Updated common imports to crate::common under harness.
crates/ourios-querier/tests/it/rfc0017_registry.rs RFC0017 registry scenario moved under harness.
crates/ourios-querier/tests/it/rfc0017_rendering.rs RFC0017 rendering scenarios moved under harness.
crates/ourios-querier/tests/it/rfc0018_otlp_compliance.rs Updated common imports to crate::common under harness.
crates/ourios-querier/tests/it/rfc0018_severity.rs Updated common imports to crate::common under harness.
crates/ourios-querier/tests/it/rfc0022_attr_columns.rs Updated common imports/paths to crate::common under harness.
crates/ourios-querier/tests/it/rfc0024_properties.rs Updated common imports to crate::common under harness.
crates/ourios-querier/tests/it/rfc0025_rendering.rs Updated common imports to crate::common under harness.
Comments suppressed due to low confidence (2)

crates/ourios-querier/tests/it/rfc0001_query_semantics.rs:9

  • These module docs still reference the pre-consolidation locations (tests/rfc0002_dsl.rs and tests/common). After moving into the tests/it harness, the shared fixtures are provided by crate::common, and keeping the docs accurate makes navigation much easier.
    crates/ourios-querier/tests/it/rfc0001_time_preserved.rs:10
  • The doc comment still refers to tests/common, but the shared fixtures now live in the consolidated harness as crate::common (tests/it/common). Updating the reference avoids pointing readers at a non-existent path.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@jensholdgaard
jensholdgaard merged commit 36f28ff into main Jul 6, 2026
22 checks passed
@jensholdgaard
jensholdgaard deleted the rfc0028-slice2-querier-harness branch July 6, 2026 08:53
jensholdgaard added a commit that referenced this pull request Jul 6, 2026
The s3-integration job names the old rfc0013_object_store binary (now
the it harness, module-prefixed names under --exact), and the weekly
deep-run's parquet + querier lines target rfc0024_properties binaries
consolidated by this PR and #400 — the querier line broke silently at
#400 (schedule-only job).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
jensholdgaard added a commit that referenced this pull request Jul 6, 2026
…ness (#401)

* test(parquet): rfc 0028 slice 2b — 17 test binaries fold into one harness

Pure moves (incl. the proptest-regressions sidecar, which resolves
source-relative) + the harness main.rs: no test body changed
(RFC0028.1); nothing needs process isolation (RFC0028.2).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* ci: retarget harness test invocations (RFC0028.5)

The s3-integration job names the old rfc0013_object_store binary (now
the it harness, module-prefixed names under --exact), and the weekly
deep-run's parquet + querier lines target rfc0024_properties binaries
consolidated by this PR and #400 — the querier line broke silently at
#400 (schedule-only job).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants