Skip to content

Adopt nomad-sim-parser mapping-report format for parser FEATURES.yml - #341

Merged
ndaelman-hu merged 1 commit into
developfrom
feat/parser-mapping-report
Sep 9, 2026
Merged

Adopt nomad-sim-parser mapping-report format for parser FEATURES.yml#341
ndaelman-hu merged 1 commit into
developfrom
feat/parser-mapping-report

Conversation

@ndaelman-hu

Copy link
Copy Markdown
Contributor

Purpose

The parser capability files (FEATURES.yml) were free-form, LLM-authored prose,
guarded only by a source: convention that nothing enforced. This PR reshapes them
into per-parser MAPPING_REPORT.md files that mirror the programmatic mapping
report of the new-schema simulation parsers (nomad-parser-plugins-simulation,
nomad-sim-parser mapping-report), giving a concrete, source-traceable view of which
declarative file-parser quantities reach the normalized runschema — and where coverage
is missing.

Scope

Included

  • Rewrite .github/copilot-instructions.md: Markdown mapping-report format (one section
    per file-parser class: File-parser quantity | Status | Archive mapper source + a
    coverage %), a deterministic generation recipe, a grep-based self-check replacing the
    old source: field, and explicit handling of dynamically-named quantities.
  • Convert all 42 in-repo parsers FEATURES.ymlMAPPING_REPORT.md, regenerated from
    parser source.
  • Add docs/reference/parser_mapping_report.md, the concatenation of the fragments.

Out of scope

  • molpro — it is a git submodule (nomad-parser-molpro-plugin); its report must be
    converted in that repo.
  • No build tooling / CI check: the reports and combined file are maintained by hand
    (review-based trust), matching the existing LLM-authored workflow.

Context & Links

Reviewer Notes

  • Overall coverage across the 42 parsers is 1238/2728 quantities (45.4%). Low numbers
    (yambo, wien2k, orca, abacus) reflect heavy x_<code>_*-only extraction, not missing
    work. Eight parsers with custom archive-writing and no declarative Quantity list are
    marked "Coverage: Not available" rather than given a fabricated number.
  • Coverage figures are LLM-inferred from reading each parser (each fragment self-checked
    against source), not machine-computed — please sanity-check spot cases. Regeneration
    found several latent parser bugs (e.g. elk energy_chage typo, mopac n_filled name
    mismatch, psi4 corrupted quantity name); these are documented as Unmapped, not fixed
    here.

Status

  • Draft / In progress
  • Ready for review
  • Blocked (explain):

Breaking Changes

  • None (documentation-only; no parser code changed)

Dependencies / Blockers

  • None

Testing / Validation

  • Manual testing (explain): each fragment self-checked — every listed quantity traces
    to a real Quantity declaration and per-section summary counts/coverage match the
    tables; combined report regenerated by concatenation.

Replace the free-form, LLM-authored `FEATURES.yml` capability files with
per-parser `MAPPING_REPORT.md` files that mirror the programmatic mapping
report of the new-schema simulation parsers (nomad-parser-plugins-simulation,
`nomad-sim-parser mapping-report`).

Each report has one section per declarative file-parser class, listing every
declared `Quantity` with its mapping status (Mapped/Unmapped) and, when mapped,
the runschema attribute it feeds, plus a per-section coverage percentage. This
turns a prose capability list into a concrete, source-traceable coverage view
and exposes where extraction lands only in code-specific `x_<code>_*` metainfo.

- Rewrite `.github/copilot-instructions.md`: Markdown mapping-report format,
  deterministic generation recipe, grep-based self-check in place of the old
  `source:` convention, dynamically-named quantities explicitly in scope.
- Convert all 42 in-repo parsers (molpro excluded: it is a submodule).
- Add `docs/reference/parser_mapping_report.md`, the concatenation of the
  per-parser fragments (rebuilt by hand, no build tooling).

Parsers with no declarative `Quantity` list (custom archive-writing logic) are
marked "Coverage: Not available" rather than given a fabricated number.
@ladinesa

ladinesa commented Sep 9, 2026

Copy link
Copy Markdown
Collaborator

I do not mind really having this, but considering that we will not anymore further develop the parsers here, I do not see much value. But can be merged, I guess.

@ndaelman-hu

Copy link
Copy Markdown
Contributor Author

I do not mind really having this, but considering that we will not anymore further develop the parsers here, I do not see much value. But can be merged, I guess.

The value proposition is simple: this will help us, and in particular Cecilia and Ksenia, more easily compare parser coverage between old and new.

@coveralls

Copy link
Copy Markdown

Coverage Report for CI Build 34338698084

Coverage remained the same at 92.855%

Details

  • Coverage remained the same as the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • No coverage regressions found.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

No coverage regressions found.


Coverage Stats

Coverage Status
Relevant Lines: 39079
Covered Lines: 36287
Line Coverage: 92.86%
Coverage Strength: 0.93 hits per line

💛 - Coveralls

@ndaelman-hu ndaelman-hu changed the title Convert parser FEATURES.yml to ladinesa-style mapping reports Adopt nomad-sim-parser mapping-report format for parser FEATURES.yml Sep 9, 2026
@ndaelman-hu
ndaelman-hu merged commit 95207c8 into develop Sep 9, 2026
3 checks passed
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.

3 participants