Skip to content

product_strategy.md advertises a nonexistent auto_revert_on_safety_failure config field (and misdescribes revert/reject) (CR-A01-003) #358

Open

Description

@cemililik

Wave 1 · theme D1-11: Other high-severity packages · highest severity High · 1 finding(s) · effort trivial

Summary

An integrator copies the documented field into CI YAML and the pipeline fails at load.

Primary finding

CR-A01-003 — product_strategy.md advertises a nonexistent auto_revert_on_safety_failure config field (and misdescribes revert/reject)

severity High · reachability default · intent contract-violation · confidence confirmed · independently confirmed · reproduced end to end · already tracked: KNOWN-OPEN C31-DOC-SCHEMA-PROSE — docs/roadmap/phase-16-trust-surface-hardening.md:773,785-786 (S15 open)

What happens. docs/product_strategy.md:24 and the TR mirror call auto_revert_on_safety_failure a first-class config field. No such field exists; auto-revert is evaluation.auto_revert (config.py:1188-1194), and EvaluationConfig is extra='forbid', so the documented key fails config load with exit 1. Nearby lines also overstate the gate as baseline-relative and pre-write.

Where.

Evidence.

  • rg auto_revert_on_safety_failure in the snapshot: matches only the two product_strategy files. EvaluationConfig(auto_revert_on_safety_failure=True) -> ValidationError type extra_forbidden.
  • rg auto_revert_on_safety_failure over the snapshot (excluding roadmap/CHANGELOG) hits only the two product_strategy pages; EvaluationConfig has extra='forbid' (config.py:1189).
  • rg auto_revert_on_safety_failure over the snapshot matches only docs/product_strategy.md:24 and docs/product_strategy-tr.md:24.

Recommended fix. Reword the doc to name evaluation.auto_revert together with evaluation.safety.enabled.

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: configCode area: configbacklog: knownAlready tracked in docs/roadmapblockedWaits for another issue (see Blocked by); set and removed automatically, never by handbugSomething 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