KamoCRM

Bulletins + bulletin-change provenance + effective-basis applicability (Phase-2 Slice 10)

Featurekamo-shared-library
Ya
26 Juni 2026, 21:47 UTC
Mwandishi
Kamo
Ahadi ya
cd51a4e

Closes the doc-02 §6.3 catalog entity inventory. Bulletins are the investor change announcements that spawn new catalog versions and supersede predecessors (§6.5). - MlosBulletin (mlos_bulletin, WORM): investorId FK, title, issued_at, effective_from (LocalDate), effective_basis (BulletinEffectiveBasis LOCK/NOTE/FUNDING/APPLICATION), pipeline_grandfather, supersedes_id self-FK, source_document_id FK, status (BulletinStatus DRAFT/ACTIVE/SUPERSEDED). Content-frozen WORM guard (no effective_until window; corrections = a new bulletin). - MlosBulletinChange (mlos_bulletin_change): change_type, target_product_id, created_guideline/ **************** (at most one — none for RETIRED/MODIFIED), action — the bulletin->version provenance chain. 4 enums. - BulletinApplicabilityResolver (ungated) + LoanEffectiveDates + tri-state BulletinApplicability: encodes the §6.5 compliance rule (misapplying effective_basis is a compliance error) — applies iff ACTIVE + basis-date >= effective_from + not grandfathered; missing basis date -> INDETERMINATE (defer, never silently "old terms"); grandfather uses an EXPLICIT pipelineEntryDate (commitment milestone), not a hardcoded application date. 14 tests green. Adversarially reviewed (2-agent): fixed MEDIUM (grandfather hardcoded applicationDate + internal contradiction -> explicit pipelineEntryDate), LOW (missing-basis fail-direction -> tri-state INDETERMINATE), + javadoc (at-most-one created_version, supersession caller-contract). NO KamoInitializer code change.

Mabadiliko yote

Je, unaona nini kuhusu usafiri?

Kila kitu kinaingia kwenye tovuti yako mwenyewe. Anza kwenye mpango wa bure na usome ukurasa huu tena katika mwezi mmoja.

Kuwa Huru MileleMtazamo wa bei