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

@@ -413,12 +413,21 @@ export function dayanaksizSayilar(metin: string, kaynaklar: string[], adaySira?:
return [...eksik];
}
/**
* Çift tırnak içindeki alıntılar yasak-ifade (icermemeli) kontrolünden düşer:
* model "rahat girersin" demeyi REDDEDERKEN ifadeyi alıntılayabilir (s114,
* 6 Eki 2026: "\"Kontenjanın var, rahat girersin\" gibi bir tahmin yapamam").
* Tek tırnak kesme işaretiyle karıştığı için (İzmir'in) yalnız çift tırnak türleri.
*/
const alintisiz = (s: string) => s.replace(/["“”«»][^"“”«»]{0,80}["“”«»]/g, " ");
export function icerikKontrolu(
metin: string,
kontrol: { icermeli?: string[]; icermeliBiri?: string[]; icermemeli?: string[] } | undefined,
): Kontrol[] {
if (!kontrol) return [];
const m = tr(metin);
const my = tr(alintisiz(metin));
const k: Kontrol[] = [];
const eksik = (kontrol.icermeli ?? []).filter((s) => !m.includes(tr(s)));
if (kontrol.icermeli) k.push({ ad: "icermeli", durum: eksik.length ? "kaldi" : "gecti", neden: eksik.length ? `eksik: ${eksik.join(" | ")}` : undefined });
@@ -426,7 +435,7 @@ export function icerikKontrolu(
const var_ = kontrol.icermeliBiri.some((s) => m.includes(tr(s)));
k.push({ ad: "icermeliBiri", durum: var_ ? "gecti" : "kaldi", neden: var_ ? undefined : `hiçbiri yok: ${kontrol.icermeliBiri.join(" | ")}` });
}
const yasak = (kontrol.icermemeli ?? []).filter((s) => m.includes(tr(s)));
const yasak = (kontrol.icermemeli ?? []).filter((s) => my.includes(tr(s)));
if (kontrol.icermemeli) k.push({ ad: "icermemeli", durum: yasak.length ? "kaldi" : "gecti", neden: yasak.length ? `geçiyor: ${yasak.join(" | ")}` : undefined });
return k;
}