docs: post-#63 accuracy audit — fix code-vs-doc drift + EN/TR currency#64
Conversation
architecture.md (EN+TR): 18->19 subcommands (+verify-integrity), exit contract 0/1/2/3/4->0/1/2/3/4/5 (+wizard-cancelled), 21->23 Pydantic config models. library_api_reference.md (EN+TR): fix non-existent TrainResult (output_dir->final_model_path, revert_reason->reverted), VerifyResult (entries_checked->entries_count, drop chain_head), AuditReport attrs + detect_pii/secrets examples. configuration-tr.md: +27 missing field rows to reach EN parity. soc2: drop false webhook-HMAC claim. compliance_summary/supply_chain: verify-integrity + CVE-ignore accuracy. usage-tr.md: missing [export]/[chat] extras + tokenizer files. verify_audit: stale v0.5.5/v0.6.x -> post-v0.7.0. data_ingestion_architecture: stale line cites. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…age (post-#63 audit) Remove non-existent YAML blocks users would hit ValidationError on: galore:/datasets:/output: (training/galore, long-context), deployment: (deploy-targets), and fix field names (use_unsloth->model.backend, training.batch_size->per_device_train_batch_size, rope_scaling/sliding_window_attention under training:, GaLore rank default 256->128). configuration.md: 12->15 top-level blocks. benchmarks: floors{} -> min_score scalar. Remove non-existent forgelm batch-chat. NEW: compliance/verify-integrity.md (EN+TR) + _meta.yaml entry — the Art.15 model-integrity verifier now has its own user-manual page (fixes the dangling see-also from verify-audit). EN<->TR kept in sync throughout. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…audit) guides: library_api __version__/__api_version__ (0.5.5/0.5 -> 0.7.0/1.0.0), troubleshooting exit-code 5 row, gdpr_erasure staging_ttl_days removal v0.7.0->v0.8.0, safety_compliance staging-dir wording, pipeline/alignment/cicd accuracy, performance-tr drift. qms: encryption_at_rest staging path final_model.staging.<run_id>, access_control/incident/risk_treatment EN<->TR currency. design: cache-split + gdpr + iso27001 spec-vs-shipped accuracy. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…tion Add forgelm verify-integrity (Art.15 model-integrity manifest) + verify-audit to the Compliance & Safety bullets — the shipped integrity-verification surface was unmentioned. All other README claims + doc links verified accurate against code; no other changes needed. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Code Review
This pull request comprehensively updates the English and Turkish documentation to align with ForgeLM v0.7.0, introducing the new verify-integrity subcommand, updating CLI exit codes, and restructuring the YAML configuration reference (such as nesting galore parameters inside training and adding pipeline and retention blocks). The review feedback correctly identifies a bug in the suggested jq command for manual deduplication in the user manuals, which requires the -s (slurp) flag to process JSON Lines correctly. Additionally, the feedback points out an inconsistency in the ASCII architecture diagrams, which list only 17 subcommands instead of the updated 19.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| $ jq --slurpfile dups dup_indices.json \ | ||
| '[to_entries[] | select(.key as $i | $dups[0] | index($i) | not) | .value]' \ | ||
| data/train.jsonl > data/train.dedup.jsonl |
There was a problem hiding this comment.
The suggested jq command has a bug when processing a JSON Lines (.jsonl) file. Because jq is run without the -s (slurp) flag, it processes each line individually. Applying to_entries on a single line converts the object's key-value pairs (e.g., "prompt", "response") into entries, rather than mapping the line numbers. This results in the keys being discarded and no lines actually being filtered out.
To correctly filter the JSON Lines file by line index using the slurped duplicate indices, you should use the -s flag to read the file as an array, map the line indices using to_entries, filter them, and then output them back as JSON Lines.
| $ jq --slurpfile dups dup_indices.json \ | |
| '[to_entries[] | select(.key as $i | $dups[0] | index($i) | not) | .value]' \ | |
| data/train.jsonl > data/train.dedup.jsonl | |
| $ jq --slurpfile dups dup_indices.json -s \\ | |
| 'to_entries | map(select(.key as $i | $dups[0] | index($i) | not) | .value)[]' \\ | |
| data/train.jsonl > data/train.dedup.jsonl |
| $ jq --slurpfile dups dup_indices.json \ | ||
| '[to_entries[] | select(.key as $i | $dups[0] | index($i) | not) | .value]' \ | ||
| data/train.jsonl > data/train.dedup.jsonl |
There was a problem hiding this comment.
Önerilen jq komutunda JSON Lines (.jsonl) dosyasını işlerken bir hata bulunmaktadır. jq komutu -s (slurp) bayrağı olmadan çalıştırıldığı için her satırı ayrı ayrı işler. Tek bir satır üzerinde to_entries uygulamak, satır numaralarını eşlemek yerine nesnenin anahtar-değer çiftlerini (örneğin "prompt", "response") girdilere dönüştürür. Bu durum anahtarların kaybolmasına ve hiçbir satırın filtrelenmemesine neden olur.
JSON Lines dosyasını satır indeksine göre doğru şekilde filtrelemek için -s bayrağını kullanarak dosyayı bir dizi olarak okumalı, to_entries ile satır indekslerini eşlemeli, filtrelemeli ve ardından tekrar JSON Lines olarak yazdırmalısınız.
| $ jq --slurpfile dups dup_indices.json \ | |
| '[to_entries[] | select(.key as $i | $dups[0] | index($i) | not) | .value]' \ | |
| data/train.jsonl > data/train.dedup.jsonl | |
| $ jq --slurpfile dups dup_indices.json -s \\ | |
| 'to_entries | map(select(.key as $i | $dups[0] | index($i) | not) | .value)[]' \\ | |
| data/train.jsonl > data/train.dedup.jsonl |
| │ ├── ingest, audit, chat, export, deploy, doctor, | ||
| │ │ cache, purge, reverse_pii, approve, approvals, | ||
| │ │ safety_eval, verify_audit, verify_annex_iv, | ||
| │ │ verify_gguf, quickstart | ||
| ├── config.py → Pydantic validation (21 config models) | ||
| │ │ verify_gguf, verify_integrity, quickstart |
There was a problem hiding this comment.
The ASCII tree list of subcommands contains only 17 items, which is inconsistent with the updated description on line 11 stating there are 19 subcommands. Specifically, the reject and cache-tasks subcommands are missing, and cache-models is simplified to cache.
Updating this list to explicitly include all 19 subcommands will ensure the architecture documentation remains accurate and consistent with the CLI parser.
| │ ├── ingest, audit, chat, export, deploy, doctor, | |
| │ │ cache, purge, reverse_pii, approve, approvals, | |
| │ │ safety_eval, verify_audit, verify_annex_iv, | |
| │ │ verify_gguf, quickstart | |
| ├── config.py → Pydantic validation (21 config models) | |
| │ │ verify_gguf, verify_integrity, quickstart | |
| │ ├── ingest, audit, chat, export, deploy, doctor, | |
| │ │ cache-models, cache-tasks, purge, reverse_pii, | |
| │ │ approve, approvals, reject, safety_eval, | |
| │ │ verify_audit, verify_annex_iv, verify_gguf, | |
| │ │ verify_integrity, quickstart |
| │ ├── ingest, audit, chat, export, deploy, doctor, | ||
| │ │ cache, purge, reverse_pii, approve, approvals, | ||
| │ │ safety_eval, verify_audit, verify_annex_iv, | ||
| │ │ verify_gguf, quickstart | ||
| ├── config.py → Pydantic doğrulama (21 config modeli) | ||
| │ │ verify_gguf, verify_integrity, quickstart |
There was a problem hiding this comment.
ASCII ağacındaki subcommand listesi yalnızca 17 öğe içermektedir; bu durum, satır 11'deki güncellenmiş "19 subcommand" açıklamasıyla çelişmektedir. Özellikle reject ve cache-tasks komutları eksiktir ve cache-models komutu cache olarak basitleştirilmiştir.
Bu listenin tüm 19 subcommand'ı açıkça içerecek şekilde güncellenmesi, mimari dokümantasyonunun CLI parser ile tutarlı ve doğru kalmasını sağlayacaktır.
| │ ├── ingest, audit, chat, export, deploy, doctor, | |
| │ │ cache, purge, reverse_pii, approve, approvals, | |
| │ │ safety_eval, verify_audit, verify_annex_iv, | |
| │ │ verify_gguf, quickstart | |
| ├── config.py → Pydantic doğrulama (21 config modeli) | |
| │ │ verify_gguf, verify_integrity, quickstart | |
| │ ├── ingest, audit, chat, export, deploy, doctor, | |
| │ │ cache-models, cache-tasks, purge, reverse_pii, | |
| │ │ approve, approvals, reject, safety_eval, | |
| │ │ verify_audit, verify_annex_iv, verify_gguf, | |
| │ │ verify_integrity, quickstart |
There was a problem hiding this comment.
Sorry @cemililik, your pull request is larger than the review limit of 150000 diff characters
|
Warning Review limit reached
More reviews will be available in 2 hours, 59 minutes, and 12 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more credits in the billing tab to continue. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughDocumentation-only update across ~85 files aligning ForgeLM docs with v0.7.0: adds new ChangesForgeLM v0.7.0 Documentation Alignment
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Poem
✨ Finishing Touches🧪 Generate unit tests (beta)
|
…_yaml_snippets)
Two snippets became ForgeConfig-shaped after the audit fixes and the strict snippet guard then validated them:
- long-context.md (EN+TR) Quick example: replacing datasets: with data: made it a full config; it was missing the required lora: block — added lora{r:16, alpha:32} (verified: 'alpha', not 'lora_alpha').
- reference/configuration.md (EN+TR) 15-block overview: correcting it to the real 15 fields made it match the ForgeConfig shape heuristic; it is a structure map with {...} placeholders, not a runnable config — added the guard's sanctioned '# INVALID:' opt-out so it is skipped.
check_yaml_snippets now OK (33 validated); test_check_yaml_snippets 7 passed.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Two review findings on PR #64, both verified against jq behaviour and the live CLI parser: - deduplication.md (EN+TR): the jq removal command lacked -s/--slurp, so to_entries ran per-line on each object's keys (prompt/response) instead of line indices — it filtered nothing and mangled output. Fixed to 'jq -cs' (slurp + compact), dropped the array wrap, and added a comment. Verified on a 4-row fixture: rows at the duplicate indices are correctly dropped and the output is valid JSONL. - architecture.md (EN+TR): the prose said 19 subcommands but the ASCII tree listed only 17 (missing reject and cache-tasks; cache-models shown as 'cache'). Updated the tree to the authoritative 19 CLI subcommand names from 'forgelm --help' (hyphenated), and annotated the node with '(19 subcommands)'. Doc gauntlet green (yaml-snippets, cli-help-consistency, bilingual-parity, anchor, numerical-claims, tr-links, usermanual-self-contained); usermanuals build OK (67 pages EN/TR). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (3)
docs/usermanuals/en/reference/configuration.md (2)
219-223:⚠️ Potential issue | 🟠 Major | ⚡ Quick winReplace relative paths with SPA routes in user manual configuration references.
Both EN and TR configuration reference files use relative file paths in docs/usermanuals/, violating the constraint that all links must be SPA routes (
#/<section>/<page>) or absolute HTTPS URLs.
docs/usermanuals/en/reference/configuration.md#L219-L223: Link to[release.md](../standards/release.md#deprecation-cadence)should become[release.md](#/standards/release)or an absolute URL.docs/usermanuals/tr/reference/configuration.md#L219-L223: Turkish equivalent link (if using relative path) should also be updated to match the SPA route.As per coding guidelines for
docs/usermanuals/**/*.md, relative../../../paths are prohibited.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/usermanuals/en/reference/configuration.md` around lines 219 - 223, Replace relative file path links with SPA routes in both configuration reference files. In docs/usermanuals/en/reference/configuration.md at lines 219-223, replace any relative markdown links (such as links using ../ paths like [release.md](../standards/release.md#deprecation-cadence)) with SPA route format `#/`<section>/<page> (e.g., [release.md](`#/standards/release`)) or absolute HTTPS URLs. Apply the identical fix to the Turkish equivalent in docs/usermanuals/tr/reference/configuration.md at lines 219-223, ensuring both files use the same SPA route or absolute URL format, as relative paths are prohibited in docs/usermanuals/**/*.md files per coding guidelines.Source: Coding guidelines
219-224:⚠️ Potential issue | 🟠 Major | ⚡ Quick winReplace relative path with SPA route (docs/usermanuals/ user manual constraint).
Line 220 references
[release.md](../standards/release.md#deprecation-cadence)— a relative file path. Per coding guidelines, all links insidedocs/usermanuals/must be either SPA routes (#/<section>/<page>) backed by real manual pages, or absolute HTTPS URLs; relative../../../references are prohibited.Change to an SPA route like
[release.md](#/standards/release)or an absolute documentation URL. As per coding guidelines fordocs/usermanuals/**/*.md: links must follow this constraint.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/usermanuals/en/reference/configuration.md` around lines 219 - 224, The markdown link reference on line 220 uses a relative path `../standards/release.md#deprecation-cadence` which violates the constraint for files in docs/usermanuals/. Replace this relative path link with either an SPA route format like `#/standards/release` or an absolute HTTPS documentation URL. Ensure the link maintains the same anchor reference (deprecation-cadence) if applicable to the target route, and verify the destination page exists in the manual structure.Source: Coding guidelines
docs/usermanuals/en/data/leakage.md (1)
44-44:⚠️ Potential issue | 🟠 Major | ⚡ Quick winStale exit-code documentation in both EN and TR leakage manuals contradicts v0.7.0 contract.
Both
docs/usermanuals/en/data/leakage.mdanddocs/usermanuals/tr/data/leakage.mdline 44 incorrectly state that audit exits non-zero if leakage rate exceeds a threshold. However, the Quick examples (line 57 in both files) correctly showexit code: 0/exit kodu: 0, and the PR objectives confirm that v0.7.0 audit exits 0 regardless of finding severity. The lines need identical fixes to reflect the actual behavior.
docs/usermanuals/en/data/leakage.md#L44-L44: Replace "If the leakage rate is over the configured threshold, audit exits non-zero" with "Audit exits 0 on completion; severity-based gating is done viajq(see Dataset Audit)."docs/usermanuals/tr/data/leakage.md#L44-L44: Replace "Sızıntı oranı konfigüre eşiği geçerse audit sıfır olmayan exit verir" with Turkish equivalent: "Audit tamamlandıktan sonra 0 ile exit verir; sızıntı bulgularına göre CI kapısı kurmak için JSON raporunujqile süzün (bkz. Veri Seti Denetimi)."🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/usermanuals/en/data/leakage.md` at line 44, The documentation in both the English and Turkish leakage manuals contains outdated exit code behavior that contradicts v0.7.0's actual implementation. In docs/usermanuals/en/data/leakage.md line 44, replace the text stating that audit exits non-zero when leakage rate exceeds a threshold with text explaining that audit exits 0 on completion and that severity-based gating is done via jq with reference to the Dataset Audit section. In docs/usermanuals/tr/data/leakage.md line 44, apply the identical fix using the provided Turkish translation that explains audit exits 0 and severity-based gating through jq filtering.
🧹 Nitpick comments (1)
docs/usermanuals/tr/reference/configuration.md (1)
100-100: ⚡ Quick winBilingual consistency: use Turkish link labels throughout Turkish user manuals.
Turkish documentation files contain English link labels within Turkish prose, breaking bilingual consistency:
docs/usermanuals/tr/reference/configuration.md#L100:[Experiment Tracking](#/operations/experiment-tracking)should use Turkish label (e.g.,[Deney İzleme](#/operations/experiment-tracking)). Check lines 148, 206 and elsewhere for similar inconsistencies.docs/usermanuals/tr/training/distributed.md#L146-L149:[GaLore](#/training/galore),[VRAM Fit-Check](#/operations/vram-fit-check),[CI/CD Hatları](#/operations/cicd)— first two use English labels in Turkish prose; third mixes Turkish and English.Update all link labels in Turkish user manuals to use Turkish text consistently.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/usermanuals/tr/reference/configuration.md` at line 100, Update link labels in Turkish user manual files to use Turkish text consistently throughout. In docs/usermanuals/tr/reference/configuration.md at lines 100, 148, and 206, replace English link labels such as "Experiment Tracking" with their Turkish equivalents (e.g., "Deney İzleme") while preserving the URLs. In docs/usermanuals/tr/training/distributed.md at lines 146-149, replace the English link labels "GaLore" and "VRAM Fit-Check" with Turkish translations, while keeping the mixed English-Turkish label "CI/CD Hatları" consistent with the surrounding Turkish prose by reviewing whether it should be fully Turkish or if the technical term should remain mixed.Source: Coding guidelines
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In `@docs/usermanuals/en/data/leakage.md`:
- Line 44: The documentation in both the English and Turkish leakage manuals
contains outdated exit code behavior that contradicts v0.7.0's actual
implementation. In docs/usermanuals/en/data/leakage.md line 44, replace the text
stating that audit exits non-zero when leakage rate exceeds a threshold with
text explaining that audit exits 0 on completion and that severity-based gating
is done via jq with reference to the Dataset Audit section. In
docs/usermanuals/tr/data/leakage.md line 44, apply the identical fix using the
provided Turkish translation that explains audit exits 0 and severity-based
gating through jq filtering.
In `@docs/usermanuals/en/reference/configuration.md`:
- Around line 219-223: Replace relative file path links with SPA routes in both
configuration reference files. In docs/usermanuals/en/reference/configuration.md
at lines 219-223, replace any relative markdown links (such as links using ../
paths like [release.md](../standards/release.md#deprecation-cadence)) with SPA
route format `#/`<section>/<page> (e.g., [release.md](`#/standards/release`)) or
absolute HTTPS URLs. Apply the identical fix to the Turkish equivalent in
docs/usermanuals/tr/reference/configuration.md at lines 219-223, ensuring both
files use the same SPA route or absolute URL format, as relative paths are
prohibited in docs/usermanuals/**/*.md files per coding guidelines.
- Around line 219-224: The markdown link reference on line 220 uses a relative
path `../standards/release.md#deprecation-cadence` which violates the constraint
for files in docs/usermanuals/. Replace this relative path link with either an
SPA route format like `#/standards/release` or an absolute HTTPS documentation
URL. Ensure the link maintains the same anchor reference (deprecation-cadence)
if applicable to the target route, and verify the destination page exists in the
manual structure.
---
Nitpick comments:
In `@docs/usermanuals/tr/reference/configuration.md`:
- Line 100: Update link labels in Turkish user manual files to use Turkish text
consistently throughout. In docs/usermanuals/tr/reference/configuration.md at
lines 100, 148, and 206, replace English link labels such as "Experiment
Tracking" with their Turkish equivalents (e.g., "Deney İzleme") while preserving
the URLs. In docs/usermanuals/tr/training/distributed.md at lines 146-149,
replace the English link labels "GaLore" and "VRAM Fit-Check" with Turkish
translations, while keeping the mixed English-Turkish label "CI/CD Hatları"
consistent with the surrounding Turkish prose by reviewing whether it should be
fully Turkish or if the technical term should remain mixed.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 368b2b3b-6f81-47e6-a273-5a1afa2ed7ac
📒 Files selected for processing (99)
README.mddocs/design/data_audit_cli_split.mddocs/design/gdpr_erasure.mddocs/design/iso27001_soc2_alignment.mddocs/guides/alignment-tr.mddocs/guides/alignment.mddocs/guides/cicd_pipeline-tr.mddocs/guides/cicd_pipeline.mddocs/guides/data_audit-tr.mddocs/guides/gdpr_erasure-tr.mddocs/guides/gdpr_erasure.mddocs/guides/library_api-tr.mddocs/guides/library_api.mddocs/guides/performance-tr.mddocs/guides/pipeline-tr.mddocs/guides/pipeline.mddocs/guides/safety_compliance-tr.mddocs/guides/safety_compliance.mddocs/guides/troubleshooting-tr.mddocs/guides/troubleshooting.mddocs/qms/access_control-tr.mddocs/qms/access_control.mddocs/qms/encryption_at_rest-tr.mddocs/qms/encryption_at_rest.mddocs/qms/risk_treatment_plan-tr.mddocs/qms/risk_treatment_plan.mddocs/qms/sop_incident_response-tr.mddocs/qms/sop_incident_response.mddocs/qms/statement_of_applicability-tr.mddocs/qms/statement_of_applicability.mddocs/reference/architecture-tr.mddocs/reference/architecture.mddocs/reference/compliance_summary-tr.mddocs/reference/compliance_summary.mddocs/reference/configuration-tr.mddocs/reference/data_ingestion_architecture.mddocs/reference/library_api_reference-tr.mddocs/reference/library_api_reference.mddocs/reference/soc2_trust_criteria_mapping-tr.mddocs/reference/soc2_trust_criteria_mapping.mddocs/reference/supply_chain_security-tr.mddocs/reference/supply_chain_security.mddocs/reference/usage-tr.mddocs/reference/verify_audit-tr.mddocs/reference/verify_audit.mddocs/reference/verify_integrity_subcommand-tr.mddocs/usermanuals/_meta.yamldocs/usermanuals/en/compliance/gdpr.mddocs/usermanuals/en/compliance/human-oversight.mddocs/usermanuals/en/compliance/model-card.mddocs/usermanuals/en/compliance/verify-audit.mddocs/usermanuals/en/compliance/verify-integrity.mddocs/usermanuals/en/data/audit.mddocs/usermanuals/en/data/deduplication.mddocs/usermanuals/en/data/ingestion.mddocs/usermanuals/en/data/language-detection.mddocs/usermanuals/en/data/leakage.mddocs/usermanuals/en/data/pii-masking.mddocs/usermanuals/en/data/pii-ml.mddocs/usermanuals/en/data/quality-filter.mddocs/usermanuals/en/deployment/chat.mddocs/usermanuals/en/deployment/deploy-targets.mddocs/usermanuals/en/evaluation/benchmarks.mddocs/usermanuals/en/getting-started/first-run.mddocs/usermanuals/en/operations/cicd.mddocs/usermanuals/en/operations/iso-soc2-deployer.mddocs/usermanuals/en/operations/supply-chain.mddocs/usermanuals/en/reference/configuration.mddocs/usermanuals/en/training/distributed.mddocs/usermanuals/en/training/galore.mddocs/usermanuals/en/training/long-context.mddocs/usermanuals/en/training/lora.mddocs/usermanuals/tr/compliance/gdpr.mddocs/usermanuals/tr/compliance/human-oversight.mddocs/usermanuals/tr/compliance/model-card.mddocs/usermanuals/tr/compliance/verify-audit.mddocs/usermanuals/tr/compliance/verify-integrity.mddocs/usermanuals/tr/concepts/data-formats.mddocs/usermanuals/tr/data/audit.mddocs/usermanuals/tr/data/deduplication.mddocs/usermanuals/tr/data/ingestion.mddocs/usermanuals/tr/data/language-detection.mddocs/usermanuals/tr/data/leakage.mddocs/usermanuals/tr/data/pii-masking.mddocs/usermanuals/tr/data/pii-ml.mddocs/usermanuals/tr/data/quality-filter.mddocs/usermanuals/tr/deployment/chat.mddocs/usermanuals/tr/deployment/deploy-targets.mddocs/usermanuals/tr/evaluation/benchmarks.mddocs/usermanuals/tr/getting-started/first-run.mddocs/usermanuals/tr/operations/cicd.mddocs/usermanuals/tr/operations/iso-soc2-deployer.mddocs/usermanuals/tr/operations/supply-chain.mddocs/usermanuals/tr/reference/configuration.mddocs/usermanuals/tr/training/distributed.mddocs/usermanuals/tr/training/galore.mddocs/usermanuals/tr/training/long-context.mddocs/usermanuals/tr/training/lora.mddocs/usermanuals/tr/training/simpo.md
💤 Files with no reviewable changes (1)
- docs/guides/cicd_pipeline-tr.md
…eview) leakage.md (EN+TR) line 44 claimed 'forgelm audit exits non-zero if the leakage rate is over the configured threshold'. Verified against forgelm/cli/subcommands/_audit.py: audit exits 0 on successful completion regardless of findings, and only non-zero on an input/config error (EXIT_CONFIG_ERROR) or I/O failure (EXIT_TRAINING_ERROR) — there is no leakage-rate gate. Corrected to match the established wording in data/audit.md and point to the jq-based CI gate (#/data/audit). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
What
Post-merge documentation audit of
docs/{design,guides,qms,reference,usermanuals}+ the root README, verifying every factual claim against the code at HEAD and bringing EN↔TR mirrors back into content parity.Method: a 12-agent audit (read-only, claims checked against
forgelm/) surfaced 89 candidate findings; a verify-before-fix pass applied 65 genuine corrections and skipped 23 as already-correct (audit false positives, caught before any wrong edit). All changes are docs — no code touched.Highlights
galore:/datasets:/output:/deployment:top-level YAML blocks thatForgeConfig(extra="forbid") rejects; following them would raiseValidationError. Also fixeduse_unsloth→model.backend,training.batch_size→per_device_train_batch_size, GaLore rank default 256→128,floors:{}→min_score.architecture.md(EN+TR) — 18→19 subcommands (+verify-integrity), exit contract 0–4→0–5 (+wizard-cancelled), 21→23 Pydantic models.library_api_reference.md(EN+TR) — corrected non-existent API attributes (TrainResult.output_dir→final_model_path,revert_reason→reverted;VerifyResult.entries_checked→entries_count, droppedchain_head).compliance/verify-integrity(EN+TR) — the Art.15 model-integrity verifier now has its own user-manual page (+_meta.yamlnav entry).configuration-tr.md+27 missing field rows, several TR mirrors brought up to EN content.Validation
Full doc gauntlet green:
check_bilingual_parity,check_anchor_resolution,check_cli_help_consistency,check_tr_links_prefer_mirror,check_usermanual_self_contained,check_doc_numerical_claims,check_no_analysis_refs,check_audit_event_catalog,update_site_version+build_usermanuals(67 pages EN/TR, no missing/orphan) + usermanual consistency tests (24 passed).🤖 Generated with Claude Code
Summary by CodeRabbit
forgelm verify-integritycompliance verification feature for validating model artifact integrity post-deployment.trainer_type,galore_*fields), introduced new top-level config blocks (webhook,risk_assessment,monitoring,retention,pipeline), and changed benchmark gating from per-task thresholds to averagemin_score.5for wizard cancellation across CLI, library API, and CI/CD guides.