Files
portfolio-hub/.proofline/criteria/ac-0004.md
T

1.1 KiB

id, status
id status
ac-0004 active

목록 가시성·필터 범위의 ledger 집계 격리

Criterion

GET /v1/portfolios는 기존 client token 거부, service token daemon scope, session owner scope, admin user_id scope와 include_disabled, market 필터를 적용한 뒤 실제 반환할 portfolio ID만 ledger aggregate에 전달해야 한다. 반환 범위 밖 portfolio의 ledger를 집계 요청하거나 응답에 노출해서는 안 되며, 여러 portfolio의 금액은 ID 사이에서 섞이지 않아야 한다.

Verification

  • 성공 조건: owner/admin/service 및 include_disabled·market 조합마다 반환된 portfolio ID 목록과 aggregate 요청 ID 목록이 정확히 일치하고 각 항목은 자기 ID의 합계만 받는다.
  • 실패·경계 조건: 권한 또는 필터로 제외된 portfolio ID는 aggregate 요청과 응답 모두에 나타나지 않고, client token 거부와 기존 scope 동작이 유지된다.
  • 검사 방법: tests/test_v1_portfolios_list.py에서 fake repository의 summary_requests 기록과 기존 인증·필터 matrix를 함께 검사한다.