refactor: domain-agnostic intel system + MWP wire protocol cleanup
Intelligence system: - Replace MusehubSymbolIndex + MusehubFileIntelCache with single musehub_intel_results table (namespaced intel_type keys) - Add IntelProvider protocol + CodeProvider, StructuralProvider, MidiProvider - build_symbol_index() now returns list[tuple[str, dict]] instead of DB row - All readers (load_symbol_history, load_intel_snapshot, etc.) query intel_results - enqueue_push_intel() dispatches correct job types per domain - enqueue_job() dedup fixed (was claiming ON CONFLICT but not doing it) - reclaim_stale_jobs() resets stuck running jobs after 10 minutes - worker.py uses provider registry for extensible job dispatch - compute_intel_result_id() added to genesis.py
Wire protocol cleanup: - Delete wire_push_objects(), wire_fetch_objects(), wire_filter_objects(), wire_presign(), wire_confirm_objects(), wire_push_object_pack() — all unreachable (no routes); MWP streaming push/fetch is the only path - Delete ~580 lines of dead service code + 10 dead Pydantic models - Delete test_object_refs.py, test_perf_push_pipeline.py, test_wire_compression.py (tested dead code) - Restore _fetch_object_meta() as internal helper for wire_fetch_stream - Restore WireNegotiateRequest/Response models (accidentally deleted) - Remove unused imports (WireFilterRequest, wire_fetch_objects) from routes
Schema: - Alembic migration intel_results_table.py: drop old tables, create new - Alembic migration 0022_composite_indexes.py: all high-traffic composite indexes - factories.py: compute repo_id/branch_id as genesis hashes (not random UUIDs) - test_wire_push_stream.py: _make_repo uses genesis IDs - test_background_jobs.py: push test uses /push/stream MWP format
0 comments
muse hub commit comment sha256:0c53e64d8f7d1cd3bc244c843734393417f9a0d35aa86f705b705fd088d4e9e4 --body "your comment"
No comments yet. Be the first to start the discussion.