Skip to content

fix(parser): preserve opam metadata after inline descriptions#758

Merged
mstykow merged 2 commits intomainfrom
verify/opam-parser
Apr 22, 2026
Merged

fix(parser): preserve opam metadata after inline descriptions#758
mstykow merged 2 commits intomainfrom
verify/opam-parser

Conversation

@mstykow
Copy link
Copy Markdown
Owner

@mstykow mstykow commented Apr 22, 2026

Summary

  • Preserve later opam metadata when description: is inline or moves to the next quoted line, while keeping existing triple-quoted fixture behavior stable.
  • Verify row 35 (OCaml / opam) with compare-outputs --profile common on ocaml/dune, ocaml/ocaml-lsp, and ocaml/merlin, then record the benchmark rows and mark the scorecard row verified.
  • Compare artifacts: .provenant/compare-runs/20260422T115905Z-dune-32635/, .provenant/compare-runs/20260422T120550Z-ocaml-lsp-41966/, .provenant/compare-runs/20260422T120950Z-merlin-47624/.

Issues

  • Covers: parser verification scorecard row 35 (OCaml / opam)

Scope and exclusions

  • Included: parser regression tests for inline and next-line opam descriptions, opam benchmark rows, regenerated benchmark chart/stats, and the scorecard status update.
  • Explicit exclusions: no unrelated parser refactors, no target-specific scan tuning, and no expected-output fixture rewrites.

Intentional differences from Python

  • Treat .for-opam Dune workspace files as non-opam inputs even when ScanCode heuristically reports opam package data on them, because the file contents are Dune syntax rather than opam manifest syntax.
  • Keep Unicode-preserving copyright and author normalization when it is more faithful than ScanCode's ASCII-degraded output.

Follow-up work

  • Created or intentionally deferred: none.

Expected-output fixture changes

  • Files changed: none.
  • Why the new expected output is correct: the parser fix is covered by new regression tests plus the existing opam golden suite, which passed without updating any expected files.

mstykow and others added 2 commits April 22, 2026 14:31
Preserve later opam fields when descriptions are inline or move to the next quoted line, while keeping existing triple-quoted fixture behavior stable across the parser and golden tests.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Signed-off-by: Maxim Stykow <maxim.stykow@gmail.com>
Record the dune, ocaml-lsp, and merlin compare-output results, regenerate the benchmark chart summary, and mark the OCaml/opam scorecard row verified.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Signed-off-by: Maxim Stykow <maxim.stykow@gmail.com>
@mstykow mstykow merged commit 152b966 into main Apr 22, 2026
15 checks passed
@mstykow mstykow deleted the verify/opam-parser branch April 22, 2026 12:48
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.

1 participant