Skip to content

Preserve entry type case - #570

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

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.
@MiWeiss

MiWeiss commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator

Hi @claell — same note across all of your July 16 issues and PRs (#567#597), apologies for the repetition.

Closing this. Passing CI isn't evidence the underlying claim is real — it just means generated tests match generated code. The batch's timing, structure, and forward-referenced numbers point to this being AI-generated rather than manually found and checked, and reviewing it properly would take more effort than a targeted pass over the parser myself.

If this fixes something you actually hit: open a small, human-verified PR against a reopened issue with a real repro, and I'll review it in good faith. Any nontrivial design or API choice needs to be discussed and agreed first, not decided inside a PR. Please disclose and verify AI-assisted work before submitting going forward.

@MiWeiss MiWeiss closed this Sep 2, 2026
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

2 participants