Problem
Remaining parser/configuration/installer edge cases can silently accept invalid input or make failures difficult to diagnose.
Verified scope
- Several config setters accept unknown keys while sibling setters reject them; typos become dead settings.
- Grammar errors have inconsistent line/column context and some valid-looking module names cannot be referenced.
- Safety values such as
purge_ratio need domain validation.
- Tool-help probing must be bounded and should not rely on locale-sensitive output.
- Restore/install paths and Windows archive names need consistent atomic-write, dry-run, reserved-name, and path handling.
Proposed fix
Generate or centralize per-setting schemas; reject unknown keys with the exact field and source location; represent grammar spans with line and column; validate numeric safety domains; run external probes under cancellation/timeouts with stable machine-readable checks; and route restore/archive writes through common validated, atomic abstractions.
Acceptance criteria
Add focused negative tests for each invalid key/value/path and platform case. No typo silently widens behavior, no manager probe can block forever, and every refusal identifies the input and safe remediation.
Reference: AUDIT-code-audit-2026-08-23.md, remaining parser, configuration, installer, and platform findings.
Problem
Remaining parser/configuration/installer edge cases can silently accept invalid input or make failures difficult to diagnose.
Verified scope
purge_rationeed domain validation.Proposed fix
Generate or centralize per-setting schemas; reject unknown keys with the exact field and source location; represent grammar spans with line and column; validate numeric safety domains; run external probes under cancellation/timeouts with stable machine-readable checks; and route restore/archive writes through common validated, atomic abstractions.
Acceptance criteria
Add focused negative tests for each invalid key/value/path and platform case. No typo silently widens behavior, no manager probe can block forever, and every refusal identifies the input and safe remediation.
Reference:
AUDIT-code-audit-2026-08-23.md, remaining parser, configuration, installer, and platform findings.