Skip to content

Synthetic-data manual claims audit-log entries per teacher call, refusal/format filters and a teacher citation in the model card; none exist (CR-A08-004) #443

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

docs/usermanuals/en/data/synthetic-data.md:87 says 'The trainer's audit log records every teacher call, including the model name and timestamp'. synthetic.py has no audit logger, and the audit-event catalog has no synthetic generation event (only data.erasure_warning_synthetic_data_present). Lines 93-95 promise single-token rows are dropped, refusals are pattern-matched and tagged, and 'format failures' are validated. The code drops only falsy responses (synthetic.py:74-82) and has no refusal or format logic. Lines 97-110 say the model card cites the teacher ('N rows of synthetic data generated by openai:gpt-4o'). model_card.py excludes the synthetic section from the dump (:296) and has no data-lineage section. For a compliance-oriented tool, a nonexistent record of which teacher produced the training corpus (Art. 10 provenance) is more than cosmetic drift.

Primary finding

CR-A08-004 — Synthetic-data manual claims audit-log entries per teacher call, refusal/format filters and a teacher citation in the model card; none exist

severity High · reachability default · intent contract-violation · confidence confirmed · independently confirmed · reproduced end to end

What happens. docs/usermanuals/en/data/synthetic-data.md:87 says 'The trainer's audit log records every teacher call, including the model name and timestamp'. synthetic.py has no audit logger, and the audit-event catalog has no synthetic generation event (only data.erasure_warning_synthetic_data_present). Lines 93-95 promise single-token rows are dropped, refusals are pattern-matched and tagged, and 'format failures' are validated. The code drops only falsy responses (synthetic.py:74-82) and has no refusal or format logic. Lines 97-110 say the model card cites the teacher ('N rows of synthetic data generated by openai:gpt-4o'). model_card.py excludes the synthetic section from the dump (:296) and has no data-lineage section. For a compliance-oriented tool, a nonexistent record of which teacher produced the training corpus (Art. 10 provenance) is more than cosmetic drift.

Where.

Evidence.

  • rg for audit in synthetic.py and cli/_no_train_modes.py returns nothing. rg for synthetic/teacher in model_card.py returns only the exclude list and comments. Generated card from config_template contains no teacher citation.

Recommended fix. Either implement a synthetic.generated audit event plus a model-card provenance line, or delete the three claims from the manual (EN and TR).

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