PlatformOAuthClient registry entity + repo + PlatformSecretCipher + provider enum
Platform-level OAuth2 verified-app registrations **************** encrypted at rest via PlatformSecretCipher (AES-256-GCM, platform.enc-key). Standalone entity;...
MediaObjTransit.date_created insertable=false so DB default fills it
The builder never set dateCreated; Hibernate bound NULL and violated the NOT NULL constraint, breaking addMembersToSession (and thus the social lead-accept hook...
Archived-market queries; drop redundant hard-delete
Add findArchivedByOrganizationId + findAllByOrganizationIdOrdered and the matching **************** service methods so Commerce settings can surface an Archived...
M1 foundation — provider SPI + normalized DTOs, 6 entities **************** repos, registry, MediaSessionType.SOCIAL, translation source-language column
System-wide credit suspend, credit-balance invalidation, paginated history
- OrgLeadConfig (new ORG_LEAD_CONFIG table): org-wide 'System Wide' switch that suspends CREDIT-BASED lead auto-assignment (FFA unaffected); gated in acceptNe...
Suspension now actually blocks acceptance (alert + accept + FFA)
findApplicableAllotments filtered 'AND la.isActive = true', so getMostSpecificAllotment returned a less-specific ACTIVE fallback (or nothing) when a member's sp...
Store original uploaded file key on LeadImport run
Adds SOURCE_FILE_KEY + SOURCE_FILE_CONTENT_TYPE columns so a run references the original file archived in MinIO (KamoInitializer adds the columns on next run).
Persistence spine for import templates, runs & per-row records
Replaces the empty stub entities with real @Entity classes (modeled on the LeadIntake* precedent: UUID id, gen_random_uuid, DB-default timestamps, statusId + @T...
Scope import dedup query + org-guard member/vendor-product assignment
- **************** scoped, projection-only duplicate lookup for the manual importer (replaces a per-batch findAll() that hydrated every lead across all tena...
3 CRM rights + members-with-right query
RoleRightType: SPEND_RECEIVE_LEAD_CREDIT(147), **************** REASSIGN_LEADS_MANUALLY(149) under CRM. **************** for listing members holding a right. Se...
Pin markedForReassignmentBy FK to INT8 (no inherited default)
Without columnDefinition, Hibernate copies members.id (INT8 DEFAULT unique_rowid()), so CockroachDB backfilled existing leads rows with bogus member ids on ALTE...
**************** (Accepted-Today column)
Counts leads a member accepted via credit/FFA for a vendor product since a UTC instant (member local start-of-day). Consumed by LeadAcceptController /leads/avai...
Add **************** for the registry decision half
doc 11 §5.3 step 4 / §10 audit completeness — every registry mint/receipt/supersede emits a paired WORM AiDecision + LoanIdentifierEvent. This adds the AiFuncti...
Credit-assignment orchestration services (shared-lib)
- LeadAllotment.isInfiniteBalance (∞ credit balance → mint-on-the-fly at accept) - CreditLeadAssignmentService: atomic Accept-Lead (select→lock→recheck→claim, m...
Credit-assignment shared-lib helpers
- **************** — powers the 'must comment before accepting another lead' gate (comment = member's non-removed MediaObj in lead stream) - **************** ...
Credit lead-assignment data model (shared-lib)
- Lead: requiresAssignment flag + markedForReassignmentAt/By (nullable; null actor = vendor/API import) - **************** + eventTypeForKey routing + registry ...
Scope vendors to a market; derive market products; archive markets
- LeadVendor gains a required MARKET_ID (columnDefinition pinned to plain UUID so the FK column does not inherit the referenced PK's gen_random_uuid() default...
Sign requests with configurable site region
MinIO now enforces MINIO_SITE_REGION (us-west-ca-s-1) in the SigV4 authorization scope since site replication was enabled. The client was built without a region...
Comp provisioning clears trial deadline (comp supersedes trial)
In the existing-subscription update path of provisionCompSubscription, set trialExpiresAt to null so a previously trialling org is cleanly promoted to comp with...
Org-level gate grants full catalog for active TRIAL
resolveEntitlement now short-circuits for TRIAL subs whose trialExpiresAt is in the future (compute-on-read). Adds static isTrialActive() helper and 4 unit test...
Add TRIAL billing source + trialExpiresAt on AccountSubscription
Adds BillingSourceType.TRIAL, a precise LocalDateTime trialExpiresAt field on AccountSubscription (nullable, column trial_expires_at), and a repository finder *...
**************** (steward exception queue)
Org-scoped-by-status finder backing the closing-steward exception queue (e.g. all BLOCKED_STEWARD packages for an org). Spring Data derived; no schema/KI.
CLOSING_RON_FALLBACK_APPLIED event key (doc 05 §6.1/§6.4)
The steward recovers a RON-walled/failed BLOCKED_STEWARD closing by satisfying the required RON slot with an alternative notarization (WET_SIGN/IPEN/PAPER_OUT);...
CLOSING_PACKAGE_CANCELLED event key (doc 05 §6.4 steward cancel)
The steward terminates a non-terminal closing **************** -> CANCELLED; the durable signal downstream stand-down / steward-queue close-out reacts to.
CLOSING_MERS_CONFIRMED + CLOSING_MERS_REJECTED event keys (doc 05 §6.3/§6.4)
The MERSCORP async callback flips a MersRegistration SUBMITTED->CONFIRMED/REJECTED; these are the durable signals **************** (confirmed) + the steward exc...
§6.1 RON legal-wall grain — **************** (frozen WORM) + CLOSING_STEP_BLOCKED event
The property state is frozen identity on the closing package (a closing's property does not move) and is the grain the §6.1 RON state-eligibility legal wall rea...
CLOSING_MERS_SUBMITTED event key (doc 05 §6.3)
The MERS signal: a MersRegistration **************** was appended for the loan (append-only, MIN never overwritten). Additive open String key (no DDL).
CLOSING_STEP_RETRIED event key (doc 05 §6.4)
The steward-recovery signal: a BLOCKED_STEWARD package was unblocked and a fresh PENDING node materialized for the retried subsystem. Additive open String key (...
CLOSING_STEP_FAILED event key (doc 05 §6.4)
The drive-loop failure signal: a closing step FAILED/BLOCKED, the package is held BLOCKED_STEWARD; the closing-steward exception queue reacts. Additive open Str...
CLOSING_STEP_COMPLETED + CLOSING_PACKAGE_COMPLETED event keys (doc 05 §6.4)
The drive-loop signals: a ClosingArtifact reached COMPLETED (next adapter), and all required steps done (investor-delivery / servicing-boarding). Additive open ...
**************** event key (doc 05 §6.3)
The durable signal the doc-orchestration template publisher emits on a new ClosingWorkflowTemplate version. Additive open String key (no DDL).
CLOSING_PACKAGE_ASSEMBLED event key (doc 05 eClose)
The durable signal the doc-orchestration assembler emits when a ClosingPackage is created from a resolved ClosingWorkflowTemplate + its first artifact node. Add...
PULL_THROUGH_POLICY_PUBLISHED event key + null-safe AiPTP backstop doc (doc 09 §8)
Adds the canonical **************** event-type key (the durable signal the Pull-Through engine reloads its active policy on) for the governance-plane AiPullThro...
LoanIdentifierEvent append-only audit entity (doc 11 §5.3/§10)
The LoanIdentifierEvent half of doc 11 §5.3 step-4 / §10 "audit completeness" (every mint/supersede emits a WORM event row). New **************** LoanIdentifier...
Add IDENTIFIER_SUPERSEDED event type key
Additive open-String event key (doc 11 §5.3/§7.3) for the registry renumber/supersession signal — the COMPLIANCE_TIMER_BREACHED precedent (no enum/schema/KI). C...
**************** — resolve the auto_execute_enabled ceiling alongside the wall threshold
Adds effectiveAutonomy(orgId, stage, floor) → EffectiveAutonomy{threshold, autoExecuteEnabled}: one chain-walk (profile → config → stage-override) that returns ...
Persisted par_flag on MlosPricedProductResult + OrchestrationStepStatus.STALE
- MlosPricedProductResult gains par_flag (Boolean, default false): the §8.1-step-5 par cell of the row's lock-period ladder, frozen at insert (run-of-record p...
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...
Like what you see shipping?
All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.
