Skip to content

fix(presets): validate required manifest mappings - #3898

Merged
mnriem merged 1 commit into
github:mainfrom
marcelsafin:fix/preset-required-sections
Jul 31, 2026
Merged

fix(presets): validate required manifest mappings#3898
mnriem merged 1 commit into
github:mainfrom
marcelsafin:fix/preset-required-sections

Conversation

@marcelsafin

Copy link
Copy Markdown
Contributor

Summary

  • require the preset, requires, and provides manifest sections to be mappings
  • raise PresetValidationError instead of leaking raw type errors from nested access
  • cover invalid section shapes with regression tests

Testing

  • uvx ruff@0.15.0 check src tests
  • .venv/bin/pytest tests/test_presets.py -q (517 passed)
  • .venv/bin/pytest -q (6114 passed, 176 skipped)

AI disclosure

GitHub Copilot helped identify the missing shape guards and review the implementation. I reproduced the failures and validated the final change with targeted and full test suites.

Assisted-by: GitHub Copilot (model: GPT-5.6 Sol, autonomous)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 31, 2026 08:27
@marcelsafin
marcelsafin requested a review from mnriem as a code owner July 31, 2026 08:27

Copilot AI 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.

Pull request overview

Adds shape validation for required preset manifest sections, preventing raw nested-access type errors.

Changes:

  • Validate preset, requires, and provides as mappings.
  • Add regression coverage for null, list, and scalar values.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
src/specify_cli/presets/__init__.py Adds required-section mapping guards.
tests/test_presets.py Tests invalid required-section shapes.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copilot AI 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.

Review details

  • Files reviewed: 2/2 changed files
  • Comments generated: 0 new
  • Review effort level: Balanced

@mnriem
mnriem merged commit 400ad01 into github:main Jul 31, 2026
14 checks passed
@mnriem

mnriem commented Jul 31, 2026

Copy link
Copy Markdown
Collaborator

Thank you!

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