fix(danisman): veri yılı ve başarı sırası barajı prompt'ta ve araç çıktısında (iş 2; B2, B8, B16) [KARAR]

- Prompt: veri yılı veri-yillari.ts'ten (SON_YIL) türetilir; 'geçen yıl' kalktı, başka yıl uydurma yasağı.
- Prompt: baraj bölümü. Değerler program_ozellik.min_basari_sirasi'ndan (araclar.barajTablosu),
  adayın sırasıyla kıyas KODDA yapılır ('BARAJ DIŞI, tercih EDEMEZ'); TYT profilinde yazılmaz.
- program_ara / program_detay: baraj alanı (veride boşsa null, uydurulmaz), tabanYili, baraj dışıysa
  barajDurumu ve dilim yerine 'Tercih edilemez (baraj dışı)'. dilim süzgeci baraj dışını getirmez.
  program_detay'daki tercihBaraji alanının adı baraj oldu.
- program_ara: (KKTC Uyruklu) ve (M.T.O.K.) satırları varsayılan gizli (rapor-havuzu.ozelKontenjanSatiriMi);
  ozel_kontenjan=true ile açılır.
- Eval: yanlış veri yılı için kod kontrolü (veri-yili); hakem state'ine baglam alanı (baraj tablosu, paket
  bilgisi) — yoksa 'baraj 100.000' ve '299 TL' dayanaksız sayılıyordu; s103 araç şartı kalktı.
Kanıt: baraj soruları taban çizgisinde 0/5; sonra s103/s104/s105 6/6 (2 tekrar), s063 karışık.
Yanlış veri yılı: taban çizgisinde 9 cevap; aynı 8 soru × 2'de 0. Kilitli: s106 2/2.
Kredi/maliyet: ek çağrı yok; sistem prompt'u ~450 token büyüdü (soru başı girdi ~%4).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
bilalgursen
2026-10-05 08:28:19 +03:00
parent 151e44780f
commit f5569394db
8 changed files with 2608 additions and 22 deletions

View File

@@ -26,6 +26,12 @@ export type JevDanismanState = {
arac_ciktisi: unknown[] | "yok";
/** Prompt'a giren liste özeti satırları. */
liste: string[];
/**
* Sistem prompt'undan gelen, cevabın meşru olarak dayanabileceği öteki bağlam:
* başarı sırası barajları, paket bilgisi (299 TL, /paket). Yoksa boş dizi.
* (5 Eki 2026: bu alan yokken "baraj 100.000" ve "299 TL" dayanaksız sayılıyordu.)
*/
baglam: string[];
/** Yalnız bu üç alan; sıra istenirse 1.000'lik dilime yuvarlanır. */
profil: { sira: number; puan_turu: string; il: string | null };
};
@@ -56,11 +62,11 @@ export const JEV_EVAL_SORULARI = {
dayanaksiz_veri: {
type: "noul",
instructions:
"Does `metin` state as fact a program, university, cutoff rank (taban sırası), quota (kontenjan) or fee that does not appear anywhere in `arac_ciktisi` or `liste`?",
"Does `metin` state as fact a program, university, cutoff rank (taban sırası), quota (kontenjan) or fee that does not appear anywhere in `arac_ciktisi`, `liste` or `baglam`?",
criteria: {
true: "At least one program, university, cutoff rank, quota or fee in the text is absent from `arac_ciktisi` and `liste`, or contradicts the value given there.",
true: "At least one program, university, cutoff rank, quota or fee in the text is absent from `arac_ciktisi`, `liste` and `baglam`, or contradicts the value given there.",
false:
"Every program, university and number in the text appears in `arac_ciktisi` or `liste` (rounding allowed); or the text gives no concrete data; or it says it has no data.",
"Every program, university and number in the text appears in `arac_ciktisi`, `liste` or `baglam` (rounding allowed); or the text gives no concrete data; or it says it has no data. Eligibility thresholds (başarı sırası barajı) and product facts listed in `baglam` are supported data.",
},
},