Skip to content

Preserve entry type case#570

Draft
claell wants to merge 3 commits into
sciunto-org:mainfrom
claell:fix/453-preserve-entry-type-case
Draft

Preserve entry type case#570
claell wants to merge 3 commits into
sciunto-org:mainfrom
claell:fix/453-preserve-entry-type-case

Conversation

@claell

@claell claell commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Preserve entry-type spelling from source while continuing to recognize block
    kinds case-insensitively.
  • Prevent parse/write cycles from creating case-only changes.
  • Lock in the related default preservation of citation-key and custom
    field-key spelling.
  • Add an explicit NormalizeEntryTypes middleware for callers that prefer the
    former lowercase normalization.

Fixes #453. Related to the broader normalization discussion in #477.

Validation

  • Focused splitter, public round-trip, and normalization regressions under
    warnings-as-errors: 18 passed.
  • Focused identifier-case round-trip regressions under warnings-as-errors: 2
    passed.
  • Complete upstream suite: 2,580 passed, 12 skipped, with the four existing
    deprecation warnings in tests/test_entrypoint.py.
  • Complete pre-commit hook suite: passed.

Review note

This change was developed and validated in a concentrated session rather than
exercised over a long period in production. It includes an opt-in compatibility
path for lowercase normalization, but careful human review of the default
behavior and middleware API is requested.

AI assistance

This pull request was prepared with ChatGPT Codex using GPT-5.6 Sol with high
reasoning effort. Codex assisted with analysis, implementation, branch
isolation, and test execution. Automated validation is not a substitute for
maintainer review.

claell added 2 commits July 16, 2026 13:57
* Retain source spelling while classifying block types case-insensitively.
* Cover splitter behavior and parse-write round trips with regression tests.
* Preserve source spelling in the parser default.
* Provide optional lowercase normalization as middleware.
@claell claell mentioned this pull request Jul 16, 2026
2 tasks
* Retain citation-key spelling through the public round trip.
* Preserve custom field-key casing without implicit normalization.
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.

Use case sensitive entry type

1 participant