Skip to content

fix: preserve generated validator LF on Windows checkout - #255

Merged
SWBaek merged 1 commit into
mainfrom
fix/245-validator-lf
Sep 7, 2026
Merged

fix: preserve generated validator LF on Windows checkout#255
SWBaek merged 1 commit into
mainfrom
fix/245-validator-lf

Conversation

@SWBaek

@SWBaek SWBaek commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Problem and change

Windows checkouts with core.autocrlf=true converted the generated validators to CRLF, so validators:check rejected current code before verification could run. Pin shared/document/generated/** to text eol=lf and check the generated files in both Windows and Linux CLI CI jobs before packaging can regenerate them. Document the checkout contract and generator-based recovery for existing working directories.

The generator and its exact comparison are unchanged; no generated files or persisted semantics change.

Validation

  • Reproduced on a fresh Windows checkout of 5428f08: all four generated files had CRLF and validators:check exited 1 after npm ci.
  • On f18e15d, separate fresh checkouts with core.autocrlf=true and false both contain four LF generated files and pass validators:check without regeneration. Making metadata.title required in each isolated schema makes the same command reject stale output; restoring the schema restores success.
  • actionlint and git diff --check passed.
  • npm run verify:all passed on Windows (exit 0): 95 files / 921 tests, build, 73 Chromium tests, 14 VS Code Host scenarios, VSIX contents and CLI install/UTF-8 package checks.
  • All five PR CI jobs passed on the exact head; both Windows/Linux pre-build validator checks succeeded.
  • Separate Astra review completed with no findings; independently reproduced LF checkout and semantic stale rejection.

Closes #245

@SWBaek SWBaek left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Independent Astra review of f18e15d: no actionable findings.

Reviewed all three changed files, the unchanged generator comparison, npm script ordering, and both OS entries in the CLI CI matrix. The attribute is restricted to shared/document/generated/**; CI checks the checkout before the packaging path can regenerate validators. No generated artifacts, generator behavior, or persisted semantics change.

Independently created a fresh Windows checkout with core.autocrlf=true: all four generated files were LF and the Node 22.22.2 validator check passed without generation. In that isolated checkout, making metadata.title required produced the expected "Generated document validators are stale" failure with exit 1; restoring the schema returned success and a clean checkout. git diff --check also passed.

Full local verify:all and exact-head CI are still pending; merge remains on hold until both pass. This is an independent agent review submitted as COMMENT because the authenticated GitHub account is also the PR author, not a separate human approval.

@SWBaek
SWBaek merged commit cac36ef into main Sep 7, 2026
5 checks passed
@SWBaek
SWBaek deleted the fix/245-validator-lf branch September 7, 2026 10:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: Windows checkout에서도 생성 validator의 LF 계약을 재현 가능하게 유지

1 participant