변경 로그
무슨 일이야?
플랫폼에 대한 모든 개선 사항, 그것이 선적.
· kamolos
시상식 단계 + 등록 (8 자리) + /journey/ceremonies/[id] 노선
· kamolos
Waypoint 시트 primitive + /journey/waypoints/[id] placeholder 노선
· kamolos
모바일 익스플로러 — 28% top-strip 장면 + viewport 기반 데스크탑/크레스트 스위치
· kamolos
Underwriter 문자 (주체 owl SVG; 실제 예술 의뢰)
· kamolos
차용주자 개념에 대한 TypeScript 유형 (Persona, LoanProgramCode, ProgramScore, Connection, VerifiedFact, MicroActionKind, 식 ₢ 킹
· kamolos
공장 (id-verify, 소득, 자산, 재산 자료, 가격, aus, appraisal, 제목, 위험)와 9 개의 stub 어댑터를 추가하십시오
· kamolos
Credit/esign/address에 공장 추가 (과태 기존의 stubs에)
· kamo-shared-library
LoanFile에 추가하기
· kamo-shared-library
속성 추가
· kamo-shared-library
Borrower에 추가하기
· kamo-shared-library
LoanApplication 집계 루트 엔티티를 추가
· kamo-shared-library
LOS enum 유형 추가 (status, 역할, 사람, 프로그램, lender 모델)
· KlusterServices
KamoLOS에 대한 문서 myloan 별
SUBDOMAINS 인식 목록에 `myloan`을 추가하고 댓글을 다시 작성하십시오. 목록의 목적을 명시하기 위해 (그것은 다큐멘터리; 동적 Traefik 로그 스캔은 실제로 certs를 제공 하는 것입니다.). KamoLOS는 HostRegexp(`^myloan[.].+$')로 IngressRoute를 게시합니다. myloan.<org-domain> 는 Traefik 의 요청을 통해 픽업됩니다. extract domains() 및 per-FQDN ECDSA P-256 cert는 통해 발급됩니다. cert-manager + 같은 방법을 암호화하자 `internal.*`, `login.*`, 그리고 다른 Kamo subdomain aliases 일 오늘. 행동 변화 없음 — 단지 다른 사람들과의 별명을 만듭니다. 그리고 스크립트를 prefix → 서비스의 한 줄지도를 읽는 사람을 제공합니다.
· kamolos
Dockerfile + k8s는 나타납니다. ***************
· kamolos
Wire api 오류 추적 싱크
· kamolos
Swappable 싱크를 가진 추적 shim
· kamolos
모든 세 개의 스텁에 걸쳐 신용 풀 어댑터 + 테스트
· SecurityService
Expose Prometheus 미터 엔드 포인트
Micrometer-registry-prometheus를 추가하고 management.endpoints를 구성합니다. /actuator/prometheus를 건강/정보에 노출시키십시오. 견적 요청 shared-lib에 추가된 카운터/timer는 긁을 수 있습니다.
· kamo-shared-library
전환, 조건, webhooks에 대한 마이크로미터 카운터 / 타이머
LoanPipelineService 증가 los transitions total{from,to} 성공 당 전환. LoanCondition서비스 증가 *************** cleared/waived를 위해. WebhookDeliveryWorker 증가 webhook deliveries total {ok,status class} 및 레코드 webhook delivery duration ms (P50/p90와 타이머 /p99 %iles) 배송 시도 당. MeterRegistry는 @Autowired (required=false)입니다. Actuator(모노레포에서 가장 비-LOS 서비스)는 작동을 유지한다. classpath에 대한 레지스트리가 미터를 방출합니다. Shared-lib pom은 API 컴파일 액세스를 위한 micrometer-core를 얻습니다; 소비자 철사 실제 레지스트리 (Prometheus, Simple, etc.) 자신의 액추에이터 설정을 통해.
· kamo-internal
표면 이전MilestoneSha256 파이프 라인
Hash-chain 링크는 작은 monospaced 'prev <hash>'칩으로 렌더링됩니다. 기존의 스냅 샷 해시 옆에, 제목의 전체 값 툴팁. 새로운 번역이 없습니다.
· kamo-shared-library
탬퍼 검출을 위한 Hash-chain LoanPipelineMilestone 행
LoanPipelineMilestone은 PREVIOUS MILESTONE SHA256을 얻습니다. 모든 전환에, LoanPipelineService는 이전의 이정표의 SHA-256을 준수합니다. canonical 모양 *********** 및 새로운 행에 저장합니다. DB의 이전 행을 Mutating하면 hash → 그 시점에서 체인을 깰. DTO 표면이 새로운 필드이므로 타임 라인 UI는 링크를 표시 할 수 있습니다.
· kamo-internal
표면 HMDA LAR 검증 문제 UI
HmdaLarRecordDTO는 이제 문제 배열을 운반합니다. HmdaLarClient는 다음과 같습니다. - 테이블 위에 amber 배너가 있는 행과 조직 (Σ errors / Σ warnings) 어떤 행이 유효하지 않을 때, - 각 문제의 심각성에 대한 팝업리스트를 열 수 있는 행당 셀(cell) 현장 및 메시지. API 클라이언트는 새로운 /hmda/lar/issues에 대하여 listHmdaLarIssues()를 추가합니다 단지 계산을 원한다 (오늘 배너에 의해 사용, 다른 곳에서 배지를 유용함).
· SecurityService
GET /mortgage-apps/hmda/lar/issues 카운트 요약
주어진 해 동안 LAR의 유효성 검사 문제 및 반환 {errors, warns, rowsWithIssues} 그래서 UI는 한 줄 배너를 렌더링 할 수 있습니다 연산자가 CSV를 다운로드하기 전에.
· kamo-shared-library
HMDA LAR 사전 수출 검증
새로운 HmdaLarValidationIsssue DTO (ERROR/WARN severity, 필드 이름, 메시지). HmdaLarService는 이제 buildLar()에서 각 행을 할당합니다. 가장 일반적인 CFPB 거부 원인을 다루는: - (actionTaken in {1,3})는 applicationEthnicity/race/sex가 필요합니다. - 어떤 행동은 대출 금액과 propertyState가 필요합니다. - applicantAge는 {1,3,4,5}에서 actionTaken에 필요한 HmdaLarRecordDTO에 살고있는 문제 그래서 기존 /hmda /lar endpoint 행 당 표면; CSV 수출은 여전히 동일한 열을 방출 견적 요청 새로운 /hmda/lar/issues endpoint를 위한 그룹화한 조사 도우미 SecurityService를 따르십시오.
· kamo-internal
TransitionDialog에 표면 preTransitionLint 경고
모두 TransitionDialog 구현 (detail Pipeline 섹션 + kanban board) 이제 lint endpoint를 불을 때 사용자가 대상 상태를 선택하고 위의 amber 자문 블록을 렌더링합니다. 확인은 여전히 활성화됩니다 — LO는 진행 여부를 결정합니다. mortgageApps.pipeline.lint*의 문자열.
· SecurityService
노출 GET ***************
제품정보 *********** 자문 사전 기쁨으로 사용자가 대상 상태를 선택할 때 TransitionDialog 화재를 확인합니다.
· kamo-shared-library
APPLICATION TAKEN에 대한 PreTransitionLint 자문
새로운 @Transactional(readOnly) LoanPipelineService의 방법 목록 반환 APPLICATION TAKEN 대상을 위한 인간의 읽기 쉬운 경고: SSN을 누락 (마지막 4), DOB, 시민권 상태, 현재 주소, occupy-primary 각 차용차에 대한 선언; 누락된 대출 유형 / 목적 / 금액; 누락된 속성 주소. 다른 대상 상태는 빈다 이름 * 자문, 차단되지 않음 - 컨트롤러 표면이 이렇게 LOs는 결정할 수 있습니다.
· kamo-internal
공급자 + useToast 걸이를 가진 세계적인 토스트 큐
레이아웃 레벨의 새로운 ToastProvider는 Framer Motion stack을 렌더링합니다. context-managed 토스트 및 typed useToast() 노출 API 지원 (교육/error/info/warn). 파이프라인 전환, 상태 clear/waive, 그리고 webhook 비밀 교체 이제 인라인 배너 대신 화재 토스트; CONCURRENT MODIFICATION recovery from #1 표면의 호박 "refreshing" 상세 파이프 섹션과 kanban 보드 모두에서 토스트. 문자열은 toasts.pipeline.*와 toasts.webhooks.* 에 en.json.
· kamo-shared-library
튼튼한 JetStream 소비자, executor 고립, 타임스탬프 서명
WebhookDeliveryWorker에 살고 있기 때문에 세 가지 변경 함께 감각을 만드십시오: 1. 핵심 NATS 파견자에서 JetStream 튼튼한 푸시 소비자에 전환하십시오 ( "los-pipeline-webhook-worker", AckPolicy). Explicit). 재플레이 unacked event; 시도 조사는 msg.metaData().deliveredCount()에서 옵니다. 그래서 WebhookDelivery 감사 로그는 오히려 redelivery 반영 in-process 루프. maxDeliver 모자 redelivery. 2. 작은 ScheduledExecutorService에 각 메시지가 느립니다. (10s-timeout) 구독자는 NATS 파견자 실을 백업할 수 없습니다. 3. 로그인 't.body' (Stripe/GitHub 스타일) 및 방출 헤더 X-Kamo-Timestamp + X-Kamo-Signature: t=<ts>,v1=<hex> 그래서 eavesdropped 요청은 무한하게 재생할 수 없습니다. deliverForOrg는 더 이상 @Transactional: 실패한 HTTP 시도 재성장 그래서 JetStream redelivers, 그리고 우리는 그것의 자신의 주장에 감사 행을 원한다 짧은 거래는 외부 범위로 돌아간다.
· kamo-internal
전환에 CONCURRENT MODIFICATION에서 우아한 복구
MortgageApiError 클래스에 API 오류 처리 촉진 백엔드 오류 코드; PipelineSection 및 파이프라인의 전환 핸들러 kanban는 CONCURRENT MODIFICATION을 감지하고, 대화 상자를 닫고, 새로 고침 및 표면 원시 409 대신 amber 번역 된 통지.

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