Hard batch G0022-G0026: 5/5 accepted; budget floor, CDS checks, mutation check

- generator: budget floor (2x oracle activations, 3x calls), static checks for CDS
  $parameters and UNION annotation
- harness/mutation.py: deterministic mutants of the reference; hidden tests must fail
- G0022 revalidated with harness fixes: oracle 100, null 0
- results in docs/faz1-tasarim.md 11f

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Kral
2026-10-03 05:16:30 +02:00
parent 3570d7ef9b
commit 32f03fcad4
53 changed files with 2931 additions and 14 deletions

View File

@@ -576,6 +576,35 @@ Diğer bulgular:
- Üretilen görevler örnekteki isimleri kopyalıyor (`T02_HIDDEN`, `T14_TEST`). Kozmetik.
- Statik kontrol ve abaplint ön kontrolü SAP'ye gitmez. Pilottaki 37 başarısız denemenin ~18'ini doğrulama koşusundan önce yakalar (tahmin).
## 11f. Zor görev partisi (2026-10-03, G0022–G0026)
Amaç: pilot sonrası iyileştirmeleri pilotta düşen tiplerle ölçmek. Görevler: CLAS D (exception), CLAS E (packed sayılı eski kod, `LENGTH` tuzağı), parametreli CDS, UNION'lı CDS, FM. Sonuçlar: `runs/gen/hard.json`.
| | Pilot (20) | Parti (5, zor) |
|---|---|---|
| İlk denemede kabul | 3/20 (%15) | 1/5 (%20): G0023 |
| Toplam kabul | 16/20 | 4/5 üretimde; G0022 harness düzeltmesinden sonra → 5/5 |
| LLM çağrısı / görev | 2,75 | 2,6 |
| Maliyet / kabul edilen görev | 0,16 $ | **0,097 $** (0,39 $ / 5) |
| En büyük çıktı | 393k (kaçak) | 61,5k |
SAP'ye gitmeden yakalanan hata: **2** (abaplint `parser_error`, G0026 ×2). Statik kontroller bu partide hata bulmadı: 30 karakter, tablo tipi, `LENGTH` hataları tekrar etmedi (prompt kuralları etkili).
SAP'de düşen 8 doğrulama:
| Neden | Sayı | Durum |
|---|---|---|
| Harness: referans objeler bağımlılık sırasında kurulmuyor (G0022, G0026) | 2 | Düzeltildi: generator seed/reference listesini sıraya dizer |
| Harness: abaplint `CX_STATIC_CHECK`'i tanımıyor → exception hiyerarşisi G6'da düşer (G0022). LLM koşularında da kategori D'yi 0'a indirirdi | 1 | Düzeltildi: G6 bu mesajı yok sayar (G1 aktivasyonu kontrol eder) |
| CDS view entity'de `:p_from` (G0024) | 1 | Statik kontrol + prompt kuralı |
| UNION'da `@Metadata.ignorePropagatedAnnotations` yok (G0025) | 1 | Statik kontrol + prompt kuralı |
| Referansın kendi testlerinde tip hatası (G0022) | 2 | Onarım turu |
| Abaplint hatası; asıl neden G6 harness hatasıydı (G0022) | 1 | Düzeltildi |
Ek bulgu: G0022'nin bütçesi (12 aktivasyon) referansın kendisine (13) yetmiyordu → oracle disiplinden 5 puan kaybetti. Generator artık bütçeye alt sınır koyar: aktivasyon ≥ 2 × oracle, tool çağrısı ≥ 3 × oracle. Mevcut görevlerden sadece G0022 etkilendi.
G0022 bundle'ı değiştirilmeden yeniden doğrulandı (harness düzeltmeleri + bütçe): oracle 100, null 0 → kabul.
## 12. Açık sorular
Cevaplananlar (Adım 1.2):