チェンジログ
何が新しいの?
プラットフォームのすべての改良 それが出荷される
· kamo-shared-library
§6.1 ロン法的壁の穀物 —**************************** (frozen WORM) + CLOSING STEP BLOCKED イベント
プロパティの状態は、閉じたパッケージ(クローズドのプロパティは、 動きません)そして穀物は§6.1 のRONの州適性法的壁の読書です。 CLOSING STEP ブロック 耐久信号は閉経後例外の列が RON が壁にされたとき反応します.
· kamo-shared-library
CLOSING MERS SUBMITTED イベントキー (doc 05 §6.3)
MERS シグナル: MersRegistration **************************************** は、ローン(追加のみ) MIN 決して上書きしません。 付加的な開いたひものキー(DDL無し).
· SecurityService
Kamp-apps、VectorService、kamolos、kamo-signer-monorepoをパブリックチェンジログに追加
· kamo-shared-library
CLOSING STEP RETRIEDイベントキー(doc 05 §6.4)
スチュワード・リカバリー・シグナル: BLOCKED STEWARD パッケージはブロック解除され、新しい PENDING ノードは、 取得したサブシステム。 付加的な開いたひものキー(DDL無し).
· kamo-shared-library
CLOSING STEP FAILEDイベントキー(doc 05 §6.4)
ドライブループ障害信号:クローズステップ FAILED/ブロック、パッケージは BLOCKED STEWARD を保持しています。 クローズスチュワード例外キューが反応します。 付加的な開いたひものキー(DDL無し).
· kamo-shared-library
CLOSING STEP COMPLETED + CLOSING PACKAGE COMPLETED イベントキー (doc 05 §6.4)
ドライブループ信号:クローズアーファクトは、COMPLETED(次のアダプター)に達し、すべての必要な手順が完了しました (インベスター・デリバリー/サービング・ボーディング) 付加的な開いたひものキー(DDL無し).
· InitializerService
NULLs-safe 独自のエンドポイントで closeWorkflowTemplate バージョン (doc 05 §6.3)
1つのバージョン(organization id、スコープ level、スコープ ref id)の穀物。 CRDBはNULLs-distinctなので、 nullable scope ref id (ミラーmlos aiptp *): mlos closing wft version uniq (scope ref idはNULLではありません) + **************** に (例、スコープ レベル、バージョン) (scope ref id は NULL です)。 ザ・オブ・ザ・ MLOSDocOrchestration のパブリッシャーの read-then-write (versionNumber=max+1) backstop: 同時 dup-version 公開は 409 に失います (アセンバーリゾルバー 409 dup のレンガ造りアセンブリ).
· kamo-shared-library
******************** イベントキー (doc 05 §6.3)
耐久性のあるシグナルは、doc-orchestration テンプレートパブリッシャーが新しい closeWorkflowTemplate バージョンで出力されます。 付加的な開いたひものキー(DDL無し).
· kamo-shared-library
CLOSING PACKAGE ASSEMBLEDイベントキー(doc 05 eClose)
耐久性のあるシグナルは、 doc-orchestration のアセンブラが解決から作成されると doc-orchestration アセンブラが放射する closeWorkflowTemplate + 初のアーティファクトノード。 付加的な開いたひものキー(DDL無し).
· kamo-internal
「世界への公開」ステージを削除します。 全てを固定する
発電機はサービング ドライブにタイルを直接書きます、従ってworldgen パイプラインはもはや公開/プッシュステージを持っていません。 - WorldgenNats.ts + Universe/types.ts: 'push' を WorldgenStageId からドロップします。 WORLDGEN STAGES と STAGE ORDER (パイプライン =******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** - component.tsx: push STAGE META エントリー + unused CloudUpIcon を削除します。 -service/[stage]/start: コマンド ターゲットとして 'all' を受け付けます。 (エージェントのプレプ->hydro->flora->transport に 400ing の代わりに展開します).
· kamo-shared-library
PULL THROUGH POLICY PUBLISHEDイベントキー+null-safe AiPTPバックストップドキュメント(doc 09§8)
Canonical の******************** のでき事タイプ キーを加えて下さい(耐久信号のプルThrough エンジンは、ガバナンスプレーンAiPullThroughPolicyパブリッシャーの積極的なポリシーをリロードします。 アップデート AiPullThroughPolicy WORM javadocは、分割された単一アクティブ・バックストップ(各市場+)を文書化 NULLs-distinct-safe org-wide 穀物) および作家の要求されたdemote-then-insert 順序.
· kamo-shared-library
LoanIdentifierEvent 専用監査機関 (doc 11 5.3/§10)
Doc 11 の LoanIdentifierEvent の半分 §5.3 ステップ-4 / §10 "audit completeness" (毎分分/スーパーシードが発光します) WORMイベント列 メニュー LoanIdentifierイベントタイプ, LoanIdentifierEventRepository}: 全ブロックの付随一のWORMエンティティティ(AiDecision/Decision) インプット・イディオム — すべてのフィールドのupdatable=false、@PreUpdateは、org/loanFileUid/を録音する"DB dateCreated"に投げました IDrId(新しいACTIVE行、ソフトUID ref)/supersedesIdentifierId(優先順位、null) mint)/eventType **************** + 対立のための無効な aiDecisionId WORM-decision ハーフ(未定 — レジストリの AiFunction が存在しません)。 idのみによるソフトリファイン(@ManyToOneなし)、 長い ID は文字列としてシリアライズしました。 KamoInitializerの操業(entity-declaredの索引の上のテーブルの自動作成) 融資 file uid + 識別子 id; SchemaCleanupRunnerの変更はありません。 Additive — 共有 lib バージョン変更なし (1.5.0).
· InitializerService
(loan file uid,type) ネイティブの単一部分unique インデックス (doc 11 §5.3/§6.2)
MLOS 融資識別子レジストリの既存のダブルアクティブホールを閉じる: インデックス (a) **************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** 単動型なので、SAME (loan file uid, type) の 2 つの ACTIVE ネイティブ行が 2 つありますが、DIFFERENT の値が 両方コミット (例: 異なる値でregisterNativeを競うrenumber — 異なる値キー、 いいえ 競合)。 新しい部分的なユニークなインデックス ******************************** (loan file uid、タイプ) WHERE status='ACTIVE' と outternal system reference は NULL と type IN です ( 10 個のネイティブタイプ) ほとんどの 1 つで強制されます OWNED ELSEWHEREミラー用のインデックス(c)の(loan、type)アナログ(c)ごとのACTIVEネイティブID。 ザ・オブ・ザ・ type IN(...) リスト ミラー インデックス (a); と同期し続ける ******************************** (§6.2ドリフト ガード)。 Idempotent CREATE ... IF EXISTS ではなく、重複したネイティブ行(検証済み)を侵害しない.
· kamo-shared-library
IDENTIFIER SUPERSEDEDイベントタイプキーを追加
レジストリのリ番号/監視信号のための付加的なオープン ストリング イベント キー(doc 11 §5.3/§7.3) — COMPLIANCE TIMER B 受信済み(enum/schema/KIなし) MLOSIdentifierService.renumber の構成.
· kamo-shared-library
************ — auto execute enabled の天井を壁のしきい値とともに解決します
効果的なAutonomy(orgId、ステージ、フロア)→EffectsAutonomy{threshold、 autoExecuteEnabled}: 1つのチェーン・ウォーク(profile → config → Stage-override) §6.2 の床の自信の壁のしきい値と auto execute enabled の BOTH を返します マスタースイッチ(ステージオーバーライドアウェア)。 効果的な自律性 Thresholdは今それを委任します (真理の単一ソース) RCEロックゲートは、回転するテナントに敬意を表します リクエストの自律性に関係なく自動実行オフ レベル。 テナントコンフィグがない場合に空けます(callerはプラットフォームのデフォルトを使用します。リクエスト 準拠)。 Additive; ゲートされたMlosActivationServiceビーンだけが影響されます。 4つのテスト.
· InitializerService
RCEロックレコード(doc 08 §7.3)の反二重ロック部分的なユニークインデックス
SchemaCleanupRunner追加 **************************************************************** mlos lock record(organization id、ローン scenario id)WHERE上のUNIQUEインデックス メニュー ローンごとのほとんどの1つのライブレートロック シナリオ: MLOSCapitalMarketsServiceのアプリレベルの決定的なDBバックストップ アンチダブルロックガード、同時開始TOCTOUレースをクローズ(重複) ライブロックは無声コンプライアンスの腐敗です。ロックレジャーにはスーパーシードはありません。 Idempotent(EXISTSがない場合)、すでにプロッドCRDBに適用されます.
· KlusterServices
ブートストラップ宇宙ミニオシークレット + ugc バケットノート (§14)
ステップ6を追加bootstrap-universe.sh:宇宙ミニオの秘密を作成します (ACCESS KEY/SECRET KEY から 宇宙バックアップ-s3 ルートのクレジット) とノート 宇宙-ugc MINIO バケットは存在しなければなりません。 Idempotent — 秘密をスキップする 既に存在します.
· DaemonService
MLOSコンプライアンスタイマーエスカレーションコンシューマ(BLOCKED→STALE)
コンプライアンスタイマー違反ループ(doc 03 §2.8; 既に半数の船舶を排出)の消費者の半分。 ComplianceTimerBreachConsumer サブスクリプション (Durable JetStream) へ ******************** そして、侵害されたローンにつき、BLOCKEDのオーケストレーションコーダを、オーケストレーションによるSTALEにフリップします。 サービス (mutable, idempotent — 初期/GREEN/COMPLETE untouched). メニュー お問い合わせ @EnableJpaRepositories;mlos.outboxを有効にして下さい(従ってsweepの排出は+中継される)および ******************** フラグ。 5 ユニットテスト.
· InitializerService
§2.4 mlos aus runの反AUS-shopping部分的なunique索引
1つのACTIVE(非監視、非frozen) AusRun per(loan file uid、source label) — "duplicates look AUS-shoppingのような(doc 10 §2.4/§2.5)。 MLOSUnderwritingServiceのエージェンシーライターが今上陸する安全 新しくアクティブな実行を差し込む前に、スーパーシードされた false→true フリップを管理します。 プロッドCRDBに適用されます.
· kamo-shared-library
MlosPricedProductResult + OrchestrationStepStatus.STALE でパー flag を主張
- MlosPricedProductResult は par flag (Boolean、デフォルト false): §8.1-step-5 のパーセルを取得します。 row's lock-period 梯子, インサートで凍結 (応答のみのパーフラグのレコード永続). - OrchestrationStepStatusがSTALEを獲得:SLAのタイマーが違反するブロックされたステップ+エスカレーション (DaemonService準拠タイマーエスカレーションコンシューマーによる設定、doc 03 §2.8) 添加剤; ddl-auto:update は、カラムと一般的な enum-CHECK sweep が STALE を上に追加します。 KamoInitializerの次の実行.
· kamo-shared-library
RateSheetSanityGate — §6.6 硬いプレパブリッシュ サンティゲート (range + monotonic)
候補者のレート/価格を検証する純粋論理のungated @Component(PriceAssemblyEngineパターン) 梯子BEFORE レートシートバージョンを公開します。 (doc 02 §6.6): 慣習型価格帯バンド [par±20] (par=100 価格 TO 100 / 0 POINTS FROM PAR — グロスサイン/発明エラーをキャッチ), Monotonic-ladder(ノートレートが上昇するにつれて価格の非減少、/(lockPeriodDays、ioFlag)梯子)、およびおよび 構造の整形性(非空/肯定的な率/肯定的なロック/重複率無し)。 レポート すべての違反; 不定休。 将来の摂取候補段階によって再利用可能な(デカップリングを取る) RateSheetLadderCellレコード、JPAエンティティティではなく。 2-agentのadversarialレビュー → FIX THEN SHIP (1 必須の修正)): パーサニティの近辺のPRICEを削除 チェック — 法的 all-premium/all-discount クーポンウィンドウ (par-RATE sanity ニーズ率) ラベル作成、拒否; バンドは、すでに価格をパーの±20にバインドしています)。 また: 印の発明を柔らかくしました javadoc(明示的なサイン発明チェックDEFERRED、バンドは総数の誤差のみをキャッチ)、除外 重複/モノトニックスキャンからのnullレートセル, 等しい速度でモノトニック比較をスキップ. 18 no-DBテスト(TDD)。 新規のエンティティティティティティティ → カモイニタイライザーが起動しない.
· kamo-shared-library
LockPolicyVersionPublisher — §6.5 のスーパーセッションは、背骨のトライアドを完了します
**************************************************************************************************************** INVESTOR (ux lock policy version active = (organization id, Investor id) ごとのキー status='ACTIVE' と valid until は NULL です。 同じ原子の先の窓の近い+保存AndFlush 先ほどの「BEFORE」の候補「INSERT」(Hibernate insert-before-update flush-order) トラップ デルタ対率シート:スコープキーインベクタId;リビジョンラベル/issuedAt;イントラデー actionFrom 日のシーケンスキー。 共有lib @コンポーネントゲートmlos.catalog.enabled + repo メニュー 11 no-DBモッキート テスト(TDD) これにより、§6.5 の効果的なダイエットは、すべての 3 つの WORM 全体で完了します。 バージョンスピン(レートシート+ガイドライン+ロックポリシー)。 忠実なミラー→CRDB e2eはゲートです。 新規のエンティティティ/テーブル → カモイニタイザは実行しません.
· kamo-shared-library
ガイドラインVersionPublisher — ガイドラインの背骨のための §6.5 のスーパーセッション
RateSheetVersionPublisherのガイドラインバージョンの兄弟で、製品ごとにキープ (ux guideline version active = (organization id, product id) WHERE ステータス='ACTIVE' そして有効な untilはNULLです。 同じ原子の先行窓閉鎖:ACTIVE→SUPERSED + valid until = Successor.effective from, supersedes id リンク, and saveAndFlush ディレクティブ 先ほどのINSERT(Hibernate insert-before-update flush-order)の候補になる トラップ デルタ対率シート:スコープキーproductId; 検証リビジョンラベル+sourceDocumentId (出典なし)。有効期間の翌日のシーケンスキー。 共有lib @コンポーネントゲート mlos.catalog.enabled + repoファインダー ******************** 12 no-DBモチトテスト(TDD、flush-order InOrder + WORM-guard再実行)。 Faithfulミラー 逆にレビューされたレートシートのパブリッシャーの→行動e2eによってゲートされた(ガイドライン) 過度のフリップ価格の適性)。 新規のエンティティティ/テーブル → カモイニタイザは実行しません.
· kamo-shared-library
RateSheetVersionパブリッシャー — doc 02 §6.5 効果的なダイエットスーパーセッション
原子の事前ウィンドウは、MLOSCatalogService ブートストラップ バンドル ライターを閉じます 偽り. 既存のレートシート版を発行する(または投資家) スコープは、前任者(ACTIVE→SUPERSEDED +effective until =)を閉じます。 Successor.expo from) は、後日、後継者 (supersedes id) をリンクします。 シーケンス no) と、候補の INSERT - Hibernate を閉じる 注文は、フラッシュで更新する前に、InSERTs, ので、saveAndFlush(プライオ)は、 自己侵害された ux rate sheet version active 部分的なunique 違反を避ける。 共有リブ@コンポーネントゲートmlos.catalog.enabled(EffectVersionResolver) 兄弟パターン; クローズは、WORM-legal の組織に対する構造によって @PreUpdateガード。 フラッシュオーダーインオーダー+WORMガードを含む15のno-DBテスト(Mockito) re-run. 2-agentのadversarialレビュー → FIX THEN SHIP (1つの必須の修正が適用されます: sourceDocumentId は、フロント → クリーン 400 を検証しました。後面効果 500 ではありません。 新規のエンティティティ/テーブル/リポインターフェイス→KamoInitializerは実行しません.
· kamo-shared-library
PPEランイベントに****************を追加
· kamo-shared-library
EligibilityCellMatcher 単一次元の理由コードのアトリビューション(ECOA の特定性)
理由コードのリーダビリティギャップを閉じます 価格AssemblyEngineレビューフラグ: a 細胞の必然的に1つの封入次元は今それと信じられないようになります 特定のECOAの主な理由(FICO BELOW MIN / STATE NOT ELIGIBLE)/ PROPERTYPE NOT ELIGIBLE/UNITS NOT ELIGIBLE/******************************************************************************************************************************************************************************** ジェネリックNO COVERAGEに衝突する代わりに、9つの到達できないセルコードを作る 到達可能。 多次元/曖昧なミス、数値カタログギャップ(FICO) 天井上、またはバンド間、隣接するバンド間の融資額 NO COVERAGE(§6.6カバレッジ欠陥、借り手拒否なし)を保留してください。 純粋な基質 — ライブサービスは、まだ抹茶を消費しません。スキーマの変更はありません。KamoInitializerは実行しません。 - 適格性の結果: 主要なMlosAdverseActionReasonCodeを運びます(一致者) それを所有する — 次元のコンテキストのみを保持します。 理由なし2-arg 必須 工場はReMOVEDなので、理由コードはnull iff ELIGIBLE — MlosPricedProductResult @PrePersist invariantは、工場の建設結果のために建設によって保持されます。 - EligibilityCellMatcher: 失敗 Dims + リラックスワン次元属性NoCoverage; 方向(BELOW/ABOVE/GAP)は、唯一のサーット・オン・サート・ディメンション・フェイラーにのみ計算 (行列全体ではない) なので、隣接するバンドで大きすぎる融資は、決して誤りしない BELOW MIN と FICO 上天井/ギャップはカバレッジギャップであり、偽の "スコアも 低い。 文書化された契約の基質: 1 つの実質のdisqualifier; LOE中心の消費者 NOAA の理由から最大 4 まで再アトリビュートします。 - 価格アセンブリエンジン:添加物の理由 または(セル、フォールバック) — matcher を好みます 所有のコード;セルレイソンコード(matrixType)は、防御的な生結果のフォールバックとして保持されます。 2-agentのadversarialレビュー → FIX THEN SHIP; 両方を必須の修正を適用 (融資額 & FICO 方向の誤差、作業した例で証明される各) + 接頭辞 (totalize) 記録のinvariant;基質contract +方向文書)。 19 試合 + 33 エンジン 緑(89のカタログテストグリーン)をテストします.
· kamo-shared-library
ComplianceTimerService は、SLA 違反 (doc 03 §2.8) で mlos.compliance.timer.breached を発します
出荷された Slice-2c タイマーへの javadoc-named フォローアップ: 「エベント エミッションを a へ」 コンプライアンスキューはフォローアップです。期限切れBreached() は、 COMPLIANCE TIMER BARMED→EXPIRED タイマーごとのイベントを、outbox IN に書き出します フリップ(トランザクションアウトボックス保証:違反は 誤って記録されるエスカレーションされたIFF)。 ダウンストリームコンシューマーは、ハイレベルを駆動 スチュワードエスカレーション + OrchestrationState BLOCKED→STALE 放棄 (後のスライス). - アウトボックスライターは、オプションの依存性として注入 ************************ null はエミッションを無効化し、サービスがアウトボックス時にタイマーを期限切れに 基質は実行サービスでワイヤーで縛られません — 優雅で後方互換 DaemonService の現在の自動配線 (三重テスト継ぎ目が保存されます)。 - Envelope: domain=compliance、総計Id=loanFileId、ペイロードは運びます メニュー - 新しいオープン文字列イベント型定数 メニュー (回路図変更なし→KamoInitializerの実行なし) - 14 ComplianceTimerService のテスト グリーン (12 個の未変更 + 2 個のエミッションテスト) 出荷された意思決定の忠実な鏡-spine/webhook-ingress outbox-producer パターン(レビュー免除).
· kamo-shared-library
ConditionTemplateExtension — ポータルの借り手Actionableフラグ (doc 09 §6.4)
借主ポータルの「What's Left」ビューの新データ依存性: LoanCondition のロックはスタッフ/org のメンバー ID だけを運ぶので、ポータルは言うことができません BORROWERが動作する条件を開きます。 doc 09 6.4 は、 LoanConditionTemplate を SIBLING のエンティティティエントに アクティシブル フラグ — ロックされた中心のコラム(文書01 §1.1)。 per-condition フラグは DERIVED このテンプレートのフラグ+条件カテゴリからサービス側。 - ConditionTemplateExtension(com.kamo.z.shared.mlos.docs、可変的なconfig/reference): ソフト FK 融資条件TemplateId → ロックされた融資条件Template.id (UID)、DB-UNIQUE 1:1;非正規化された組織Id (長, 文字列serialized); 借り手Actionable boolean @ColumnDefault false (fail-safe: キュレーションされた actionable がなければ内部のみ)。 メニュー (検索ByLoanConditionTemplateId + メニュー mlos.docs は既に @EnableJpaRepositories; UNIQUE インデックスは、エンティティティカル宣言 (SchemaCleanupRunner なし) です。 - 3 no-DBテストグリーン。 ドキュメントの忠実な鏡 お問い合わせソフトFK-to-locked パターン(レビュー免除).
· kamo-shared-library
価格AssemblyEngine — 決定的な §8.1 PPE コア (フェーズ 2 スライス 13)
最初のピュアロジックmlosスライス:出荷されたカタログを構成するカプストーン 正規サーバー側価格設定数学(doc 02 §8.1 手順 2-4)に解決します。 未指定のステートレス@Component(AdjustmentConditionEvaluator/へ兄弟化) ******************** — リポジトリをゼロにし、新しいエンティティティティ、 スキーマの変更はありません。 未来のMLOSPricingServiceワイヤーは+持続+でき事を繰り返します。 - mergeEligibility(): §8.1 Step-2/3 3コジュンクトフィルタ(セルとガイドライン) そして、AUSのゲート) → EligibilityVerdict、単一とのほとんどの厳しいブロックの優先順位 プリンシパル MlosAdverseActionReasonCode (セル **************** → ガイドライン → AUS-when-required → ELIGIBLE - 組み立て価格(): final price = ベース + Σ ADDITIVE + α MULTIPLICATIVE(stack order) + 余白、cap value を尊重します。 Additive 要約 (→ 合計 adjustments 9,6), その後 multiplicative 要因は昇順の stack order で動く subtotal をスケールします(uid) tie-break), その後、マージンは、最後の/外側に追加しました。 単一の最終HALF UP に (9,4). - 価格(): 両方のオーケストラ; MlosPricedProductResult を出力 @PrePersist 提供可能な一貫性は、構造によって変動します。 - cap value = 付加的な署名保存のmagnitudeクランプ(cap=0 ⇒ 0の貢献、 意図); 多重なる cap value は大幅な config の欠陥 (fail-closed, 決してない ミスプライス)。 AUS PASS/NOT APPLICABLE 非ブロック (価格-before-AUS;§8.2) ロックステージのハード ストップはサービスです)。 - 新規: AusGateOutcome enum + メニュー PricedProduct計算レコード。33 no-DB JUnit5テストグリーン。 研究ワークフロー(3リーダー+合成)+2エージェントの検討(評論) FIX THEN SHIP, ゼロは固定しなければなりません; 5は固定具の硬化項目を適用します: ラウド multiplicative-capの監視、理由コード-coverage-gapの文書、cap=0 +最も低いruleCode docs、6カバレッジテスト).
· InitializerService
Pkg + RCE /プルスルーDDL(docs 08/09)を登録する
@EnableJpaリポジトリ += メニュー スキーマクリーンアップランナー: メニュー (部分的なunique) + rce commit ai decision fk + rce commit lock record fk + rce commit pricing snapshot fk (§7.4 スナップショット削除ガード) + mlos aiptp one active uniq(レンダー profile+marketごとの1つの活動的なプルスルーポリシー)。 ログイン テーブル + 制約 適用される + 検証済み.
