{
  "schema": "ggmes.ryte-normalizasyon.v1",
  "uretildi": "2026-09-09T02:55:00+03:00",
  "uretici": "FB (Claude Fable 5.1)",
  "gorev": {"operationId": "OP-RYTE-550", "taskId": "OP-RYTE-550-FB", "replyTo": "OM-0044-3E8A-2080", "alindi": "OM-0044-3E8A-2087"},
  "durum": "ADAY — backend (statik-kapi lib/desen-defteri.mjs) ve defter (parkur/desen/defter.json) DEĞİŞMEDİ; bu dosya yalnız sözleşme + gerçek örnek",
  "ilkeler": [
    "Üç birim ayrı tutulur ve asla toplanmaz: rp (ryte-point, tam sayı) · tokenRyte (rp/1000, 3 ondalık) · etkilesimRyte (2017: etkileşim/8).",
    "Usage (prompt_tokens/completion_tokens) yoksa rp/tokenRyte/tier = null; usage_kaynak='usage_yok'. Hash beyanı, metin içi sayı veya sha ile usage üretilmez.",
    "tier alanı tek başına anlamsızdır; her zaman tier_basis ('rp'|'ryte'|'etkilesim') + olcek_id ile birlikte yazılır.",
    "Kesir: tokenRyte < ölçeğin min_inclusive değeri ise tier=null, tier_kaynak='olcek_disi_kesir' (ryte_orchestrator ZERO davranışı). rp tabanlı ölçekte aynı ölçüm ALF olabilir; ikisi de yazılır, biri seçilmez.",
    "Piramit ataması (layer/kind/taxonomyVersion) tüketim veya kabul puanı değildir; 'operator-assignment' yalnız etiket.",
    "Sürüm çelişkileri gizlenmez: kayıt hangi formül/ölçek/piramit sürümüyle üretildiyse o kimlik (id + kaynak sha256) kayda gömülür."
  ],
  "kaynaklar": {
    "RYTE.yaml": {"sha256": "b6c6d6a5e6aa038ddcf768e7aa82d6b5968afd019d3b18bbd8d5f89adf4d9033", "boyut": 14681, "not": "part2/RYTE/RYTE.yaml birebir aynı"},
    "RYTE_LOG.json": {"sha256": "caa60ac646e7c9ff1b3d5f9488e3f68f929031fcb2fc4f3b49373073fc558a1a", "kayit": 147, "ts": "2026-05-06 21:25:53 → 2026-05-07 03:12:00"},
    "ryte_orchestrator.py": {"sha256": "b0f35f094ab2160b3ac27bf33f7409e2dc48b5ffa9ad3b5a028742320ed9549f", "boyut": 48884},
    "part2/PIRAMIT/PIRAMIT.yaml": {"sha256": "a970373af22a17a8b3933e1df51bdf5e2da272779073ca28b6b581d82ee3bf05", "version": "2.0.0", "not": "Astra evidence taxonomySourceSha256 ile AYNI"},
    "MEMORY_CARD_RYTE_SCHEMA.md": {"sha256": "42ca3c35d2963566d03472a8b170a4ed8dca102895d1cd121e62eaadd31230f3", "version": "v5.0-MOTOR"},
    "ryte_poster.svg": {"sha256": "e465fd985ad37c7c259bf9e77b6a4472d80a1ca472b70706304dda4909b59b59", "not": "metinsiz path; 3 bölge PNG (kumas-finish/fb/poster_sol|orta|sag.png) ile okundu; 2017 siyasi kampanya içeriği → PNG buluta konmaz"},
    "event-metrics.mjs (canlı)": {"url": "https://ggmes.com/event-metrics.mjs", "boyut": 4897, "sema": "ggmes.measurement.v1", "formula": "router-token-ryte-v1"},
    "metrics-index.json (canlı)": {"sha256": "a1f315d852c9de08d7133ffc7fcdf601452b103f6c3f55fdde0e47d8050fa0c0", "olcum": 1},
    "evidence 655f1c84 (canlı)": {"sha256": "0210e4ed8692690b91a133b9bb39ec7bad2de80884bb0004ef849e7a13dc2ef3", "not": "formulaSourceSha256 f135af0f… RYTE.yaml DEĞİL (b6c6d6a5…); KAPANDI (CR #2121 + FB sha teyidi 03:5x): = C:/AIOS/PRXS/router/ryte_piramit.py (22792 B; 444/ ve YANKI/ kopyaları aynı) — RYTE_LOG'u yazan kod, yani Astra ölçümü ile RYTE_LOG aynı formül kaynağına bağlı"}
  },
  "birimler": {
    "rp": {"ad": "ryte-point", "tip": "int>=0", "tanim": "in*w_in + out*w_out + cache_read*w_cr + cache_write*w_cw", "kaynak": "RYTE.yaml:107-112 DONUSUM; RYTE_LOG 147/147 tutuyor"},
    "tokenRyte": {"tip": "float, 3 ondalık", "tanim": "rp / divisor(1000)", "kaynak": "RYTE_LOG round(rp/1000,3) 147/147; ryte_orchestrator round(...,2) → sözleşme 3 ondalık seçer, 2 ondalık kayıt 'yuvarlama':2 ile işaretlenir"},
    "etkilesimRyte": {"tip": "float, 3 ondalık", "tanim": "olculen_etkilesim / 8", "kaynak": "RYTE.yaml:57 ORIJINAL_2017 '8 etkilesim = 1 Ryte'; poster merdiven 1. satır", "olculen_etkilesim": "ggmes odasında SAYILABİLEN alanlar: reply_to (yanıt sayısı) + reaksiyon.like + reaksiyon.dislike; görüntüleme/takip ölçülemez → sayılmaz", "pencere_zorunlu": true}
  },
  "formul_surumleri": {
    "router-token-ryte-v1": {"inputWeight": 1, "outputWeight": 10, "divisor": 1000, "cacheReadWeight": null, "cacheWriteWeight": null, "kaynak": "event-metrics.mjs (Astra), evidence.formula", "not": "cache alanı yok; usage.total_tokens formüle girmez"},
    "donusum-v2-cache": {"inputWeight": 1, "outputWeight": 10, "cacheReadWeight": 0, "cacheWriteWeight": 1, "divisor": 1000, "kaynak": "RYTE.yaml:107-112 + ryte_orchestrator.py:73-88", "not": "cache_write>0 olan kayıtta v1 ile farklı rp üretir; cache alanı olmayan usage'ta v1 ile özdeş"},
    "runtime-bonus-md (UYGULANMAZ)": {"prxs_compose": 1.5, "prxs_route_T1T2": 2, "prxs_ai_query": 0.5, "kaynak": "MEMORY_CARD §4.2 yalnız MD; hiçbir kodda/logda yok → kanıtsız, kayda alınmaz"}
  },
  "olcek_surumleri": {
    "OLCEK@1": {"birim": "ryte", "min_inclusive": 1, "kaynak": "RYTE.yaml:43-49; ryte_orchestrator RYTE_SCALE + ryte_rank(ryte_units)", "kademeler": [["PY",1,100],["ALF",101,1000],["KP",1001,20000],["MP",20001,100000],["GP",100001,1000000],["SEM",1000001,11000000],["SEO",11000001,100000000]], "kesir": "<1 → ZERO (orchestrator:101-102)"},
    "OLCEK@2": {"birim": "rp", "min_inclusive": 0, "kaynak": "MEMORY_CARD §4.1:449-456; C:/AIOS/PRXS/router/ryte_piramit.py:174-181 (RYTE_LOG'u yazan kod)", "kademeler": [["PY",0,100],["ALF",101,1000],["KP",1001,20000],["MP",20001,100000],["GP",100001,500000],["SEM",500001,1000000],["SEO",1000001,null]], "olculen": "RYTE_LOG 147/147 bu ölçekle rp tabanlı (KP 80 / ALF 67); OLCEK@1 ryte tabanlı 0/147"},
    "OLCEK@2017": {"birim": "etkilesimRyte", "min_inclusive": 1, "kaynak": "RYTE.yaml:86-92 olcek_katlama; poster sağ merdiven", "kademeler": [["PY",1,100,"Ryte"],["KP",101,1000,"Kiloryte"],["MP",1001,10000,"Megaryte"],["GP",10001,100000,"Gigaryte"],["Sem",100001,1000000,"Teraryte"],["Seo",1000001,10000000,"Exaryte"],["Aff",10000001,null,"Zetaryte"]], "not": "poster satır etiketleri bir kademe kaymış ('1 Kiloryte 1000 Ryte 1-100'); yaml aralıkları esas alındı; posterde 6. ve 7. satır ikisi de 'Teraryte' yazıyor (yazım hatası, yaml Exaryte/Zetaryte)"}
  },
  "piramit_surumleri": {
    "2.0.0": {"kaynak": "part2/PIRAMIT/PIRAMIT.yaml sha a970373a", "katmanlar": ["KACAN","KAPAN","KATAN","KAZAN","KALAN"], "bonus": ["KASAN","KAAN"], "birlestirici": "KAYAN", "alanlar": ["L1_domain{CODE,RESEARCH,BUILD,DATA}","L2_intent{SCAN,FIX,ENHANCE,GUARD}","L3_urgency{CRITICAL,NORMAL,LOW}","L5_rank{XL,L,M,S,XS}","S_temporal{URGENT,DEFERRED,SCHEDULED}","A_quality{GOLD,FAST}","D_scope{CROSS,SINGLE}"], "not": "L4 hiçbir kaynakta yok; Astra 'layer':'KACAN','kind':'operator-assignment' bu sürüme bağlı"},
    "pipeline_eslemeleri": {
      "ORIJINAL_2017 (RYTE.yaml:60-83)": {"BULURUM":"KAZAN","SINIFLANDIRIRIM":"KACAN","ANALIZ_EDERIM":"KAPAN","YORUMLARIM":"KALAN","KARSINA_CIKARIM":"KATAN"},
      "PIPELINE (RYTE.yaml:122-171)": {"BULURUM":"KATAN","SINIFLANDIRIRIM":"KAPAN","ANALIZ_EDERIM":"KACAN","YORUMLARIM":"KALAN","KARSINA_CIKARIM":"KAZAN"},
      "ryte_orchestrator.pipeline_map (:212-249)": {"BULURUM":"KATAN","SINIFLANDIRIRIM":"KAPAN","ANALIZ_EDERIM":"KACAN","YORUMLARIM":"KALAN","KARSINA_CIKARIM":"KAYAN/RyteStation"},
      "PIRAMIT.yaml ryte_map (:47,:92,:108,:149,:168)": {"BULURUM":"KACAN|KATAN","SINIFLANDIRIRIM":"KAPAN|KATAN","ANALIZ_EDERIM":"KACAN","YORUMLARIM":"KALAN","KARSINA_CIKARIM":"KAZAN"},
      "MEMORY_CARD §6 (:544-575)": {"BULURUM":"KACAN+KATAN","SINIFLANDIRIRIM":"KAPAN","ANALIZ_EDERIM":"KAZAN","YORUMLARIM":"KALAN+KASAN","KARSINA_CIKARIM":"KAAN"},
      "MEMORY_CARD §11.1 (:952-958)": {"BULURUM":"KACAN|KAZAN","SINIFLANDIRIRIM":"KAPAN","ANALIZ_EDERIM":"KATAN","YORUMLARIM":"KASAN|KAAN","KARSINA_CIKARIM":"KALAN"},
      "stabil": "SINIFLANDIRIRIM→KAPAN (5/6), YORUMLARIM→KALAN (4/6); diğer üç adım 6 kaynakta 3+ farklı katman",
      "kural": "Kayıt 'pipelineMapId' taşımadan adım→katman çevirisi yapılmaz (altı eşleme çelişik; ölçüm kumas-finish/fb/piramit_surum_olcum.md §C.3)"
    }
  },
  "kayit_semasi": {
    "schema": "ggmes.ryte-kayit.v1",
    "zorunlu": ["kayitId(uuid)", "eventId(OM-0044-3E8A-N)", "odaSha12", "olcumZamani(ISO-8601+TZ)", "usage{input,output,cacheRead|null,cacheWrite|null,kaynak}", "rp|null", "tokenRyte|null", "tier{deger|null,basis,olcekId,kaynak}", "etkilesim{sayi|null,pencere{since,until},yanit,like,dislike}", "etkilesimRyte|null", "formulaId", "formulaSourceSha256", "piramit{layer,kind,taxonomyVersion,sourceSha256}|null", "producer", "evidenceUrl|null", "evidenceSha256|null"],
    "opsiyonel": ["model", "provider", "elapsedSeconds", "costUsd(pricingId zorunlu)", "cevher", "promptHead100(PII riski; varsayılan yazılmaz)"],
    "yasak": ["tier alanı basis/olcekId olmadan", "usage=hash/metin türevi", "üç birimin toplanması", "FUEL adı tek başına (fuel_pct | ryte_per_usd)"]
  },
  "ornekler": [
    {
      "ad": "Ö1 — Astra canlı ölçüm (tek gerçek token ölçümü)",
      "kayit": {"eventId": "OM-0044-3E8A-2043", "odaSha12": "ed01b8ab03be", "requestId": "655f1c84-6bfa-49da-a081-6862c4e80b13", "olcumZamani": "2026-09-08T22:14:20.456135+00:00", "usage": {"input": 257, "output": 64, "cacheRead": null, "cacheWrite": null, "kaynak": "response.usage (local-ollama qwen2.5:1.5b, finish=length)"}, "rp": 897, "tokenRyte": 0.897, "tier": [{"deger": null, "basis": "ryte", "olcekId": "OLCEK@1", "kaynak": "olcek_disi_kesir (0.897<1 → orchestrator ZERO)"}, {"deger": "ALF", "basis": "rp", "olcekId": "OLCEK@2", "kaynak": "897 ∈ 101-1000"}], "etkilesim": {"sayi": 0, "pencere": {"since": 1991, "until": 2092}, "yanit": 0, "like": 0, "dislike": 0}, "etkilesimRyte": 0.0, "formulaId": "router-token-ryte-v1", "formulaSourceSha256": "f135af0f6dceca0440d111b27140130a14a06f15b1f8c8a71c6f15c4aeb98e2e", "piramit": {"layer": "KACAN", "kind": "operator-assignment", "taxonomyVersion": "2.0.0", "sourceSha256": "a970373af22a17a8b3933e1df51bdf5e2da272779073ca28b6b581d82ee3bf05"}, "producer": "Astra event-metrics", "evidenceUrl": "/bulut/metrics/655f1c84-6bfa-49da-a081-6862c4e80b13.json", "evidenceSha256": "0210e4ed8692690b91a133b9bb39ec7bad2de80884bb0004ef849e7a13dc2ef3"},
      "kabul": "257 + 10*64 = 897 pt → 0.897 tokenRyte ✓; etkilesimRyte ayrı birim ✓"
    },
    {
      "ad": "Ö2 — RYTE_LOG.json ilk kayıt (AIOS 2026-05-06)",
      "kayit": {"eventId": null, "odaSha12": null, "olcumZamani": "2026-05-06T21:25:53 (TZ yok, kaynak biçimi)", "usage": {"input": 491, "output": 80, "cacheRead": null, "cacheWrite": null, "kaynak": "RYTE_LOG tokens{in,out}"}, "rp": 1291, "tokenRyte": 1.291, "tier": [{"deger": "KP", "basis": "rp", "olcekId": "OLCEK@2", "kaynak": "log alanı 'tier':'KP' (ryte_piramit ryte_tier(rp))"}, {"deger": "PY", "basis": "ryte", "olcekId": "OLCEK@1", "kaynak": "1.291 ∈ 1-100"}], "etkilesim": null, "etkilesimRyte": null, "formulaId": "donusum-v2-cache (cache=0 ile v1 özdeş)", "formulaSourceSha256": "b6c6d6a5e6aa038ddcf768e7aa82d6b5968afd019d3b18bbd8d5f89adf4d9033", "piramit": {"layer": null, "kind": "ryte_piramit 7-alan", "taxonomyVersion": "2.0.0", "alanlar": {"L1_domain": "CODE", "L2_intent": "SCAN", "L3_urgency": "CRITICAL", "L5_rank": "XL", "S_temporal": "SCHEDULED", "A_quality": "GOLD", "D_scope": "CROSS"}}, "producer": "ryte_piramit.py (C:/AIOS/PRXS/router)", "evidenceUrl": null, "evidenceSha256": null},
      "kabul": "aynı ölçüm iki ölçekte KP ve PY → tier_basis olmadan tier YAZILMAZ (çelişkinin kanıtı)"
    },
    {
      "ad": "Ö3 — Oda kaydı, usage YOK, etkileşim VAR (OP-2051 kökü)",
      "kayit": {"eventId": "OM-0044-3E8A-2051", "usage": {"input": null, "output": null, "cacheRead": null, "cacheWrite": null, "kaynak": "usage_yok"}, "rp": null, "tokenRyte": null, "tier": [{"deger": null, "basis": null, "olcekId": null, "kaynak": "usage_yok"}], "etkilesim": {"sayi": 7, "pencere": {"since": 1991, "until": 2092}, "yanit": 7, "like": 0, "dislike": 0, "olcum": "tarim.online/api/ggmes-oda listen since=1990 limit=200 → reply_to=OM-0044-3E8A-2051 sayısı 7"}, "etkilesimRyte": 0.875, "tierEtkilesim": {"deger": null, "basis": "etkilesim", "olcekId": "OLCEK@2017", "kaynak": "olcek_disi_kesir (0.875<1)"}, "formulaId": null, "piramit": null, "producer": "FB ölçüm 2026-09-09 02:4x", "evidenceUrl": null},
      "kabul": "usage yoksa null ✓; hash beyanı ile usage üretilmedi ✓; etkilesimRyte token birimine karıştırılmadı ✓"
    },
    {
      "ad": "Ö4 — OLUMSUZ: sahte usage (hash türevi) → RED",
      "kayit": {"eventId": "OM-0044-3E8A-2062", "usage": {"input": 990, "output": 421, "kaynak": "sha256 ilk hanelerinden türetildi"}, "rp": 5200, "tokenRyte": 5.2},
      "beklenen": "RED: usage.kaynak 'response.usage' değil; evidenceSha256 yok; rp doğrulanamaz"
    },
    {
      "ad": "Ö5 — OLUMSUZ: tier basis'siz → RED",
      "kayit": {"eventId": "OM-0044-3E8A-2043", "usage": {"input": 257, "output": 64, "kaynak": "response.usage"}, "rp": 897, "tokenRyte": 0.897, "tier": "ALF"},
      "beklenen": "RED: tier dize; basis/olcekId yok"
    }
  ],
  "ggmes_baglanti_plani": {
    "defter": "lib/desen-defteri.mjs anlam-v1 zaten tier:null tier_kaynak:'usage_yok' ve adim:null 'beyan_yok' yazıyor (canlı /desen.json?anlam=1 seq 2092 ölçüldü) → bu sözleşme onun üstüne biner, onu değiştirmez",
    "kaynak": "/bulut/metrics-index.json (Astra) → eventId eşleşen kayıtta tokenRyte/tier[] doldurulur; eşleşmeyen kayıt null kalır",
    "etkilesim": "/bak.txt zaten yanıt%/zincir% sayıyor (lib/bak-endeks.mjs); etkilesimRyte = (reply_to+like+dislike)/8 aynı sayımdan türetilebilir, pencere = endeksin MERDIVEN penceresi",
    "sonraki_adim": "Kaptan kararı gerekli: ggmes tier_basis varsayılanı 'rp' (ölçülen fiil) mi 'ryte' (RYTE.yaml OLCEK) mi; karar gelmeden defter tier null kalır"
  }
}
