RateSheetSanityGate — §6.6 hard pre-publish sanity gate (range + monotonic)
A pure-logic ungated @Component (the PriceAssemblyEngine pattern) validating a candidate rate/price ladder BEFORE a rate-sheet version publishes (doc 02 §6.6): ...
LockPolicyVersionPublisher — §6.5 supersession completes the spine triad
The lock-policy-version sibling of **************** keyed per INVESTOR (ux_lock_policy_version_active = (organization_id, investor_id) WHERE status='ACTIVE' AND...
GuidelineVersionPublisher — §6.5 supersession for the guideline spine
The guideline-version sibling of RateSheetVersionPublisher, keyed per PRODUCT (ux_guideline_version_active = (organization_id, product_id) WHERE status='ACTIVE'...
RateSheetVersionPublisher — doc 02 §6.5 effective-dating supersession
The atomic prior-window close the MLOSCatalogService bootstrap bundle writer deferred. Publishing a new rate-sheet version for an existing (org, investor) scope...
EligibilityCellMatcher single-dimension reason-code attribution (ECOA specificity)
Closes the reason-code reachability gap the PriceAssemblyEngine review flagged: a cell miss on EXACTLY one containment dimension now becomes INELIGIBLE with its...
ComplianceTimerService emits mlos.compliance.timer.breached on SLA breach (doc 03 §2.8)
The javadoc-named follow-up to the shipped Slice-2c timers: "event emission to a Compliance queue is a follow-up." expireBreached() now emits a COMPLIANCE_TIMER...
ConditionTemplateExtension — borrowerActionable flag for the portal (doc 09 §6.4)
The net-new data dependency the borrower portal's "What's Left" view needs: the locked LoanCondition carries only staff/org member ids, so the portal cannot tel...
PriceAssemblyEngine — the deterministic §8.1 PPE core (Phase 2 Slice 13)
The first pure-logic mlos slice: the capstone that composes the shipped catalog resolvers into the authoritative server-side pricing math (doc 02 §8.1 steps 2-4...
Register pkg + RCE/pull-through DDL (docs 08/09)
@EnableJpaRepositories += **************** SchemaCleanupRunner: **************** (partial-unique) + rce_commit_ai_decision_fk + rce_commit_lock_record_fk + rce_...
Pull-Through — AiPullThroughPolicy + PipelineFundingProjection (doc 09)
The doc-09 pull-through entity foundation (same mlos.capitalmarkets pkg). AiPullThroughPolicy (RENAMED from doc-09's 'LenderProfile' to avoid the shipped config...
RceCommitmentDecision — the RCE lock-decision detail (doc 08 §10.1)
Opens **************** the net-new RCE persistence gap (lock lifecycle + config + decision-spine were all already shipped). Closes the audit chain RateLock <-> ...
Register com.kamo.z.shared.mlos.eclose in @EnableJpaRepositories (doc 05)
ClosingWorkflowTemplate + MersRegistration (doc 05 §6.2/§6.3) — COMPLETES the §6.3 eClose inventory
ClosingWorkflowTemplate (the eClose graph as DATA — version-bearing total-block WORM, stepsJson JSONB, effective-dated; scopeLevel most-restrictive). MersRegist...
EClose core — ClosingPackage + ClosingArtifact (doc 05 §6.3)
Opens com.kamo.z.shared.mlos.eclose: the eClose workflow-graph substrate. ClosingPackage (aggregate root, one per closing; partial-WORM — identity frozen, statu...
InternalRulesDecision — the §6.5 non-AUS rules-engine store (doc 10) — COMPLETES the aus_* inventory
The internal non-QM/DSCR/ITIN/Jumbo deterministic rules-engine result store: explicitly NOT an AUS (not AusFinding/AusKind, never disclosed as a GSE AUS, doc 01...
AUS finding children — aus_condition + aus_waiver + aus_validation (doc 10 §6.2)
Completes the doc-10 aus_* finding-children inventory (the InternalRulesDecision non-AUS sibling is a separate slice). AusCondition (parsed agency-feedback line...
Register com.kamo.z.shared.mlos.aus in @EnableJpaRepositories (doc 10)
New aus_* repo package (AusRun + children). mlos_aus_run created + verified.
AusRun keystone — the AUS submission-of-record (doc 10 §6.2)
Opens com.kamo.z.shared.mlos.aus: AusRun (child of locked AusFinding) carrying per- submission run state — phase, dual-AUS freeze/soft-lock, cost+credit-reissue...
Doc-03 §2.8 compliance entities — ComplianceFinding + RBPN + FCRA-AA + ChangedCircumstance
The §2.8 record-of-determination + the three INDEPENDENT notice/CC regimes, joining the shipped AdverseActionTimer/RegXTimer in mlos.compliance. All total-block...
EventProjectionPolicy platform-default partial unique index (doc 07 §6.7)
**************** **************** WHERE organization_id IS NULL — pins the platform-default singleton (CRDB NULLs-distinct leaves null-org rows unconstrained ot...
Projection/mediastream substrate — EventProjectionPolicy + LoanStreamBinding (doc 07 §6.7/§7.2)
EventProjectionPolicy = the GLBA data-minimization allowlist ((eventKind x partyClass/role) -> allowed field-groups + channels); platform-default(null org)+org-...
Dispatch substrate — NotificationOutbox + NotificationRateWindow (doc 07 §6.4/§10.3)
The crash-safe per-recipient send queue + durable frequency-cap counter (co-transactional per §10.3). NotificationOutbox (partial-WORM, CommunicationArchive idi...
RuleVersionPin entry->pin hard FK (doc 06 §4.6)
mlos_rvpe_pin_idx + mlos_rvpe_pin_fk **************** -> mlos_rule_version_pin.uid), mirroring the satisfier->requirement FK. Applied + verified.
RuleVersionPin + RuleVersionPinEntry (doc 06 §4.6 per-loan freeze)
Completes the doc-06 rule-entity inventory: the per-loan point-in-time snapshot of the active rule/policy version set (determinism — an in-flight loan never sil...
Rule-layer DB CHECKs (doc 06 §4.2/§9.2)
3 platform-owned biconditional CHECKs (mlos_requirement_rule / _rule_set / mlos_freshness_policy: platform_owned = (organization_id IS NULL)) + the legal-wall b...
Versioned requirement-rule definition layer (doc 06 §4.2/§4.6)
The rule-engine half (part 1) of the Document System: MortgageDocType (52-of-~200 §3.3 taxonomy + non-tunable legalWall source-of-truth) + RequirementDriverType...
Schema for the 1-obligation/N-satisfier condition model (doc 06)
Register com.kamo.z.shared.mlos.docs in @EnableJpaRepositories (new repo pkg) + SchemaCleanupRunner backstop for mlos_requirement_satisfier (the append-only WOR...
Greenfield 1-obligation/N-satisfier condition model (doc 06 §4.2/§4.3)
The Document System foundation slice: DocumentRequirement (N satisfiers of an obligation) + RequirementSatisfier (append-only WORM acceptance record) + the two ...
NotificationPreference + CommunicationArchive (doc 07 §6.2/§9.2)
Completes the doc-07 §6 entity model — the mutable convenience ledger + the immutable record-of-business. Same pkg (no @EnableJpaRepositories change). - Notifi...
Notification party+consent ledger schema (doc 07 §6)
- KamoInitializerApp: @EnableJpaRepositories += **************** (new repo pkg for **************** - SchemaCleanupRunner: mlos_consent_one_identity_chk = num...
Party graph + TCPA/E-SIGN consent ledger (doc 07 §6)
New pkg **************** — the recipient/consent entity foundation. Consumer-agnostic (FKs only locked donotmodify; the dispatcher is a future MLOSxxxService, N...
DecisionInput provenance-integrity DDL (decision-spine 2c)
decision_input auto-creates via ddl-auto; SchemaCleanupRunner adds the invariants Hibernate can't emit: - decision_input_one_source_chk: num_nonnulls(11 FK cols...
DecisionInput — FK-pinned input provenance (decision-spine 2c)
The immutable child of AiDecision that makes every decision deterministically replayable (doc 03 §2.1). Unblocked by the now-complete catalog/scenario/pricing i...
Lock record + lock event (Phase-2 Slice 12c)
The FINAL scenario/pricing sub-slice (doc 02 §6.3/§8.1) — completes the §6.3 scenario/pricing entity inventory. A rate lock taken on a priced result + its appen...
Pricing run + result + applied-adjustment (Phase-2 Slice 12b)
The immutable priced-quote record (doc 02 §6.3/§7.2/§8.1): MlosPricingRun -> MlosPricedProductResult -> MlosAppliedAdjustment, written in one tx by the PPE. - ...
Scenario identity — MlosLoanScenario + MlosScenarioBorrower (Phase-2 Slice 12a)
Opens the doc-02 §6.3/§7 scenario/pricing layer (first of 3 sub-slices). The priceable-scenario aggregate root the PPE hangs off + its borrowers. - FK-don't-re...
Ingestion entities — MlosExtractionTemplate + MlosDocumentSegment (Phase-2 Slice 11)
Opens the doc-02 §6.3 ingestion side: the per-investor format map the parser reads + one classified, reviewable region of a source document. Four grounded enums...
Bulletins + bulletin-change provenance + effective-basis applicability (Phase-2 Slice 10)
Closes the doc-02 §6.3 catalog entity inventory. Bulletins are the investor change announcements that spawn new catalog versions and supersede predecessors (§6....
Check in pending WIP (no CI/CD on this repo)
- DataLoader: platform baseline security model + KamoCRM market-backfill wiring - add KamoCRMMarketBackfillLoader; remove superseded BillingGroupBackfillLoader ...
Regenerate maven wrapper (drop mvnw.real shim, vendor wrapper jar)
Stop per-boot customer_id FK tug-of-war in SchemaCleanupRunner
Remove the stale RetailCustomer->Account cleanup drops of commerce_carts.customer_id, **************** and **************** Those columns are now live, Hibernat...
Lock-policy version (WORM) + period options + extension fees (Phase-2 Slice 9)
The investor lock-policy layer — third effective-dated WORM version spine (after rate-sheet + guideline), keyed per investor; feeds the future RateLock/RateComm...
Guideline rules + conditions + evaluator, sharing the LLPA predicate engine (Phase-2 Slice 8)
The guideline-rule predicate conjunct of §8.1 step-2. Critically, REUSES the reviewed Slice-4 condition evaluator instead of duplicating the safety-critical pre...
Guideline-version no-overlap partial-unique index (Phase-2 Slice 7)
SchemaCleanupRunner: ux_guideline_version_active partial-unique ON mlos_guideline_version (organization_id, product_id) WHERE status='ACTIVE' AND effective_unti...
MlosGuidelineVersion (WORM) + GuidelineVersionResolver (Phase-2 Slice 7)
The immutable effective-dated guideline VERSION — the container eligibility matrices **************** and future guideline rules hang off. Faithful replication ...
Eligibility matrix + cells + cell matcher (Phase-2 Slice 6)
The §8.1 step-2 eligibility-first filter substrate (the cell conjunct; guideline_rule + AUS gate AND in later). - MlosEligibilityMatrix (mlos_eligibility_matri...
MlosMarginSchedule + MarginScheduleResolver (Phase-2 Slice 5)
The investor margin layer — the "+ margin_schedule" term of §8.1 step-4 price assembly. - MlosMarginSchedule (mlos_margin_schedule): rateSheetVersionId FK, pro...
Value-set platform-owned ownership CHECK (Phase-2 Slice 4)
SchemaCleanupRunner: ADD CONSTRAINT mlos_value_set_ownership_chk CHECK (platform_owned = (organization_id IS NULL)) — doc 02 §6.2: a platform taxonomy is platfo...
LLPA adjustments + value sets + condition evaluator (Phase-2 Slice 4)
The LLPA/adjustment layer + the deterministic predicate engine for §8.1 step-4 matching ("an adjustment matches iff ALL its conditions are satisfied"). - MlosP...
Like what you see shipping?
Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.