feat: update app.db and BACKLOG.md with new decisions and adjustments
All checks were successful
Deploy / deploy (push) Successful in 7m45s

- Updated the app.db file to reflect recent changes in the application state.
- Modified BACKLOG.md to include new entries regarding the removal of certain wizard steps, adjustments to priority chips, and the introduction of special quota conditions for candidates.
- Added details on the decision to link priority chips to data sources and clarified the implications for user experience and data handling.
This commit is contained in:
bilalgursen
2026-10-06 17:17:49 +03:00
parent c0696e2cbc
commit a3cb058a3b
74 changed files with 10334 additions and 445 deletions

View File

@@ -65,7 +65,7 @@ async function main() {
const { sohbetModeli, saglayiciAdi, anahtarVar } = await import("@/lib/ai/client");
const { JEV_DUZELTME_NOTU } = await import("@/lib/ai/jev");
const { vaatDiliBul, KAYIT_DUZELTME_NOTU } = await import("@/lib/ai/cikti-denetimi");
const { havuzOlustur, dilimHedefiHesapla } = await import("@/lib/rapor-havuzu");
const { havuzOlustur, dilimHedefiHesapla, idealHedef } = await import("@/lib/rapor-havuzu");
const { PUAN_TURLERI } = await import("@/types/yokatlas");
const { SON_YIL } = await import("@/lib/veri-yillari");
@@ -116,8 +116,9 @@ async function main() {
listeKaynagi.set(p.id, r ? "robot" : "deterministik");
if (!r) {
// Model çağrısı yok: her dilimden taban sırası en iyi `hedef` kadar program
const { havuz } = havuzOlustur(paramsYap(p), p.danismanProfili);
const hedef = dilimHedefiHesapla(havuz);
const params = paramsYap(p);
const { havuz } = havuzOlustur(params, p.danismanProfili);
const hedef = dilimHedefiHesapla(havuz, idealHedef(params.oncelikler));
const secilen = (["hayal", "dengeli", "garanti"] as const).flatMap((d) =>
havuz.filter((x) => x.dilim === d).sort((a, b) => (a.efektifSira ?? 0) - (b.efektifSira ?? 0)).slice(0, hedef[d]),
);
@@ -150,10 +151,17 @@ async function main() {
const params = paramsYap(p);
const rapor = raporGetir(p);
const kilitli = p.paketli === false;
const tamOzet = listeOzetiCikar(rapor, params.sira, { kimlik: true });
const tamOzet = listeOzetiCikar(rapor, params.sira, { kimlik: true, gerekce: true });
const listeOzeti = sohbetListeOzeti(tamOzet, kilitli);
const profil = { ...(p.danismanProfili ?? {}) };
const system = sistemPromptu({ params, listeOzeti, kilitli, profil, barajlar: barajTablosu() });
const system = sistemPromptu({
params,
listeOzeti,
kilitli,
profil,
barajlar: barajTablosu(),
rapor: { genelDegerlendirme: rapor.genelDegerlendirme, uyarilar: rapor.uyarilar, kapsam: rapor.kapsam },
});
const gecmis = (s.gecmis ?? []).map((m) => ({ role: m.rol, content: m.icerik }));
const mesajlar = modelPenceresi(gecmis, s.soru);
@@ -175,7 +183,15 @@ async function main() {
const okuyucu = danismanAkisi({
system,
mesajlar,
aracBaglami: { userId, sira: params.sira, tur: params.tur, profil },
aracBaglami: {
userId,
sira: params.sira,
tur: params.tur,
profil,
oncelikler: params.oncelikler ?? [],
ozelDurum: params.ozelDurum ?? [],
sihirbazIlVar: (params.iller?.length ?? 0) > 0,
},
onTamam: async (m) => {
tamMetin = m;
},