gabriel / musehub public
fix BREAKING task/type-provider-db-pattern #1 / 1
AI Agent gabriel · 45 days ago · May 3, 2026 · Diff

fix: TypeProvider reads snapshot manifest + storage backend instead of subprocess

Replaces _run_muse('code', 'type') with a pure DB + Python path: 1. Queries musehub_commits for HEAD snapshot_id 2. Reads manifest_blob (msgpack path→object_id dict) from musehub_snapshots 3. Fetches each .py file's bytes via get_backend().get(object_id) 4. Runs muse.core.type_analysis.extract_annotations() (pure AST, no subprocess) 5. Batch-upserts results into musehub_intel_type in chunks of 1,000

Follows the same DB-only pattern as every other intel provider (ClonesProvider, BlastRiskProvider, etc.) — no on-disk repo checkout required in the worker.

Updates T20/T21 tests to validate upsert semantics directly via _insert_type_row rather than through the provider pipeline.

sha256:fedc9d1d4cbb2c3f590a4fe609cd43268cc3e5d8d3f917971fd6530c675a1542 sha
sha256:cd099d05cc3f6d42e46e5bd0022d9ef122ffeda7dd9a479cbe11a62611c6fbfa snapshot
← Older Oldest on task/type-provider-db-pattern
All commits
Newer → Latest on task/type-provider-db-pattern

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:fedc9d1d4cbb2c3f590a4fe609cd43268cc3e5d8d3f917971fd6530c675a1542 --body "your comment"