Skip to content

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

Open
marcelsafin wants to merge 1 commit into
github:mainfrom
marcelsafin:fix/preset-required-sections
Open

fix(presets): validate required manifest mappings#3898
marcelsafin wants to merge 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

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