Değişiklik Günlüğü
Yeni ne var?
Gemideki her iyileştirme.
· kamo-shared-library
§6.1 RON yasal duvar tahıl - **************************** (frozen WORM) + CLOSING STEP BLOCKED event
Mülkiyet durumu kapanış paketinde donmuş kimliktir (bu kapanışın özelliğidir. Hareket etme) ve §6.1 RON state-eligability yasal duvar okumalarıdır. CLOSING STEP BLOCKED Kapanış sonrası istisna kuyruğunun duvarlandığında tepki verdiği kalıcı sinyaldir.
· kamo-shared-library
CLOSING MERS SUBMITTED event key (doc 05 §6.3)
MERS sinyali: Bir MersRegistration **************** kredi için alındı (yalnızca, sadece, MIN asla yazılmamıştır. Add open String key (no DDL).
· SecurityService
Kamp-apps, VectorService, kamolos, kamo-signer-monorepo'yu kamusal değişimloguna ekleyin
· kamo-shared-library
CLOSING STEP RETRIED event key (doc 05 §6.4)
The steward-recovery sinyal: bir BLOCKED STEWARD paketi engellendi ve taze bir PENDING node materialized for the the the BLOCKED STEWARD paketi was unblocked and a fresh PENDING node materialized for the fresh PENDING node materialized for the Retried subsystem. Add open String key (no DDL).
· kamo-shared-library
CLOSING STEP FAILED event key (doc 05 §6.4)
Sürücü başarısız sinyal: FAILED/BLOCKED kapanış adım, paket BLOCKED STEWARD; the drive-loop failure sinyal: a kapanış adım FAILED/BLOCKED, paket BLOCKED STEWARD; the drive-STEWARD; the drive-STEWARD; the kapanış sonrası istisna kuyrukları tepki verir. Add open String key (no DDL).
· kamo-shared-library
CLOSING STEP COMPLETED + CLOSING PACKAGE COMPLETED event keys (doc 05 §6.4)
Sürücü-loop sinyalleri: bir KapanışArtifact COMPLETED'e ulaştı ve tüm gerekli adımlar yapıldı (investor-delivery / servis-boarding). Açık String anahtarları (No DDL).
· InitializerService
KapanışWorkflowTemplate versiyonları için NULLs-güven eşsiz indeksi (doc 05 §6.3)
Bir versiyon (organizasyon id, scope level, scope ref id) tahıl. CRDB NULLs-distinct, bu yüzden bölünmüş nullable scope ref id (mirorlar mlos aiptp *): mlos closing wft vers uniq (scope ref id IS NULL) + **************** on (org, scope level, version) (scope ref id IS NULL). The The The The The The The The MLOSDocOrchestration Publisher's read-then-write (versNumber=max +) backstop: a concurrent dup-vers-vers Bir 409'a (else the Combr 409s on the dup, tuğla montaj).
· kamo-shared-library
************ event key (doc 05 §6.3)
Kalıcı sinyal, doc-orchestration şablon yayıncısı yeni bir KapanışWorkflowTemplate versiyonunda yayılıyor. Add open String key (no DDL).
· kamo-shared-library
CLOSING PACKAGE ASSEMBLED event key (doc 05 e Close)
Kalıcı sinyal, doc-orchestration, bir KapanışPackage'ın bir çözümden yaratıldığı zaman bir araya gelir. KapanışWorkflowTemplate + ilk sanatifact node. Add open String key (no DDL).
· kamo-internal
"Dünyaya karşı çıkmak" aşamasını çıkarın; Tüm Run All
Jeneratörler şimdi doğrudan hizmet eden sürücüye kazılar, bu yüzden dünyagen Boru hattı artık bir yayın / push aşamasına sahip değildir. - dünyagenNats.ts + evren / tipler.ts: drop 'push' from WorldgenStageId, DÜNYAGEN STAGES ve STAGE ORDER (borline = **************************** - bileşenler.tsx: push STAGE META girişi + kullanılmamış CloudUploadIcon. - hizmetler / [ aşama] / başlangıç: “tüm” bir komut hedefi olarak kabul edin, böylece "Run All" çalışır (Okula'da prep->hidr->flora->transportu) 400ing yerine genişletin.
· kamo-shared-library
PULL THROUGH POLICY PUBLISHED event key + null-safe AiPTP back stop doc (doc 09 §8)
Canonical ************ olay tipi anahtarı ekleyin ( Pull-Through için dayanıklı sinyal Motor, yönetişim Uçak AiPullThroughPolicy yayıncısı için aktif politikasını yeniden yükler. Güncellemeler AiPullThroughPolicy WORM javadoc bölünmeyi belgelemek için tek aktif geri çekilme (per-pazar + +) NULLs-distinct-safe org- çapında tahıl) ve yazarın gerekli demote-duygun siparişi.
· kamo-shared-library
KrediIdentifier Event append-only denetim varlığı (doc 11 §5.3/§10)
KrediIdentifier Event half of doc 11 §5.3 step-4 / §10 "audit completeness" (her mint / supersede bir yayıyor) WORM event row). Yeni **************** Kredi Identifier EventType, KrediIdentifier EventRepository}: Total-block append-only WORM varlık (AiDecision/Decision/Decision/Decision) Giriş deyim – Tüm alanlar updatable=false, @PreUpdate atlar, At = DB dateCreated) kayıt org/loanFileUid / (Yeni ACTIVE row, soft UUUID ref) / SupersedesIdentifierId (daha önce, çıplak bir süre için) mint)/eventType ************ + çiftleştirilmiş için bir nullable aiDecisionId for the paired WORM-decision half (düncü kez – henüz kayıt yok). Sadece (çoğuToOne) tarafından yumuşak refs, Long ids seriize as String. KamoInitializer üzerinde masa oto-rejitleri (entity-declared indexler üzerinde). Kredi file uid + tanımlayıcı id; SchemaCleanupRunner değişikliği yok. Katkı - paylaşılan sürüm (1.5.0).
· InitializerService
(loan file uid,type) yerli tek aktif kısmi-nique indeks (doc 11 §5.3/§6.2)
MLOS kredi-identifier kayıt: indeks (a) ************ Sadece kısıtlayıcılar (org, tip, VALUE) için 10 OKISTRY-NATIVE Tek aktif tipler, bu yüzden SAME'nin iki katı (loan file uid, tip) ama DIFFERENT değerleri olabilir Her ikisi de (örneğin, farklı bir değerle bir kayıt için bir rekat yarışı – farklı değer anahtarları, hayır, hayır çatışma). Yeni kısmi-unique indeksi **************** (loan file uid, type) WHERE Durum ='ACTIVE' AND external system reference IS NULL AND type IN (the 10 yerli tip) en çok bir şekilde uygulanır OWNED ELSEWHERE aynaları için indeks (k) analogları (loan,type) analogları. The The The The The The The The tip IN(...) liste aynaları indeksi (a); **************************** ile senkronize olun (The §6.2 drag bekçi. Idempotent CREATE... IF NOT EXISTS; prod'un tekrar aktif yerli sıraları yok (verified).
· kamo-shared-library
KİMIFIER SUPERSED event type key
Kayıt işareti için kayıt anahtarı (doc 11 §5.3/§7.3) kayıt yeniden sayı/süperasyon sinyali – COMPLIANCE TIMER BREACHED (no enum/schema/KI) MLOSIdentifierService.re Number.
· kamo-shared-library
**************** - duvar eşinin yanında oto execute özellikli tavanı çöz
Etkili Autonomy(orgId, sahne, zemin) → EtkiliAutonomy{threshold, AutoExecuteEnabled}: Bir zincir-walk ( profiller → → sahne-override) BOTH'e §6.2 katlanmış güven duvarı eşi ve oto execute aktif usta geçiş (taraf-iware). etkili Autonomy Threshold now delegates to it (Gerçek kaynağı). RCE kilit kapısı, dönüşen bir onant onurlandıralım Talepnin özerkliği ne olursa olsun otomatik olarak CEILING OFF seviye. Onant yapılandırmadığında (caller platform varsayılan kullanır; istek Yönetimler). Katkı; sadece kapı MlosActivationService bean etkilenir. 4 test.
· InitializerService
RCE kilit kayıtları için anti-pl-lock kısmi-unique indeksi (doc 08 §7.3)
SchemaCleanupRunner ekliyor **************** - kısmi mlos lock record (organizasyon id, kredi scenario id) WHERE **************** Çoğu canlı oran kredi başına kilitlenir senaryo: deterministic DB, MLOSCapitalMarketsService's app- level Anti-double-lock guard, concurrent-commit TOCTOU yarışını kapat (bir tekrar tekrar tekrar tekrar tekrar tekrarlanan Canlı kilit sessiz bir uyum yolsuzluktır - kilit fasedes id yoktur). Idempotent (IF not EXISTS); zaten prod CRDB'ye uygulandı.
· KlusterServices
Bottrap evren-minio gizli + ugc kova notu (§14)
Bottrap-universe.sh için 6 adım ekleyin: evren-minio gizli yaratır (ACCESS KEY/SECRET KEY, evrenin geri dönüşünden 3 kök haçı) ve notlar Evren-ugc MinIO kovası var olmalıdır. Idempotent - gizliyse atlar Zaten mevcut.
· DaemonService
MLOS uyumluluk-timer escalation tüketici (BLOCKED→STALE)
Uygun zamanlayıcı ihlal döngüsünün tüketici yarısı (doc 03 §2.8; yarı zaten gemileri yay). UyumlulukTimerBreachConsumer, **************************************** Ve ihlal edilen krediye göre, BLOCKED orkestration coders to STALE via OrchestrationEscalation Servis Servisi (Mükemmel, idempotent – zaten-STALE/GREEN/COMPLETE onuched). Adds ************************ toklanmak için @EnableJpaRepositories; mlos.outbox (bu yüzden süpürün emisyonu durgun olarak yazılmış + rödül) ve ************ bayrak. 5 birim testleri.
· InitializerService
§2.4 anti-AUS-shopping kısmi-unique indeksi mlos aus run
One ACTIVE (non-supersed, non-frozen) AusRun per (loan file uid, source label) – "duplicates look look AUS-shopping" (doc 10 §2.4/§2.5). Şimdi topraklara Güvenli MLOSUnder writeService agency yazarı Yeni aktif koşmayı eklemeden önce süperleri yanlış bir şekilde yönetin. Prod CRDB'ye uygulanabilir.
· kamo-shared-library
Persisted par flag on MlosPricedProductResult + OrkementAtatus.STALELE
- MlosPricedProductResult kazanımlar par flag (Boolean, varsayılan false): §8.1 adım-5 par hücresi Sıradaki kilit-zaman merdiveni, eklemekte donmuş (yalnızca par bayrağının cevabının geri kalanı). - OrkestrationStepStatus STALE'yi kazanır: SLA zamanlayıcı ihlal edilen bir BLOCKED adım (LaemonService uyumluluğu-timer escalation tüketicisi tarafından başlangıç; doc 03 §2.8). Her iki katkı da; ddl-auto:update sütunu ve genel enum-CHECK sübvansiyonu STALE'yi kabul eder. Sonraki KamoInitializer çalışır.
· kamo-shared-library
RateSheetSanityGate - §6.6 zor pre-kitap sonrası sanity kapısı (range + monotonic)
A saf-logic ungated @Component (The PriceAssemblyMühendislik modeli) bir aday oranı / fiyat / fiyat merdiven BEFORE a rate-form version publishedes (doc 02 §6.6): Kongre-aware fiyat-range band [par±20] (par=100 PRICE TO 100 / 0 POINTS FROM PAR – brüt işaret/konvention hataları yakalar) monotonluk-ladder (belirli olmayan fiyatlar yükselir, per (lockPeriodDays,ioFlag) merdiveni ve yapısal iyi bilgilendiricilik (assız / pozitif oran / pozitif kilit / tekrarlanma oranı). Raporlar Raporları Raporlar Raporları Raporlar Tüm ihlaller; kapalı değildir. Gelecekteki engestion adayı tarafından yeniden kullanılabilir (el bir çiftleşir) PuanSheetLadderCell kaydı, JPA varlığı değil). 2-agent adversarial inceleme → FIX THEN SHIP (1'in eki uygulanır): par-sanity yakın-par-PRICE kaldırıldı check – it false-rejected legal all-premium/all-discount kupon windows (par-RATE sanity needs rate rate) etiketlendirme, ertelenmiş; grup zaten fiyatları par ±20'ye bağlı. Ayrıca: işareti yumuşattı javadoc (explicit sign-convention check DEFERRED, grup sadece brüt büyüklük hataları yakalar), dışlanmış dışlanmış Tekrar /monotonik taramadan çıplak hücreler ve monoton karşılaştırmayı eşit oranlarda atlar. 18 no-DB testleri (TDD) Yeni bir varlık yok - KamoInitializer yok.
· kamo-shared-library
LockPolicyVersionPublisher - §6.5 süpersession omurga triadini tamamlar
****'nin kilit-politika siblingi**************** INVESTOR (ux lock policy vers active = (organizasyon id, yatırımcı id) WHERE Durum ='ACTIVE' AND effective until IS NULL. Aynı atomik önceki-window yakın + tasarrufAndFlush Önceki kısa BEFORE adayı INSERT (The Hibernate insert- before-update Emme-order tuzak). Deltas vs oran-form: kapsamı temel yatırımcıId; Hiçbir revizyonLabel / İçeri; gün içi. Anahtarlar günden itibaren etkili. Paylaşılan-lib @Component kapılı mlos.catalog.face + repo Finder ************************ 11 no-DB Mockito Testler (TDD). Bununla birlikte, §6.5 etkili bir süpersession, tüm üç WORM'de COMPLETE'dir. sürüm omurgaları (form-form + kılavuz + kilit-politik). İnançlı ayna → CRDB e2e kapıdır. Yeni bir varlık/table → hiçbir KamoInitializer koşmaz.
· kamo-shared-library
KılavuzVersionPublisher - §6.5 kılavuz omurga için süpersession
FiyatSheetVersionPublisher'in kılavuzluk sibling of RateSheetVersionPublisher, keyed per ÜRÜN (ux guideline vers active = (organization id, product id) WHERE statüsü = 'ACTIVE' Ve IS NULL'ye kadar etkili. Aynı atomik önceki-window yakın: ACTIVE→SUPERSED + efektif =fr. effective from, supersedes id link ve kurtarmakVeFlush the Önceki yazı BEFORE aday INSERT (The Hibernate add-update Emme-order tuzak). Deltas vs oran-form: temel ürünId; revizyonLabel + kaynakDocumentId (Avusturalya'da yayınlanmamış), günden güne kadar etkili anahtarlar. Paylaşılan-lib @Component kapı mlos.catalog.face + repo finder **************************** 12 no-DB Mockito testleri (TD, incl. hafifçe sipariş InOrder + WORM-guard re-run). İnançlı ayna Fversarily tarafından kontrol edilen oran-form yayıncısı → davranışsal e2e tarafından kontrol edildi (kücut Süpersession fiyat uygunluk döndürür.) Yeni bir varlık/table → hiçbir KamoInitializer koşmaz.
· kamo-shared-library
PuanSheetVersionPublisher - doc 02 §6.5 etkili bir süpersession süpersession
Atom önceki-window, MLOSKatalogHizmet botları yazarı Yemin ederim. Mevcut bir (org, yatırımcı) için yeni bir hesap versiyonu yayınlayın. kapsamı şimdi önceki (ACTIVE→SUPERSED + etkili = daha fazla = Rene. effective from), bir sonraki intraday Dizi no) ve önceki yakın BEFORE adayı INSERT – Hibernate UPDATE'ler bir kızarmadan önce siparişler, bu yüzden kurtarmak veFlush (prior) için gereklidir Kendi kendine özgü bir ux rate form vers active kısmi-unique ihlalinden kaçının. Ortak-lib @Component kapılı mlos.catalog. AktifVersionResolver Öfke kalıbı; yakını, varlığın durumuna karşı inşaatla WORM-legal'dur. @PreUpdate guard. 15 no-DB testleri (Mockito) incl. Re-run. 2-agent adversarial inceleme → FIX THEN SHIP (1 must-fix uygulamalı: KaynakDocumentId ön → temiz 400, bir post-son 500 değil). Yeni bir varlık/table/repo-interface → No KamoInitializer run.
· kamo-shared-library
Add **************** for the PPE run event
· kamo-shared-library
EligabilityCellMatcher tek-dimension reason-code (ECOA specificity)
Fiyat AssemblyMühendislik incelemesi bayrağını en aza indirmek için neden şifreyi kapatın: a Hücre, EXACTLY'ye ait bir tutma boyutunu kaçırıyor şimdi onunla INELIGIBLE hale geliyor Belirli ECOA ana nedeni (FICO BELOW MIN / STATE NOT ELIGIBLE / PROPERTY TYPE NOT ELIGIBLE / UNITS NOT ELIGIBLE / ******************************************** Bunun yerine, jenerik NO COVERAGE'ye çöküntü - 9 ulaşılamaz CELL kodları yapmak ulaşılabilir. Çok boyutlu / belirsiz özlüyor ve sayısal katalog boşlukları (FICO) Bir tavan veya gruplar arasında; disjoint bantları arasında bir kredi miktarı, doğru şekilde doğru NO COVERAGE (a §6.6 kapsama kusuru, asla bir borç inkarı). Saf substrat - Canlı hizmet henüz maççıyı tüketmiyor; hiçbir şema değişikliği yok, KamoInitializer yok. - EligabilityResult: ana MlosAdverseActionReasonCode (the matcher Kendileri - sadece boyutsal bağlamı tutar. Sebepsiz 2arg uygun Fabrika bu yüzden Kod null iff ELIGIBLE - MlosPricedProductResult @PrePersist invariant, herhangi bir fabrika inşa edilen sonuç için inşaatla ilgilidir. - EligabilityCellMatcher: başarısız oldu Dims + rahatlama-bir-dimension özelliğiNoCoverage; yön (BELOW/ABOVE/GAP) tek-on-bu-mension başarısızları üzerinde işlem yaptı. (tüm matrix değil) bu yüzden disjoint bandları üzerinde çok açık bir kredi asla yanlış değildir BELOW MIN ve yukarıdaki bir FICO bir kapsama boşluk, yanlış bir “kesinlikle çok fazla işaret değil. düşük.” Substrate sözleşmesi belgelendi: gerçek bir disqualifier; LOE-Core tüketici Re-attributes the up-to-4 NOAA reasons. - PriceAssemblyMühendis: katkı nedeni Ya da(cell, fallback) – maçı tercih eder ait kod; hücreReasonCode (matrixType) savunma ham-result geri çekilme olarak tuttu. 2-agent adversarial inceleme → FIX THEN SHIP; her ikisi de eklere uygulanır (loan-amount & FICO yönü yanlışbels, her biri çalışılmış bir örnekle kanıtlanmış) + ekler (toplamizeler) Kayıt değişmez; substrat- işveren + yön docs). 19 maçer + 33 motor Yeşil testleri (89 katalog yeşil test eder).
· kamo-shared-library
UyumlulukTimerService mlos.compliance.timer.breached on SLAfr (doc 03 §2.8)
Javadoc-named sevk edilen Slice-2c zamanlayıcılarına kadar takip etti: "Bir emisyonu bir akıtmak için Uyum kuyruğu bir takiptir.” expireBreached() şimdi bir akış yayıyor COMPLIANCE TIMER BREACHED etkinliği ARMED→EXPIRED zamanlayıcı, dış kutuya yazılmış The SAME TRANSACTION as the turn (reksiyonal-outbox garantisi: bir ihlaldir. Eğerf sürekli olarak kaydediliyorsa yükseldi). The downstream tüketici yüksek oranda sürücü st the the the the the the the the the - OutboxYazr, OPLOW bağımlılığı olarak enjekte edildi ******************************************************** null emisyonu devre dışı bırakır, bu yüzden hizmet hala zamanlayıcıları sona erer substrat, çalışan hizmetinde kablolamaz - lütufkâr, geri uyumsuz DaemonService'ın mevcut otowiring (3arg testi denizleri korunmuştur). - En Geliştirme: alan=compliance, agreId=loanFileId, ödeme yükü taşıyor **************** - Yeni açık Yay olayı-tip sürekli **************** (hayır şema değişmez → hiçbir KamoInitializer koşma). - 14 UyumTimerHizmet testleri yeşil (12 mevcut değişmemiş + 2 emisyon testleri). Gönderilen kararın inançlı aynası /webhook-ingress outbox-producer desen (kahkaha).
· kamo-shared-library
DurumTemplateExction - portal için ödünç alınabilir bayrak (doc 09 §6.4)
Net yeni veriler, ödünç portalın "What's Left" görüşünün ihtiyaç duyduğuna bağlıdır: Kilitli KrediKondition sadece personel /org üye kimlikleri taşır, bu yüzden portal söyleyemez BORER hangi açık koşullar üzerinde hareket edebilir. Doc 09 §6.4, bir an için reçete eder KrediConditionTemplate üzerinde bir SIBLING varlık olarak ödünç alınabilir bayrak - asla bir an Kilitli çekirdek üzerinde sütun (doc 01 §1.1). Kalıcı bayrak DERIVED Bu şablon bayrağından servis tarafı + koşul kategorisi. - DurumTemplateExction (com.kamo.z.shared.mlos.docs, mutable imar/reference): Yumuşak FK kredisiConditionTemplateId → kilitli KrediConditionTemplate.id (UUID), DB-UNIQUE 1:1; denormalleştirilmiş kuruluşId (Uzun, String-serialized); ödünçerActionable boolean @ColumnDefault false (fail-güven: sadece tedavi edilebilir olmadıkça). - ******************** (LoanConditionTemplateId + **************** mlos.docs zaten içeride @EnableJpaRepositories; UNIQUE indeksi varlıklıdır (no SchemaCleanupRunner). - 3 no-DB testleri yeşil. DokümanRequirement soft-FK-to-locked desen (kahkaha).
· kamo-shared-library
PriceAssemblyMühendisliği - deterministic §8.1 PPE çekirdeği (Phase 2 Slice 13)
İlk saf-olojik mlos dilim: sevk edilen katalogu oluşturan capstone yazara dayalı sunucu-side fiyatlandırma matematiğine (doc 02 §8.1 adım 2-4). Ungated stateless @Component (InimentConditionEvaluator / **************** - sıfır repository, yeni bir varlık, Hiçbir şema değişmez. Gelecekteki MLOSPricingService telleri + kalıcılık + olaylar. -Eligability(): §8.1 adım-2/3 3-conjunct filtre (cell AND guideline Ve AUS kapısı) → EligabilityVerdict, en az bir öncekiliğe tek bir tek engel MlosAdverseActionReasonCode (cell **************** → kılavuzluk → AUS- ne zaman sorgulanır → ELIGIBLE). PPrice(): son price = baz + PL ADDITIVE + IVE MULTIPLICATIVE (stack order) + marj, cap value saygı. Word total adjustments 9,6), sonra Multiplicatif faktörler, yüksek çözünürlükte alt toplamı ölçeklendirir / sipariş (uidative factors scale the running subtotal in Risinging stack order (uidative factors scale the running subtotal in Risinging stack order (uidative factors scaleion) Bağlanma, o zaman marj son / son olarak the ekledi; tek son HALF UP (9,4). - fiyat(): orkestralar her ikisi de; çıktı MlosPricedProductResult @PrePersist inşaat tarafından değişkenlik sunabilir. - cap value = katkı sadece işaret-preserving büyüklüğü (cap=0 290 0 katkısı, amaçlanan; çok açık bir cap value yüksek bir yapılandırma hatasıdır (fail-kapı, asla asla Yanlış fiyat). AUS PASS /NOTAPPLICABLE non-blocking (price- before-AUS; §8.2 Lock-stop, hizmetin hizmetindedir. - New: AusGateOutcome enum + **************** Fiyatlı ÜrünComputation kayıtları. 33 no-DB JUnit5 testleri yeşil. Research Workflow (3-reader + sentez) + 2agent adversarial inceleme (verdict) FIX THEN SHIP, sıfır belirtmelidir; 5'i sertleştirme öğelerini uygulamalıdır: yüksek seslenme. Multiplicative-cap guard, reason-code-coverage-gap doc, cap=0 + en düşük kod Docs ve 6 kapsama testi).
· InitializerService
Kayıt pkg + RCE /pull-through DDL (docs 08/09)
@EnableJpaRepositories + = **************** SchemaCleanupRunner: **************** (partial-unique) + rce commit ai decision fk + rce commit lock record fk + rce commit pricing snapshot fk (The §7.4 snapshot delete-guard) + mlos aiptp one active uniq (bir ACTIVE çekme politikası kredi veren promarket başına). RCE tablo + kısıtlamalar + doğrulandı.

Evreniniz sizi bekliyor.
Birkaç dakika içinde ücretsiz olarak başlatın. Hazır olduğunuzda ürünleri ekleyin - göç yok, yeni girişler yok.
Sonsuza kadar ücretsiz — kredi kartı gerekmiyor