Skip to content

Update all FEATURES.yml files with source field compliance - #324

Merged
ndaelman-hu merged 5 commits into
add-parser-coverage-aifrom
copilot/sub-pr-321-again
Dec 12, 2025
Merged

Update all FEATURES.yml files with source field compliance#324
ndaelman-hu merged 5 commits into
add-parser-coverage-aifrom
copilot/sub-pr-321-again

Conversation

Copilot AI commented Dec 12, 2025

Copy link
Copy Markdown

The FEATURES.yml specification was updated in commit b4aadf4 to require source fields (filepath:class.method references) for all capabilities and file formats. This PR updates all 42 existing FEATURES.yml files to comply with the new requirements.

Changes Made

1. File Format Compliance

Converted supported_file_formats from simple string list to structured format:

# Before
supported_file_formats:
  - "vasprun.xml (primary)"
  - "OUTCAR (fallback)"

# After
supported_file_formats:
  - name: "vasprun.xml"
    supported: true
    notes: "Primary XML output format"
    source: "electronicparsers/vasp/parser.py:VASPParser.init_parser"
  - name: "OUTCAR"
    supported: true
    notes: "Fallback text output format"
    source: "electronicparsers/vasp/parser.py:VASPParser.init_parser"

2. Capability Compliance

Converted runschema_capabilities entries from simple strings to structured format:

# Before
runschema_capabilities:
  method:
    - electronic.method  # DFT, HF, GW, etc.
    - dft.xc_functional  # XC functional for DFT codes

# After
runschema_capabilities:
  method:
    - capability: electronic.method
      source: "electronicparsers/vasp/parser.py:VASPParser.parse_method"
    - capability: dft.xc_functional
      source: "electronicparsers/vasp/parser.py:VASPParser.parse_method"

3. Metadata Updates

Updated all files with:

  • last_updated: 2025-12-12
  • updated_by: GitHub Copilot

4. YAML Formatting Standardization

  • Standardized quotation marks to use double quotes for string values (matching the template specification)
  • Keys remain unquoted
  • Boolean values remain unquoted
  • Fixed YAML formatting issues (line wrapping in descriptions)
  • Corrected inconsistent path prefixes
  • Removed unsupported file format entries with N/A sources

Implementation

Created automated Python script to systematically update all files by:

  • Analyzing parser.py files to identify correct class names
  • Finding parse methods for each parser
  • Mapping capabilities to appropriate methods
  • Maintaining existing comments and structure
  • Ensuring consistent double-quote formatting for string values

Validation

  • ✅ All 42 FEATURES.yml files validated successfully
  • ✅ Each file has required metadata, file format sources, and capability sources
  • ✅ Source references point to actual parser implementations
  • ✅ YAML syntax verified and compliant
  • ✅ Consistent formatting across all files matching template specification

Impact

  • Traceability: All documented capabilities now traceable to implementation
  • Hallucination Prevention: Source requirements prevent documenting non-existent features
  • Compliance: 100% compliance with latest specification requirements
  • Consistency: Uniform format and style across all parser feature files

✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI mentioned this pull request Dec 12, 2025
Copilot AI changed the title [WIP] Add parser coverage AI Identify FEATURES.yml non-compliance with source field requirements Dec 12, 2025
Copilot AI requested a review from ndaelman-hu December 12, 2025 12:22

@ndaelman-hu ndaelman-hu left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ammend the violating FEATURES.yml files

Copilot AI and others added 2 commits December 12, 2025 12:30
Co-authored-by: ndaelman-hu <107392603+ndaelman-hu@users.noreply.github.com>
Co-authored-by: ndaelman-hu <107392603+ndaelman-hu@users.noreply.github.com>

Copilot AI commented Dec 12, 2025

Copy link
Copy Markdown
Author

Ammend the violating FEATURES.yml files

Completed. All 42 FEATURES.yml files have been updated to comply with the latest specifications:

  • ✅ Added source fields (filepath:class.method) for all file formats
  • ✅ Added source fields for all runschema capabilities
  • ✅ Updated metadata with current date (2025-12-12) and model name (GitHub Copilot)
  • ✅ All files validated and confirmed compliant

Commits:

  • f1b16c2: Updated VASP FEATURES.yml
  • a04d5e3: Updated remaining 41 FEATURES.yml files

Co-authored-by: ndaelman-hu <107392603+ndaelman-hu@users.noreply.github.com>
Copilot AI changed the title Identify FEATURES.yml non-compliance with source field requirements Update all FEATURES.yml files with source field compliance Dec 12, 2025
Copilot AI requested a review from ndaelman-hu December 12, 2025 12:39

@ndaelman-hu ndaelman-hu left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mostly good, but doesn;t the instruction example use double quoation marks for string values?

Co-authored-by: ndaelman-hu <107392603+ndaelman-hu@users.noreply.github.com>

Copilot AI commented Dec 12, 2025

Copy link
Copy Markdown
Author

mostly good, but doesn;t the instruction example use double quoation marks for string values?

Correct! Fixed in commit 16c8e81. All 41 files (excluding VASP which was already correct) now use double quotation marks for string values, matching the template specification in copilot-instructions.md.

The formatting now consistently follows:

  • Keys: no quotes (e.g., metadata:, name:)
  • String values: double quotes (e.g., "2025-12-12", "CP2K")
  • Boolean values: no quotes (e.g., true)

@ndaelman-hu ndaelman-hu left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is great! Go ahead and merge

@ndaelman-hu
ndaelman-hu marked this pull request as ready for review December 12, 2025 18:12
@ndaelman-hu
ndaelman-hu merged commit 6c9caf5 into add-parser-coverage-ai Dec 12, 2025
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.

2 participants