Imported from saex-platform/saex (
AGENTS.md). Install upstream withnpx skills add saex-platform/saex. Copyright stays with the author.
SAEX geliştirme kuralları
24 Eylül 2026 güncel kullanıcı talimatı: Kullanıcı GitHub eşitlemesini yeniden açıkça istedi. 23 Eylül yerel çalışma duraklaması sona erdi. Tamamlanmış kaynak ve sahip belgeleri korunarak ayrı worktree/PR üzerinden yayımlanır; aynı head üzerinde yedi başarılı kontrol sonrası squash merge ve kanıta bağlı issue/Project/milestone eşitlemesi yapılır. Deployment, server restart ve GTA dosyası dağıtımı kapsam dışıdır. Aşağıdaki 23 Eylül ve önceki talimatlar tarihsel kayıttır. Kullanıcı 12 Eylül 2026'da kodlamaya geçilmesini ve her ekleme/değiştirme/çıkarmada dokümanların birlikte güncellenmesini istedi. Önceki D0 belgelerindeki yalnız dokümantasyon sınırı tarihsel teslimata aittir.
- Türkçe iletişim/dokümantasyon; teknik kimlik ve kaynak dosyaları İngilizce.
- Önce README, docs/development/status.md, ilgili normatif sözleşme ve docs/roadmap.md okunur. D1 kapıları kapanmadan D2 multiplayer hazır ilan edilmez.
- Her davranış değişiminde ilgili mimari sözleşme, uygulama durum tablosu ve değişiklik kaydı aynı değişiklikte güncellenir. Kaldırılan özellik ve geçiş etkisi de kaydedilir. docs/development/component-map.json ve tools/check_docs.py bu eşlemeyi denetler.
- Planlanan, kodlanmış, test edilmiş ve gerçek GTA üzerinde doğrulanmış farklı durumlardır. Geçen alt test bütün AC/R kaydını kapatmaz.
- C++20 core; .NET 10 C# araç/SDK. Oyun taşıması GNS, asset HTTPS; ENet fallback eklenmez. Kimlik/otorite/ABI davranışı değişiyorsa ADR ve kabul senaryosu güncellenir.
- GTA native adresleri tahmin edilmez. Bilinmeyen executable veya kanıtlanmamış capability güvenli ret verir. Orijinal oyun dosyaları değiştirilmez/dağıtılmaz.
- İndirilen C# için process/sandbox kanıtı gerekir. Yerel conformance probe, production IPC veya güvenlik sandbox'ı diye sunulmaz.
- Küçük, derlenen ve anlamlı negatif testleri olan kesitler teslim edilir. tools/build.ps1 ve docs/development/workflow.md izlenir; başarısız kontrol gizlenmez.
- Kullanıcı istemedikçe alt ajan veya ayrı task açılmaz. Git remote/push/deployment/server restart açık yetki gerektirir. Mevcut dosyaları silen Git cleanup yapılmaz.
GitHub eşitleme ve teslim
23 Eylül 2026 güncel kullanıcı talimatı: Sıradaki kodlama kesitine yerelde devam edilir; GitHub eşitlemesi şimdilik atlanır. Yeniden açık talimat verilene kadar fetch/API/CI takibi, push, PR/merge ve issue/Project eşitlemesi yapılmaz. Aşağıdaki yayın yetkileri bu geçici duraklama sırasında uygulanmaz; kaynak, test, belge ve yerel kanıt çalışması sürer.
20 Eylül 2026 güncel kullanıcı talimatı: Kullanıcı GitHub'ın kapsamlı biçimde güncellenmesini açıkça istedi. 16 Eylül durdurması sona erdi; SAEX kaynak/doküman eşitlemesi, fetch/API/CI, push, PR, yedi başarılı kontrol sonrası squash merge ve kanıta bağlı issue/milestone/Project güncellemesi yeniden yetkilidir. Deployment, server restart ve oyun dosyası dağıtımı bu yetkiye dahil değildir.
16–20 Eylül duraklaması tarihsel kayıttır. Birikmiş yerel çalışma önce korunur; güncel main üzerinde ayrı codex dalı/worktree ile uzaktaki değişiklikler kaybedilmeden birleştirilir.
Kullanıcı 14 Eylül 2026'da GitHub yapısının düzeltilmesini ve kaynakların tamamının güncel tutulmasını açıkça onayladı. Bu yetki SAEX kaynak/doküman commit, push, PR ve başarılı required checks sonrası normal squash merge için geçerlidir; deployment/server restart veya oyun dosyası dağıtma yetkisi değildir.
- Yeni tamamlanmış kesiti eski/merged
publish/*dalında biriktirmeyin. Başlangıçtagit fetch origin, branch/upstream ve dirty durumunu inceleyin; temiz güncelmainüzerindencodex/*dalı kullanın. - Aynı klasörde başka görev aktifse branch/index değiştirmeyin; yedekleyip ayrı worktree kullanın. Tamamlanmamış kaynakları bitmiş teslimat diye main'e almayın.
- Tamamlanan kod ve sahip belgelerini birlikte commit/push edin; PR'ın tüm yedi zorunlu kontrolünü geçirin ve yalnız doğrulanan head'i squash merge edin. Retleri veya unknown OS/hash politikalarını sırf CI için gevşetmeyin.
- Teslim sonunda çalışma alanı temizse yerel
main'e dönün,origin/mainile ff-only eşitleyin. Dirty/aktif iş varsa saklayın ve açık kalan farkı belirtin; cleanup/reset/force push kullanmayın. - GitHub güncellik iddiasında yerel dosyalar, GitHub blob kimlikleri, PR kabulü ve en son CI sonuçlarını ayrı doğrulayın. Biten kaynaklar aynı teslimatta yayımlanır; süren taslaklar ayrı kalır.
