Skip to content

Define a tested BibLaTeX structural compatibility profile - #587

Closed
claell wants to merge 5 commits into
sciunto-org:mainfrom
claell:test/105-biblatex-contract
Closed

claell wants to merge 5 commits into
sciunto-org:mainfrom
claell:test/105-biblatex-contract

Conversation

@claell

@claell claell commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add a synthetic BibLaTeX fixture covering @set, @xdata, richer entry types and fields, dates, UTF-8, annotations, extended names, and custom data-model names.
  • Require canonical parse/write cycles to retain the ordered structural inventory without a dialect flag.
  • Document the boundary between structural preservation and Biber's data-model semantics.
  • Reserve BibTeX/BibLaTeX conversion for a later opt-in mapping with explicit loss reporting.

Closes #586. Closes #105.

Dependency and commit structure

The first three commits are the exact entry-type case-preservation work already under review in PR #570. The BibLaTeX contract tests and boundary documentation are the final two commits. The branch runs against current main; after #570 merges, it should be rebased so those prerequisite diffs disappear from this PR.

The nested Biber-comment feature from #372 / PR #585 is intentionally not included or claimed by this branch.

Validation

  • pytest -p no:cacheprovider -W error tests/test_biblatex_contract.py: 4 passed.
  • Complete upstream suite: 2,584 passed, 12 skipped, with the four existing deprecation warnings in tests/test_entrypoint.py.
  • Complete pre-commit hook suite: passed.
  • Biber 2.21 --tool --validate-datamodel accepted the exact synthetic fixture, completed data-model validation, and emitted no warnings.

Review note

Most of this PR is an explicit compatibility contract rather than new schema interpretation. Maintainer review should confirm that the parser is intended to remain schema-agnostic and that preserving custom entry/field names without a dialect flag is the correct boundary.

AI assistance

This pull request was prepared with ChatGPT Codex using GPT-5.6 Sol with high reasoning effort. Codex assisted with standards review, fixture design, dependency separation, documentation, and validation. Automated validation is not a substitute for maintainer review.

claell added 5 commits July 16, 2026 16:31
* 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.
* Retain citation-key spelling through the public round trip.
* Preserve custom field-key casing without implicit normalization.
* Verify richer entry types, fields, dates, annotations, and extended names.
* Preserve set, xdata, and custom data-model records without a dialect flag.
* Validate the synthetic standard-profile fixture with Biber 2.21.
* Distinguish structural preservation from Biber data-model semantics.
* List the separately tested BibLaTeX extensions.
* Reserve data-model conversion for explicit, loss-reporting transformations.
@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.

biblatex/biber @set entry Define a tested BibLaTeX structural compatibility profile

2 participants