Skip to content

Harden remaining parser, configuration, and installer edge cases #5

Description

@SYKhayyat

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions