19 lines
1.6 KiB
Plaintext
19 lines
1.6 KiB
Plaintext
Bugünkü TEK iş: MWSE Node.js engine'ini Go'ya taşımak (milestone 0.1.0 çekirdeği). Hiçbir issue KAPATMA, etiketleme veya yorumlama — sadece kodu yaz. Issue'ları yalnızca SPEC olarak oku: `./tools/gitea issue view 21` (… 22, 23, 24, 25, 26).
|
||
|
||
Önce `CLAUDE.md` ve `todo.md`'yi oku (bağlam + KATI teknik kısıtlar).
|
||
|
||
Kapsam (SADECE engine; frontend/WebRTC/studio'ya GİRME):
|
||
1. Go WS sunucu iskeleti + bağlantı yaşam döngüsü (#21).
|
||
2. ÇEKİRDEK: concurrency modeli (#22) — room/peer state için owner-goroutine (actor) + channel, ya da `sync.RWMutex`. Node'daki "biri odadan ayrılırken başka goroutine o peer'e yazınca race" sorununu çöz. Tasarım gerekçeni `PORT-PROGRESS.md`'ye yaz.
|
||
3. WSTS protokolünü Go'da yeniden uygula (#23) — SDK giriş/çıkış sözleşmesi SABİT kalmalı.
|
||
4. MessageRouter + Services (Auth, Room, Session, IPPressure, DataTransfer, YourID) portu (#24).
|
||
5. Config + HTTP + graceful shutdown (#25).
|
||
6. `go test -race` ile testler (#26) — özellikle eşzamanlı join/leave/broadcast ve "ayrılırken-yazma" regression'ı yeşil olmalı.
|
||
|
||
Kurallar:
|
||
- `go-rewrite` branch'inde çalış (yoksa oluştur), commit at. `stable`'a dokunma, deploy etme, push'u bana bırak.
|
||
- İzin/şifre sorma. git.saqut.com okuman gerekirse `./tools/gitea` kullan — ama hiçbir issue'yu KAPATMA/değiştirme.
|
||
- Soru sorup bekleme; kararsız kalırsan en makulü seç, gerekçeyi yaz, devam et.
|
||
- Bittiğinde `PORT-PROGRESS.md`'ye yaz: ne yapıldı, ne kaldı, kritik kararlar (özellikle concurrency). Yarın ben inceleyeceğim.
|
||
- Bu tek işi bitir, sonra DUR.
|