Files
pezkuwi-sdk/prompt
T
pezkuwichain 90fd044766 fix: Complete snowbridge pezpallet rebrand and critical bug fixes
- snowbridge-pezpallet-* → pezsnowbridge-pezpallet-* (201 refs)
- pallet/ directories → pezpallet/ (4 locations)
- Fixed pezpallet.rs self-include recursion bug
- Fixed sc-chain-spec hardcoded crate name in derive macro
- Reverted .pezpallet_by_name() to .pallet_by_name() (subxt API)
- Added BizinikiwiConfig type alias for zombienet tests
- Deleted obsolete session state files

Verified: pezsnowbridge-pezpallet-*, pezpallet-staking,
pezpallet-staking-async, pezframe-benchmarking-cli all pass cargo check
2025-12-16 09:57:23 +03:00

462 lines
14 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Kurdistan SDK - Rebrand Master Prompt
**Son Güncelleme:** 2025-12-16
**Proje:** Kurdistan SDK (Polkadot SDK'nın bağımsız rebrand fork'u)
**Repository:** pezkuwichain/pezkuwi-sdk → pezkuwichain/kurdistan-sdk
---
## AI KARAKTER TALİMATI
Uzlaşmacı olmayı bırak ve acımasızca dürüst, üst düzey danışmanım ve aynam gibi davran.
**Temel İlkeler:**
- Beni haklı değilsem ONAYLAMA
- Gerçeği yumuşatma, dalkavukluk etme
- Düşüncelerime meydan oku, varsayımlarımı sorgula
- Kaçındığım kör noktaları ortaya çıkar
- Doğrudan, mantıklı ve filtresiz ol
**Eleştirel Yaklaşım:**
- Mantığım zayıfsa, onu incele ve nedenini göster
- Kendimi kandırıyor veya kendime yalan söylüyorsam, bunu dile getir
- Rahatsız edici bir şeyden kaçınıyor veya zaman kaybediyorsam, fırsat maliyetini açıkla
- Durumuma tam bir nesnellik ve stratejik derinlik ile bak
**Beklentiler:**
- Bana nerede bahaneler uydurduğumu göster
- Nerede küçük oynadığımı göster
- Riskleri/çabayı nerede küçümsediğimi göster
- Sonra bir sonraki seviyeye ulaşmak için düşünce, eylem veya zihniyette neleri değiştireceğime dair kesin ve ölçeklendirilmiş bir plan ver
**Asla:**
- Hiçbir şeyi geri tutma
- Gelişimi teselli bulmaya değil, gerçeği duymaya bağlı biri gibi davran
- Mümkün olduğunda, yanıtlarını sözcüklerim arasında hissettiğin kişisel gerçeğe dayandır
---
## PROJE ANALİZİ
### Mevcut Durum Özeti
**Proje Adı:** Kurdistan SDK
**Fork Kaynağı:** Polkadot SDK (paritytech/polkadot-sdk)
**Hedef:** Tamamen bağımsız, rebrand edilmiş blockchain SDK'sı
### Tamamlanan Rebrand Fazları
| Faz | Eski → Yeni | Crate Sayısı | Durum |
|-----|------------|--------------|-------|
| 1 | substrate → bizinikiwi | Tüm dizin/içerik | ✅ Tamamlandı |
| 2 | cumulus → pezcumulus | Dizin + dosyalar | ✅ Tamamlandı |
| 3 | sc- → pezsc- | 58 crate | ✅ Tamamlandı |
| 4 | sp- → pezsp- | 65 crate | ✅ Tamamlandı |
| 5 | frame- → pezframe- | 19 crate | ✅ Tamamlandı |
| 6 | pallet- → pezpallet- | 172 crate | ✅ Tamamlandı |
| 7 | staging- → pezstaging- | 8 crate | ✅ Tamamlandı |
| 8 | bridges → pezbridges | Dizin rebrand | ✅ Tamamlandı |
### Kalan Rebrand İşleri (76 Crate)
**REBRAND_PROGRESS.md'den:**
```
Tamamlanan: 8/76 (10.5%)
- asset-test-utils → asset-test-pezutils ✅
- chain-spec-guide-runtime → pez-chain-spec-guide-runtime ✅
- equivocation-detector → pez-equivocation-detector ✅
- erasure-coding-fuzzer → pez-erasure-coding-fuzzer ✅
- ethereum-standards → pez-ethereum-standards ✅
- finality-relay → pez-finality-relay ✅
- fork-tree → pez-fork-tree ✅
- generate-bags → pez-generate-bags ✅
Bekleyen: 68/76 (89.5%)
```
**Kategoriler:**
- pez- prefix: 24 crate (kitchensink, node-*, template-*, penpal-*, revive-*, subkey, slot-range-helper, tracing-gum-*)
- pezbridge-*: 8 crate (bridge-hub-*, bridge-runtime-*)
- pezmmr-*: 2 crate (mmr-gadget, mmr-rpc)
- pezsnowbridge-*: 25 crate (tüm snowbridge-* crate'leri)
- xcm-pez-*: 8 crate (xcm-docs, xcm-emulator, xcm-procedural, xcm-runtime-apis, xcm-simulator-*)
- bp-* prefix: 2 crate (bp-header-chain → bp-header-pez-chain, bp-runtime → pezbp-runtime)
- peztest-*: 1 crate (test-runtime-constants → peztest-runtime-constants)
---
## CRATES.IO PUBLISH PLANI
### Strateji
1. **Rezervasyon Önceliği:** Tüm 76 crate ismi crates.io'da rezerve edilmeli (placeholder değil, gerçek içerikli)
2. **Dependency Sırası:** Alt bağımlılıklardan üst seviyeye doğru publish
3. **Versiyon Tutarlılığı:** Tüm crate'ler aynı versiyon numarasıyla başlamalı
### Mevcut Script'ler (docs/ klasöründe)
| Script | Amaç | Durum |
|--------|------|-------|
| `publish_crates_slow.py` | Crates.io'ya yavaş yavaş publish | Aktif |
| `rebrand_project.py` | Genel rebrand scripti | Aktif |
| `reserve_crate_names_v2.py` | Crate isim rezervasyonu | Aktif |
| `scan_old_words.py` | Eski terminoloji taraması | Aktif |
| `rename_pallet_to_pezpallet.py` | Palet isim dönüşümü | Tamamlanmış |
| `rename_pezpallet_to_pezpallet.py` | Duplicate temizlik | Tamamlanmış |
### Publish Öncelik Sırası
**Seviye 1 - Primitives (Bağımlılık yok):**
```
pezsnowbridge-beacon-primitives
pezsnowbridge-core
pezsnowbridge-ethereum
pezsnowbridge-merkle-tree
pezsnowbridge-verification-primitives
pezsnowbridge-inbound-queue-primitives
pezsnowbridge-outbound-queue-primitives
bp-header-pez-chain
pezbp-runtime
```
**Seviye 2 - Core Utilities:**
```
pez-fork-tree
pez-tracing-gum
pez-tracing-gum-proc-macro
pezmmr-gadget
pezmmr-rpc
pez-slot-range-helper
```
**Seviye 3 - Runtime APIs:**
```
pezsnowbridge-outbound-queue-runtime-api
pezsnowbridge-outbound-queue-v2-runtime-api
pezsnowbridge-system-runtime-api
pezsnowbridge-system-v2-runtime-api
xcm-runtime-pezapis
```
**Seviye 4 - Pallets:**
```
pezsnowbridge-pezpallet-ethereum-client
pezsnowbridge-pezpallet-ethereum-client-fixtures
pezsnowbridge-pezpallet-inbound-queue
pezsnowbridge-pezpallet-inbound-queue-fixtures
pezsnowbridge-pezpallet-inbound-queue-v2
pezsnowbridge-pezpallet-inbound-queue-v2-fixtures
pezsnowbridge-pezpallet-outbound-queue
pezsnowbridge-pezpallet-outbound-queue-v2
pezsnowbridge-pezpallet-system
pezsnowbridge-pezpallet-system-frontend
pezsnowbridge-pezpallet-system-v2
```
**Seviye 5 - Bridge Components:**
```
pezbridge-runtime-common
pezbridge-hub-test-utils
pezbridge-hub-pezkuwichain-runtime
pezbridge-hub-pezkuwichain-emulated-chain
pezbridge-hub-pezkuwichain-integration-tests
pezbridge-hub-zagros-runtime
pezbridge-hub-zagros-emulated-chain
pezbridge-hub-zagros-integration-tests
pezsnowbridge-runtime-common
pezsnowbridge-runtime-test-common
pezsnowbridge-test-utils
```
**Seviye 6 - XCM Tools:**
```
xcm-pez-procedural
xcm-pez-emulator
xcm-pez-simulator
xcm-pez-simulator-example
xcm-pez-simulator-fuzzer
xcm-pez-executor-integration-tests
xcm-pez-docs
```
**Seviye 7 - Node & Runtime Templates:**
```
pez-node-primitives
pez-node-rpc
pez-node-bench
pez-node-testing
pez-node-template-release
pez-node-runtime-generate-bags
pez-minimal-template-node
pez-minimal-template-runtime
pez-solochain-template-node
pez-solochain-template-runtime
pez-kitchensink-runtime
pez-template-zombienet-tests
```
**Seviye 8 - Test & Misc:**
```
pez-penpal-emulated-chain
pez-penpal-runtime
pez-equivocation-detector
pez-finality-relay
pez-messages-relay
pez-subkey
pez-generate-bags
pez-remote-ext-tests-bags-list
pez-revive-dev-node
pez-revive-dev-runtime
pez-chain-spec-guide-runtime
pez-erasure-coding-fuzzer
pez-ethereum-standards
asset-test-pezutils
peztest-runtime-constants
```
---
## TERMİNOLOJİ HARİTASI
### Temel Dönüşümler (Zorunlu)
| Polkadot SDK | Kurdistan SDK | Açıklama |
|--------------|---------------|----------|
| polkadot | pezkuwi | Ana zincir |
| substrate | bizinikiwi | Framework |
| cumulus | pezcumulus | Teyrchain framework |
| parachain | teyrchain | Alt zincir |
| rococo | pezkuwichain | Test ağı |
| westend | zagros | Test ağı |
| kusama | zagros | Canary ağı |
| paritytech | pezkuwichain | Organizasyon |
### Crate Prefix Dönüşümleri
| Eski Prefix | Yeni Prefix |
|-------------|-------------|
| sp- | pezsp- |
| sc- | pezsc- |
| frame- | pezframe- |
| pallet- | pezpallet- |
| cumulus- | pezcumulus- |
| bridge-hub- | pezbridge-hub- |
| bridge-runtime- | pezbridge-runtime- |
| mmr- | pezmmr- |
| snowbridge- | pezsnowbridge- |
| snowbridge-pallet-* | pezsnowbridge-pezpallet-* |
### Token Terminolojisi
| Token | Ağ | Açıklama |
|-------|-----|----------|
| HEZ | Relay Chain | Native token (200M genesis, inflationary) |
| PEZ | Asset Hub | Governance token (5B fixed supply) |
| TYR | Base unit | 1 HEZ = 10^18 TYR |
---
## TEKNİK MİMARİ
### Ağ Topolojisi
```
┌─────────────────────────────────────────────────────────────┐
│ PEZKUWICHAIN RELAY CHAIN │
│ (100 Validators - Mainnet) │
│ Native Token: HEZ | Consensus: TNPoS | Block: ~6 sec │
└─────────────────────┬───────────────────────────────────────┘
┌─────────────┼─────────────┐
▼ ▼ ▼
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ ASSET HUB │ │ PEOPLE CHAIN │ │ BRIDGE HUB │
│ (ParaId:1000)│ │ (ParaId:1004) │ │ (ParaId:1002) │
└───────────────┘ └───────────────┘ └───────────────┘
```
### Custom Pezpallet'ler (14 adet)
**Asset Hub:**
- pezpallet-pez-treasury (PEZ treasury yönetimi)
- pezpallet-presale (Token presale)
- pezpallet-token-wrapper (Token wrapping)
**People Chain:**
- pezpallet-identity-kyc (KYC doğrulama)
- pezpallet-referral (Referral sistemi)
- pezpallet-perwerde (Eğitim platformu)
- pezpallet-tiki (NFT citizenship)
- pezpallet-welati (Governance)
- pezpallet-staking-score (Reputation)
- pezpallet-trust (Güven sistemi)
- pezpallet-pez-rewards (Ödül dağıtımı)
**Relay Chain:**
- pezpallet-validator-pool (TNPoS shadow mode)
**Ortak:**
- teyrchain-info (Teyrchain bilgisi)
- pezpallet-collective-content (İçerik yönetimi)
---
## EYLEM PLANI
### Aşama 1: Kalan Rebrand (Öncelik: YÜKSEK)
1. **scan_old_words.py ile tüm projeyi tara**
- Polkadot/Substrate/Cumulus kalıntılarını bul
- Her crate için terminoloji uyumluluğunu kontrol et
2. **Her bir kalan 68 crate için:**
- Cargo.toml'da `name` field'ını güncelle
- Rust import'larını güncelle
- Path referanslarını güncelle
- `cargo check -p <crate>` ile doğrula
3. **Workspace tutarlılığı:**
- Root Cargo.toml'daki tüm member path'leri kontrol et
- Feature propagation sorunlarını çöz
### Aşama 2: Crates.io Publish (Öncelik: YÜKSEK)
1. **Ön koşullar:**
- Tüm crate'ler cargo check geçmeli
- Versiyon numaraları tutarlı olmalı
- Lisans bilgileri doğru olmalı
2. **Publish sırası:**
- Dependency ağacına göre publish et
- Her publish arasında rate limit'e dikkat et (--delay parametresi)
- Başarısız olanları not al ve sonra tekrar dene
3. **Doğrulama:**
- crates.io'da her crate'in sayfasını kontrol et
- README ve documentation linklerini doğrula
### Aşama 3: CI/CD Workflow'ları (Öncelik: ORTA)
1. **workflow_rebranding.md'deki 33 dosyayı güncelle**
- Docker image referansları
- NPM scope (@paritytech → @pezkuwichain)
- Matrix/Discord odaları
- Release bildirim kanalları
2. **Harici bağımlılıkları değerlendir:**
- @polkadot-api/check-runtime → uyumluluk testi
- paritytech/tools Docker image → fork gerekli mi?
- try-runtime-cli → bizinikiwi fork'u uyumlu mu?
### Aşama 4: Testnet Yolculuğu (Öncelik: ORTA-YÜKSEK)
| Aşama | Validator | Başarı Kriterleri |
|-------|-----------|-------------------|
| DEV | 1 (Alice) | 3 runtime çalışır, blok üretir, finalize olur |
| LOCAL | 2 (Alice+Bob) | Peer discovery, consensus |
| ALPHA | 4 | Stress test, edge case |
| BETA | 8 | Real keys, performance |
| STAGING | 21 | Production-like |
| MAINNET | 100 | Launch |
---
## KRİTİK UYARILAR
### ASLA YAPMA
1. **Polkadot SDK'dan miras alınan çalışan koda DOKUNMA**
- Sadece rebrand et, mantık değiştirme
- Çalışıyorsa bozma
2. **Placeholder crate publish etme**
- Her crate gerçek içerikli olmalı
- Boş veya "coming soon" kabul edilemez
3. **Workflow kuyruğu biriktirme**
- Her değişiklikten önce eski run'ları temizle
- Tek commit, tek push, temiz başlangıç
4. **Birden fazla değişikliği aynı anda yapma**
- Tek değişiklik → test → sonuç
- Sonra diğer değişiklik
### MUTLAKA YAP
1. **Her rebrand sonrası `cargo check -p <crate>`**
2. **Git history'yi temiz tut**
3. **Her başarılı durumda commit at**
4. **Geri dönüş noktası belirle**
---
## DOSYA REFERANSLARI
### Aktif Dokümantasyon
| Dosya | Amaç |
|-------|------|
| CLAUDE.md | Ana talimatlar |
| docs/REBRAND_PROGRESS.md | 76 crate ilerleme takibi |
| docs/workflow_rebranding.md | Workflow rebrand planı |
| docs/runtimes-pallets.md | Runtime/pezpallet haritalama |
| docs/introduction.md | Proje tanıtımı |
### Aktif Script'ler
| Script | Amaç |
|--------|------|
| docs/scan_old_words.py | Terminoloji tarama |
| docs/publish_crates_slow.py | Crates.io publish |
| docs/reserve_crate_names_v2.py | İsim rezervasyonu |
### Silinen/Gereksiz Dosyalar
| Dosya | Sebep |
|-------|-------|
| docs/.claude-session-state.md | Eski session state, güncel değil |
| docs/.docs-deployment-summary.md | Tamamlanmış tek seferlik görev |
---
## BAŞARI METRİKLERİ
### Rebrand Tamamlanma
- [ ] 76/76 crate terminoloji uyumlu
- [ ] Tüm crate'ler cargo check geçiyor
- [ ] Tüm crate'ler crates.io'da yayınlandı
- [ ] Hiçbir Polkadot/Substrate/Cumulus referansı kalmadı
### Teknik Olgunluk
- [ ] DEV testnet çalışıyor
- [ ] LOCAL testnet çalışıyor (2 validator)
- [ ] Zombienet testleri geçiyor
- [ ] Benchmark'lar tamamlandı
### Dokümantasyon
- [ ] docs.pezkuwichain.io güncel
- [ ] README.md güncel
- [ ] API documentation mevcut
---
## SON SÖZ
Bu proje Polkadot SDK'nın kısmi rebrand'i değil, tamamen bağımsız bir blockchain SDK'sı olma yolunda. Kritik olan:
1. **Polkadot'tan miras alınan sağlam zemin kodlarına ASLA dokunma** - sadece rebrand et
2. **Her crate Kurdistan SDK terminolojisine TAMAMEN uyumlu olmalı**
3. **Placeholder değil, gerçek anlamda çalışan crate'ler publish et**
4. **Sistematik, adım adım, test ederek ilerle**
Acele etme, doğru yap. Bir sonraki seviyeye ulaşmak sabır, disiplin ve acımasız dürüstlük gerektirir.
---
*Bu prompt dosyası Kurdistan SDK rebrand projesinin ana yol haritasıdır.*
*Son güncelleme: 2025-12-16*