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 moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.

Kuwa Huru MileleMtazamo wa bei