gabriel / musehub public
feat BREAKING proposals task/proposal-list-models #1 / 1
AI Agent gabriel · 40 days ago · May 8, 2026 · Diff

feat(proposals): Phase 1 list enrichment models and service

Add ProposalListEntry, ProposalListFilters, DomainHeatResponse, and MergeReadinessResponse Pydantic models. Implement zero-N+1 enrichment via _prefetch_for_batch + _enrich_one, plus enrich_proposal_list_batch, enrich_proposal_list_entry, get_domain_heat, and get_merge_readiness in musehub_proposals.py.

Delete infer_list_risk_band (branch-name heuristic with no DB backing) from musehub_proposal_risk.py and all three call sites; replace with _score_to_band using proposal.risk_score.

Add 64 Tier-1 (unit) and Tier-5 (data-integrity) tests covering band mapping, enrich_one risk/approval/metadata logic, Pydantic field constraints, and output invariants.

sha256:0614a3162653d62006dff44ec86e0fddc614adcbc0010fcc1af59f5af0347f68 sha
sha256:f0f37864b4c1990e80969f58b066567df7756306f922b8ba2aa2d3346dbd9967 snapshot
← Older Oldest on task/proposal-list-models
All commits
Newer → Latest on task/proposal-list-models

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