Skip to content

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

Open

Description

@cemililik

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.

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

No one assigned

    Labels

    area: integrationsCode area: integrationsbugSomething isn't workingseverity: 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