beast-agent 1.9.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +130 -130
- package/bin/beast-agent.js +137 -137
- package/package.json +1 -1
- package/scripts/fix-electron.js +138 -138
- package/scripts/release.js +137 -131
- package/scripts/swap-electron.js +40 -40
- package/src/agent/agentdefs.js +122 -122
- package/src/agent/bots.js +580 -580
- package/src/agent/bus.js +389 -389
- package/src/agent/computeruse.js +200 -200
- package/src/agent/config.js +284 -284
- package/src/agent/discord.js +332 -332
- package/src/agent/engine.js +75 -10
- package/src/agent/kb.js +123 -123
- package/src/agent/llm.js +430 -430
- package/src/agent/logger.js +90 -90
- package/src/agent/mcp.js +427 -427
- package/src/agent/mem0.js +605 -605
- package/src/agent/memory.js +427 -427
- package/src/agent/mqueue.js +124 -124
- package/src/agent/pdf.js +20 -20
- package/src/agent/research.js +133 -133
- package/src/agent/scripts/news.py +113 -113
- package/src/agent/scripts/stealthsearch.py +30 -30
- package/src/agent/scripts/websearch.py +225 -225
- package/src/agent/searxng.js +325 -325
- package/src/agent/seeds/brainstorming/SKILL.md +90 -90
- package/src/agent/seeds/dispatching-parallel-agents/SKILL.md +120 -120
- package/src/agent/seeds/executing-plans/SKILL.md +60 -60
- package/src/agent/seeds/subagent-driven-development/SKILL.md +167 -167
- package/src/agent/seeds/systematic-debugging/SKILL.md +131 -131
- package/src/agent/seeds/test-driven-development/SKILL.md +152 -152
- package/src/agent/seeds/verification-before-completion/SKILL.md +63 -63
- package/src/agent/seeds/writing-plans/SKILL.md +162 -162
- package/src/agent/seeds/writing-skills/SKILL.md +229 -229
- package/src/agent/skills.js +652 -652
- package/src/agent/store.js +378 -378
- package/src/agent/telegram.js +155 -155
- package/src/agent/tokens.js +39 -39
- package/src/agent/usage.js +125 -125
- package/src/agent/watchers.js +312 -312
- package/src/agent/watext.js +80 -80
- package/src/agent/whatsapp.js +555 -555
- package/src/cron.js +255 -255
- package/src/main.js +348 -6
- package/src/preload.js +9 -0
- package/src/renderer/browserPreload.js +73 -73
- package/src/renderer/i18n.js +4 -0
- package/src/renderer/index.html +448 -409
- package/src/renderer/renderer.js +824 -41
- package/src/renderer/style.css +264 -5
|
@@ -1,152 +1,152 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: test-driven-development
|
|
3
|
-
description: Herhangi bir özellik veya bug fix uygulanırken, implementasyon kodu yazılmadan ÖNCE kullan — yeni özellik, davranış değişikliği, refactoring işlerinde test-önce disiplini zorunludur.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Test-Driven Development (TDD)
|
|
7
|
-
|
|
8
|
-
## Genel Bakış
|
|
9
|
-
|
|
10
|
-
Önce testi yaz. Başarısız olduğunu İZLE. Geçecek minimal kodu yaz.
|
|
11
|
-
|
|
12
|
-
**Çekirdek ilke:** Testin başarısız olduğunu izlemediysen, doğru şeyi
|
|
13
|
-
test ettiğini bilmezsin.
|
|
14
|
-
|
|
15
|
-
**Kuralın harfini ihlal etmek, ruhunu ihlal etmektir.**
|
|
16
|
-
|
|
17
|
-
## Demir Kanun
|
|
18
|
-
|
|
19
|
-
```
|
|
20
|
-
BAŞARISIZ TEST OLMADAN PRODUCTION KODU YOK
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
Testten önce kod yazdıysan: SİL. Baştan başla.
|
|
24
|
-
|
|
25
|
-
**İstisna yok:**
|
|
26
|
-
- "Referans olarak tutma"
|
|
27
|
-
- Testleri yazarken "uyarlama"
|
|
28
|
-
- Bakma bile
|
|
29
|
-
- Silmek silmektir. Testten taze implemente et.
|
|
30
|
-
|
|
31
|
-
## Ne Zaman
|
|
32
|
-
|
|
33
|
-
**Her zaman:** yeni özellik, bug fix, refactoring, davranış değişikliği.
|
|
34
|
-
|
|
35
|
-
**İstisnalar (kullanıcıya sorarak):** atılacak prototipler, üretilmiş kod,
|
|
36
|
-
config dosyaları.
|
|
37
|
-
|
|
38
|
-
"Bu seferlik TDD'yi atlayayım" düşüncesi = bahane. DUR.
|
|
39
|
-
|
|
40
|
-
## RED-GREEN-REFACTOR
|
|
41
|
-
|
|
42
|
-
### RED — Başarısız Test Yaz
|
|
43
|
-
|
|
44
|
-
Bir minimal test yaz: ne OLMASI gerektiğini gösterir.
|
|
45
|
-
|
|
46
|
-
**Gereksinimler:**
|
|
47
|
-
- Tek davranış
|
|
48
|
-
- Açık isim (`retry 3 kereden sonra vazgeçer`, "retry works" değil)
|
|
49
|
-
- Gerçek kod (kaçınılmaz değilse mock yok)
|
|
50
|
-
|
|
51
|
-
### RED'i Doğrula — Başarısızlığını İZLE
|
|
52
|
-
|
|
53
|
-
**ZORUNLU. Asla atlama.**
|
|
54
|
-
|
|
55
|
-
```
|
|
56
|
-
run_command: node --test tests/ornek.test.js
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
Doğrula:
|
|
60
|
-
- Test FAIL ediyor (error değil)
|
|
61
|
-
- Hata mesajı beklenen
|
|
62
|
-
- Eksik özellik yüzünden fail ediyor (typo değil)
|
|
63
|
-
|
|
64
|
-
**Test hemen geçti?** Mevcut davranışı test ediyorsun. Testi düzelt.
|
|
65
|
-
|
|
66
|
-
**Test error verdi?** Hatayı düzelt, doğru şekilde fail edene kadar tekrar.
|
|
67
|
-
|
|
68
|
-
### GREEN — Minimal Kod
|
|
69
|
-
|
|
70
|
-
Testi geçecek EN BASİT kodu yaz. Fazla özellik, gereksiz opsiyon,
|
|
71
|
-
"şimdiyken ekleyiver" YOK (YAGNI).
|
|
72
|
-
|
|
73
|
-
### GREEN'i Doğrula — Geçişini İZLE
|
|
74
|
-
|
|
75
|
-
**ZORUNLU.** Aynı komutu çalıştır:
|
|
76
|
-
- Test geçiyor
|
|
77
|
-
- Diğer testler hâlâ geçiyor
|
|
78
|
-
- Çıktı temiz (hata/uyarı yok)
|
|
79
|
-
|
|
80
|
-
**Test fail?** Testi değil KODU düzelt.
|
|
81
|
-
**Başka testler fail?** Şimdi düzelt.
|
|
82
|
-
|
|
83
|
-
### REFACTOR — Temizle
|
|
84
|
-
|
|
85
|
-
Sadece yeşilken: tekrar eden kodu kaldır, isimleri iyileştir, helper çıkar.
|
|
86
|
-
Testleri yeşil tut. Davranış EKLEME. Sonra sonraki failing test ile tekrarla.
|
|
87
|
-
|
|
88
|
-
## İyi Test
|
|
89
|
-
|
|
90
|
-
| Nitelik | İyi | Kötü |
|
|
91
|
-
|---|---|---|
|
|
92
|
-
| Minimal | Tek şey. İsmi "ve" içeriyorsa böl. | `email ve domain ve boşluğu doğrular` |
|
|
93
|
-
| Açık | İsim davranışı tarif eder | `test1` |
|
|
94
|
-
| Niyet gösterir | İstenen API'yi sergiler | Kodun ne yapacağını gizler |
|
|
95
|
-
|
|
96
|
-
- Gerçek davranışa assert et, mock davranışına asla
|
|
97
|
-
- Test yazmadan önce: bu testi FAIL eden production değişikliğini adlandırabilmeliyim
|
|
98
|
-
|
|
99
|
-
## Yaygın Bahaneler
|
|
100
|
-
|
|
101
|
-
| Bahane | Gerçek |
|
|
102
|
-
|---|---|
|
|
103
|
-
| "Test etmek için çok basit" | Basit kod da kırılır. Test 30 saniye. |
|
|
104
|
-
| "Sonra yazarım" | Sonradan yazılan test hemen geçer — bu bir şey KANITLAMAZ. Yanlış şeyi test edebilir, hatırladığın kenar durumları kapsar, unuttuğunları kaçırır. |
|
|
105
|
-
| "Testler sonra da aynı hedefe ulaşır" | Test-sonra "bu ne yapıyor?"u cevaplar; test-önce "bu ne YAPMALI?"ı cevaplar. Kod zaten yazılmışken test ondan biaslanır. |
|
|
106
|
-
| "Elle test ettim zaten" | Elle test kayıpsız tekrarlanamaz, kenar durumları kanıtlamaz. |
|
|
107
|
-
| "X saat kaybolacak, silmesem iyi olur" | Batık maliyet yanılgısı. Güvenemediğin kodu tutmak asıl kayıp. |
|
|
108
|
-
| "Keşif gerek önce" | Tamam — keşfi at, TDD ile baştan başla. |
|
|
109
|
-
| "Test yazması zor = tasarım kötü" | Teste dinle. Test etmek zor = kullanmak zor. |
|
|
110
|
-
| "TDD yavaşlatır" | TDD pragmatik yoldur: commit öncesi yakalar, regresyonu önler, korkusuz refactor sağlar. "Pragmatik" kısayol = prod'da debug. |
|
|
111
|
-
|
|
112
|
-
## Kırmızı Bayraklar — DUR, Baştan Başla
|
|
113
|
-
|
|
114
|
-
- Testten önce kod
|
|
115
|
-
- Implementasyondan sonra test
|
|
116
|
-
- Test anında geçti
|
|
117
|
-
- Testin neden fail ettiğini açıklayamıyorsun
|
|
118
|
-
- "Sonraya" eklenen testler
|
|
119
|
-
- "Sadece bu sefer" bahanesi
|
|
120
|
-
- "Elle test ettim zaten"
|
|
121
|
-
- "Ruha uygun, ritüele değil"
|
|
122
|
-
- "Referans olarak tutarım"
|
|
123
|
-
- "X saat boşa gideydi"
|
|
124
|
-
|
|
125
|
-
**Hepsi aynı anlama gelir: Kodu sil. TDD ile baştan başla.**
|
|
126
|
-
|
|
127
|
-
## Doğrulama Listesi
|
|
128
|
-
|
|
129
|
-
İşi tamamlanmış saymadan önce:
|
|
130
|
-
|
|
131
|
-
- [ ] Her yeni fonksiyonun testi var
|
|
132
|
-
- [ ] Her testi implementasyondan ÖNCE fail izledim
|
|
133
|
-
- [ ] Her test beklenen sebeple fail etti
|
|
134
|
-
- [ ] Her test için minimal kod yazdım
|
|
135
|
-
- [ ] Tüm testler geçiyor, çıktı temiz
|
|
136
|
-
- [ ] Kenar durumları ve hatalar kapsamlı
|
|
137
|
-
|
|
138
|
-
Tüm kutular dolmuyorsa TDD'yi atladın. Baştan başla.
|
|
139
|
-
|
|
140
|
-
## Takıldığında
|
|
141
|
-
|
|
142
|
-
| Sorun | Çözüm |
|
|
143
|
-
|---|---|
|
|
144
|
-
| Nasıl test edeceğimi bilmiyorum | İstediğin API'yi yaz, assertion'la başla, kullanıcıya sor |
|
|
145
|
-
| Test çok karmaşık | Tasarım karmaşık demektir. Arayüzü sadeleştir. |
|
|
146
|
-
| Her şeyi mock'lamam gerek | Kod fazla coupled. Bağımlılık enjeksiyonu kullan. |
|
|
147
|
-
| Test kurulumu devasa | Helper çıkar. Hâlâ karmaşıksa tasarımı sadeleştir. |
|
|
148
|
-
|
|
149
|
-
## Bug Bulunduğunda
|
|
150
|
-
|
|
151
|
-
Bug'ı yeniden üreten FAILING test yaz → TDD döngüsü → test hem fix'i
|
|
152
|
-
kanıtlar hem regresyonu önler. Testsiz bug fixi ASLA yapma.
|
|
1
|
+
---
|
|
2
|
+
name: test-driven-development
|
|
3
|
+
description: Herhangi bir özellik veya bug fix uygulanırken, implementasyon kodu yazılmadan ÖNCE kullan — yeni özellik, davranış değişikliği, refactoring işlerinde test-önce disiplini zorunludur.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Test-Driven Development (TDD)
|
|
7
|
+
|
|
8
|
+
## Genel Bakış
|
|
9
|
+
|
|
10
|
+
Önce testi yaz. Başarısız olduğunu İZLE. Geçecek minimal kodu yaz.
|
|
11
|
+
|
|
12
|
+
**Çekirdek ilke:** Testin başarısız olduğunu izlemediysen, doğru şeyi
|
|
13
|
+
test ettiğini bilmezsin.
|
|
14
|
+
|
|
15
|
+
**Kuralın harfini ihlal etmek, ruhunu ihlal etmektir.**
|
|
16
|
+
|
|
17
|
+
## Demir Kanun
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
BAŞARISIZ TEST OLMADAN PRODUCTION KODU YOK
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Testten önce kod yazdıysan: SİL. Baştan başla.
|
|
24
|
+
|
|
25
|
+
**İstisna yok:**
|
|
26
|
+
- "Referans olarak tutma"
|
|
27
|
+
- Testleri yazarken "uyarlama"
|
|
28
|
+
- Bakma bile
|
|
29
|
+
- Silmek silmektir. Testten taze implemente et.
|
|
30
|
+
|
|
31
|
+
## Ne Zaman
|
|
32
|
+
|
|
33
|
+
**Her zaman:** yeni özellik, bug fix, refactoring, davranış değişikliği.
|
|
34
|
+
|
|
35
|
+
**İstisnalar (kullanıcıya sorarak):** atılacak prototipler, üretilmiş kod,
|
|
36
|
+
config dosyaları.
|
|
37
|
+
|
|
38
|
+
"Bu seferlik TDD'yi atlayayım" düşüncesi = bahane. DUR.
|
|
39
|
+
|
|
40
|
+
## RED-GREEN-REFACTOR
|
|
41
|
+
|
|
42
|
+
### RED — Başarısız Test Yaz
|
|
43
|
+
|
|
44
|
+
Bir minimal test yaz: ne OLMASI gerektiğini gösterir.
|
|
45
|
+
|
|
46
|
+
**Gereksinimler:**
|
|
47
|
+
- Tek davranış
|
|
48
|
+
- Açık isim (`retry 3 kereden sonra vazgeçer`, "retry works" değil)
|
|
49
|
+
- Gerçek kod (kaçınılmaz değilse mock yok)
|
|
50
|
+
|
|
51
|
+
### RED'i Doğrula — Başarısızlığını İZLE
|
|
52
|
+
|
|
53
|
+
**ZORUNLU. Asla atlama.**
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
run_command: node --test tests/ornek.test.js
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Doğrula:
|
|
60
|
+
- Test FAIL ediyor (error değil)
|
|
61
|
+
- Hata mesajı beklenen
|
|
62
|
+
- Eksik özellik yüzünden fail ediyor (typo değil)
|
|
63
|
+
|
|
64
|
+
**Test hemen geçti?** Mevcut davranışı test ediyorsun. Testi düzelt.
|
|
65
|
+
|
|
66
|
+
**Test error verdi?** Hatayı düzelt, doğru şekilde fail edene kadar tekrar.
|
|
67
|
+
|
|
68
|
+
### GREEN — Minimal Kod
|
|
69
|
+
|
|
70
|
+
Testi geçecek EN BASİT kodu yaz. Fazla özellik, gereksiz opsiyon,
|
|
71
|
+
"şimdiyken ekleyiver" YOK (YAGNI).
|
|
72
|
+
|
|
73
|
+
### GREEN'i Doğrula — Geçişini İZLE
|
|
74
|
+
|
|
75
|
+
**ZORUNLU.** Aynı komutu çalıştır:
|
|
76
|
+
- Test geçiyor
|
|
77
|
+
- Diğer testler hâlâ geçiyor
|
|
78
|
+
- Çıktı temiz (hata/uyarı yok)
|
|
79
|
+
|
|
80
|
+
**Test fail?** Testi değil KODU düzelt.
|
|
81
|
+
**Başka testler fail?** Şimdi düzelt.
|
|
82
|
+
|
|
83
|
+
### REFACTOR — Temizle
|
|
84
|
+
|
|
85
|
+
Sadece yeşilken: tekrar eden kodu kaldır, isimleri iyileştir, helper çıkar.
|
|
86
|
+
Testleri yeşil tut. Davranış EKLEME. Sonra sonraki failing test ile tekrarla.
|
|
87
|
+
|
|
88
|
+
## İyi Test
|
|
89
|
+
|
|
90
|
+
| Nitelik | İyi | Kötü |
|
|
91
|
+
|---|---|---|
|
|
92
|
+
| Minimal | Tek şey. İsmi "ve" içeriyorsa böl. | `email ve domain ve boşluğu doğrular` |
|
|
93
|
+
| Açık | İsim davranışı tarif eder | `test1` |
|
|
94
|
+
| Niyet gösterir | İstenen API'yi sergiler | Kodun ne yapacağını gizler |
|
|
95
|
+
|
|
96
|
+
- Gerçek davranışa assert et, mock davranışına asla
|
|
97
|
+
- Test yazmadan önce: bu testi FAIL eden production değişikliğini adlandırabilmeliyim
|
|
98
|
+
|
|
99
|
+
## Yaygın Bahaneler
|
|
100
|
+
|
|
101
|
+
| Bahane | Gerçek |
|
|
102
|
+
|---|---|
|
|
103
|
+
| "Test etmek için çok basit" | Basit kod da kırılır. Test 30 saniye. |
|
|
104
|
+
| "Sonra yazarım" | Sonradan yazılan test hemen geçer — bu bir şey KANITLAMAZ. Yanlış şeyi test edebilir, hatırladığın kenar durumları kapsar, unuttuğunları kaçırır. |
|
|
105
|
+
| "Testler sonra da aynı hedefe ulaşır" | Test-sonra "bu ne yapıyor?"u cevaplar; test-önce "bu ne YAPMALI?"ı cevaplar. Kod zaten yazılmışken test ondan biaslanır. |
|
|
106
|
+
| "Elle test ettim zaten" | Elle test kayıpsız tekrarlanamaz, kenar durumları kanıtlamaz. |
|
|
107
|
+
| "X saat kaybolacak, silmesem iyi olur" | Batık maliyet yanılgısı. Güvenemediğin kodu tutmak asıl kayıp. |
|
|
108
|
+
| "Keşif gerek önce" | Tamam — keşfi at, TDD ile baştan başla. |
|
|
109
|
+
| "Test yazması zor = tasarım kötü" | Teste dinle. Test etmek zor = kullanmak zor. |
|
|
110
|
+
| "TDD yavaşlatır" | TDD pragmatik yoldur: commit öncesi yakalar, regresyonu önler, korkusuz refactor sağlar. "Pragmatik" kısayol = prod'da debug. |
|
|
111
|
+
|
|
112
|
+
## Kırmızı Bayraklar — DUR, Baştan Başla
|
|
113
|
+
|
|
114
|
+
- Testten önce kod
|
|
115
|
+
- Implementasyondan sonra test
|
|
116
|
+
- Test anında geçti
|
|
117
|
+
- Testin neden fail ettiğini açıklayamıyorsun
|
|
118
|
+
- "Sonraya" eklenen testler
|
|
119
|
+
- "Sadece bu sefer" bahanesi
|
|
120
|
+
- "Elle test ettim zaten"
|
|
121
|
+
- "Ruha uygun, ritüele değil"
|
|
122
|
+
- "Referans olarak tutarım"
|
|
123
|
+
- "X saat boşa gideydi"
|
|
124
|
+
|
|
125
|
+
**Hepsi aynı anlama gelir: Kodu sil. TDD ile baştan başla.**
|
|
126
|
+
|
|
127
|
+
## Doğrulama Listesi
|
|
128
|
+
|
|
129
|
+
İşi tamamlanmış saymadan önce:
|
|
130
|
+
|
|
131
|
+
- [ ] Her yeni fonksiyonun testi var
|
|
132
|
+
- [ ] Her testi implementasyondan ÖNCE fail izledim
|
|
133
|
+
- [ ] Her test beklenen sebeple fail etti
|
|
134
|
+
- [ ] Her test için minimal kod yazdım
|
|
135
|
+
- [ ] Tüm testler geçiyor, çıktı temiz
|
|
136
|
+
- [ ] Kenar durumları ve hatalar kapsamlı
|
|
137
|
+
|
|
138
|
+
Tüm kutular dolmuyorsa TDD'yi atladın. Baştan başla.
|
|
139
|
+
|
|
140
|
+
## Takıldığında
|
|
141
|
+
|
|
142
|
+
| Sorun | Çözüm |
|
|
143
|
+
|---|---|
|
|
144
|
+
| Nasıl test edeceğimi bilmiyorum | İstediğin API'yi yaz, assertion'la başla, kullanıcıya sor |
|
|
145
|
+
| Test çok karmaşık | Tasarım karmaşık demektir. Arayüzü sadeleştir. |
|
|
146
|
+
| Her şeyi mock'lamam gerek | Kod fazla coupled. Bağımlılık enjeksiyonu kullan. |
|
|
147
|
+
| Test kurulumu devasa | Helper çıkar. Hâlâ karmaşıksa tasarımı sadeleştir. |
|
|
148
|
+
|
|
149
|
+
## Bug Bulunduğunda
|
|
150
|
+
|
|
151
|
+
Bug'ı yeniden üreten FAILING test yaz → TDD döngüsü → test hem fix'i
|
|
152
|
+
kanıtlar hem regresyonu önler. Testsiz bug fixi ASLA yapma.
|
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: verification-before-completion
|
|
3
|
-
description: İşin bitti/düştü/geçti diye bildirmeden ÖNCE kullan — herhangi bir tamamlama iddiasından hemen önce; komutu çalıştırıp çıktısıyla kanıtlamadan başarı beyanı yasak.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Tamamlamadan Önce Doğrulama
|
|
7
|
-
|
|
8
|
-
## Çekirdek ilke
|
|
9
|
-
|
|
10
|
-
**Kanıt önce gelir, iddia sonra. Her zaman.**
|
|
11
|
-
|
|
12
|
-
**Kuralın harfini ihlal etmek, kuralın ruhunu ihlal etmektir.**
|
|
13
|
-
|
|
14
|
-
## Demir Kanun
|
|
15
|
-
|
|
16
|
-
```
|
|
17
|
-
TAZE DOĞRULAMA KANITI OLMADAN TAMAMLAMA İDDİASI YOK
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
Bu tur içinde doğrulama komutunu çalıştırmadıysan, geçtiğini söyleyemezsin.
|
|
21
|
-
|
|
22
|
-
## Kapı Fonksiyonu
|
|
23
|
-
|
|
24
|
-
Herhangi bir durum beyan etmeden / memnuniyet göstermeden ÖNCE:
|
|
25
|
-
|
|
26
|
-
1. **BELİRLE:** Bu iddiayı kanıtlayan komut nedir?
|
|
27
|
-
2. **ÇALIŞTIR:** Komutu TAM ve TAZE çalıştır (run_command) — önceki turun çıktısı geçersiz
|
|
28
|
-
3. **OKU:** Çıktının tamamını oku, exit code'a bak, hata sayısını say
|
|
29
|
-
4. **DOĞRULA:** Çıktı iddiayı destekliyor mu?
|
|
30
|
-
- Hayır → gerçek durumu kanıtıyla bildir
|
|
31
|
-
- Evet → iddiayı KANITLA birlikte bildir
|
|
32
|
-
5. **ANCAK O ZAMAN:** iddiada bulun
|
|
33
|
-
|
|
34
|
-
Bir adımı atlarsan doğrulamış değilsin, yalan söylüyorsundur.
|
|
35
|
-
|
|
36
|
-
## Yaygın İddia → Gerekli Kanıt
|
|
37
|
-
|
|
38
|
-
| İddia | Gerekli kanıt | Yetmez |
|
|
39
|
-
|---|---|---|
|
|
40
|
-
| Testler geçti | Test çıktısı: 0 failure | Önceki tur, "geçer herhalde" |
|
|
41
|
-
| Linter temiz | Linter çıktısı: 0 hata | Kısmi kontrol, çıkarım |
|
|
42
|
-
| Build başarılı | run_command: exit 0 | Linter geçti, loglar iyi görünüyor |
|
|
43
|
-
| Bug düzeltildi | Orijinal belirtinin testi: geçti | Kod değişti, düzeldi varsayımı |
|
|
44
|
-
| Ajan işi bitirdi | diff / tasks_list raporu eşleşiyor | Ajan "başarılı" dedi |
|
|
45
|
-
| Gereksinimler karşılandı | Madde madde kontrol listesi | Testler geçti |
|
|
46
|
-
|
|
47
|
-
## Kırmızı Bayraklar — DUR
|
|
48
|
-
|
|
49
|
-
- "Zaten çalıştırdım" (bu turda DEĞİLSE sayılmaz)
|
|
50
|
-
- "Geçmesi lazım", "kesin çalışır"
|
|
51
|
-
- Kodu değiştirip testi TEKRAR çalıştırmadan "düzeldi" demek
|
|
52
|
-
- Kısmi çıktıyla ("testlerin çoğu geçti") tamamlama iddiası
|
|
53
|
-
- Ajanın kendi "başarılı" raporunu doğrulamadan kullanıcıya aktarmak
|
|
54
|
-
- Çıktıyı okumadan exit code'a güvenmek
|
|
55
|
-
|
|
56
|
-
**Hepsi aynı anlama gelir: komutu çalıştır, çıktıyı oku, öyle bildir.**
|
|
57
|
-
|
|
58
|
-
## Paralel Ajan Notu
|
|
59
|
-
|
|
60
|
-
run_background ile devrettiğin işin raporu geldiğinde bu skill ÇİFT GEÇERLİ:
|
|
61
|
-
ajanın raporu bir iddiadır, kanıt değil. İddia görevle eşleşiyor mu?
|
|
62
|
-
Dosyalar gerçekten oluşmuş mu (list_dir/glob), komut gerçekten geçmiş mi
|
|
63
|
-
(task_status çıktısı)? Doğrulamadan kullanıcıya "bitti" deme.
|
|
1
|
+
---
|
|
2
|
+
name: verification-before-completion
|
|
3
|
+
description: İşin bitti/düştü/geçti diye bildirmeden ÖNCE kullan — herhangi bir tamamlama iddiasından hemen önce; komutu çalıştırıp çıktısıyla kanıtlamadan başarı beyanı yasak.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Tamamlamadan Önce Doğrulama
|
|
7
|
+
|
|
8
|
+
## Çekirdek ilke
|
|
9
|
+
|
|
10
|
+
**Kanıt önce gelir, iddia sonra. Her zaman.**
|
|
11
|
+
|
|
12
|
+
**Kuralın harfini ihlal etmek, kuralın ruhunu ihlal etmektir.**
|
|
13
|
+
|
|
14
|
+
## Demir Kanun
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
TAZE DOĞRULAMA KANITI OLMADAN TAMAMLAMA İDDİASI YOK
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Bu tur içinde doğrulama komutunu çalıştırmadıysan, geçtiğini söyleyemezsin.
|
|
21
|
+
|
|
22
|
+
## Kapı Fonksiyonu
|
|
23
|
+
|
|
24
|
+
Herhangi bir durum beyan etmeden / memnuniyet göstermeden ÖNCE:
|
|
25
|
+
|
|
26
|
+
1. **BELİRLE:** Bu iddiayı kanıtlayan komut nedir?
|
|
27
|
+
2. **ÇALIŞTIR:** Komutu TAM ve TAZE çalıştır (run_command) — önceki turun çıktısı geçersiz
|
|
28
|
+
3. **OKU:** Çıktının tamamını oku, exit code'a bak, hata sayısını say
|
|
29
|
+
4. **DOĞRULA:** Çıktı iddiayı destekliyor mu?
|
|
30
|
+
- Hayır → gerçek durumu kanıtıyla bildir
|
|
31
|
+
- Evet → iddiayı KANITLA birlikte bildir
|
|
32
|
+
5. **ANCAK O ZAMAN:** iddiada bulun
|
|
33
|
+
|
|
34
|
+
Bir adımı atlarsan doğrulamış değilsin, yalan söylüyorsundur.
|
|
35
|
+
|
|
36
|
+
## Yaygın İddia → Gerekli Kanıt
|
|
37
|
+
|
|
38
|
+
| İddia | Gerekli kanıt | Yetmez |
|
|
39
|
+
|---|---|---|
|
|
40
|
+
| Testler geçti | Test çıktısı: 0 failure | Önceki tur, "geçer herhalde" |
|
|
41
|
+
| Linter temiz | Linter çıktısı: 0 hata | Kısmi kontrol, çıkarım |
|
|
42
|
+
| Build başarılı | run_command: exit 0 | Linter geçti, loglar iyi görünüyor |
|
|
43
|
+
| Bug düzeltildi | Orijinal belirtinin testi: geçti | Kod değişti, düzeldi varsayımı |
|
|
44
|
+
| Ajan işi bitirdi | diff / tasks_list raporu eşleşiyor | Ajan "başarılı" dedi |
|
|
45
|
+
| Gereksinimler karşılandı | Madde madde kontrol listesi | Testler geçti |
|
|
46
|
+
|
|
47
|
+
## Kırmızı Bayraklar — DUR
|
|
48
|
+
|
|
49
|
+
- "Zaten çalıştırdım" (bu turda DEĞİLSE sayılmaz)
|
|
50
|
+
- "Geçmesi lazım", "kesin çalışır"
|
|
51
|
+
- Kodu değiştirip testi TEKRAR çalıştırmadan "düzeldi" demek
|
|
52
|
+
- Kısmi çıktıyla ("testlerin çoğu geçti") tamamlama iddiası
|
|
53
|
+
- Ajanın kendi "başarılı" raporunu doğrulamadan kullanıcıya aktarmak
|
|
54
|
+
- Çıktıyı okumadan exit code'a güvenmek
|
|
55
|
+
|
|
56
|
+
**Hepsi aynı anlama gelir: komutu çalıştır, çıktıyı oku, öyle bildir.**
|
|
57
|
+
|
|
58
|
+
## Paralel Ajan Notu
|
|
59
|
+
|
|
60
|
+
run_background ile devrettiğin işin raporu geldiğinde bu skill ÇİFT GEÇERLİ:
|
|
61
|
+
ajanın raporu bir iddiadır, kanıt değil. İddia görevle eşleşiyor mu?
|
|
62
|
+
Dosyalar gerçekten oluşmuş mu (list_dir/glob), komut gerçekten geçmiş mi
|
|
63
|
+
(task_status çıktısı)? Doğrulamadan kullanıcıya "bitti" deme.
|