Skip to content

refactor: migrate proposal_executor + concentration_guard to repositories#490

Merged
cct08311github merged 1 commit intomainfrom
claude/proposal-repo-consumers
Mar 28, 2026
Merged

refactor: migrate proposal_executor + concentration_guard to repositories#490
cct08311github merged 1 commit intomainfrom
claude/proposal-repo-consumers

Conversation

@cct08311github
Copy link
Copy Markdown
Owner

Summary

  • proposal_executor.py: 17 SQL ops → ProposalRepository 委託(journal CRUD, proposal 狀態更新, intent 生命週期)
  • concentration_guard.py: 4 SQL ops → OrderRepository + ProposalRepository(dedup 查詢, daily sell cap, proposal 插入)
  • ProposalRepository 擴充: 6 new methods (get_proposal, get_all_pending, get_history, update_decision, update_status_with_evidence, expire_pending_proposals)
  • OrderRepository 擴充: 2 new methods (get_recent_sell_qty_by_symbol, count_daily_filled_sells)

Test plan

  • python -m pytest — 2503 passed, 0 failed
  • All concentration_guard tests pass (dedup, locked symbols, daily cap)
  • All proposal_executor tests pass (intent lifecycle, journal, dedup)

https://claude.ai/code/session_011LhoTJuk5FAaZMaHVzWC41

…ries

Migrate 2 consumer modules to use ProposalRepository + OrderRepository:

- proposal_executor.py: 17 SQL ops → ProposalRepository delegates
  (journal CRUD, proposal status updates, intent lifecycle)
- concentration_guard.py: 4 SQL ops → OrderRepository + ProposalRepository
  (dedup queries, daily sell cap, proposal insertion)

ProposalRepository enhancements:
- get_proposal(), get_all_pending(), get_history()
- update_decision(), update_status_with_evidence()
- expire_pending_proposals()
- insert_proposal now handles optional expires_at column

OrderRepository enhancements:
- get_recent_sell_qty_by_symbol() for dedup
- count_daily_filled_sells() for daily cap

All 2503 tests pass (0 failures).

https://claude.ai/code/session_011LhoTJuk5FAaZMaHVzWC41
@cct08311github cct08311github merged commit 0832d7d into main Mar 28, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants