Summary
Status repeats the same repair command for multiple failed checks, producing noisy remediation output without aggregating why the command is needed.
Audit IDs: O-15. Reproduced with locally built cdidx v1.40.3 at 404db09489c305f17d94f37026e00564d3ac527a.
Existing issue relationship
No exact existing issue was found.
Expected behavior and PR scope
Normalize/deduplicate identical safe repair actions and attach all triggering check IDs/reasons. Keep underlying health checks unchanged.
Implementation guide for Codex 5.6 sol xhigh
- Represent remediation as structured action + arguments + safety/mutation class, not rendered-string equality alone.
- Aggregate reasons while preserving deterministic priority/order and command quoting.
- Do not merge commands whose DB/path/options or safety semantics differ.
- Cover repeated/mixed actions, redaction, workspace members, JSON/human, and no-action cases.
- Add focused regression/contract tests as appropriate, run the full net8.0 and net9.0 suite, and add the required bilingual
changelog.d/unreleased/ fragment.
Acceptance criteria
- Each identical repair action appears once.
- All triggering reasons/checks remain visible.
- Distinct targets/actions are never accidentally merged.
Summary
Status repeats the same repair command for multiple failed checks, producing noisy remediation output without aggregating why the command is needed.
Audit IDs: O-15. Reproduced with locally built cdidx v1.40.3 at
404db09489c305f17d94f37026e00564d3ac527a.Existing issue relationship
No exact existing issue was found.
Expected behavior and PR scope
Normalize/deduplicate identical safe repair actions and attach all triggering check IDs/reasons. Keep underlying health checks unchanged.
Implementation guide for Codex 5.6 sol xhigh
changelog.d/unreleased/fragment.Acceptance criteria