チェンジログ
何が新しいの?
プラットフォームのすべての改良 それが出荷される
· kamo-internal
取引パイプライン — 取引ごとのリスト, ローンあたりではなく (所有者のreq)
アプリケーションPipelineConsole は、LoanTransaction の 1 行 (その代表的な融資 + 未グループ化のレガシーローン)、ピン留めされた「ディール/ステータス」列で、派生した グループステータスチップ、マルチローン取引用のN-loansチップ、および拒否除外フラグ。 フェッチ メニュー (+ トランザクションSummaryDTO型) と融資行に結合します。 トランザクションを表す行に Bucket/filters/journey を再ベースします.
· kamo-internal
ベンダー製品(#11)におけるKamoMLOSポータルのデフォルト製品指定
各プロダクトの星のトグルはorgの単一のKamoMLOSのポータルのオートアサイン プロダクトを設計します (単一活動的な)。 GET /lead-vendors/mlos-readiness を経由して供給:編集された市場が orgの住宅住宅住宅住宅ローンリード市場とPOS + MORTGAGE コマース市場が構成されています。 PUT .../products/{id}/mlos-default を使ってライブデフォルトを反映/編集します。(P6 sweep の i18n です。)
· SecurityService
P3 デフォルトのプロダクト指定のバックエンド(単一活動的な) + オペレータのreadiness
メニュー org's KamoMLOS として 1 つの鉛ベンダー製品の設計 ポータルオートアサイン製品。単動(org-scoped、fail-closed)をJPQL経由 バルク更新。 - LeadVendorController:PUT **************** および GET /mlos-readiness(製品がデフォルト+ POS + RESIDENTIAL MORTGAGEリード市場+ MORTGAGE コマース市場を構成) — 設定ゲート + 現在の状態を表示します。 きれいにコンパイルします。スキーマ/共有ライブラリの変更はありません.
· SecurityService
P2cリードファーストポータルバックエンド
- MortgageVerticalResolver:orgのRESIDENTIAL MORTGAGE LeadMarket、MORTGAGEを解決 CommerceMarket、指定されたデフォルトリードベンダー製品、およびEFFECTIVE POS-enabled — 1 決定的な準備は、設定ゲート(#11)とポータルゲート(#12)の両方をバックアップします。 - PortalLeadService: リードファースト — createOrGetAnonymousLead (AccountGuid Cookie に署名) mortgage 市場でのデフォルト製品をオートアサインし、読みやすさに異常終了 — いいえ サインアップ, いいえ AppMortgage)、patchEstimate、およびサインイン mergeGuidIntoMember(GUIDを結合します) メンバーのアカウント + リード(s)を返し、アサインをミラーリングLeadAccountの履歴書)。 - ポータルコントロール メニュー リードPOST/PATCH、merge}:匿名 信頼できる BFF X-Kamo-Guid ヘッダから GUID をホストする (org-from-host)。 merge は***-bound です。 きれいにして下さい。 匿名のルートは、許可をパスしますすべてのフィルタチェーン(管理者は自己ゲート).
· kamo-internal
管理UI(MERGE ACCOUNTS)
AccountManagerはマージアカウントのアクションを獲得 (****************************************************************************************************************************************************************************) 正確に2つの顧客のアカウントを選択し、生存者を選び、必要に応じて重複を続ける 顧客/プライマリメンバーをストライプし、合併し、生存者にすべての子供を再生し、 重複をソフト無効化します。 accountApi.mergeCustomer() → POST /account/customers/{uid}/merge。 (P6スイープにi18nキーを追加)
· SecurityService
P2aアカウントマージツール+ P2bトランザクションバックエンド
P2a — 管理者アカウントのマージ(所有者要件A)、MERGE ACCOUNTSによってゲート: - AccountMergeService: ネイティブ UPDATE(JPAをバイパス)で、Every account uidの子をreparents orphanRemoval なので、敗者のリード/アプリが生き残ります)、グローバルにユニークなアカウントを生成 members +(アカウント、市場、ターゲット)サブスクリプション、reconciles stripe customer id / プライマリメンバー/ ポインターFK (生存者ウィン + 回復者オーバーライド), ソフト活性化敗者. 同じ組織のみ。 - アカウント管理者 POST **************************** は、MERGE ACCOUNTS (または神) によってゲートされます。 P2b — 取引グループ化バックエンド: - LoanTransactionService:proveTransactionForApp (作成の自動車単一融資のグループ、idempotent)、 deriveStatus (LoanFileStatus から LoanTransactionStatusDeriver 経由でロールアップ), メニュー (TransactionSummaryDTO), isMemberPartyToTransaction (D52) グループに一般化)、バックフィル組織。 - MortgageAppController: create() はローンを自動グループ化しました。 GET /transactions は 1 回のトランザクションごとにリストします。 (operators=org パイプライン、借り手=own アカウント)。 - mlos.transaction + mlos.docs を SecurityServiceApplication @EnableJpaRepositories に登録します。 すでにKI(P1)で作成したスキーマ。 インストールされた共有ライブラリに対してクリーンアップします.
· kamo-shared-library
P1 の実体の基礎 — リードファースト/アカウント中心/トランザクショングループ化されたレファクタ
新しいエンティティティ(追加;KIはDDLを実行します): - transactionGroupStatus enum + LoanTransactionStatusDeriver: 派生したグループライフサイクル (Created→...→Completed) は、メンバー LoanFileStatus からロールアップしました。(保存された権限を負います)。 - AccountGuid(アカウント):リードファースト匿名フローの長寿命クッキーGUID↔Account(nullable)。 - AccountBorrowerParty(アカウント): 共有ローンボロージャーID(メンバーオプション)+ doc-vaultキー。 - 会員文書(mlos.docs):アカウント/会員レベルの再利用可能な文書保管庫。 - ローントランザクション タイムライン (+event enum), 共有トランザクション タスク(+status/severity enum):共有グループフィード+タスク。 - 上記のすべてのリポスト。 Enum は (id-stable/ordinal-safe) をつけます: - LoanFileStatus.SOLD BOARDED(9) — END(ORDINストレージ)で追加。 +isTerminal; 固定式排気スイッチ。 -**************** — イメージング・メンバー・ボルト・バケット メニュー — 管理者アカウントマージツールの全般設定(serviceType=null)。 FK カラム (nullable, pinned columnDefinition, no default — unique rowid/gen random uuid orphan trap): - LoanFile.loan transaction idの**************************** リード.account guid id, ************************************************************ メニュー メニュー バージョンバンプはありません.
· SecurityService
借主セルフサービス許可(ローンパーティIDORガード)
借り手は、オペレータのLOSの権利を持たない普通のorgメンバーです。彼らは1で行動することができる これらは、その1つだけのパーティーです。 層の監視: オペレータ ゲート最初に、 その他、不正クローズドローンパーティーチェック(isMemberPartyToApp)。 MortgageAppController: -********************は、アプリあたり23個すべて取得するために適用される積み過ぎ エンドポイントと3つの繰り返しセクションヘルパーを記述します。 - リスト: 演算子は、orgパイプラインを参照してください。 借り手は、所有しているアプリだけを参照してください。 - 作成: 演算子はアプリを(から鉛を含む)取ります。借り手は自分で作成します (ownership-stamped) — カモMLOSの報酬ゲートミント。 - 削除: オペレータは、右または所有する借り手を中断または削除します。検索: 認証済み セッション(参照は、インテークのニーズを列挙します)。 旅行は、オペレータのみを維持します。 MortgageProgramController: setPersona/setSelectedProgramで既存のIDORを閉じる (org-only check) — 演算子-LOS-role OR ローンパーティ。 オペレータは変更されません。; 借り手所有者-スコープ付き; クロスボロージャーIDORクローズド(D52).
· kamo-shared-library
AppMortgageService の借主融資パーティーオーナーシップ
借主セルフサービスのための所有権の原始者を追加します(借り手は普通のorgです) オペレータ無しのLOSの権利のメンバー: - createBlankOwnedByMember(orgId、memberId): 添付によるBlank +スタンプの所有権を作成 (または再利用)プライマリメンバーが借主であるアカウント。 - isMemberPartyToApp(appUid、orgId、memberId): 不定閉鎖ローンパーティガード — orgマッチ そして、発信者はアプリのアカウントのプライマリメンバー/アカウントメンバーです。 - listOwnedByMember(orgId, MemberId):借主自身のアプリケーション。 所有権は設計管理されています。 AccountMember は既に存在しているので、スキーマやスキーマはありません。 添加剤のみ(D52).
· kamo-internal
Borrower-journey カラム + 融資パイプラインのインテークフィルタ
Sub=pipeline の datagrid (ApplicationsPipelineConsole) は、前アプリのtaken を示しています 借り手 - ジャーニーの進行状況なので、orgの従業員はアプリケーションの状態をそのまま確認することができます 借主は、KamoMLOSポータルを通じて独自の融資を完了します。 - 'Borrower Journey'のコラム:状態の破片(Justは///提出する準備で満ちます)+ プログレッシブバー + セクション n/total, 保留セクション ツールチップ; '-' で 既に持ち込まれた融資。 - 「Borrower Intake」フィルタバケット:ライブセルフサービスのエントリーでローン。 - listJourney() API クライアント + BorrowerJourneyDTO タイプ + i18n キー。 GET /mortgage-apps/journey (D51) からソース.
· SecurityService
オペレータパイプラインのための事前-app-taken の借り手-journey エンドポイント
新規登録 メニュー (LOS VIEW PIPELINE) は、DRAFT ごとに返します。 借受人インテークの進行状況なので、パイプラインのスチュワードは、ローンテイク形状を見ることができます。 借主は、カモMLOSポータルを通じてセルフサービスしています。 BorrowerJourneyServiceはポータルwizardのセクションの完全性サーバー側のrecomputes 正式な AppMortgage グラフ(寛容な存在チェック — 正式 DTO と ポータルクライアント DTO はフィールド名を分散しています。 ステート = スタート / インプログレス / READY TO SUBMIT は 7 の事前送金セクションを上回ります。 逆の抵当金は財務をスキップします セクション、ポータルのマッチング。 何も主張しませんでした。300の草案/眺めでおおわれた。 BorrowerJourneyDTOはSecurityService-sideレコードなので、ドノモディファイドは触れないままです。 doc03パイプラインの再利用(D51)の一部.
· SecurityService
LOSのコントローラーは1borrower ***のセッション(doc03 §0.1)を受け入れます
BaseLosController は、CalerSessionResolver による呼び出し者のセッションを解決しました。 (X-OTK-validated 属性 FIRST — 演算子/BFF が変更されていない — ファーストパーティ ** X-OTK属性の代わりにクッキーフォールバック)。 これはキーストーンです KamoMLOS の借り手ポータルが /api/security/mortgage-apps/** に、 実際のパーボロージャーセッション(借り手は標準でプレーンオーガメンです) 共有サービスアカウントではなく、ログイン→OTK→validate-otk→***フロー)。 バックワード- 互換;すべての7 LOSのコントローラーの利益。 きれいにして下さい.
· SecurityService
LOE-Coreサーバー権限プログラムスコアラー+ /programs/scores(doc03 §9フェーズ2)
KamoMLOS クライアントスコアラー (lib/los/scoring.ts) を SecurityService LOE-Core に移植します。 LoeCoreScorerは、orgの効果的なプログラムカタログ(ベースラインを深く統合)をスコア 借り手AppSnapshotに対するorgオーバーレイ - 同一LTV / DTI /占有/保存/ VA-entitlement/reverse-age チェック — クライアントのプログラムに戻る プログラムコア形状。 ポスト メニュー サーバー優先: §9 フェーズ 3 の顧客層の削除前のこの船。 3テストグリーン.
· InitializerService
シード17プログラム規則(doc03 §9フェーズ1)
KamoMLOS クライアントのルールから、Authoritative ProgramRuleset データを移行 メニュー (17 コード、忠実に抽出) プログラムSeederRunner の規則 ("{}") のプレースホルダを実質と取り替えて下さい クラスパスから読み込まれたパーコードルールセット。 Idempotent: 不足しているプログラムをインサート 既存の「{}」のプレースホルダーを実際のデータにアップグレードし、オペレータをクローブしません 編集。 次のKamoInitializerの操業(ユーザー ラン)で加えられる。 §9フェーズ2のプレハブ クライアントスコアラーを削除するサーバースコアラー.
· kamo-shared-library
Orgプログラム・ルーレット・オーバーライド(doc03 §9 Phase 0)の実質のディープマージ
M2 の最後のライト・ウィンの mergeOverlay プレースホルダを置きます(サイレントに捨てられます) オルガ・オーバーライドの権威あるベースラインは、再帰的なJSONを深くマージします。 org は、変更するキーだけを供給します。, ネストされたオブジェクトは再発します。, 配列 卸し売りを取り替え、malformedの過rideはベースラインに安全失敗します。 ロック サーバ権限のスコアラー(§9 フェーズ 2) の前のプログラムルールセット契約 クライアントスコアラーを削除します。 プログラム/プログラムサービス javadoc が再配置されました。 3テストグリーン.
· kamo-shared-library
MlosExtractedCandidate は、摂取パイプライン (D48) のための組織をステージングします
MLOSIngestionService のパーサーのターミナルパーフィールド出力: 段階的な、検討可能 抽出候補(セグメント/ソース・ドキュメントFK、ターゲットエンティティティ、フィールドパス、セル参照、 生/正規化値, DECIMAL(4,3) 自信, reviewStatus. 決して促進する候補者 MLOSCatalogService's RateSheetSanityGate 以外の正式なカタログエンティティ + 人の承認。 インジェクション基板完成品 ************************************ ExtractionTemplateは、既存の). mlos.catalog は KI のスキャン → テーブルの自動作成で既に 次のKI run;サービスはddl-auto:noneを実行します.
· kamo-shared-library
法的壁パス(D47)のベストフォートプロファイル書き込みバックを分離
mergeFactsBestEffort は、OWN トランザクションの濃縮書き込みバックを実行します。 (REQUIRES NEW) なので、発信者のトランザクションをロールバックしないように失敗します。 法的壁決定パス(AUS/内部ルール)の安全な書き込みバック 決定の記録は、任意の主張しなければなりません. プロファイルが存在しない場合、静かにスキップします。 +1 共有 lib テスト (skip-when-absent / delegate-when-present).
· kamo-internal
ステートベースライセンスセクションのメンバーmy-profile
新しいセクションカード(NMLS ID + 州毎のライセンステーブルを積極的に使用- チェックボックスと更新/公開日、更新<=expiry 検証済み) メニュー 次のプロキシルートを追加します。, TS RoleRightType ミラー、および設計/計画の文書.
· SecurityService
会員のステートライセンス API + ライセンスアウェア リード可用性
MemberStateLicensingControllerを追加(GET/PUT /api/security/members/{id}/ サーバサイドでSTATE LICENSING * 権限でゲート 更新<=expiry 検証 mlos.legal JPAリポジトリを有効にします。 ポップアップの概要 リード・アベイラブル・グリッドは、現在、国家ライセンスの適格性を尊重しています.
· kamo-shared-library
ステートベースのメンバーライセンス+リード受容ゲート
Mlos.legal StewardLicenseを1人当たり/per-state NMLSとして再利用 レジストリ(積極的に事業提供を追加)。 会員レベルのMember.nmlsIdを追加します。 一般権限の追加 メニュー CreditLeadAssignmentService は mortgage-lead の候補をスキップします。 explicit プロパティの状態 会員は積極的にライセンスされていません.
· kamo-internal
マッピング可能なリードフィールドにソースを追加
リード 'source' は、リード詳細ページに表示されますが、インポートフィールドリストから欠落していました。 バックエンドの importer + CreateLeadRequest がサポートするようになりました ('source' をパス).
· SecurityService
インポートされた列をリード `source` フィールドにマップ
SetDirectFieldOnCreateRequest に "source" を追加すると、マッピングパス 'source' が付与されます.
· kamo-shared-library
CreateLeadRequest + にインポート可能な `source` フィールドを追加して createLead で永続化
リードはフリーテキスト `source` (リード詳細ページで表示/編集) を持っていますが、 インポートできない — CreateLeadRequest はソースフィールドがなかったため、 createLead は設定しません。 手動でインポートすると、ファイル列をリードソースにマップできます.
· kamo-shared-library
シナリオライターFICO/ratio書き込みバック(D45)のScenarioProfileSource.PRICINGを追加
· kamo-shared-library
キャニカルシナリオファクトスピン — ジェネシス・デリーバ + 事実Json が + 書き込みバック + オーバーレイ・抹茶 (D45)
D1/D45 は BorrowerScenarioProfile の消費を広くします。 ドーマントを破棄 事実Json 借り手/ローンの事実のための真実の共有ソースを作る: - ScenarioFactKeys:単一の正弦事実キーの語彙+層(構造対 濃縮) + normalize(); D21ホワイトリスト/デレーバー/コンシューマー参照これら。 - ScenarioFactDeriver:D18 LTV/CLTV/HCLTVを促進して下さい+分類の派生物 MLOSPricingService から共有 lib (実体由来の事実の 1 つの家) へ。 - BorrowerScenarioProfileService: 生成FromUrlaは構造的事実をポップ (豊かさを維持します。) 諮問ギャップフィラーのresolveFacts();mergeFacts() 濃縮層にフィルタをフィルタリングする書き込みバック(ジェネシスは構造的、D45.3)。 - ScenarioFacts.fillGapsFrom(): アドバイザリーマージ(リクエストウィン、プロファイルはギャップを埋めます)。 - InvestorOverlayMatcher: 純粋なフェイル・セーフ・マッチダー(現および暴力のみ)。 スキーマ/KI の変更なし(factsJson カラム プレエクシス)。 27 対象となるテストグリーン.
· kamo-internal
チャンネルルールタブ — §3.2 config 表面を完了
· SecurityService
チャンネルのアプリケータビリティルールコレクションCRUD — §3.2 設定を完了
createChannelRule/update/delete に D31 フラットコレクションの背骨 (プロファイルレベル, org フェールクローズド、WORM変更ログ); コントローラー/チャンネルルール GET/POST/PUT (delete via アクティブ:false 必要な範囲/チャネル/アウトカム;******************************** 権限/ファンディング + 有効なウィンドウ オプション。 最後の§3.2 config の実体.
· kamo-internal
製品の有効化タブ(プログラム毎、バージョン別)
· SecurityService
製品の有効化コンフィグ — 単一プログラム、有効化
メニュー (program-scoped demote-then-insert) + reads; コントローラ /product-enablements GET (プログラムごとにアクティブ) / PUT (公開). ボディ 実行プログラムId, 有効, lifecycleVariant, channelRestriction,effectiveFrom.
· kamo-internal
ポリシータブ — 効果的な価格設定/キャピタール/サービス設定
新しいMortgagePoliciesTab:現在のアクティブバージョン+公開バージョンフォーム+バージョン 3つの効果的なポリシーのそれぞれの歴史; configTypes/configApi +タブ 会員登録.
