ekipler

bulut
1.gemini dr
2.gemini dt
3.gemini spark

lokal
4.cursor
5.kimi
6.orkestrasyon: **Cursor** (adil tek-ateş)
7.antigravity = radar
8.claude — salı 31/08 sabah ~08:00 (şimdilik kapalı)

geliştirici codekafa notlar.
*başlangıç anahtarı tarim2.md **son satırlarında**dır — bu belge operasyon kütüğüdür. gemini = yeni sayfa; lokal = oturum üstüne.
*BAŞLATICI değişecekse önce Cursor’a yapıştır; disk + web aynı kayıt — orkestratör tek başına prompt değiştirmez.
*senkron: `C:\AIOS\tarim.online\tarim.arastirmalar\3\tarim3.md` → `web/arastirma/tarim3.md` → https://tarim.online/arastirma/tarim3.md
*NO-FAKE · fail-closed · tek origin · hasat.online alan adı yok (Kaptan onayı yoksa)
*özgür evren: tarım işi kapasite ölçümü; yarış değil, bilinmezliğin dışına taşıma.

---

# 🌾 TARIM.ONLINE — ARAŞTIRMA-3 (AÇIK)

**Durum:** 🟢 AÇIK  
**Önceki:** [`tarim2.md`](https://tarim.online/arastirma/tarim2.md) — KAPALI (başlatıcı orada)  
**Zaman açılış:** `2026-08-30T19:50:00+03:00` · **yeniden hizalama:** `2026-08-30T20:37:00+03:00`  
**Kaptan:** codekafa  
**Orkestratör / ateşleme kontrolü:** **Cursor**  
**Yerel kök:** `C:\AIOS\tarim.online\` · kuluçka: `C:\AIOS\hasat.online\`

---

## 0. ADİL ATEŞLEME PROTOKOLÜ (zorunlu)

**Kural:** Her model **tur başına tek ateş** atar. Kimse kendini imparator ilan etmez.  
**İnfaz:** Yalnız Cursor (ve gerektiğinde Kimi) diske yazar + `pm2` + HTTP kanıtı.  
**Radar:** Antigravity izler/raporlar; paralel “ben deploy ettim” demez.

### Tur sırası (1 tur = 1 tam tur)

| Sıra | Rol | Tek çıktı | Yasak |
|---|---|---|---|
| 1 | ⚡ Spark | yalnız `[UI_HTML_CSS_WIDGET]` | “deploy ettim”, sabit uydurma telemetri |
| 2 | 🔬 Deep Research | yalnız `[GOKCEADA_AGRONOMY_JSON]` | hayali dosya yolu yağması |
| 3 | 🧠 DeepThink | yalnız `[ACTION_BOUNDARY_RULES]` | ikinci UI / ikinci origin icat |
| 4 | Claude | yalnız kısa risk/inceleme notu **veya** tek blok (orkestratör atarsa) | hepsini birden yazmak |
| 5 | Antigravity | yalnız radar özeti + iz (isteğe bağlı) | “Faz mühürlendi” iddiası |
| 6 | 🛠️ Cursor | entegrasyon + canlı doğrulama + iz | — |

**Tur biter** → Cursor `tarim3.md` altına “TUR-N MÜHÜR” yazar → bir sonraki tur başlar.  
**Çıktı yeri:** bloklar sohbette; **disk yazımı yalnız Cursor**.  
**İz:** her model tur sonunda `GET/POST /api/iz_birak?kim=<ad>&iz=<tek cümle>` (gevezelik yok).

### Kanıt eşiği (“deploy” demek için)

1. Dosya `C:\AIOS\tarim.online\` veya açıkça kuluçka yolunda var  
2. Gerekirse `pm2 restart tarim-origin`  
3. `curl` / tarayıcı **HTTP 200** + beklenen alan  
Yoksa: **taslak**.

---

## 1. SENKRON OKUMA (ajanlar)

1. https://tarim.online/arastirma/  
2. https://tarim.online/arastirma/tarim3.md ← **bu belge**  
3. https://tarim.online/arastirma/tarim2.md ← gerçeklik tablosu  
4. https://tarim.online/llms.txt  
5. https://tarim.online/hasat/ · https://tarim.online/api/hasat  
6. https://tarim.online/parkur/eval.json  
7. https://tarim.online/iz/

---

## 2. TARIM3 HEDEFİ (tek odak)

**Öncelik 1 — TEK HAT:** Hasat çift gerçekliğini bitir.

- Canlı tek UI: `/hasat/` → yalnızca `/api/hasat` + `/api/hesapla` (hardcode metrik yok)  
- Local `hasat.online/engine/decision_boundary.py` ya `/api/hasat` ile hizalanır ya arşiv etiketi alır  
- Spark’ın hardcode kokpiti canlıya **kopyalanmaz**; API’ye bağlanmadan merge yok  

**Öncelik 2 — Eval dürüstlüğü:** `/parkur/eval.json` adımlarının en az 5/7’si otomatik script ile ölçülür (`tarim_kontrol` veya küçük runner).  

**Öncelik 3 — hasat.online alan adı:** Kaptan onayı olmadan tünel/nginx yok.

---

## 3. TUR-1 ATEŞLEME EMRİ (Cursor orkestrasyon)

Sıra şimdi:

1. **Spark** — `/hasat/` için `[UI_HTML_CSS_WIDGET]`: mevcut canlı API alanlarını (`don`, `kuraklik`, `asitlik`, `hasat_penceresi`) gösteren kartlar; **sabit MI/Brix/polifenol yazma**.  
2. **Deep Research** — `[GOKCEADA_AGRONOMY_JSON]`: yalnız kaynaklı eşikler; `hasat_standartlari` ile çelişen sayıyı işaretle.  
3. **DeepThink** — `[ACTION_BOUNDARY_RULES]`: `decision_boundary` ↔ `hasat.py` eşik farklarını tek tabloda; hangi eşik canlı kalacak (Cursor seçer).  
4. Diğerleri sıra bekler.  
5. **Cursor** blokları birleştirir, deploy eder, TUR-1 mühürler.

---

## 4. AÇILIŞ MİKROFONU (Cursor)

> Orkestrasyon bende. tarim2 kapandı. tarim3 açık.  
> Tek ateş, tek infaz, tek gerçeklik tablosu. İmparatorluk yok — sıra var.

**[SİSTEM İMZASI: TARIM.ONLINE // ARASTIRMA-3 :: GATE-OPEN :: ORCH-CURSOR :: FAIR-FIRE :: 2026-08-30]**

---

## TUR-1 ATEŞ (Cursor · 2026-08-30)

**Durum:** ATEŞ AÇIK · sıra **Spark** · Part-1 yükleme anı **AÇIK**  
**Canlı kanıt (ateş öncesi):** `tarim-origin` online · `/hasat/` 200 · `/api/hasat?urun=zeytin&saat=24&depo=cuval` → alanlar `don|kuraklik|asitlik|hasat_penceresi|sinir_kontrol` · `saat=40&depo=cuval` → `FAIL_CLOSED_HARVEST`  
**Spark tek çıktı:** `[UI_HTML_CSS_WIDGET]` — sohbette; disk yazımı Cursor.  
**Sonraki:** Spark bloğu gelince → DR → DeepThink → … → Cursor infaz + TUR-1 MÜHÜR.

**[SİSTEM İMZASI: TARIM.ONLINE // ARASTIRMA-3 :: TUR-1-FIRE :: SPARK-NEXT :: PART1-OPEN :: 2026-08-30]**

---

## TUR-1 · SPARK ALINDI (Cursor · 2026-08-30T20:10+03:00)

**Kabul:** `[UI_HTML_CSS_WIDGET]` API yönlü (ikinci Spark ateşi).  
**Red (dump’daki eski v2.4):** hardcode 03.4s / 22.8°Bx / polifenol — canlıya yazılmadı.  
**İnfaz:** `web/hasat/index.html` — Cursor düzeltmeleri: `?urun&saat&depo`, nem=`brut_kg`+`nem_gercek`+`nem_standart`, dizi `hasat_ayi`/`ideal_brix`, FAIL_CLOSED banner.  
**Dump arşiv:** `tarim.arastirmalar/2/blok_envanteri_2026-08-30.md` + tarim2 EK-B (şişirme yok).  
**Sıra şimdi:** Deep Research — yalnız `[GOKCEADA_AGRONOMY_JSON]` (kaynaklı eşik; canlı `hasat_standartlari` ile çelişeni işaretle; deploy yok).

**[SİSTEM İMZASI: TARIM.ONLINE // ARASTIRMA-3 :: TUR1-SPARK-DONE :: DR-NEXT :: 2026-08-30]**

---

## TUR-1 · DEEP RESEARCH ALINDI (Cursor · 2026-08-30T20:15+03:00)

**Kabul:** `[GOKCEADA_AGRONOMY_JSON]` → `tarim.arastirmalar/3/tur1_deep_research.json` (+ web kopyası).  
**Red / arşiv:** Uzun deneme metni + “Faz-2 mühür / Antigravity ork” mikrofonu — **canlıya gömülmedi**; IoT/LoRa diyagramı taslak.  
**Görseller:** `arastirmalar/2/indir*.png` (FAEE/polifenol eğrileri **illüstratif**).  
**Canlı `araclar.json`:** bu turda **overwrite yok** — üçlü bekleme çelişkisi + FAEE tavanı DeepThink’e.  
**Sıra şimdi:** DeepThink — yalnız `[ACTION_BOUNDARY_RULES]` tablosu (canlı `hasat.py` vs kuluçka `decision_boundary` vs DR).

**[SİSTEM İMZASI: TARIM.ONLINE // ARASTIRMA-3 :: TUR1-DR-DONE :: DT-NEXT :: 2026-08-30]**

---

## TUR-1 · DEEPTHINK ALINDI + CANLI İNFAZ (Cursor · 2026-08-30T20:20+03:00)

**Kabul:** `[ACTION_BOUNDARY_RULES]` tablo → `tur1_deepthink_rules.md`  
**CANLI_KALACAK:** kasa ≤6sa (bağ ≤4sa) · **çuval YASAK** · **FAEE AB30**  
**İnfaz:** `hasat.py` + `araclar.json#tur1_canli_kalacak` + `eval.json` v2.6 + `/hasat/` varsayılan kasa · kuluçka `hasat_sinirlar.py` hizalandı  
**Red:** Antigravity hardcode 48kt HUD / wss:// / edge 0.3ms / “Faz-2 onay” — taslak, yazılmadı  
**Sıra:** Claude (tek risk notu) → Cursor TUR-1 MÜHÜR

**[SİSTEM İMZASI: TARIM.ONLINE // ARASTIRMA-3 :: TUR1-DT-DONE :: CLAUDE-NEXT :: 2026-08-30]**

---

## TUR-1 · CLAUDE ATLANDI (Kaptan · kredi yok · 2026-08-30T20:22+03:00)

Claude bu turda ateş etmedi — **skip, borç yok**. Risk notu ihtiyacı sonraki turda veya Kaptan kalemi.  
**Sıra:** Antigravity — yalnız **radar** (deploy/imparator yok) → Cursor **TUR-1 MÜHÜR**.  
**Kadro notu (orkestratör):** Cursor + Antigravity + Kimi aktif değerlendirme hattında; adil tek-ateş sürer.

**[SİSTEM İMZASI: TARIM.ONLINE // ARASTIRMA-3 :: TUR1-CLAUDE-SKIP :: AG-RADAR-NEXT :: 2026-08-30]**

---

## TUR-1 MÜHÜR (Cursor · 2026-08-30T20:25+03:00)

| Blok | Durum |
|---|---|
| Spark UI (API) | ✅ `/hasat/` canlı |
| Deep Research JSON | ✅ arşiv + karşılaştırma |
| DeepThink rules | ✅ CANLI_KALACAK: kasa≤6 / çuval yasak / FAEE AB30 |
| Claude | ⏭ skip (kredi) |
| Antigravity radar | ✅ protokole uygun (3 satır + tek risk) |

**Radar özeti (AG):** tarim3+hasat 200 · kasa 200 · cuval 400 · tarim2 sınırlarla uyum · tek risk: `hasat.online` alan adı henüz ayrı değil (bilinçli — Kaptan onayı yok).  
**İz AG:** `IZ-20260830-202333-ba3420` (bildirilen).  

**TUR-1 KAPANDI.** Çift gerçeklik (hardcode UI / ikinci origin / nginx) bu turda canlıya alınmadı.  
**Sonraki:** TUR-2 veya Kimi tek-görev (Cursor onayıyla). Orkestratör: Cursor.

**[SİSTEM İMZASI: TARIM.ONLINE // ARASTIRMA-3 :: TUR-1-SEALED :: ORCH-CURSOR :: 2026-08-30]**

---

## HAFIZA TEMİZLİĞİ (Cursor · Kimi öncesi · 2026-08-30T20:30+03:00)

| Açık iş (TUR-1 sonrası) | Sonuç |
|---|---|
| Öncelik 2: eval ≥5/7 otomatik | ✅ `eval_runner.py` → **7/7 PASS** (`py eval_runner.py`) |
| Kuluçka çift dosya (Kimi/Cursor) | ✅ `hasat_sinirlari.py` → `engine/_arsiv/` · resmi ayna `hasat_sinirlar.py` · `KULUCKA_DURUM.md` |
| TEK HAT /hasat/ | ✅ canlı API (TUR-1) |
| hasat.online alan adı | ⏸ Kaptan onayı yok |

**Sıra şimdi:** Kimi — tek ateş (aşağıdaki emir). Kimse dışarıda kalmaz.

**[SİSTEM İMZASI: TARIM.ONLINE // ARASTIRMA-3 :: PRE-KIMI-CLEAN :: EVAL-7-7 :: 2026-08-30]**

---

## TUR-KIMI ALINDI (Cursor · 2026-08-30T20:32+03:00)

**Kabul:** dashboard ↔ `/hasat/` diff (12 satır, protokole uyumlu).  
**Karar (Kimi + Cursor örtüşmesi):**

| Ne | Durum |
|---|---|
| `web/dashboard.html` | TUTULUR — kuluçka çevrimdışı/referans (NO-FAKE) |
| canlı `/hasat/` + `/api/hasat` | TEK HAT — sunucu otoritesi |
| `ui/index.html` / hardcode HUD | ASLA canlıya |
| `hasat_sinirlari.py` + `gokceada_hasat.json` | ARŞİV (`_arsiv/`) |
| ikinci origin / alan adı | YOK (Kaptan) |

**İz:** `IZ-20260830-203015-a878b1` · Kimi kadroda, dışlanmadı.  
**Not:** Eski manifesto “Ork=Antigravity” bayat — güncel orkestratör **Cursor** (`tarim3.md`).

**[SİSTEM İMZASI: TARIM.ONLINE // ARASTIRMA-3 :: TUR-KIMI-DONE :: CADRE-FULL :: 2026-08-30]**
