- Shipped
- July 5, 2026 at 10:53 PM UTC
- Author
- Kamo
- Commit
- e472633
- MemberDocumentService: upload a doc ONCE at AccountBorrowerParty scope → ImageService creates an Img in the auto-created imaging-member-vault bucket **************** hashes computed server-side) + MemberDocument catalog row; list by party/account. Fail-closed loan-party guard (isMemberPartyToPartyAccount). - MemberDocumentController /api/security/member-documents (POST upload multipart, GET list): operators manage any party's vault (LOS_VIEW_PIPELINE); a borrower only their own account's parties. The vault Img is the reuse anchor RequirementSatisfier(imgId) points at to satisfy per-loan requirements across many loans (satisfy-wiring is the next slice). Compiles clean; no schema change (P1 entities).