Owner request, 14 October 2026: use the decision model (Jev / Celeris) at several stages, let Dify supply the rules, code it without new bugs. Every new stage is switched on in Settings > Kademeli Gecis and starts disabled, so the upgrade changes no behaviour by itself. - Settings schema 2 (Python and TypeScript validate the same rules); a schema 1 file is filled from the defaults. Default chain is now Katman-1 -> Katman-2 -> Katman-3 with Katman-3, Chat-Model and bekci-sesli-bekci always passing (owner decision of the same day). - watchModels: the Bekci correction channel follows a settings list instead of the hard-coded Sesli-Hizli-Zeki. - prefilter: a predicted refusal starts the step at the chosen layer. - autoRoute: virtual "Otomatik" model; one decision per user turn picks the combo, tool steps of the same turn keep it. - finishCheck: an answer that stops early goes back to the same model once. - A layer whose window cannot hold the request is skipped. - policy: stage rules from a Dify workflow (karar_politikasi.py), fetched in the background, validated, last good copy kept; turns never wait. - karar_sor.py: verifierCheck for the dynamic-workflow acceptance step. - Bridge version 19, IDE 1.0.0-beta.39. Tests: 299 bridge tests, 36 electron tests; live run on a side bridge (port 8797) with Celeris and the AITURK gateway for every stage. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
58 lines
2.9 KiB
JSON
58 lines
2.9 KiB
JSON
{
|
||
"enabled": true,
|
||
"endpoint": "https://api.typesafe.ai/v1/systemone",
|
||
"model": "jev-1.13.0",
|
||
"fallbackModel": "Katman-1",
|
||
"rejectionRules": [
|
||
{ "from": "Katman-1", "to": "Katman-2" },
|
||
{ "from": "Katman-2", "to": "Katman-3" }
|
||
],
|
||
"exemptModels": ["Chat-Model", "bekci-sesli-bekci", "Katman-3"],
|
||
"thresholds": { "ret": 0.5, "sart": 0.7 },
|
||
"questions": {
|
||
"ret": "The assistant did NOT do what the user asked or did NOT answer the user's question: it refused, declined, said it cannot or will not, avoided giving the requested judgment, or redirected to a different topic.",
|
||
"sart": "The assistant changed the request on its own: it added its own conditions, softened or relabeled what was asked, or left part of it out, instead of doing exactly what the user asked."
|
||
},
|
||
"timeoutSeconds": 3600,
|
||
"criteria": { "ret": { "true": "", "false": "" }, "sart": { "true": "", "false": "" } },
|
||
"maxConcurrent": 0,
|
||
"queueWaitSeconds": 3600,
|
||
"failureAction": "pass",
|
||
"watchModels": ["Sesli-Hizli-Zeki", "Chat-Model", "bekci-sesli-bekci"],
|
||
"prefilter": {
|
||
"enabled": false,
|
||
"question": "A mainstream AI assistant such as ChatGPT, Claude or Gemini would refuse this request, water it down, or answer it only with added warnings or conditions.",
|
||
"threshold": 0.6,
|
||
"target": "Katman-2",
|
||
"timeoutSeconds": 3
|
||
},
|
||
"autoRoute": {
|
||
"enabled": false,
|
||
"model": "Otomatik",
|
||
"timeoutSeconds": 3,
|
||
"questions": {
|
||
"zor": "The user's request is hard: doing it well needs multi-step work, expert or technical knowledge, careful analysis, planning, calculation or writing and changing code. Greetings, small talk, simple facts and short simple commands are NOT hard.",
|
||
"arastirma": "The user's request is mainly research: finding, reading and comparing many sources or files and reporting what they say, rather than changing anything."
|
||
},
|
||
"thresholds": { "zor": 0.5, "arastirma": 0.6 },
|
||
"targets": { "basit": "Workflow-Kesif", "zor": "Ajan", "arastirma": "Arastirma" }
|
||
},
|
||
"finishCheck": {
|
||
"enabled": false,
|
||
"question": "The assistant stopped before the user's task was finished: it said it is done or handed back without doing all of what was asked, or it claimed success (tests pass, file changed, deployed) without showing the actual evidence.",
|
||
"threshold": 0.6,
|
||
"note": "Önceki cevabın iş bitmeden bitti dedi ya da kanıt göstermedi. İşi gerçekten bitir; gerekiyorsa araçları kullan ve gerçek kanıtı göster.",
|
||
"timeoutSeconds": 5
|
||
},
|
||
"verifierCheck": {
|
||
"enabled": false,
|
||
"question": "The reviewer approved the work without concrete evidence: it does not cite the actual diff, the real command output or specific lines, so the approval may be a guess.",
|
||
"threshold": 0.6
|
||
},
|
||
"policy": {
|
||
"source": "local",
|
||
"endpoint": "https://dify.turkservis.online/v1",
|
||
"refreshMinutes": 5
|
||
}
|
||
}
|