변경 로그
무슨 일이야?
플랫폼에 대한 모든 개선 사항, 그것이 선적.
· SecurityService
P4 회원 문서 vault 백엔드 (렌즈를 통해 재사용 가능한 문서)
- MemberDocumentService: accountBorrowerParty 범위에서 doc ONCE 업로드 → ImageService는 Img을 만듭니다. auto-created Imaging-member-vault Bucket *********** hashes computed 서버 측) + MemberDocument 카탈로그 행; 파티 / 회의 목록. Fail-closed 대출 파티 가드 (isMemberPartyToPartyAccount). - MemberDocumentController /api/security/member-documents (POST 업로드 multipart, GET 목록) : 연산자는 모든 것을 관리 파티의 vault (LOS VIEW PIPELINE); 자신의 계정의 파티 만 대여. Vault Img은 Reuse 앵커 RequirementSatisfier(imgId) 포인트입니다. 많은 대출 (satisfy-wiring은 다음 조각입니다). Compiles는 청소합니다; schema 변화 없음 (P1 entities).
· kamo-internal
Per-transaction 파이프라인 - 거래 당 목록, 대출 당 (owner req)
ApplicationsPipelineConsole 이제 LoanTransaction 당 ONE 행을 나열합니다 (그 대표 대출 + un-yet-grouped legacy loans), pinned 'Deal / Status' 열과 함께 파생 된 그룹 상태 칩, 멀티 로란 거래를 위한 N-loans 칩, 그리고 denied-exception 깃발. 뚱 베어 *************** (+ TransactionSummaryDTO 유형)과 대출 행에 가입합니다. Buckets/filters/journey는 거래 대표적인 행에 근거를 둡니다.
· kamo-internal
KamoMLOS 포털 납품업자 제품 (#11)의 기본 제품 설계
각 제품에 별 toggle는 org의 단일 KamoMLOS 포털 자동 할당 제품을 디자인합니다. (단일 행동). GET /lead-vendors/mlos-readiness를 통해 Gated: 편집된 시장이 있을 때만 보여주었습니다 org의 주거용 모기지 리드 마켓 및 POS + MORTGAGE 커머스 마켓이 구성되었습니다. PUT .../products/{id}/mlos-default를 통해 라이브 디폴트를 반영합니다. (P6 스윕에서 i18n.)
· SecurityService
P3 기본 제품 지정 백엔드 (단일 활성) + 연산자 readiness
-********** org의 KamoMLOS로 ONE LeadVendorProduct를 디자인합니다. 포털 자동 할당 제품; 단일 활성 (다른, org-scoped, 실패 닫히는) JPQL를 통해 대량 업데이트. - LeadVendorController: PUT *********** 및 GET /mlos-readiness (제품이 기본 + POS + RESIDENTIAL MORTGAGE 리드 마켓 + 여부) MORTGAGE commerce 시장은 구성됨) — 설정 게이트 + 현재의 상태를 보여줍니다. Compiles는 청소합니다; schema/shared-lib 변화 없음.
· SecurityService
P2c 리드 - 첫 번째 포털 백엔드
- MortgageVerticalResolver : org의 RESIDENTIAL MORTGAGE LeadMarket, MORTGAGE 해결 CommerceMarket, 지정된 기본 LeadVendorProduct 및 EFFECTIVE POS-enabled — 하나 deterministic readiness는 둘 다 조정 문 (#11)와 포털 문 (#12)를 읽었습니다. - PortalLeadService: Lead-first — createOrGetAnonymousLead (계속 쿠키에 기록됨) 자동 할당 된 mortgage 시장에서 기본 제품, 읽기에 실패 - 아니 가입, AppMortgage 없음), patchEstimate 및 sign-in mergeGuidIntoMember ( GUID를 GUID로 묶음) 회원의 계정 + 리드 (s)를 reparents, assignLeadAccount의 역사 쓰기 미러링). - 포털컨트롤러 *************** 리드 POST/PATCH, 병합}: 익명 (org-from-host, 신뢰할 수있는 BFF X-Kamo-Guid 헤더에서 GUID); 합병은 ***-바운드입니다. 깨끗한 Compiles. 익명 경로는 모든 필터 체인을 통과합니다 (제어자가 게이트).
· kamo-internal
Account-merge 관리자 UI (MERGE ACCOUNTS)
AccountManager는 Merge 계정 동작을 얻습니다 ( ***********에 의해 gated) 정확히 두 개의 고객 계정을 선택, 생존자를 선택, 선택적으로 중복을 유지 Stripe 고객 / 1 차 회원, 그 다음 합병 - 생존자에 모든 아이들을 다시 soft-deactivates the duplicate.com - 무료 온라인 게임 accountApi.mergeCustomer() → POST /account/customers/{uid}/merge. (P6 스윕에 추가되는 i18n 열쇠.)
· SecurityService
P2a 계정 - 작업 도구 + P2b 거래 백엔드
P2a - 관리자 계정 합병 (주요 조건 A), MERGE ACCOUNTS에 의해 게이트: - AccountMergeService : 기본 UPDATE (JPA 우회)를 통해 EVERY account uid 아이를 다시 orphanRemoval so the loser's lead/apps 생존), 세계적 고유의 account members를 파괴 + (account,market,target) 구독, reconciles stripe customer id / 1차회원 / 포인터 FKs (survivor-wins + keep-from-loser overrides), 부드러운 비활성화 잃어. 같은 org만. - 계정제어기 POST *********** MERGE ACCOUNTS (또는 신)에 의해 게이트. P2b - 거래 그룹 백업 : - LoanTransactionService: KeepTransactionForApp (자동 단일로 그룹 생성, idempotent), deriveStatus (LoanTransactionStatusDeriver를 통해 회원 LoanFileStatus에서 롤 됨), *************** (TransactionSummaryDTO), isMemberPartyToTransaction (D52) 그룹에 일반화), backfillOrganization. - MortgageAppController: create() 이제 자동 그룹 대출; GET /transactions lists per-transaction (operators=org 파이프라인, renter=own 계정). - SecurityServiceApplication @EnableJpaRepositories에서 mlos.transaction + mlos.docs 저장소에 등록하십시오. Schema는 이미 KI (P1)에 의해 생성했습니다. Compiles는 shared-lib를 설치했습니다.
· kamo-shared-library
P1 엔티티티티 재단 - 리드 - 일대 / 계정 중심 / 거래 그룹 재원
새로운 엔티티티티 (additive; KI는 DDL을 실행) : - TransactionGroupStatus enum + LoanTransactionStatusDeriver : 파생 된 그룹 수명주기 (Created→...→Completed)는 회원 LoanFileStatus에서 위로 구릅니다 (모든 저장한 authoritatively). - AccountGuid (accounts): 긴 라이브 쿠키 GUID↔Account (nullable)는 리드 첫 번째 익명의 흐름을 위해. - AccountBorrowerParty (accounts) : 공유된 대출 구매자 정체성 (선택 사항) + doc-vault 키. - MemberDocument (mlos.docs): 계정/회원 수준의 재사용 가능한 문서 볼트. - 대출 타임라인 (+event enum), SharedTransaction 작업 (+status/severity enums): 공유 그룹 피드 + 작업. - 위의 모든 것에 대한 의지. Enum appends (id-stable / 구두 안전) : - LoanFileStatus.SOLD BOARDED(9) - END (ORDINAL 저장); +isTerminal; 고정된 배기 스위치에 부합. - *********** — 이미징 회원 볼트 버킷. -********** - 관리자 계정 - merge 도구의 일반 설정 (serviceType=null). FK 칼럼 (nullable, pinned columnDefinition, 기본값 없음 — unique rowid/gen random uuid orphan 함정): - LoanFile.loan transaction id, *********** 리드.account guid id, CommerceMarket.lead market id, **************** *************** 디자인: *********** 버전 범프 없음.
· SecurityService
Borrower 자체 서비스 허가 (loan-party IDOR 가드)
대출자는 연산자 LOS 권리가없는 일반 org 회원입니다; 그들은 ONE에 행동 할 수있다 그들이 파티에 적용 - 그리고 그 하나. 층계 감시: 통신수 문 첫째로, 다른 실패 닫힌 대출 파티 체크 (isMemberPartyToApp). MortgageAppController: - *********** 에 적용된 하중 초과, 모든 23 퍼앱 endpoints를 쓰고, 3개의 반복 단면도 helpers. - 목록 : 연산자는 org 파이프라인을 볼 수 있습니다. 차용자는 소유 된 앱 만 볼 수 있습니다. - create: 연산자는 app(incl. from-lead); 자체 생성 (내선) - KamoMLOS 보상 게이트 민트. - 삭제 : 연산자 suspend-right 또는 자체 대여자; 조회 : 모든 인증 세션 (입력은 필수); 여행은 운영자 전용. MortgageProgramController: setPersona/setSelectedProgram에 사전 제작 IDOR를 닫습니다. (org-only check) - 이제 연산자-LOS-role 또는 대출 파티. 연산자 변경되지 않는; 차용인 소유자-경찰; 크로스버러 IDOR 폐쇄 (D52).
· kamo-shared-library
AppMortgageService에 Borrower 대출 파티 소유권
차용자가 셀프서비스를 위한 소유권 primitives를 추가합니다. 연산자 LOS 권한 없음 회원: - createBlankOwnedByMember(orgId, memberId): createBlank + 스탬프 소유권 (또는 reusing) 1차회원이 차용인 계정. - isMemberPartyToApp (appUid, orgId, memberId) : 실패 닫힌 대출 파티 가드 - org 일치 그리고 콜러는 앱 계정의 1 차Member/AccountMember입니다. - listOwnedByMember(orgId, memberId): 차용자의 자신의 응용 프로그램. 소유권은 디자인 관리입니다 *********** 링크; 계정/ accountMember는 이미 존재합니다, 그래서 schema/KI. 첨가제 만 (D52).
· kamo-internal
Borrower-journey 칼럼 + 입구 필터
Sub=pipeline datagrid (ApplicationsPipelineConsole)는 이제 pre-app-taken을 보여줍니다. org 직원은 응용 프로그램의 상태를 검토 할 수 있습니다 카모MLOS 포털을 통해 자신의 대출을 완료. - 'Borrower Journey' 열 : 국가 칩 (Just 시작 / 채우기 / 제출 준비) + 진행 bar + 섹션 n/total를 결정합니다. 이미 융자. - 'Borrower Intake' 필터 버킷 : 라이브 셀프 서비스 여행 항목과 대출. - listJourney() API 클라이언트 + BorrowerJourneyDTO 타입 + i18n 키. GET /mortgage-apps/journey (D51)에서 소스.
· SecurityService
Pre-app-taken 융자-journey endpoint
새로운 GET *************** (LOS VIEW PIPELINE)는 per-DRAFT를 반환합니다. 차입이 진행되므로 파이프라인 stewards를 시청할 수 있습니다. 차용자는 여전히 KamoMLOS 포털을 통해 보호됩니다. BorrowerJourneyService는 포털 마법사의 섹션 완전성 서버 측을 재결합합니다. canonical AppMortgage 그래프를 통해 (독립적인 존재 검사 — canonical DTOs 및 포털 클라이언트 DTO는 다이브 필드 이름을 가지고 있습니다. 국가 = STARTED / IN PROGRESS / READY TO SUBMIT over 7 사전 제출 섹션; 역 모기지는 재정을 건너 포털과 일치하는 부분. 아무 것도 주장; 300 초안 /보기에 캡핑. BorrowerJourneyDTO는 SecurityService-side 레코드입니다. doc03 파이프라인의 일부 (D51).
· SecurityService
LOS 컨트롤러는 per-borrower *** 세션 (doc03 §0.1)
BaseLosController는 이제 CallerSessionResolver를 통해 콜러의 세션을 해결합니다. (X-OTK-validated 속성 FIRST — 연산자/BFF unchanged — 그 후 첫 번째 파티 *** 쿠키 삭제) 대신 X-OTK 속성. 이것은 키스톤입니다. 그것은 KamoMLOS 차용기 포털 도달 /api/security/mortgage-apps/** 와 Real per-borrower session (캐버터는 표준을 통해 일반 org 회원입니다. login→OTK→validate-otk→*** flow)는 공유 서비스 계정보다는 백워드 호환; 모든 7 LOS 컨트롤러 혜택. 깨끗한 Compiles.
· SecurityService
LOE-Core Server-authoritative 프로그램 scorer + /programs/scores (doc03 §9 단계 2)
보안 서비스 LOE-Core에 KamoMLOS 클라이언트 scorer (lib/los/scoring.ts)를 포트: LoeCoreScorer는 org의 효과적인 프로그램 카탈로그를 점수를 매깁니다 (baseline deep-merged org 오버레이) 차용인 AppSnapshot에 대하여 — 동일한 LTV/DTI/occupancy/reserves/ VA-entitlement/reverse-age checks - 정확한 클라이언트에서 ProgramScoreDTO 반환 ProgramScore 모양. 사이트맵 *************** 서버 우선: §9 단계 3 클라이언트 황소 탈렛의 앞에 이 배. 녹색 3개의 시험.
· InitializerService
17 실제 프로그램 규칙 (doc03 §9 단계 1) 씨
KamoMLOS 클라이언트 규칙에서 권한 프로그램Ruleset 데이터를 마이그레이션 파일로 **************** (17 코드, 믿음을 추출) ProgramSeederRunner의 RuleetJson("{}")을 실제로 대체합니다. classpath에서 로드된 각 코드 규칙. Idempotent: 누락된 프로그램을 삽입 그리고 기존의 "{}" placeholders to real data, 결코 복제 연산자 편집합니다. 다음 KamoInitializer 실행에 적용 (사용자 실행). §9 단계 2를 위한 준비 클라이언트 scorer를 삭제하는 서버 scorer.
· kamo-shared-library
Org 프로그램-ruleset overrides (doc03 §9 단계 0)를 위한 진짜 심벌
M2 last-write-wins mergeOverlay placeholder를 대체합니다. recursive JSON deep-merge를 가진 org override에 있는 authoritative baseline: org overrides는 변화하는 열쇠만 공급합니다, 배열된 목표 도매를 대체하고, malformed override는 baseline에 안전하지 않습니다. 잠금 해제 Server-authoritative scorer (§9 Phase 2)의 앞에 ProgramRuleset 계약 클라이언트 scorer를 삭제합니다. Program/ProgramService javadoc이 다시 설치되었습니다. 녹색 3개의 시험.
· kamo-shared-library
MlosExtractedCandidate는 ingestion 파이프라인 (D48)에 대 한 기본
MLOSIngestionService's parser의 터미널 per-field 출력: 단계적으로 검토 가능 추출 후보 (segment/source-doc FK, TargetEntity, fieldPath, cellRef, 원/정상 값, DECIMAL(4,3) 신뢰, reviewStatus). 후보 NEVER 홍보 MLOSCatalogService's RateSheetSanityGate를 제외한 canonical 카탈로그 entities로 + 인간적인 승인. ingestion 기판 완료 *********** ExtractionTemplate pre-existed). mlos.catalog 이미 KI 검사에서 → 테이블 자동 생성 다음 KI 실행; 서비스 실행 ddl-auto:none.
· kamo-shared-library
격리된 최고 노력 단면도는 법률 벽 경로 (D47)를 위한 씁니다
mergeFactsBestEffort는 OWN 거래에서 enrichment write-back을 실행합니다. (REQUIRES NEW) 그래서 실패는 콜러의 트랜잭션을 다시 롤 수 없습니다 — 법적 벽 결정 경로 (AUS/internal-rules)에 대한 안전한 쓰기 백업 의사 결정은 관계가 있어야 합니다. 프로파일이 존재하지 않을 때 자동으로 건너 뛰기. +1 공유-lib 테스트 (skip-when-absent / delegate-when-present).
· kamo-internal
국가 기반 라이센스 섹션 회원 my-profile
New SectionCard(NMLS ID + per-state 라이센스 테이블) checkbox 및 갱신/expiry 날짜, 갱신<=expiry validated) 제공. * * * * * 다음 프록시 경로 추가, TS RoleRightType 미러 및 디자인/플랜 문서.
· SecurityService
Member state-licensing API + 라이선스 계약
MemberStateLicensingController (GET/PUT /api/security/members/{id}/를 추가하십시오. state-licensing) 서버 측에 STATE LICENSING * 권한에 의해 게이트 갱신<=expiry validation. 가능한 mlos.legal JPA 저장소. 팝업 요약 그리고 Leads-Available 그리드는 이제 국가 면허를 존중합니다.
· kamo-shared-library
국가 기반 회원 라이센스 + 출입문
재사용 mlos.legal StewardLicense 단 하나 per-member/per-state NMLS로 레지스트리 (ActivProvidingBusiness 추가). 회원 레벨 회원을 추가합니다.nmlsId. 일반 권한 추가 *************** CreditLeadAssignmentService는 이제 mortgage-lead 후보를 건너 뛰고 있습니다. 해당 이용 후기에 달린 코멘트가 없습니다.
· kamo-internal
Mappable 리드 필드에 소스 추가
Lead 'source'는 리드 디테일 페이지에 표시되지만 수입 필드 목록에서 누락되었습니다. 그것을 추가 (path 'source') 이제 백엔드 가져오기 + CreateLeadRequest 지원.
· SecurityService
지도 `source` 필드에 가져온 열을 맵
SetDirectFieldOnCreateRequest에 "source"를 추가하면 매핑 경로 'source'가 영광입니다.
· kamo-shared-library
CreateLeadRequest + persist에 importable `source` 필드 추가
지도에는 프리텍스 `source`(쇼/edited on the lead detail page)가 있습니다. 하지만 importable — CreateLeadRequest는 소스 필드가 없었다, 그래서 createLead는 그것을 설정하지 않았다. 그래서 수동 수입을 추가하면 파일 열을 리드 소스에 맵 할 수 있습니다.
· kamo-shared-library
ScenarioProfileSource.PRICING for 시나리오 제작자 FICO/ratio 쓰기 백 (D45)
· kamo-shared-library
Canonical 시나리오 제조 척추 — 창세기 deriver + factsJson는 + 쓰기 뒤 + 오바레이 성냥꾼 (D45)를 팝니다
D1/D45는 BorrowerScenarioProfile 소비를 확장합니다. 기숙사를 Populates factsJson 은 빌러/로난 사실에 대한 진실의 공유 소스를 만든다: - ScenarioFactKeys : 단일 후보자 키 어휘 + 계층 (structural vs enrichment) + 정상화 (); 이 D21 whitelist/deriver/consumers 참고. - ScenarioFactDeriver: D18 LTV/CLTV/HCLTV + categorical derivation를 승진시킵니다 MLOSPricingService 의 공유-lib (본체 파생된 사실에 한 가정). - BorrowerScenarioProfileService : produceFromUrla는 이제 구조적 사실을 대중화합니다. (보존물 보존); 고문 갭 필에 대한 해결Facts(); mergeFacts() enrichment 층 (창조는 구조상, D45.3)에 필터를 씁니다. - ScenarioFacts.fillGapsFrom(): 자문 병합 (요구 승, 프로필 채움). - InvestorOverlayMatcher: 순수한 실패 안전한 성냥꾼 (현재 및 진동). schema/KI 변경 없음 (factsJson 열 사전 노출). 27 대상 시험 녹색.
· kamo-internal
채널 규칙 탭 - §3.2 구성 표면을 완료
· SecurityService
채널 applicability 규칙 수집 CRUD - §3.2 구성 완료
createChannelRule/update/delete 에 D31 평면 수집 회전 (profile-level, org 실패 닫히는, WORM 변경 로그); 관제사 /channel-rules GET/POST/PUT (를 통해 삭제하십시오 활동 : false). 범위/채널/outcome 필요; *********** 권위/funding + 선택 효과적인 창. §3.2 구성체.
· kamo-internal
제품 Enablement 탭 (per-program, versioned)
· SecurityService
Product enablement config — 단일 활성, 효과적인
*************** (program-scoped demote-then-insert) + 읽기; 컨트롤러 /product-enablements GET (프로그램 당 활성) / PUT (publish). 이름 * programId, 활성화, lifecycleVariant, channelRestriction, effectiveFrom.

당신의 우주는 기다리고 있습니다.
몇 분 안에 무료로 시작하세요. 준비가 되면 언제든지 제품을 추가할 수 있습니다.
영원히 무료 - 신용 카드 필요 없음