Skip to content

[Wave 3] Medium — TR mirror: docs/usermanuals/en/data/ #639

Open

Description

@cemililik

Wave 3 · 13 finding(s) in 13 fix package(s). Mirror drift across small document pairs in this directory.

Findings

  • DOC-TR12-018 (TR mirror, Medium) — TR mirror drift in docs/usermanuals/en/data/deduplication.md: MinHash LSH ~500K rows/sec; runs 10x faster than simhash; recall >95%
    severity Medium
    Where. EN docs/usermanuals/en/data/deduplication.md:14-15,74 · TR docs/usermanuals/tr/data/deduplication.md:14-15,74
    English text. MinHash LSH ~500K rows/sec; runs 10x faster than simhash; recall >95%
    Turkish text. ~500K satır/s; simhash'tan 10× hızlı; recall >%95
    Which is correct. No measurement in repo.
    Proposed correction (Turkish text for the -tr page). Hız ve recall rakamlarını 'ölçülmemiş, korpusa bağlı' notuyla yumuşatın veya kaldırın; yalnızca 'MinHash büyük korpuslarda simhash'a göre daha ölçeklenebilirdir (datasketch gerekir)' deyin.

  • DOC-TR12-019 (TR mirror, Medium) — TR mirror drift in docs/usermanuals/en/data/deduplication.md: ⚠ near-duplicate pairs: 47 (...) ; jq '.near_duplicates[]' ...
    severity Medium
    Where. EN docs/usermanuals/en/data/deduplication.md:22-28 · TR docs/usermanuals/tr/data/deduplication.md:22-28
    English text. ⚠ near-duplicate pairs: 47 (...) ; jq '.near_duplicates[]' ...
    Turkish text. ⚠ near-duplicate çift: 47 (...); jq '.near_duplicates[]' ...
    Which is correct. Neither: report stores only counts (near_duplicate_pairs per split, near_duplicate_summary.pairs_per_split).
    Proposed correction (Turkish text for the -tr page). Örnek: jq '.near_duplicate_summary.pairs_per_split' audit/data_audit_report.json -> {"train": 47}; çift-düzeyi satır listesi üretilmediğini belirtin.

  • DOC-TR12-020 (TR mirror, Medium) — TR mirror drift in docs/usermanuals/en/data/deduplication.md: Threshold 3 also catches these (same first half, slight extension).
    severity Medium
    Where. EN docs/usermanuals/en/data/deduplication.md:55-59 · TR docs/usermanuals/tr/data/deduplication.md:54-59
    English text. Threshold 3 also catches these (same first half, slight extension).
    Turkish text. Eşik 3 bunları da yakalar (aynı ilk yarı, hafif uzatma).
    Which is correct. Neither: measured Hamming 17 (EN) / 13 (TR) > 3.
    Proposed correction (Turkish text for the -tr page). Eşik 3 bunları YAKALAMAZ (ölçülen Hamming mesafesi 13); uzatılmış cümleleri yakalamak için eşik büyütmek yüksek false-positive getirir. Yalnızca noktalama/büyük-küçük harf farkları yakalanır.

  • DOC-TR12-021 (TR mirror, Medium) — TR mirror drift in docs/usermanuals/en/data/deduplication.md: jq '[.near_duplicate_summary.pairs[].row_b] | unique' ... > dup_indices.json
    severity Medium
    Where. EN docs/usermanuals/en/data/deduplication.md:91-101 · TR docs/usermanuals/tr/data/deduplication.md:91-101
    English text. jq '[.near_duplicate_summary.pairs[].row_b] | unique' ... > dup_indices.json
    Turkish text. identical
    Which is correct. Neither: no pair-level list exists; command fails (cannot iterate over null).
    Proposed correction (Turkish text for the -tr page). Audit çift-düzeyi satır indisleri yazmaz. Tekrarları düşürmek için kendi betiğinizde compute_simhash ile satır imzalarını hesaplayıp ayıklayın, sonra forgelm audit ile doğrulayın.

  • DOC-TR12-027 (TR mirror, Medium) — TR mirror drift in docs/usermanuals/en/data/language-detection.md: ✓ language: 99.2% tr ...; jq '.language_outliers[:3]' -> per-row outliers
    severity Medium
    Where. EN docs/usermanuals/en/data/language-detection.md:13-28 · TR docs/usermanuals/tr/data/language-detection.md:13-28
    English text. ✓ language: 99.2% tr ...; jq '.language_outliers[:3]' -> per-row outliers
    Turkish text. ✓ dil: %99.2 tr ...; jq '.language_outliers[:3]'
    Which is correct. Neither: only per-split top-3 counts exist.
    Proposed correction (Turkish text for the -tr page). $ forgelm audit data/medical-tr.jsonl └─ train: n=5000 languages (top-3): tr=196, en=4 Rapor: jq '.splits.train.languages_top3' -> [{"code":"tr","count":196},{"code":"en","count":4}] (en fazla 200 satırlık örneklem). Satır-düzeyi aykırı listesi yoktur.

  • DOC-TR12-028 (TR mirror, Medium) — TR mirror drift in docs/usermanuals/en/data/language-detection.md: Language detection is automatic and always-on in forgelm audit.
    severity Medium
    Where. EN docs/usermanuals/en/data/language-detection.md:38 · TR docs/usermanuals/tr/data/language-detection.md:38
    English text. Language detection is automatic and always-on in forgelm audit.
    Turkish text. Dil tespiti forgelm audit'te otomatik ve her zaman aktiftir.
    Which is correct. Needs the optional langdetect (forgelm[ingestion]); otherwise all rows become 'unknown' silently.
    Proposed correction (Turkish text for the -tr page). Dil tespiti forgelm audit'te otomatiktir ve langdetect paketini gerektirir (pip install 'forgelm[ingestion]'); paket yoksa tüm satırlar sessizce unknown olarak sayılır.

  • DOC-TR12-029 (TR mirror, Medium) — TR mirror drift in docs/usermanuals/en/data/language-detection.md: language_distribution/language_outliers/expected report; min_chars; don't set expected
    severity Medium
    Where. EN docs/usermanuals/en/data/language-detection.md:44-55,64,68 · TR docs/usermanuals/tr/data/language-detection.md:44-55,64,68
    English text. language_distribution/language_outliers/expected report; min_chars; don't set expected
    Turkish text. identical
    Which is correct. None of these keys/options exist.
    Proposed correction (Turkish text for the -tr page). 'Dil dağılım raporu' bölümünü languages_top3 listesiyle değiştirin; min_chars ve expected uyarılarını kaldırın.

  • DOC-TR12-030 (TR mirror, Medium) — TR mirror drift in docs/usermanuals/en/data/leakage.md: input/config and I/O errors exit 1 and 2
    severity Medium
    Where. EN docs/usermanuals/en/data/leakage.md:44 · TR docs/usermanuals/tr/data/leakage.md:44
    English text. input/config and I/O errors exit 1 and 2
    Turkish text. girdi/config ve I/O hataları 1 ve 2 ile çıkar
    Which is correct. 1 = IO error, 2 = missing optional extra.
    Proposed correction (Turkish text for the -tr page). G/Ç hatası (yol yok/okunamıyor) 1, eksik opsiyonel extra 2 ile çıkar.

  • DOC-TR12-037 (TR mirror, Medium) — TR mirror drift in docs/usermanuals/en/data/quality-filter.md: ⚠ quality flags: short_response: 24 ... ✓ wrote audit/... (quality_summary: 45 / 12,400 flagged)
    severity Medium
    Where. EN docs/usermanuals/en/data/quality-filter.md:26-41 · TR docs/usermanuals/tr/data/quality-filter.md:26-41
    English text. ⚠ quality flags: short_response: 24 ... ✓ wrote audit/... (quality_summary: 45 / 12,400 flagged)
    Turkish text. ⚠ kalite flag'leri: short_response: 24 ... ✓ wrote audit/...
    Which is correct. Neither.
    Proposed correction (Turkish text for the -tr page). quality flags : low_punct_endings=24, repeated_lines=12 (samples_flagged=45) ve jq '.quality_summary' ... çıktısını gösterin.

  • DOC-TR12-038 (TR mirror, Medium) — TR mirror drift in docs/usermanuals/en/data/quality-filter.md: code-heavy datasets violate alpha ratio ... Either disable the affected checks or use code-specific thresholds.
    severity Medium
    Where. EN docs/usermanuals/en/data/quality-filter.md:70,113-115 · TR docs/usermanuals/tr/data/quality-filter.md:70,113-115
    English text. code-heavy datasets violate alpha ratio ... Either disable the affected checks or use code-specific thresholds.
    Turkish text. Etkilenen kontrolleri kapatın veya kod-özgü eşikler kullanın.
    Which is correct. Neither: fenced code is stripped first; checks cannot be disabled individually; thresholds fixed.
    Proposed correction (Turkish text for the -tr page). Markdown çitli (```) kod blokları önce çıkarılır; yine de çitsiz kod içeren corpus'larda --no-quality-filter kullanın veya `by_check` sayımlarını elle yorumlayın (tek tek kapatma veya eşik değiştirme yoktur).

  • DOC-TR12-039 (TR mirror, Medium) — TR mirror drift in docs/usermanuals/en/data/secrets.md: Mask-on-emit is controlled by the secrets_mask: bool argument on audit_dataset()
    severity Medium
    Where. EN docs/usermanuals/en/data/secrets.md:123 · TR docs/usermanuals/tr/data/secrets.md:123
    English text. Mask-on-emit is controlled by the secrets_mask: bool argument on audit_dataset()
    Turkish text. Mask-on-emit audit_dataset() üzerindeki secrets_mask: bool argümanıyla ... kontrol edilir
    Which is correct. No such argument; audit never masks.
    Proposed correction (Turkish text for the -tr page). Audit hiçbir şeyi maskelemez; maskeleme yalnızca forgelm ingest --secrets-mask / --all-mask (kütüphanede ingest_path(secrets_mask=True)) ile yapılır.

  • DOC-TR12-040 (TR mirror, Medium) — TR mirror drift in docs/usermanuals/en/data/secrets.md: there is no CLI escape hatch ... Mark the rows ... legitimate_secret_content: true
    severity Medium
    Where. EN docs/usermanuals/en/data/secrets.md:136 · TR docs/usermanuals/tr/data/secrets.md:136
    English text. there is no CLI escape hatch ... Mark the rows ... legitimate_secret_content: true
    Turkish text. CLI escape hatch yoktur ... legitimate_secret_content: true olarak işaretleyin
    Which is correct. Neither: forgelm audit --allow-secrets is the documented per-invocation escape (exit 0 + SUPPRESSED warning); the manifest field is invented.
    Proposed correction (Turkish text for the -tr page). Meşru olarak credential içeren corpus'lar için (CTF, güvenlik eğitimi) tarama kapatılamaz ama forgelm audit --allow-secrets bulguları kaydeder ve exit 0 verir (SUPPRESSED uyarısı loglanır); gerekçeyi dataset kartınıza yazın. legitimate_secret_content diye bir alan yoktur.

  • DOC-TR12-041 (TR mirror, Medium) — TR mirror drift in docs/usermanuals/en/data/synthetic-data.md: Any OpenAI-compatible chat-completions endpoint (... self-hosted vLLM with --api-key, etc.)
    severity Medium
    Where. EN docs/usermanuals/en/data/synthetic-data.md:61 · TR docs/usermanuals/tr/data/synthetic-data.md:61
    English text. Any OpenAI-compatible chat-completions endpoint (... self-hosted vLLM with --api-key, etc.)
    Turkish text. Herhangi OpenAI-uyumlu endpoint (... --api-key'li self-hosted vLLM, vb.)
    Which is correct. Neither: the SSRF guard blocks private/loopback hosts and synthetic has no allow_private opt-in; only publicly resolvable endpoints work.
    Proposed correction (Turkish text for the -tr page). Herkese açık adreste çözülen OpenAI-uyumlu endpoint'ler. Özel/loopback adresteki (localhost, 10.x, 192.168.x) self-hosted vLLM, SSRF koruması nedeniyle reddedilir; synthetic bloğunda bunu açan bir ayar yoktur.

Done when

  • Every finding above is fixed or closed with a reason (tick it here).
  • Code fixes carry a test; doc fixes update the Turkish mirror in the same PR.

Found by the October 2026 ForgeLM code and documentation review against commit cab2947. Code links point at that commit; line numbers may have moved since. Finding IDs (CR-…, DOC-…, TECH-…) are stable references for this backlog.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationi18nEnglish/Turkish documentation mirrorseverity: mediumReal defect with limited reach or a workaroundsource: review-2026-10Found by the October 2026 code and documentation reviewwave: 3Roadmap wave 3: medium severity, module sweeps

    Type

    No type

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions