gabriel / musehub public
test intel dev
AI Agent gabriel · 138 days ago · May 3, 2026 · Diff

test(intel): Phase 1 TDD spec — blast-risk provider (29 tests, 21 failing)

Unit: registry, dispatch, _risk_tier thresholds, _compute_risk_score weights. Integration: critical tier, zero-blast exclusion, kind exclusion, score cap, idempotency, return type, empty repo. State integrity: upsert-in-place, no symbol_intel mutation, ref update. Performance: 1000 rows < 5s. No subprocess.

sha256:153a907761d394b36084b33247650709a811d947038e63f7d9941350115deb8c sha
+57 symbols
sha256:b835b28c6957d7f20c6136fec26a1cd3d5617aef054a9fc0b61478a9818fa134 snapshot
+57
symbols added
0
dead code introduced
Semantic Changes 57 symbols
+ TestBlastRiskDispatch class class TestBlastRiskDispatch L173–181
+ test_P1_03_job_types_for_push_code_includes_blast_risk method method test_P1_03_job_types_for_push_code_includes_blast_risk L175–177
+ test_P1_04_job_types_for_push_midi_excludes_blast_risk method method test_P1_04_job_types_for_push_midi_excludes_blast_risk L179–181
+ TestBlastRiskIntegration class class TestBlastRiskIntegration L294–400
+ test_P1_18_high_blast_high_churn_yields_critical method async_method test_P1_18_high_blast_high_churn_yields_critical L297–310
+ test_P1_19_zero_blast_excluded method async_method test_P1_19_zero_blast_excluded L313–324
+ test_P1_20_untracked_kind_excluded method async_method test_P1_20_untracked_kind_excluded L327–339
+ test_P1_21_risk_score_capped_at_100 method async_method test_P1_21_risk_score_capped_at_100 L342–355
+ test_P1_22_idempotent_run_twice_one_row method async_method test_P1_22_idempotent_run_twice_one_row L358–376
+ test_P1_23_return_type method async_method test_P1_23_return_type L379–392
+ test_P1_24_empty_repo_returns_empty_list method async_method test_P1_24_empty_repo_returns_empty_list L395–400
+ TestBlastRiskNoSubprocess class class TestBlastRiskNoSubprocess L534–548
+ test_P1_29_no_subprocess_spawned method async_method test_P1_29_no_subprocess_spawned L537–548
+ TestBlastRiskPerformance class class TestBlastRiskPerformance L491–527
+ test_P1_28_1000_symbols_processed_under_5_seconds method async_method test_P1_28_1000_symbols_processed_under_5_seconds L494–527
+ TestBlastRiskRegistry class class TestBlastRiskRegistry L157–166
+ test_P1_01_blast_risk_in_provider_registry method method test_P1_01_blast_risk_in_provider_registry L159–161
+ test_P1_02_blast_risk_satisfies_intel_provider_protocol method method test_P1_02_blast_risk_satisfies_intel_provider_protocol L163–166
+ TestBlastRiskStateIntegrity class class TestBlastRiskStateIntegrity L407–484
+ test_P1_25_rerun_updates_risk_score_in_place method async_method test_P1_25_rerun_updates_risk_score_in_place L410–443
+ test_P1_26_upsert_does_not_touch_symbol_intel_blast_churn method async_method test_P1_26_upsert_does_not_touch_symbol_intel_blast_churn L446–465
+ test_P1_27_ref_column_updated_on_rerun method async_method test_P1_27_ref_column_updated_on_rerun L468–484
+ TestRiskScoreFormula class class TestRiskScoreFormula L227–287
+ test_P1_12_all_max_inputs_yield_100 method method test_P1_12_all_max_inputs_yield_100 L229–237
+ test_P1_13_all_zero_inputs_yield_0 method method test_P1_13_all_zero_inputs_yield_0 L239–247
+ test_P1_14_impact_weight_is_40 method method test_P1_14_impact_weight_is_40 L249–257
+ test_P1_15_churn_weight_is_25 method method test_P1_15_churn_weight_is_25 L259–267
+ test_P1_16_test_gap_weight_is_20 method method test_P1_16_test_gap_weight_is_20 L269–277
+ test_P1_17_coupling_weight_is_15 method method test_P1_17_coupling_weight_is_15 L279–287
+ TestRiskTierThresholds class class TestRiskTierThresholds L188–220
+ test_P1_05_score_75_is_critical method method test_P1_05_score_75_is_critical L190–192
+ test_P1_06_score_100_is_critical method method test_P1_06_score_100_is_critical L194–196
+ test_P1_07_score_50_is_high method method test_P1_07_score_50_is_high L198–200
+ test_P1_08_score_74_is_high method method test_P1_08_score_74_is_high L202–204
+ test_P1_09_score_25_is_medium method method test_P1_09_score_25_is_medium L206–208
+ test_P1_10_score_49_is_medium method method test_P1_10_score_49_is_medium L210–212
+ test_P1_11_score_24_is_low method method test_P1_11_score_24_is_low L214–216
+ test_P1_11b_score_0_is_low method method test_P1_11b_score_0_is_low L218–220
+ _REF_A variable variable _REF_A L80–80
+ _REF_B variable variable _REF_B L81–81
+ _TRACKED_KINDS variable variable _TRACKED_KINDS L78–78
+ _get_risk_row function async_function _get_risk_row L135–144
+ _run_provider function async_function _run_provider L147–150
+ _seed_symbol function async_function _seed_symbol L88–132
+ _uid function function _uid L74–75
+ AsyncSession import import AsyncSession L67–67
+ annotations import import annotations L57–57
+ create_repo import import create_repo L71–71
+ db import import db L70–70
+ fake_id import import fake_id L69–69
+ patch import import patch L61–61
+ pg_insert import import pg_insert L66–66
+ pytest import import pytest L63–63
+ pytest_asyncio import import pytest_asyncio L64–64
+ secrets import import secrets L59–59
+ select import import select L65–65
+ time import import time L60–60
← Older Oldest on dev
All commits
Newer → Latest on dev

0 comments

No comments yet. Be the first to start the discussion.

To add a comment, use the Muse CLI: muse hub commit comment sha256:153a907761d394b36084b33247650709a811d947038e63f7d9941350115deb8c --body "your comment"