test(velocity): 50-case TDD spec VL_01–VL_50 (Phase 5)
Seven tiers covering VelocityProvider end-to-end: VL_01–08 unit — module derivation + accel helpers VL_09–18 integration — op counting, net, active_commits, new columns VL_19–25 e2e — ranking, two modules, stagnant, prior window, acceleration VL_26–32 performance — timing bounds (20-commit window < 5 s) VL_33–38 state — idempotency, purge, incremental, no duplicates VL_39–44 security — injection, XSS, repo isolation, unicode VL_45–50 stress — TOP cap, truncated flag, 500 commits, count match, BFS cap
All 50 tests pass.
sha256:62f70e90629a10c3cd2324d91a402c4c519a3d36d033c94e9d51572fea7f4580
sha
+80
symbols
sha256:17122d81be8e15bb6ffd063b600bc935983a09b5e19547cfeb6f78a277b1626f
snapshot
+80
symbols added
0
dead code introduced
Semantic Changes
80 symbols
+
test_VL_19_hottest_module_ranked_first
method
async_method test_VL_19_hottest_module_ranked_first L338–358
+
test_VL_20_two_modules_produce_two_rows
method
async_method test_VL_20_two_modules_produce_two_rows L361–374
+
test_VL_21_stagnant_commit_detected
method
async_method test_VL_21_stagnant_commit_detected L377–391
+
test_VL_22_non_stagnant_commit_not_counted
method
async_method test_VL_22_non_stagnant_commit_not_counted L394–405
+
test_VL_23_prior_window_populates_prior_fields
method
async_method test_VL_23_prior_window_populates_prior_fields L408–428
+
test_VL_24_positive_acceleration_when_current_more_active
method
async_method test_VL_24_positive_acceleration_when_current_more_active L431–457
+
test_VL_25_module_only_in_current_has_zero_prior
method
async_method test_VL_25_module_only_in_current_has_zero_prior L460–472
+
test_VL_09_empty_repo_returns_empty
method
async_method test_VL_09_empty_repo_returns_empty L179–185
+
test_VL_10_no_history_entries_returns_empty
method
async_method test_VL_10_no_history_entries_returns_empty L188–196
+
test_VL_12_delete_op_counted_as_removed
method
async_method test_VL_12_delete_op_counted_as_ L216–228
+
test_VL_13_modify_op_counted_as_modified
method
async_method test_VL_13_modify_op_counted_as_ L231–243
+
test_VL_14_net_equals_added_minus_removed
method
async_method test_VL_14_net_equals_added_minus_ L246–259
+
test_VL_15_active_commits_counts_distinct_commits
method
async_method test_VL_15_active_commits_counts_distinct_commits L262–278
+
test_VL_16_window_size_column_populated
method
async_method test_VL_16_window_size_column_populated L281–292
+
test_VL_17_commits_analysed_column_populated
method
async_method test_VL_17_commits_analysed_column_populated L295–310
+
test_VL_26_ten_commits_five_modules_under_500ms
method
async_method test_VL_26_ten_commits_five_modules_under_500ms L482–499
+
test_VL_27_forty_commits_ten_modules_under_2s
method
async_method test_VL_27_forty_commits_ten_modules_under_2s L502–519
+
test_VL_28_empty_repo_fast_path_under_50ms
method
async_method test_VL_28_empty_repo_fast_path_under_50ms L522–528
+
test_VL_30_point_lookup_under_10ms
method
async_method test_VL_30_point_lookup_under_10ms L544–555
+
test_VL_31_top20_leaderboard_query_fast
method
async_method test_VL_31_top20_leaderboard_query_fast L558–581
+
test_VL_32_dashboard_preview_query_fast
method
async_method test_VL_32_dashboard_preview_query_fast L584–602
+
test_VL_39_sql_injection_stored_verbatim
method
async_method test_VL_39_sql_injection_stored_verbatim L724–734
+
test_VL_40_xss_payload_stored_safely
method
async_method test_VL_40_xss_payload_stored_safely L737–747
+
test_VL_42_two_repos_independent_rows
method
async_method test_VL_42_two_repos_independent_rows L763–778
+
test_VL_43_rerun_updates_ref_column
method
async_method test_VL_43_rerun_updates_ref_column L781–795
+
test_VL_44_unicode_in_path_handled
method
async_method test_VL_44_unicode_in_path_handled L798–808
+
test_VL_34_stale_rows_purged_on_rerun
method
async_method test_VL_34_stale_rows_purged_on_rerun L629–647
+
test_VL_35_incremental_new_module_appears
method
async_method test_VL_35_incremental_new_module_appears L650–667
+
test_VL_36_no_duplicate_modules_after_three_runs
method
async_method test_VL_36_no_duplicate_modules_after_three_runs L670–682
+
test_VL_37_active_commits_increases_with_new_commits
method
async_method test_VL_37_active_commits_increases_with_new_commits L685–701
+
test_VL_38_truncated_false_when_under_cap
method
async_method test_VL_38_truncated_false_when_under_cap L704–714
+
test_VL_46_truncated_true_over_top_cap
method
async_method test_VL_46_truncated_true_over_top_cap L835–848
+
test_VL_47_500_commits_completes_without_error
method
async_method test_VL_47_500_commits_completes_without_error L851–867
+
test_VL_48_result_count_matches_stored_rows
method
async_method test_VL_48_result_count_matches_stored_rows L870–888
+
test_VL_49_bfs_walk_cap_never_exceeded
method
async_method test_VL_49_bfs_walk_cap_never_exceeded L891–908
+
test_VL_50_all_extended_columns_non_null
method
async_method test_VL_50_all_extended_columns_non_null L911–934
+
test_VL_01_module_from_deep_symbol_address
method
method test_VL_01_module_from_deep_symbol_address L135–137
+
test_VL_02_module_from_shallow_symbol_address
method
method test_VL_02_module_from_shallow_symbol_address L139–141
+
test_VL_03_module_from_bare_file_no_slash
method
method test_VL_03_module_from_bare_file_no_slash L143–145
+
test_VL_04_module_from_bare_path_with_slash
method
method test_VL_04_module_from_bare_path_with_slash L147–149
+
test_VL_08_accel_fmt_positive_negative_zero
method
method test_VL_08_accel_fmt_positive_negative_zero L165–169
0 comments
To add a comment, use the Muse CLI:
muse hub commit comment sha256:62f70e90629a10c3cd2324d91a402c4c519a3d36d033c94e9d51572fea7f4580 --body "your comment"
No comments yet. Be the first to start the discussion.