`[̀-ͯ]` bir aralık sınıfı; biome bunu "bir taban karakter +
birleştirici karakter çiftini de eşleyebilir" diye işaretliyordu.
NFD zaten her aksanı kendi işaretine ayırdığı için doğrudan `\p{M}`
(tüm birleştirici işaretler) hem doğru hem daha geniş.
Gerçek Volvo/PSA/Subaru yakalamalarıyla çıktı birebir aynı kaldı.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Prod'da browse onarması Peugeot'yu taşıdı (64 bayat satır → 39 güncel
model) ama Volvo'da "upstream returned no models" ile korumalı dala
düştü. Sebep: `BACKEND_MODEL_PATH`'te p5volvo yok ve yedek keşif yedi
bilinen yolu deniyor — Volvo'nunki `/extern/vehicles/models`, yani
ÇOĞUL "vehicles", listede yok. Volvo/Polestar browse bu yüzden sıfır
model tohumluyor ve emekli P4 listesini sunmaya devam ediyordu.
Otoritatif kaynak her P5 backend'inin kendi `/extern/catmeta`
yanıtındaki `data.catalogEntryPoint.path`. Canlı doğrulandı:
p5volvo → /p5volvo/extern/vehicles/models (60 model: XC90, V40…)
p5psa → /p5psa/extern/vehicle/catalogs
İki değişiklik:
- p5psa ve p5volvo `BACKEND_MODEL_PATH`'e sabitlendi (sıfır ek istek).
p5psa zaten çalışıyordu ama her çağrıda beş boşa probe isteğiyle
yeniden keşfediliyordu.
- `resolveModelPathFromCatmeta()`: haritada olmayan backend artık yedi
kör probe yerine tek otoritatif catmeta çağrısı yapıyor. Sonuç
backend başına 30 gün cache'leniyor (olumsuz sonuç dahil), yani
backend ömrü boyunca tek istek; PL24 bir ucu taşırsa kendiliğinden
düzeliyor. Hata durumunda null → eski yedeğe düşer.
8 yeni test. api 638 test geçiyor.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>