Skip to content

docs/usermanuals/en/reference/cli.md: broken example — jq -e '(.pii_severity.worst_tier // "none") != "high" and (.cross_split_leakage_pairs | length) == 0' audit.json gates training on high-tier P… (DOC-D3B04A-006) #221

Open

Description

@cemililik

Wave 1 · theme D1-10: Documentation-only fixes · highest severity High · 1 finding(s) · effort docs fix

Summary

Under set -e the documented gate stops training on every clean multi-split corpus. Operators will disable or rewrite it.

Primary finding

DOC-D3B04A-006 — docs/usermanuals/en/reference/cli.md: broken example — jq -e '(.pii_severity.worst_tier // "none") != "high" and (.cross_split_leakage_pairs | length) == 0' audit.json gates training on high-tier P…

severity High

Where. docs/usermanuals/en/reference/cli.md:356 (Turkish mirror: docs/usermanuals/tr/reference/cli.md:357) · type: broken example

The document says. jq -e '(.pii_severity.worst_tier // "none") != "high" and (.cross_split_leakage_pairs | length) == 0' audit.json gates training on high-tier PII or train/eval overlap.

What the code does. cross_split_leakage_pairs is the list of every split pair that was compared, including pairs with zero leaked rows. Reproduced on a clean train/validation corpus (0 leaked rows): the envelope had cross_split_leakage_pairs=['train__validation'], the documented jq printed false and exited 1. A replacement that reads leaked_rows_in_* from the on-disk report exited 0.

Code references. forgelm/cli/subcommands/_audit.py:299, forgelm/data_audit/_orchestrator.py:118-137

User impact. Under set -e the documented gate stops training on every clean multi-split corpus. Operators will disable or rewrite it.

Proposed correction. Replace the jq line with two checks: shell $ jq -e '(.pii_severity.worst_tier // "none") != "high"' audit.json $ jq -e '([.cross_split_overlap.pairs[]? | to_entries[] | select(.key | startswith("leaked_rows_in_")) | .value] | add // 0) == 0' audit/data_audit_report.json and explain that cross_split_leakage_pairs lists the compared split pairs, not only leaking ones.

Turkish mirror. the Turkish page has the same error; fix both in the same PR

Acceptance criteria

  • Each statement is re-checked against the code at fix time.
  • Documentation listed above is corrected in English and in its Turkish mirror in the same PR.
  • Every finding in this issue is resolved or explicitly closed with a reason.

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

No one assigned

    Labels

    documentationImprovements or additions to documentationseverity: highWrong behaviour or a false claim users rely onsource: review-2026-10Found by the October 2026 code and documentation reviewwave: 1Roadmap wave 1: high severity, small effort

    Type

    No type

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions