Skip to content

[P1] Enforce cross-platform line-ending and format-check parity #45

Description

@TFT444

Objective

Make the documented full local verification command produce the same formatting result on Windows and Ubuntu by enforcing repository line-ending policy.

Audit finding

GitHub CI passes ruff format --check . on Ubuntu, but this Windows checkout has core.autocrlf=true, no .gitattributes, and the same command reports 22 tracked Python files as requiring reformatting. Lint, strict mypy, 556 tests, and 100% coverage pass; the mismatch is line-ending normalization, not logic.

Scope

  • Add minimal .gitattributes policy for text and binary assets.
  • Normalize tracked text mechanically without semantic changes.
  • Confirm Windows and Ubuntu use the same LF content.
  • Document one-time renormalization for existing checkouts.
  • Mark media and binary evidence as binary.

Acceptance criteria

  • ruff format --check . passes on a fresh Windows checkout with core.autocrlf=true.
  • Ubuntu CI remains green.
  • Normalization has no semantic source changes.
  • Lint, mypy, tests, and coverage remain unchanged.
  • PNG, MP4, and other binaries are not rewritten.
  • Contributor docs state supported line-ending behavior.
  • A practical regression check prevents accidental CRLF reintroduction.

Non-goals

Broad restyling, changing Ruff rules, or changing runtime behavior.

Keywords

gitattributes line-endings windows ruff-format ci-parity

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

    area: testingAutomated verification and adversarial testingdocumentationImprovements or additions to documentationpriority: P1Required for a polished and credible release

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions