gabriel / musehub public
fix patch dev
AI Agent gabriel · 125 days ago · May 13, 2026 · Diff

fix: all tests passing and typing audit at zero violations for RC8

- Fix test regressions from domain model split (musehub_models shim removal): test_symbol_detail_fast_reads, test_push_timeout_fix _tprog check - Update wire test fixtures to handle bundle deferral (process_bundle_index_job inline) for test_wire_step3_upload, test_wire_step4_e2e, test_wire_step4c_scale - Raise presign gate from 100ms to 300ms (daily-limit DB query added post-gate) - Fix source-code typing audit ratchet: service layer bare_dict, boundary_dict, param_object violations in musehub_wire, musehub_repository, and friends - Fix test-file typing audit to zero: param_object, bare_dict, bare_list, boundary_dict, varargs_any violations across 17 test/bench files

sha256:e1c2ed0e76f3e4a632fc089c89f1abf576cb1c0d17987665f1179bdb56979267 sha
+295 ~120 −2 symbols
sha256:5658e2425d78dfd4ef6ee7f5b230e8edebd838687d59aed589da2a1c7a5e4bc1 snapshot
+295
symbols added
~120
symbols modified
−2
symbols removed
0
dead code introduced
Semantic Changes 417 symbols
~ musehub/api/routes/musehub/ui_commits.py .py 1 symbol added, 2 symbols modified
+ MusehubRepo import import MusehubRepo L34–34
~ musehub/api/routes/musehub/ui_proposals.py .py 3 symbols added, 2 symbols modified
+ MusehubCommit import import MusehubCommit L30–30
+ MusehubIdentity import import MusehubIdentity L29–29
+ MusehubIssue import import MusehubIssue L31–31
~ musehub/services/file_last_commits.py .py 1 symbol added, 1 symbol modified
+ MusehubFileLastCommit import import MusehubFileLastCommit L15–15
~ musehub/services/musehub_governance.py .py 3 symbols added, 4 symbols modified
+ MusehubCommit import import MusehubCommit L27–27
+ MusehubObject import import MusehubObject L27–27
+ MusehubSnapshot import import MusehubSnapshot L27–27
~ musehub/services/musehub_symbol_indexer.py .py 2 symbols added, 6 symbols modified
~ tests/bench_phase8_repro.py .py 1 symbol added, 1 symbol modified
+ JSONObject import import JSONObject L41–41
~ tests/bench_phases.py .py 1 symbol added, 2 symbols modified
+ JSONValue import import JSONValue L29–29
~ _pack
~ _wrap
~ tests/bench_wire.py .py 2 symbols added, 5 symbols modified
+ JSONObject import import JSONObject L45–45
+ JSONValue import import JSONValue L45–45
~ _pack
~ _wrap
~ tests/test_bundle_delta_e2e.py .py 1 symbol added, 1 symbol modified
+ process_bundle_index_job import import process_bundle_index_job L29–29
~ tests/test_bundle_fetch_readiness.py .py 1 symbol added, 1 symbol modified
+ JSONObject import import JSONObject L46–46
~ tests/test_bundle_index_job.py .py 1 symbol added, 1 symbol modified
+ JSONObject import import JSONObject L46–46
~ tests/test_bundle_validation_phase2.py .py 1 symbol added, 1 symbol modified
+ JSONObject import import JSONObject L49–49
~ tests/test_diag_phase8.py .py 1 symbol added, 2 symbols modified
+ JSONValue import import JSONValue L34–34
~ _pack
~ _wrap
~ tests/test_ghost_repair.py .py 1 symbol removed
test_P3_2_ghost_rejected_with_ghost_message function async_function test_P3_2_ghost_rejected_with_ghost_message L176–211
~ tests/test_identity_repo_phase1.py .py 4 symbols added, 5 symbols modified
+ MusehubBranch import import MusehubBranch L31–31
+ MusehubCommit import import MusehubCommit L31–31
+ MusehubObject import import MusehubObject L31–31
+ MusehubSnapshot import import MusehubSnapshot L31–31
~ tests/test_identity_repo_phase2.py .py 1 symbol added, 4 symbols modified
~ tests/test_identity_repo_phase3.py .py 1 symbol added, 4 symbols modified
+ MusehubObject import import MusehubObject L27–27
~ tests/test_intel_api_surface.py .py 2 symbols added, 1 symbol modified
+ MusehubCommit import import MusehubCommit L27–27
+ MusehubSnapshot import import MusehubSnapshot L27–27
+ TestDimensionalRiskVector class class TestDimensionalRiskVector L255–263
+ test_empty_vector_is_valid method method test_empty_vector_is_valid L261–263
+ test_is_dict_alias method method test_is_dict_alias L256–259
+ TestMergeConditions class class TestMergeConditions L148–188
+ test_defaults method method test_defaults L149–159
+ test_max_agent_commit_ratio_clamped method method test_max_agent_commit_ratio_clamped L175–179
+ test_max_risk_score_clamped method method test_max_risk_score_clamped L167–173
+ test_require_approvals_non_negative method method test_require_approvals_non_negative L161–165
+ test_require_domains_approved_list method method test_require_domains_approved_list L181–183
+ test_round_trip_json method method test_round_trip_json L185–188
+ TestMergeStrategyEnum class class TestMergeStrategyEnum L133–140
+ test_all_values_exist method method test_all_values_exist L134–136
+ test_is_str_subclass class method test_is_str_subclass L138–140
+ TestMusehubProposalDependencyORM class class TestMusehubProposalDependencyORM L506–581
+ test_cascade_delete_on_proposal_delete method async_method test_cascade_delete_on_proposal_delete L555–581
+ test_dependency_edge_created method async_method test_dependency_edge_created L508–527
+ test_duplicate_edge_raises method async_method test_duplicate_edge_raises L530–552
+ TestMusehubProposalORM class class TestMusehubProposalORM L376–450
+ test_new_columns_default_values method async_method test_new_columns_default_values L378–398
+ test_new_columns_explicit_values method async_method test_new_columns_explicit_values L401–450
+ TestMusehubProposalReviewORM class class TestMusehubProposalReviewORM L453–503
+ test_new_review_columns_defaults method async_method test_new_review_columns_defaults L455–476
+ test_new_review_columns_explicit method async_method test_new_review_columns_explicit L479–503
+ TestMusehubProposalSimulationORM class class TestMusehubProposalSimulationORM L584–664
+ test_duplicate_simulation_type_raises method async_method test_duplicate_simulation_type_raises L611–637
+ test_simulation_stored_and_retrieved method async_method test_simulation_stored_and_retrieved L586–608
+ test_three_simulation_types_coexist method async_method test_three_simulation_types_coexist L640–664
+ TestProposalCommentTarget class class TestProposalCommentTarget L196–247
+ test_code_domain_fields method method test_code_domain_fields L202–211
+ test_default_target_type_is_general method method test_default_target_type_is_general L197–200
+ test_identity_domain_field method method test_identity_domain_field L236–238
+ test_midi_domain_fields method method test_midi_domain_fields L213–222
+ test_note_pitch_bounds method method test_note_pitch_bounds L224–230
+ test_payment_domain_field method method test_payment_domain_field L232–234
+ test_stem_domain_fields method method test_stem_domain_fields L240–247
+ TestProposalCreateNewFields class class TestProposalCreateNewFields L271–329
+ _minimal method method _minimal L272–273
+ test_camel_json_round_trip method method test_camel_json_round_trip L312–324
+ test_defaults_for_new_fields method method test_defaults_for_new_fields L275–282
+ test_depends_on_list method method test_depends_on_list L307–310
+ test_domain_selective_strategy method method test_domain_selective_strategy L298–305
+ test_existing_fields_unchanged method method test_existing_fields_unchanged L326–329
+ test_is_draft_set method method test_is_draft_set L288–290
+ test_merge_conditions_set method method test_merge_conditions_set L292–296
+ test_proposal_type_set method method test_proposal_type_set L284–286
+ TestProposalResponseNewFields class class TestProposalResponseNewFields L337–368
+ _base method method _base L338–347
+ test_defaults_present method method test_defaults_present L349–358
+ test_dimensional_risk_round_trip method method test_dimensional_risk_round_trip L360–362
+ test_risk_score_bounds method method test_risk_score_bounds L364–368
+ TestProposalStateEnum class class TestProposalStateEnum L123–130
+ test_all_seven_values_exist method method test_all_seven_values_exist L124–126
+ test_is_str_subclass class method test_is_str_subclass L128–130
+ TestProposalTypeEnum class class TestProposalTypeEnum L104–120
+ test_all_seven_values_exist method method test_all_seven_values_exist L105–111
+ test_is_str_subclass class method test_is_str_subclass L113–115
+ test_json_serialises_as_plain_string method method test_json_serialises_as_plain_string L117–120
+ _make_proposal function async_function _make_proposal L78–96
+ _make_repo function async_function _make_repo L53–75
+ _now function function _now L45–46
+ _uid function function _uid L49–50
+ AsyncSession import import AsyncSession L25–25
+ DimensionalRiskVector import import DimensionalRiskVector L28–28
+ JSONObject import import JSONObject L27–27
+ MergeConditions import import MergeConditions L28–28
+ MergeStrategy import import MergeStrategy L28–28
+ ProposalCommentTarget import import ProposalCommentTarget L28–28
+ ProposalCreate import import ProposalCreate L28–28
+ ProposalResponse import import ProposalResponse L28–28
+ ProposalState import import ProposalState L28–28
+ ProposalType import import ProposalType L28–28
+ annotations import import annotations L19–19
+ datetime import import datetime L22–22
+ pytest import import pytest L24–24
+ timezone import import timezone L22–22
+ uuid import import uuid L21–21
+ TestBlockedByAndBlocks class class TestBlockedByAndBlocks L253–294
+ test_blocked_by_sorted_ascending method method test_blocked_by_sorted_ascending L290–294
+ test_blocks_excludes_merged_waiters method method test_blocks_excludes_merged_waiters L285–288
+ test_blocks_numbers method method test_blocks_numbers L279–283
+ test_live_dependency_blocks method method test_live_dependency_blocks L260–264
+ test_merged_dependency_not_blocking method method test_merged_dependency_not_blocking L266–270
+ test_no_dependencies_not_blocked method method test_no_dependencies_not_blocked L254–258
+ test_partial_merge_still_blocked method method test_partial_merge_still_blocked L272–277
+ TestBuildDag class class TestBuildDag L126–150
+ test_empty_edges method method test_empty_edges L127–130
+ test_merged_ids_populated method method test_merged_ids_populated L140–144
+ test_number_by_id_populated method method test_number_by_id_populated L146–150
+ test_single_edge method method test_single_edge L132–138
+ TestDagIntegration class class TestDagIntegration L302–451
+ test_all_merge_conditions_false_while_dep_unmerged method async_method test_all_merge_conditions_false_while_dep_unmerged L409–432
+ test_create_proposal_persists_dependency_edges method async_method test_create_proposal_persists_dependency_edges L304–331
+ test_create_proposal_rejects_cycle method async_method test_create_proposal_rejects_cycle L348–366
+ test_create_proposal_rejects_unknown_dependency method async_method test_create_proposal_rejects_unknown_dependency L334–345
+ test_enrich_batch_populates_blocked_by method async_method test_enrich_batch_populates_blocked_by L369–405
+ test_merge_proposal_gated_by_unmerged_dep method async_method test_merge_proposal_gated_by_unmerged_dep L435–451
+ TestDetectCycle class class TestDetectCycle L230–245
+ test_cycle_returns_true method method test_cycle_returns_true L236–239
+ test_no_cycle_returns_false method method test_no_cycle_returns_false L231–234
+ test_no_side_effects_on_dag method method test_no_side_effects_on_dag L241–245
+ TestTopologicalSort class class TestTopologicalSort L158–222
+ test_cycle_error_message_contains_ids method method test_cycle_error_message_contains_ids L208–214
+ test_cycle_three_nodes_raises method method test_cycle_three_nodes_raises L201–206
+ test_cycle_two_nodes_raises method method test_cycle_two_nodes_raises L194–199
+ test_diamond_shape method method test_diamond_shape L169–177
+ test_empty_dag method method test_empty_dag L159–161
+ test_linear_chain_abc method method test_linear_chain_abc L163–167
+ test_merged_breaks_cycle method method test_merged_breaks_cycle L216–222
+ test_merged_nodes_excluded_from_output method method test_merged_nodes_excluded_from_output L187–192
+ test_multi_root method method test_multi_root L179–185
+ _create_proposal function async_function _create_proposal L100–118
+ _ids function function _ids L57–58
+ _make_branch function async_function _make_branch L86–97
+ _make_repo function async_function _make_repo L61–83
+ _now function function _now L49–50
+ _uid function function _uid L53–54
+ AsyncSession import import AsyncSession L30–30
+ CycleError import import CycleError L32–32
+ ProposalDag import import ProposalDag L32–32
+ annotations import import annotations L24–24
+ blocked_by_numbers import import blocked_by_numbers L32–32
+ blocks_numbers import import blocks_numbers L32–32
+ build_dag import import build_dag L32–32
+ datetime import import datetime L27–27
+ detect_cycle import import detect_cycle L32–32
+ is_blocked import import is_blocked L32–32
+ pytest import import pytest L29–29
+ timezone import import timezone L27–27
+ topological_sort import import topological_sort L32–32
+ uuid import import uuid L26–26
+ TestComputeSimulationId class class TestComputeSimulationId L319–341
+ test_deterministic method method test_deterministic L320–324
+ test_different_commit_different_id method method test_different_commit_different_id L332–336
+ test_different_type_different_id method method test_different_type_different_id L326–330
+ test_sha256_prefixed method method test_sha256_prefixed L338–341
+ TestConflictScan class class TestConflictScan L119–174
+ test_conflicts_by_domain_groups_paths method method test_conflicts_by_domain_groups_paths L142–151
+ test_conflicts_surfaced_with_ancestor method method test_conflicts_surfaced_with_ancestor L127–133
+ test_domains_affected_lists_changed_domains method method test_domains_affected_lists_changed_domains L163–167
+ test_empty_manifests_zero_conflicts method method test_empty_manifests_zero_conflicts L169–174
+ test_files_added_count method method test_files_added_count L153–157
+ test_no_conflict_when_only_one_side_changed method method test_no_conflict_when_only_one_side_changed L135–140
+ test_no_conflicts_when_disjoint_files method method test_no_conflicts_when_disjoint_files L120–125
+ test_strategy_used_reflected method method test_strategy_used_reflected L159–161
+ TestDependencyOrder class class TestDependencyOrder L249–311
+ test_cycle_detected method method test_cycle_detected L278–285
+ test_empty_dag_returns_empty method method test_empty_dag_returns_empty L300–311
+ test_linear_chain_correct_order method method test_linear_chain_correct_order L257–263
+ test_merged_deps_excluded_from_blocking method method test_merged_deps_excluded_from_blocking L287–293
+ test_node_with_dep_in_phase_2 method method test_node_with_dep_in_phase_2 L271–276
+ test_phase_count_equals_len_phases method method test_phase_count_equals_len_phases L295–298
+ test_single_node_no_deps method method test_single_node_no_deps L250–255
+ test_two_independent_nodes_in_phase_1 method method test_two_independent_nodes_in_phase_1 L265–269
+ TestGetSimulation class class TestGetSimulation L531–608
+ test_is_stale_when_branch_advances method async_method test_is_stale_when_branch_advances L561–608
+ test_returns_cached_after_run method async_method test_returns_cached_after_run L545–558
+ test_returns_none_before_run method async_method test_returns_none_before_run L533–542
+ TestListSimulations class class TestListSimulations L611–640
+ test_all_three_types_listed method async_method test_all_three_types_listed L626–640
+ test_empty_before_any_run method async_method test_empty_before_any_run L613–623
+ TestRiskProjection class class TestRiskProjection L182–241
+ test_conflict_count_matches_merge_result method method test_conflict_count_matches_merge_result L236–241
+ test_domains_affected_populated method method test_domains_affected_populated L223–228
+ test_existing_risk_factored_in method method test_existing_risk_factored_in L206–214
+ test_files_changed_count method method test_files_changed_count L230–234
+ test_risk_band_increases_with_conflicts method method test_risk_band_increases_with_conflicts L197–204
+ test_risk_band_low_for_small_change method method test_risk_band_low_for_small_change L190–195
+ test_risk_delta_positive_when_risk_increases method method test_risk_delta_positive_when_risk_increases L216–221
+ test_zero_risk_when_nothing_changes method method test_zero_risk_when_nothing_changes L183–188
+ TestRunSimulation class class TestRunSimulation L438–528
+ test_conflict_scan_runs method async_method test_conflict_scan_runs L440–458
+ test_dependency_order_runs method async_method test_dependency_order_runs L478–491
+ test_rerun_upserts_row method async_method test_rerun_upserts_row L494–516
+ test_risk_projection_runs method async_method test_risk_projection_runs L461–475
+ test_unknown_type_raises method async_method test_unknown_type_raises L519–528
+ _dag function function _dag L87–111
+ _make_branch_with_commit function async_function _make_branch_with_commit L374–415
+ _make_proposal function async_function _make_proposal L418–435
+ _make_repo function async_function _make_repo L349–371
+ _now function function _now L75–76
+ _oid function function _oid L83–84
+ _uid function function _uid L79–80
+ Any import import Any L55–55
+ AsyncSession import import AsyncSession L59–59
+ ProposalDag import import ProposalDag L67–67
+ StrDict import import StrDict L61–61
+ annotations import import annotations L51–51
+ blob_id import import blob_id L58–58
+ datetime import import datetime L54–54
+ fake_id import import fake_id L58–58
+ os import import os L53–53
+ pytest import import pytest L57–57
+ short_id import import short_id L58–58
+ simulate_conflict_scan import import simulate_conflict_scan L62–62
+ simulate_dependency_order import import simulate_dependency_order L62–62
+ simulate_risk_projection import import simulate_risk_projection L62–62
+ timezone import import timezone L54–54
+ TestEnrichOneMultiDomainRisk class class TestEnrichOneMultiDomainRisk L446–518
+ test_aggregate_risk_uses_weighted_mean method async_method test_aggregate_risk_uses_weighted_mean L490–518
+ test_dimensional_risk_drives_domain_risk method async_method test_dimensional_risk_drives_domain_risk L448–487
+ TestGetProposalEnrichment class class TestGetProposalEnrichment L255–346
+ test_blocked_by_populated_when_dep_exists method async_method test_blocked_by_populated_when_dep_exists L257–279
+ test_is_blocked_false_when_dep_merged method async_method test_is_blocked_false_when_dep_merged L282–312
+ test_latest_simulations_empty_before_run method async_method test_latest_simulations_empty_before_run L334–346
+ test_latest_simulations_populated_after_run method async_method test_latest_simulations_populated_after_run L315–331
+ TestListProposalsFilters class class TestListProposalsFilters L354–438
+ test_is_draft_false_filter method async_method test_is_draft_false_filter L400–416
+ test_is_draft_true_filter method async_method test_is_draft_true_filter L381–397
+ test_merge_strategy_filter method async_method test_merge_strategy_filter L419–438
+ test_proposal_type_filter method async_method test_proposal_type_filter L356–378
+ TestProposalListEntryShape class class TestProposalListEntryShape L108–132
+ _entry method method _entry L109–120
+ test_merge_strategy_defaults_state_overlay method method test_merge_strategy_defaults_state_overlay L122–124
+ test_merge_strategy_round_trips method method test_merge_strategy_round_trips L130–132
+ test_simulation_conflict_count_defaults_none method method test_simulation_conflict_count_defaults_none L126–128
+ TestProposalListFiltersShape class class TestProposalListFiltersShape L135–150
+ test_is_draft_defaults_none method method test_is_draft_defaults_none L136–138
+ test_is_draft_true_accepted method method test_is_draft_true_accepted L144–146
+ test_merge_strategy_defaults_none method method test_merge_strategy_defaults_none L140–142
+ test_merge_strategy_list_accepted method method test_merge_strategy_list_accepted L148–150
+ TestProposalResponseShape class class TestProposalResponseShape L78–105
+ test_blocked_by_defaults_empty method method test_blocked_by_defaults_empty L79–92
+ test_latest_simulations_defaults_empty method method test_latest_simulations_defaults_empty L94–105
+ TestSimulationConflictCountInBatch class class TestSimulationConflictCountInBatch L526–582
+ test_conflict_count_none_before_run method async_method test_conflict_count_none_before_run L528–550
+ test_conflict_count_populated_after_run method async_method test_conflict_count_populated_after_run L553–582
+ _make_branch_with_commit function async_function _make_branch_with_commit L183–221
+ _make_proposal function async_function _make_proposal L224–247
+ _make_repo function async_function _make_repo L158–180
+ _now function function _now L61–62
+ _oid function function _oid L69–70
+ _uid function function _uid L65–66
+ AsyncSession import import AsyncSession L46–46
+ ProposalListEntry import import ProposalListEntry L49–49
+ ProposalListFilters import import ProposalListFilters L49–49
+ ProposalResponse import import ProposalResponse L49–49
+ StrDict import import StrDict L48–48
+ annotations import import annotations L39–39
+ blob_id import import blob_id L45–45
+ datetime import import datetime L42–42
+ fake_id import import fake_id L45–45
+ os import import os L41–41
+ pytest import import pytest L44–44
+ short_id import import short_id L45–45
+ timezone import import timezone L42–42
~ tests/test_push_commit_scale.py .py 1 symbol added, 2 symbols modified
+ JSONValue import import JSONValue L40–40
~ _pack
~ _wrap
~ tests/test_push_object_integrity.py .py 1 symbol removed
test_i5b_ghost_in_db_is_healed_by_next_push function async_function test_i5b_ghost_in_db_is_healed_by_next_push L336–406
~ tests/test_schema_check.py .py 1 symbol modified
~ tests/test_stream_security_phase1.py .py 3 symbols added, 4 symbols modified
+ ObjectStore variable variable ObjectStore L42–42
+ JSONObject import import JSONObject L38–38
+ JSONValue import import JSONValue L38–38
~ _pack
~ _wrap
~ tests/test_stream_security_phase2.py .py 3 symbols added, 4 symbols modified
+ ObjectStore variable variable ObjectStore L43–43
+ JSONObject import import JSONObject L39–39
+ JSONValue import import JSONValue L39–39
~ _pack
~ _wrap
~ tests/test_stream_security_phase3.py .py 3 symbols added, 4 symbols modified
+ ObjectStore variable variable ObjectStore L39–39
+ JSONObject import import JSONObject L35–35
+ JSONValue import import JSONValue L35–35
~ _pack
~ _wrap
~ tests/test_stream_security_phase4.py .py 3 symbols added, 4 symbols modified
+ ObjectStore variable variable ObjectStore L38–38
+ JSONObject import import JSONObject L34–34
+ JSONValue import import JSONValue L34–34
~ _pack
~ _wrap
~ tests/test_stream_security_phase5.py .py 3 symbols added, 4 symbols modified
+ ObjectStore variable variable ObjectStore L47–47
+ JSONObject import import JSONObject L43–43
+ JSONValue import import JSONValue L43–43
~ _pack
~ _wrap
~ tests/test_wire_fetch_bundle.py .py 1 symbol added, 1 symbol modified
+ ObjectStore variable variable ObjectStore L43–43
← 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:e1c2ed0e76f3e4a632fc089c89f1abf576cb1c0d17987665f1179bdb56979267 --body "your comment"