fix(metin): olasılık dili + 5 yıl
Ürün yerleşme olasılığı üretmiyor; tek yılın tabanına göre risk dilimi etiketi veriyor (src/lib/risk.ts). Metinler buna eşitlendi: - "yerleşme olasılığı ve risk analizi" → "yerleşme riski ve trend analizi" (ana sayfa fiyat kutusu + /paket özellik listesi) - riskNotuUret'in dört "ihtimal" cümlesi yeni riskNotuMetni()'ne taşındı; cümleler geçmiş taban verisine bağlanıyor, "yerleşirsin/ihtimalle" yok. Risk eşikleri, 5/13/6 şeması ve prompt değişmedi (yalnız cümle) - "son 4 yıl" → VERI_YIL_SAYISI (= 5; DB sira2021–sira2025) — yeni src/lib/veri-kapsami.ts tek kaynağından - arama funnel kartı: "Yerleşme ihtimalini" → "Yerleşme riskini" Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -18,7 +18,12 @@ import {
|
||||
type AdayProgram,
|
||||
} from "../rapor-havuzu";
|
||||
import { secimOzeti } from "@/features/sihirbaz/sihirbaz-sabitler";
|
||||
import { RISK_ETIKET, dilimdenRisk, riskHesapla } from "../risk";
|
||||
import {
|
||||
RISK_ETIKET,
|
||||
dilimdenRisk,
|
||||
riskHesapla,
|
||||
riskNotuMetni,
|
||||
} from "../risk";
|
||||
|
||||
// Yapay zekâdan istenen küçük şema (kullanıcı kararı, 6 Ağu 2026): riskNotu
|
||||
// ve trendOzeti gerçek sıra geçmişinden deterministik üretilir; dilim iskeleti
|
||||
@@ -161,16 +166,7 @@ function trendOzetiUret(p: AdayProgram): string {
|
||||
}
|
||||
|
||||
function riskNotuUret(p: AdayProgram, adaySira: number): string {
|
||||
switch (riskHesapla(p.sira2025 ?? p.sira2024, adaySira)) {
|
||||
case "guvenli":
|
||||
return "Taban sıralaması senin sıranın belirgin altında; yüksek ihtimalle yerleşirsin.";
|
||||
case "az-riskli":
|
||||
return "Taban sıralaması sırana yakın; orta ihtimalle yerleşilebilir.";
|
||||
case "riskli":
|
||||
return "Taban sıralaması senin sıranın üstünde kapandı; yerleşme ihtimali düşük.";
|
||||
default:
|
||||
return "Güncel taban sıralaması verisi yok; ihtimal öngörülemez, temkinli yaklaş.";
|
||||
}
|
||||
return riskNotuMetni(riskHesapla(p.sira2025 ?? p.sira2024, adaySira));
|
||||
}
|
||||
|
||||
/** Havuz programını render için gereken bilgiye indirger. */
|
||||
|
||||
@@ -42,3 +42,22 @@ export function dilimdenRisk(dilim: Dilim | string): RiskSeviyesi {
|
||||
if (dilim === "dengeli") return "az-riskli";
|
||||
return "riskli";
|
||||
}
|
||||
|
||||
/**
|
||||
* Risk seviyesinin tek cümlelik açıklaması (rapor satırları + tadımlık).
|
||||
* Ürün yerleşme olasılığı HESAPLAMAZ; yalnızca son taban sıralamasını adayın
|
||||
* sırasıyla kıyaslar. Bu yüzden metin olasılık/ihtimal/"yerleşirsin" demez.
|
||||
* "Geçen yıl" da denmez: efektif sıra 2025 yoksa 2024'e düşüyor.
|
||||
*/
|
||||
export function riskNotuMetni(risk: RiskSeviyesi | null): string {
|
||||
switch (risk) {
|
||||
case "guvenli":
|
||||
return "Son taban sıralaması senin sıranın belirgin altında; geçmiş veriye göre güvenli aralıkta.";
|
||||
case "az-riskli":
|
||||
return "Son taban sıralaması sırana yakın; küçük bir kayma sonucu değiştirebilir.";
|
||||
case "riskli":
|
||||
return "Son taban sıralaması senin sıranın üstünde kapandı; hayal tercihi olarak düşün.";
|
||||
default:
|
||||
return "Güncel taban verisi yok; bu satırı temkinli değerlendir.";
|
||||
}
|
||||
}
|
||||
|
||||
6
src/lib/veri-kapsami.ts
Normal file
6
src/lib/veri-kapsami.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
/**
|
||||
* Taban sıralaması geçmişinin kapsadığı yıl sayısı. Veritabanında
|
||||
* sira2021–sira2025 kolonları var (5 yıl); "son N yıl" diyen tüm metinler bu
|
||||
* sabitten okur. Yeni veri yılı eklenince (ör. sira2026) burayı güncelle.
|
||||
*/
|
||||
export const VERI_YIL_SAYISI = 5;
|
||||
Reference in New Issue
Block a user