Repository navigation
[Wave 4] Low/info — Docs: docs/usermanuals/en/data/ #785
Description
Wave 4 · 15 finding(s) in 15 fix package(s). Documents with fewer than five findings each in this wave, grouped by directory.
Findings
-
DOC-BLEGAL-221 (docs, Low) — docs/usermanuals/en/data/croissant-card.md: false claim — HuggingFace's dataset card parser (the
datasetslibrary reads Croissant if present in the dataset directory).
severity Low
Where.docs/usermanuals/en/data/croissant-card.md:86(Turkish mirror:docs/usermanuals/tr/data/croissant-card.md:86) · type: false claim
The document says. HuggingFace's dataset card parser (thedatasetslibrary reads Croissant if present in the dataset directory).
What the code does. The installed datasets 5.0.1 and huggingface_hub 1.33.0 contain no 'croissant' string. The HF dataset viewer generates Croissant JSON-LD server-side for Parquet-convertible Hub datasets, and the dataset card parser reads README.md YAML front matter.
Proposed correction. Remove the bullet, or replace it with 'Hugging Face Hub generates its own Croissant metadata for Parquet-convertible datasets (/api/datasets//croissant); thedatasetslibrary does not read a local card.' TR: ilgili maddeyi kaldırın veya 'HF Hub kendi Croissant metadata'sını üretir;datasetsyerel card okumaz' yazın.
Turkish mirror. the Turkish page has the same error; fix both in the same PR -
DOC-BLEGAL-222 (docs, Low) — docs/usermanuals/en/data/croissant-card.md: false claim — For Hugging Face publishing, save the card as
croissant.jsonin the dataset repo (HF expects it there).
severity Low
Where.docs/usermanuals/en/data/croissant-card.md:125(Turkish mirror:docs/usermanuals/tr/data/croissant-card.md:125) · type: false claim
The document says. For Hugging Face publishing, save the card ascroissant.jsonin the dataset repo (HF expects it there).
What the code does. No HF documentation says the Hub reads or expects a repo-root croissant.json. The viewer generates Croissant metadata automatically for supported formats (HF staff, forum thread 150255).
Proposed correction. 'Hugging Face generates Croissant metadata automatically for Parquet-convertible datasets; committing croissant.json is optional and is not read by the Hub.' TR: 'HF, Parquet'e dönüştürülebilir dataset'ler için Croissant metadata'sını otomatik üretir; croissant.json Hub tarafından okunmaz.'
Turkish mirror. the Turkish page has the same error; fix both in the same PR -
DOC-D3B07-050 (docs, Low) — docs/usermanuals/en/data/all-mask.md: misleading — Some credential shapes (e.g. JWTs) overlap with email-like substrings; running secrets first prevents the email regex from chewing into the middle o…
severity Low
Where.docs/usermanuals/en/data/all-mask.md:43(Turkish mirror:docs/usermanuals/tr/data/all-mask.md:43) · type: misleading
The document says. Some credential shapes (e.g. JWTs) overlap with email-like substrings; running secrets first prevents the email regex from chewing into the middle of a JWT.
What the code does. The JWT pattern is base64url with no '@', so it cannot overlap the email pattern. The code calls the ordering defensive, with no measurable cross-detector overlap today.
Code references.forgelm/data_audit/_secrets.py:83-88,forgelm/ingestion.py:2113-2121
Proposed correction. The ordering is defensive: secrets are higher-severity, so if a future pattern overlaps a PII pattern the span gets the secret label.
Turkish mirror. the Turkish page has the same error; fix both in the same PR -
DOC-D3B07-057 (docs, Low) — docs/usermanuals/en/data/croissant-card.md: wrong detail — "@id": "train.jsonl"
severity Low
Where.docs/usermanuals/en/data/croissant-card.md:43-45(Turkish mirror:docs/usermanuals/tr/data/croissant-card.md:43-45) · type: wrong detail
The document says. "@id": "train.jsonl"
What the code does. @id is slugged: "train_jsonl" (verified). name and contentUrl keep "train.jsonl".
Code references.forgelm/data_audit/_croissant.py:129-143
Proposed correction. "@id": "train_jsonl"
Turkish mirror. the Turkish page has the same error; fix both in the same PR -
DOC-D3B07-058 (docs, Low) — docs/usermanuals/en/data/croissant-card.md: wrong detail — built by
forgelm.data_audit._build_croissant_metadata
severity Low
Where.docs/usermanuals/en/data/croissant-card.md:103(Turkish mirror:docs/usermanuals/tr/data/croissant-card.md:103) · type: wrong detail
The document says. built byforgelm.data_audit._build_croissant_metadata
What the code does. The function lives at forgelm.data_audit._croissant._build_croissant_metadata. hasattr(forgelm.data_audit, '_build_croissant_metadata') is False.
Code references.forgelm/data_audit/_croissant.py:80,forgelm/data_audit/__init__.py:37-52
Proposed correction.forgelm.data_audit._croissant._build_croissant_metadata(private helper)
Turkish mirror. the Turkish page has the same error; fix both in the same PR -
DOC-D3B07-059 (docs, Low) — docs/usermanuals/en/data/deduplication.md: false denial — Permutation count and LSH banding are not user-tunable today
severity Low
Where.docs/usermanuals/en/data/deduplication.md:81(Turkish mirror:docs/usermanuals/tr/data/deduplication.md:81) · type: false denial
The document says. Permutation count and LSH banding are not user-tunable today
What the code does. True for the CLI, but the library audit_dataset(minhash_num_perm=...) accepts a permutation count.
Code references.forgelm/data_audit/_orchestrator.py:234,304-305
Proposed correction. Permutation count is not exposed on the CLI; library callers can passaudit_dataset(..., minhash_num_perm=N).
Turkish mirror. the Turkish page has the same error; fix both in the same PR -
DOC-D3B07-071 (docs, Low) — docs/usermanuals/en/data/leakage.md: misleading — It runs every time you call forgelm audit and refuses to certify a leaky split.
severity Low
Where.docs/usermanuals/en/data/leakage.md:10· type: misleading
The document says. It runs every time you call forgelm audit and refuses to certify a leaky split.
What the code does. Leakage is reported only; exit 0 (as leakage.md:44 itself says). B11: 95% leakage gives exit 0.
Code references.forgelm/cli/subcommands/_audit.py:236-240
Proposed correction. Drop 'refuses to certify'
Turkish mirror. the Turkish page has the same error; fix both in the same PR -
DOC-D3B07-072 (docs, Low) — docs/usermanuals/en/data/leakage.md: wrong detail — input/config and I/O errors exit
1and2
severity Low
Where.docs/usermanuals/en/data/leakage.md:44(Turkish mirror:docs/usermanuals/tr/data/leakage.md:44) · type: wrong detail
The document says. input/config and I/O errors exit1and2
What the code does. An unreachable or unreadable input (OSError) exits 1. A missing optional extra (ImportError) exits 2.
Code references.forgelm/cli/subcommands/_audit.py:212-231
Proposed correction. an unreadable input exits1; a missing optional extra exits2
Turkish mirror. the Turkish page has the same error; fix both in the same PR -
DOC-D3B07-073 (docs, Low) — docs/usermanuals/en/data/leakage.md: misleading — leakage report is part of the compliance bundle
severity Low
Where.docs/usermanuals/en/data/leakage.md:118(Turkish mirror:docs/usermanuals/tr/data/leakage.md:118) · type: misleading
The document says. leakage report is part of the compliance bundle
What the code does. The audit report is inlined into data_governance_report.json only when data_audit_report.json sits in training.output_dir. The audit default output is ./audit/.
Code references.forgelm/compliance.py:668-703
Proposed correction. leakage report is inlined into the compliance bundle whenforgelm audit --outputpoints attraining.output_dir.
Turkish mirror. the Turkish page has the same error; fix both in the same PR -
DOC-D3B07-078 (docs, Low) — docs/usermanuals/en/data/pii-ml.md: stale — not wired up in v0.7.0
severity Low
Where.docs/usermanuals/en/data/pii-ml.md:126(Turkish mirror:docs/usermanuals/tr/data/pii-ml.md:126) · type: stale
The document says. not wired up in v0.7.0
What the code does. The version pin is stale; Presidio masking is still not wired.
Code references.forgelm/ingestion.py:2373-2392
Proposed correction. not wired up today
Turkish mirror. the Turkish page has the same error; fix both in the same PR -
DOC-D3B07-079 (docs, Low) — docs/usermanuals/en/data/quality-filter.md: misleading — code-heavy datasets violate alpha ratio ... Either disable the affected checks or use code-specific thresholds.
severity Low
Where.docs/usermanuals/en/data/quality-filter.md:70,113-115 (Turkish mirror:docs/usermanuals/tr/data/quality-filter.md:70,113-115) · type: misleading
The document says. code-heavy datasets violate alpha ratio ... Either disable the affected checks or use code-specific thresholds.
What the code does. Fenced code blocks are stripped before the checks run, and pure-code rows are never flagged. Individual checks and thresholds cannot be disabled or tuned (the page says so itself).
Code references.forgelm/data_audit/_quality.py:194-215
Proposed correction. Fenced code blocks are excluded from the prose checks; unfenced code can still trip them. Individual checks cannot be disabled — use--no-quality-filterfor the whole run.
Turkish mirror. the Turkish page has the same error; fix both in the same PR -
DOC-D3B07-080 (docs, Low) — docs/usermanuals/en/data/secrets.md: broken example — ✓ masked 47 secrets: aws_access_key: 12 ...
severity Low
Where.docs/usermanuals/en/data/secrets.md:35-40(Turkish mirror:docs/usermanuals/tr/data/secrets.md:35-40) · type: broken example
The document says. ✓ masked 47 secrets: aws_access_key: 12 ...
What the code does. forgelm ingest prints an 'Ingestion summary' block with a 'Note : Secrets masking redacted N credential span(s): kind=count, ...' line, not this format.
Code references.forgelm/ingestion.py:2783-2802,2546-2552
Proposed correction. Replace with the real summary:Ingestion summary…Note : Secrets masking redacted 47 credential span(s): aws_access_key=12, github_token=8, jwt=18, openai_api_key=7, openssh_private_key=2.
Turkish mirror. the Turkish page has the same error; fix both in the same PR -
DOC-D3B07-081 (docs, Low) — docs/usermanuals/en/data/secrets.md: wrong detail — languages (top-3): en=8400
severity Low
Where.docs/usermanuals/en/data/secrets.md:66(Turkish mirror:docs/usermanuals/tr/data/secrets.md:66) · type: wrong detail
The document says. languages (top-3): en=8400
What the code does. Language counts come from a sample of at most 200 payloads per split.
Code references.forgelm/data_audit/_streaming.py:226
Proposed correction. languages (top-3): en=200
Turkish mirror. the Turkish page has the same error; fix both in the same PR -
DOC-D3B07-083 (docs, Low) — docs/usermanuals/en/data/synthetic-data.md: misleading — system_prompt: "" # optional — prepended on every call
severity Low
Where.docs/usermanuals/en/data/synthetic-data.md:31(Turkish mirror:docs/usermanuals/tr/data/synthetic-data.md:31) · type: misleading
The document says. system_prompt: "" # optional — prepended on every call
What the code does. When empty, the API and local backends send 'You are a helpful assistant.' as the system prompt.
Code references.forgelm/synthetic.py:228,256
Proposed correction. system_prompt: "" # empty → "You are a helpful assistant." is sent
Turkish mirror. the Turkish page has the same error; fix both in the same PR -
DOC-D3B07-084 (docs, Low) — docs/usermanuals/en/data/synthetic-data.md: broken example — [...] generating from gpt-4o / 100/ / ✓ wrote rows
severity Low
Where.docs/usermanuals/en/data/synthetic-data.md:48-51(Turkish mirror:docs/usermanuals/tr/data/synthetic-data.md:48-51) · type: broken example
The document says. [...] generating from gpt-4o / 100/ / ✓ wrote rows
What the code does. The real log lines are 'Starting synthetic data generation: N prompts, teacher=…, backend=…', 'Synthetic data saved: … (N entries, X% success rate)' and 'Synthetic data generation: n/N successful …'. There is no progress counter.
Code references.forgelm/synthetic.py:112-151,forgelm/cli/_no_train_modes.py(_run_generate_data)
Proposed correction. Replace with the real log lines.
Turkish mirror. the Turkish page has the same error; fix both in the same PR
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.
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsTodo
Activity