Mabadiliko
Nini kipya.
Kila kuboresha jukwaa, kama ni meli.
· SecurityService
Steward WRITE proxies — record feedback, publish pull-through policy, trigger pricing run
Write discipline, applied identically on all three POSTs: - downstream body built server-side from a WHITELIST of browser fields; - organizationId + actor member id ALWAYS session-stamped (new actorMemberId() prefers SUDO_MEMBER_ID so enter-as attributes to the human, not the System User); - org-blind target ids ownership-verified FIRST via the new MLOS org-resolution reads (decision-org / lender-profile-org / scenario-org), 404 on unknown or foreign — fail closed, no cross-org existence oracle; - steward-feedback pins isTestLoan=false (HMDA/test partition is not browser-controllable); pricing clamps purpose to SHOPPING|WHAT_IF and pins pricedAsOf (no backdating) + ausGate (resolver-authoritative); - clients gain a postJson twin that relays downstream 4xx/5xx status+body verbatim; only transport failures bubble to 502.
· kamo-internal
FFA haraka-toggle juu /leads / inapatikana + kuishi sync; kujificha hesabu inapatikana
- / maelekezo / inapatikana: kifungo cha icon cha meneja tu (Public / PublicOff) karibu na Mtihani wa Inject toggle muuzaji / bidhaa ya bure-kwa-wote mode, na lightweight kuthibitisha mazungumzo na matumizi ya Serikali. Inaondoa hesabu ya "tayari" - upatikanaji unaashiria na Bonyeza kifungo + kifungo cha kukubali kilichowezeshwa. - Kuishi sync kupitia tukio jipya la onVendorProduct WS Kwa mfano, *** Kwa kuwa zilizopo ukurasa refetches na CRM Vendors & Bidhaa mipangilio ukurasa patches FFA Chip Katika nafasi, mameneja wengi hukaa katika sync bila kuburudisha.
· SecurityService
FFA toggle - mwisho wa haraka + matangazo kwenye sasisho za bidhaa
- PATCH **************** (MANAGE_CREDITS): toggle a product's free-for-all flag from the Leads-Available shortcut; publishes vendor-product + availability. - **************** → **************** (relayed to **************** - **************** now broadcasts the same event so the CRM Vendors & Products page reflects FFA changes live for other managers.
· kamo-internal
Meta OAuth Connect button + 24h window composer state + fix double-Tooltip
- SocialConnectionsManager: wire the Connect button (creates OAuth draft, hands off to MediaService Meta OAuth start), surface the OAuth redirect result, hide Save for OAuth-new - SocialChat: 24h messaging-window composer state for Meta providers (banner + disabled input) - SocialChatWindow: pass provider to SocialChat; remove redundant outer Tooltip around LanguageSelector
· SecurityService
Warn when a social connection lacks vendorProduct/market (lead created but not pooled)
· MediaService
M4 Meta adapters + OAuth + 24h window + M2 hardening
- Meta adapters (Messenger/Instagram): fix invalid _caption send (caption now a follow-up message), bytes-upload via Graph Attachment Upload API, URI encode fix in MetaGraphClient - Telegram adapter: multipart bytes upload for outbound images (providers cannot fetch the auth-gated /imaging/proxy URL) - SocialCredsResolver: populate creds.extra appSecret/verifyToken for Meta from social.meta.* - MetaOAuthController: Facebook/Instagram OAuth connect (start+callback), encrypts page token - MediaController outbound: image bytes-upload (M2b) + 24h messaging-window gating (M4c) - SocialReconciliationSweep: re-publish social.lead.new for orphaned conversations (M2a durability) - config: social.meta.* + social.reconcile.* + optional social-meta secret
· SecurityService
SecurityService read-proxy for MLOS Governance
One controller/client pair fronting MLOSGovernanceService's five reads (both its steward-feedback and pull-through-policy modules share /api/governance). organizationId resolved from the OTK session, never the browser. Tenant guards: org-injected passthrough for the two by-org reads; flat top-level-org fail-closed (404) for the single active-policy read; per-row post-filter for the by-decision feedback trail + policy version history (drop foreign rows, re-count), with a downstream-404 normalized to an empty 200 so unknown/foreign/empty are indistinguishable (no cross-org AiDecision existence oracle). Adds mlos.governance.url.
· kamo-internal
Governance console — steward-feedback flywheel + pull-through policy
Fifth and final MORTGAGE steward screen, read-path B. Signature Steward-Feedback Flywheel (AI decides → steward corrects → becomes truth → model recalibrates), rotation bound to correction velocity, fully data-backed from the steward-feedback by-org read. Verdict-mix donut + Reg-B reason spectrum, corrections feed with append-only decision-trail drawer, and pull-through policy governance (org grain map → active knob-board with the two orthogonal hedge axes → WORM version-history spine with knob-diff). One documentsApi/governanceApi over the single /api/governance base. Review-hardened: enum labels via next-intl, per-surface error degradation, WCAG-AA contrast, sandbox test-partition note, ICU-plural version counts. Pairs with SecurityService MlosGovernanceController (org-injected passthrough for by-org reads; flat-top-level-org fail-closed for active-policy; per-row post-filter with 404-normalization for by-decision + history, closing the cross-org oracle).
· kamo-internal
Sehemu ya Steward tone mara kwa mara + sehemu simplification
(Uncommitted MLOS steward work present on the shared dev mount, committed to keep the tree clean; compiles cleanly. Not part of the lead-alert change.)
· kamo-internal
Single-market orgs adopt the market's title/description in nav + pipeline header
When an org has exactly one configured commerce market, the Commerce nav item uses that market's TITLE and the /commerce pipeline header uses the market's TITLE and DESCRIPTION. Zero or multiple markets fall back to the generic Commerce labeling.
· kamo-internal
M3 frontend — Social Media settings tab (connection CRUD) + social chat popup **************** + SocialAgentContext backend-push + leads Communications Chat sub-tab + auto-open-on-lead-access + reusable LanguageSelector source-language override. NOTE: i18n keys must be added to kamo-translation-dictionary (messages/ is gitignored/generated)
· SecurityService
M3 Usalama Huduma - SocialConnectionController (encrypted-at-rest connection CRUD, MANAGE CRM SETTINGS-gated) + SocialConversationController (lead-> Social-session lookup); kijamii-enc-key envFrom
· MediaService
Huduma ya Vyombo vya Habari vya M3 - SocialCredsResolver decrypts secretCiphertext (encrypted-at-rest); kutafsiri override ya lugha ya chanzo (PATCH endpoint + MessageTranslation Service overload, cache ya chanzo-key); envKutoka kwa lugha ya asili
· kamo-shared-library
M3 secret store — **************** (encrypted-at-rest) + SocialSecretCipher (AES-GCM wrapper); widen MediaObjMsgTranslation unique to include SOURCE_LANGUAGE_ID (source-override cache correctness)
· kamo-internal
Documents steward screen — condition clearance matrix + eClose drive-loop
Third MORTGAGE steward screen, read-path B. Signature Condition Clearance Matrix renders the doc-system 1-obligation/N-satisfier model: each locked LoanCondition is a reference-counted clearance row with the distinctive 'whose court' (waitingOn) axis, clearing green only when zero requirements are open. Org-scoped eClose pipeline strip drills a package into its loan; the drawer shows the ESIGN→RON→ENOTE→EVAULT→MERS drive-loop aggregated from artifacts + the MERS ledger. Fronts two proxies (doc + doc-orchestration) via one documentsApi. Review-hardened: MERS panel crossfade on loan switch, WCAG-AA metadata contrast, own legal-wall KPI tile, org-load KPI gating, drive-loop unrouted-artifact gate, pre-line drive-loop tooltips.
· SecurityService
Huduma ya Usalama kusoma-proxy kwa nyaraka za MLOS (doc + doc-orchestration)
Two browser-facing read-proxy controller/client pairs fronting MLOSDocService (/api/docs) and MLOSDocOrchestrationService (/api/doc-orchestration) for the Documents steward screen. organizationId resolved from the OTK session, never from the browser. Tenant guards: org-injected passthrough for the loan requirements + borrower-actionable catalog + closing-package list; flat top-level-org fail-closed (404) for the by-id template extension + closing package; org post-filter for the loan MERS ledger. by-MIN ledger and the org-blind package branch are deliberately not exposed. Adds parseLong to MlosBaseController + mlos.doc/doc-orchestration URLs to the configmap.
· SecurityService
M2 SecurityService — social.lead.new consumer (core NATS) creates POOLED lead with SEPARATE comment stream + SocialRemoteUserLead mapping; SocialMediaClient internal member-add; LeadAcceptController hook adds accepting rep to social conversation + triggers popup
· APIService
APIService public webhook edge — POST/GET /api/social/webhook/{token} verify+forward (raw body + provider signature headers) to MediaService with X-Internal-Auth
· MediaService
M2 Huduma ya Vyombo vya Habari - adapta ya Telegram + rejista; inbound webhook edge + mtumiaji wa JetStream; Huduma ya Jamii ( kikao cha SOCIAL / ujumbe, SOCIAL VISITOR relay); relay ya ndani ya mwanachama-add + kijamii.agent STOMP relay; kutuma kupitia adapta katika baada yaCommit; siri za kijamii
· kamo-shared-library
Add **************** (JetStream publish without expectedStream) so services can publish to a stream other than their configured one (social.* -> SOCIAL_MESSAGES)
· KlusterServices
Utoaji SOCIAL MESSAGES JetStream mkondo (social.inbound.>, social.lead.) R1 kwa bomba la ndani la vyombo vya habari vya kijamii
· kamo-internal
Pricing Review steward screen (rate ladder + LLPA waterfall), live
Third steward tab, on the shipped MLOSPricingService reads via the new SecurityService proxy (+ the new org-scoped runs read). Org run inventory with a run selector, the rate ladder (eligible rungs ranked with best-execution + par flags, ineligible rows with adverse-action reasons), and a detail drawer whose signature viz is the LLPA price waterfall: base price -> each adjustment line (stack order) -> margin -> offered final, reconciling. KPI strip + honest "coming soon" strip. - New **************** + route handler + eligibility tone map; extends the console kit + shared mlosGet. - Wired into MortgageStewardSection (replaces the Pricing placeholder).
· SecurityService
Pricing review read proxy (rate ladder + LLPA decomposition)
MlosPricingController @ /api/security/mlos/pricing + MlosPricingClient to MLOSPricingService (/api/pricing). Reuses MlosBaseController. runs inventory injects the operator org (server-filtered); by-id run/adjustments fail-closed on the body's top-level organizationId; results-by-status (no org field) is gated via the org-bearing run detail. configmap: mlos.pricing.url.
· kamo-internal
Archive-not-delete markets, market-only pipeline, drag reorder
Aina ya Ushirikiano: - Hifadhi masoko (aina "Aina" kuthibitisha) badala ya kufuta; Active / Archived Picha zote na Wizara ya Mambo ya Ndani ya Nchi. Maelezo ya soko kufuta | Archive / Restore. mode ya drag-to-reorder (framer-motion) inaweka utaratibu wa soko, ambayo inatoa Amri ya tab ya bomba. Mwongozo wa kuonyesha Order shamba kuondolewa (auto-append juu ya kujenga). Biashara ya Biashara (Business): Hifadhi Dashibodi + Ushirikiano tabs; soko la kwanza linafungua kwa default. - Kwa soko moja, uondoe bar ya tab na uiendesha kikamilifu. Hatua ya "New" ilihamia kwenye kichwa cha ukurasa, kulia. - Ondoa bomba la sasa-auphaned PipelineDashboardTab / PipelineEngagementsTab. Masoko ni archived (isActive = uongo), kamwe ngumu-kufutwa masoko archived ni Kuondolewa kutoka bomba.
· SecurityService
status filter kwenye orodha ya masoko; kuondoa DELETE redundant
GET /api/security/commerce-markets now takes an optional status=active|archived|all (default active) so the settings Archived tab can load archived markets. Drop the DELETE /{id} endpoint — it was a soft-delete (isActive=false), redundant with PATCH /{id}/active. Markets are archived, never hard-deleted.
· kamo-shared-library
Archived-market queries; drop redundant hard-delete
Add findArchivedByOrganizationId + findAllByOrganizationIdOrdered and the matching **************** service methods so Commerce settings can surface an Archived view. Remove deleteMarket — it only set isActive=false, redundant with the isActive PATCH. Markets are archived, never hard-deleted.
· kamo-shared-library
M1 msingi - mtoa huduma SPI + kawaida DTOs, vyombo vya 6 ***** Repos, Usajili, MediaSessionType.SOCIAL, tafsiri ya chanzo cha lugha
· kamo-internal
Chini ya mapitio ya skrini ya msimamizi (agency AUS + yasiyo ya QM), kuishi
Kichupo cha pili cha wakili, kwenye Huduma iliyosafirishwa ya MLOSUnderwriting inasoma kupitia mpya Usalama Usalama Usalama Usalama Usalama Usalama Usalama Usalama Usalama Usalama Usalama Usalama Usalama Usalama Usalama Usalama Usalama Usalama Usalama Usalama Usalama Usalama Huduma ya proxy. Shirika la AUS linaendesha hesabu (DU /LP /GUS + uamuzi) na maelezo ya kina (kupata, hali, msamaha, uthibitisho fetched katika sambamba), ya maamuzi ya ndani ya CCM. Picha zote na Wizara ya Mambo ya Ndani ya Nchi. .................................................................... strip ( mapato calc / amana kubwa / udanganyifu / maelekezo isipokuwa). zaidi ya mwaka mmoja uliopita r r r r; r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r Kit cha console (ConsoleShell, KpiTile, StatusPill, meza, drawer, mwendo). -Kuondoa mlo wa pamoja (app/lib/mlos/http.ts) Wateja wa masoko ya mitaji ndani yake (kurudisha nyuma). Uamuzi wa AUS / matokeo / msamaha / uthibitisho wa ramani za sauti katika tones.ts. - Kuingizwa katika mikopo ya mikopo (kubadilisha mahali pa kuandika).
· SecurityService
Chini ya mapitio ya kusoma wakala (agency AUS + sheria za ndani zisizo za QM)
MlosUnderwritingController @/api/security/mlos/underwriting + MlosUnderwriting Wateja Huduma ya MLOSUnderwriting (/api/underwriting, X-Internal-Auth). Matumizi ya MlosBaseController (Orodha / org lango, MLOS-jina, hakuna waliopotea haki). Inaunganisha shirika la operator mwenyewe ya ya ya katika org-scoped kusoma; maelezo ya kwa-id / wageni /validations kusoma kushindwa kufungwa dhidi ya configmap: mlos.underwriting.url.
· kamo-internal
Wire Capital & Kituo cha Amri ya Hatari kwa njia ya kusoma
Badilisha safu ya kurekebisha na njia halisi ya kusoma-mwisho: kivinjari -> Kwa mfano, *** Njia ya kushughulikia -> APIService -> Huduma ya Usalama MlosCapitalMarketsController -> MLOSCapitalMarkets Service. Shirika hilo la Imetatuliwa upande wa seva kutoka kwa kikao cha operator; haijawahi kutumwa kutoka kwa kivinjari. New ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). (). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). ). - capitalMarketsApi ilitoka kwa fixtures kuishi (*** /OTK, retry); fixtures ilifutwa. Sahihi ya semantics ya uwezo wa kifedha: p5 / p50 / p95 ni uwezekano mkubwa (0.1), sio dola - shabiki sasa anapanga mhimili wa uwezekano wa 0-100% (p5-p95 bendi, p50 median, mchanganyiko P (fedha) almasi na fedha inayotarajiwa ($) kama ukubwa; Sehemu ya meza inaonyesha p-columns kama asilimia. Mfumo wa Reli ya Reli ya Reli ulirekebishwa Kwa mfano, *** - Mchoraji huficha jopo la uamuzi wa AI hadi lock itakapofanya kupitia RCE Kwa mfano, injini ya utafutaji.

Ulimwengu wako unasubiri.
Kuanza bure katika dakika. Ongeza bidhaa wakati wowote wewe ni tayari - hakuna uhamiaji, hakuna logins mpya.
Bure milele - hakuna kadi ya mkopo inahitajika