Repository navigation
Documented training-cost outputs (model-card 'Training cost' section, run_complete event) do not exist; the card drops resource/* keys claiming a dedicated section (CR-A08-005) #444
Description
Wave 1 · theme D1-8: Docs describing features that do not exist (doc side of code findings) · highest severity High · 1 finding(s) · effort small
Summary
A user follows the calibration recipe. The first command fails at argparse. The jq path does not exist. If the run is redone correctly, a 2-step run's gpu_hours is 0.0/0.001, and the shown formula gives a wrong number. Auditors look for a run_complete event or a model-card cost section that never exist.
Primary finding
CR-A08-005 — Documented training-cost outputs (model-card 'Training cost' section, run_complete event) do not exist; the card drops resource/* keys claiming a dedicated section
severity High · reachability default · intent contract-violation · confidence confirmed · independently confirmed · reproduced end to end
What happens. MODEL_CARD_TEMPLATE (model_card.py:97-158) has no resource/cost section and generate_model_card takes no resource data, while _build_metrics_table drops every 'resource/' key on the stated ground that it 'has a dedicated section in the model card' (model_card.py:161-176). gpu-cost.md (EN/TR) and logging-observability.md:222 promise a card cost section and a run_complete audit event; the cost exists only in pipeline.completed metrics and compliance_report.json.
Where.
docs/usermanuals/en/operations/gpu-cost.md:16-34docs/usermanuals/en/operations/gpu-cost.md:55-77(run_complete event and Training cost card section)docs/usermanuals/en/operations/gpu-cost.md:121-135and :144 (gpu_profiles.local.yaml and --gpus, unimplemented)docs/usermanuals/tr/operations/gpu-cost.md:21docs/usermanuals/tr/operations/gpu-cost.md:55-77docs/standards/logging-observability.md:222-225docs/standards/logging-observability.md:228forgelm/model_card.py:161-176(docstring falsely claims a dedicated resource section)forgelm/compliance.py:1843-1846forgelm/model_card.py:161-176(confirmed)
Evidence.
- Rated high under the WS-B rubric: a documented command, flag, artefact or workflow does not work as written. The page's status banner only disclaims the cost_tracking: block, not these claims.
- mc.py: card containing resource/gpu_hours 2.4 and resource/estimated_cost_usd 7.2 mentions none of them; the metrics table has only eval_loss. Real run: final_model/README.md matches 'cost' only on the config dump line 'gpu_cost_per_hour: null'.
- run1 with training.gpu_cost_per_hour 1.10: stdout has resource/estimated_cost_usd, but out/final_model/README.md has no cost line. The audit log events with cost are pipeline.completed only, and there is no run_complete event.
Recommended fix. Rewrite gpu-cost.md (EN+TR) to describe the real mechanism: torch device name after training, the 16-entry table, fuzzy matching, the resource_usage block, the resource/* metrics and where they appear. Remove run_complete, the model-card section, --gpus, gpu_profiles.local.yaml and the broken calibration recipe. Fix logging-observability.md:222-228, the model_card.py docstring and the compliance.py:1846 fallback text.
Acceptance criteria
- A regression test reproduces the failure scenario and asserts the corrected behaviour.
- 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
Labels
Type
Projects
- StatusShow more project fieldsTodo
Activity
fix(docs): align GDPR, erasure, retention and PII documentation with …