Add parser coverage AI - #321
Conversation
|
YAML file format was chosen as a balance between machine and human-readable. |
There was a problem hiding this comment.
Pull request overview
This PR adds parser coverage documentation via AI-assisted FEATURES.yml files and GitHub Copilot instruction sets to help AI tools understand and work with NOMAD's electronic structure parsers. The changes also extend CP2K parser support for newer output formats (2023.1+).
Key Changes:
- Adds FEATURES.yml documentation files for VASP, Quantum ESPRESSO, FHI-aims, CP2K, and CASTEP parsers using standardized runschema terminology
- Creates GitHub Copilot instruction files (.github/copilot-instructions.md) to guide AI-assisted development
- Extends CP2K parser to support new molecular dynamics output format from CP2K 2023.1+
- Adds test coverage for new CP2K MD format parsing
Reviewed changes
Copilot reviewed 9 out of 10 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
.github/copilot-instructions.md |
Root-level Copilot instructions for NOMAD parser development with runschema terminology reference |
electronicparsers/.github/copilot-instructions.md |
Parser-specific Copilot instructions with metadata editing guidelines |
electronicparsers/vasp/FEATURES.yml |
VASP parser capabilities documentation including hybrid functionals, GW, DFT+U support |
electronicparsers/quantumespresso/FEATURES.yml |
Quantum ESPRESSO parser capabilities including DFPT phonons and Car-Parrinello MD |
electronicparsers/fhiaims/FEATURES.yml |
FHI-aims parser capabilities highlighting all-electron calculations and NAO basis sets |
electronicparsers/cp2k/FEATURES.yml |
CP2K parser capabilities documenting GPW method and QM/MM support |
electronicparsers/castep/FEATURES.yml |
CASTEP parser capabilities including DFPT, TDDFT, and phonon analysis |
electronicparsers/cp2k/parser.py |
Extended parser to handle CP2K 2023.1+ MD output format with new MD |
tests/test_cp2kparser.py |
New test for CP2K 2023.1+ MD format parsing verification |
tests/data/cp2k/molecular_dynamics/H2O-32-2023.1.out |
Test data file with CP2K 2023.1 MD output (1774 lines) |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…ocation
- Add metadata tracking requirements (last_updated, updated_by)
- Specify that model name must be retained in FEATURES.yml metadata
- Clarify to not annotate every line, only metadata section
- Update YAML schema template to include metadata section
- Consolidate copilot instructions to package root .github/ folder
- Remove duplicate file from electronicparsers/.github/
- Update file path references to electronicparsers/{parser_name}/FEATURES.yml
3123657 to
2c6845b
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 6 out of 6 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Pull Request Test Coverage Report for Build 20176852758Details
💛 - Coveralls |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 6 out of 6 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@copilot apply the feature analysis for Wannier90, Gaussian, orca, abinit, Wien2k |
|
@ndaelman-hu I've opened a new pull request, #323, to work on those changes. Once the pull request is ready, I'll request review from you. |
@JFRudzinski take a look at this link for more detail on the how GitHub handles AI instruction files. Also keep an eye out for the following PR, as it will showcase Copilot applying these instructions. |
… and Wien2k parsers (#323) * Add FEATURES.yml for Wannier90, Gaussian, ORCA, ABINIT, and Wien2k parsers --- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: ndaelman-hu <107392603+ndaelman-hu@users.noreply.github.com>
|
@JFRudzinski should these comments in the |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 43 out of 43 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Apply GitHub copilot feedback: correct typo Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 43 out of 43 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@copilot Are all FEATURE.yml files compliant with the latest specs? |
|
@ndaelman-hu I've opened a new pull request, #324, to work on those changes. Once the pull request is ready, I'll request review from you. |
* Update all remaining FEATURES.yml files with source field compliance --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: ndaelman-hu <107392603+ndaelman-hu@users.noreply.github.com>
idk, I feel like in some cases they could be useful, but maybe more to a human than for the LLM. I think you have a better sense of what is useful, so I defer to your opinion |
This PR adds an instruction set for Github Copilot to the features of each parser. Via triggering a Copilot review, we can insure that any PR modifying the feature set will be reflected in the annotations. It is in principle possible to also have a local model update the feature list, but then it has to be pointed towards the instruction set.