Files

2.0 KiB

BAT-005 Planning

구현 전략

  1. REQ-005의 승인 상태를 입력 gate로 확인하고 BAT-005 batch 문서를 생성한다.
  2. accounts.liquidity_bucket을 additive/idempotent column으로 추가한다. 허용값은 cash, investment, deposit, real_estate, loan, other이며 기존/미지정 계좌는 other로 폴백한다.
  3. 서비스 계층에서 create/list/update 계좌 흐름에 liquidity_bucket을 노출하고 허용값 검증을 추가한다.
  4. 자산 유동성 report는 accounts.last_balance만 사용한다. last_balance가 없는 비거래 자산/부채는 임의 추정하지 않고 missing warning으로 남긴다.
  5. page_overview는 다음 순서로 재구성한다: 이번 달 수입/지출 현황 → 자산 유동성 현황 → 자산 구성 → 지출 구조/예산 → 운영 경고.
  6. scripts/streamlit_browser_evidence.py synthetic fixture에 overview 검증용 자산/부채/예산/월간 현금흐름 데이터를 추가하고, BAT-005 evidence output directory로 실행한다.

Design Gate

  • Profile: standard
  • 판단 근거: DB schema, service/MCP contract, Streamlit UI, tests, baseline docs가 함께 변하는 기능 batch다.
  • 별도 design.md: planning에 설계 결정을 포함하고, 구현 상세는 implementation.md에서 추적한다.

핵심 설계 결정

  • 유동성 권위 소스는 계좌 단위 accounts.liquidity_bucket으로 고정한다.
  • 자산 평가는 accounts.last_balance를 사용하며, 거래 합계로 부동산/예적금/대출 현재가를 추정하지 않는다.
  • loan 버킷은 자산 구성 비율 분모에서 제외하고 총부채/순자산 계산에만 반영한다.
  • last_balance가 없는 계좌는 계산에서 제외하되 운영 경고에 표시한다.

검증 계획

  • py_compile for changed Python files
  • pytest tests/test_service.py -q
  • full pytest -q
  • scripts/streamlit_browser_evidence.py --page 요약 --output-dir docs/batches/bat-005_.../evidence/run-... with synthetic DB