Skip to content

feat(core): support meta.provider with backward compatibility - #402

Open
brandonwilliams33 wants to merge 4 commits into
StackGuardian:mainfrom
brandonwilliams33:feat/provider-metadata
Open

brandonwilliams33 wants to merge 4 commits into
StackGuardian:mainfrom
brandonwilliams33:feat/provider-metadata

Conversation

@brandonwilliams33

@brandonwilliams33 brandonwilliams33 commented Oct 14, 2026 •

Copy link
Copy Markdown

Description

  • What changes are being made?

    • Accept meta.provider while keeping meta.required_provider supported. When both are present, provider takes precedence.
    • Keep result metadata under meta.required_provider so existing consumers receive the same output.
    • Update documentation and example policies, including the browser playground, and add compatibility tests.
  • Why are these changes necessary?

    • Use the simpler field name without breaking existing policies or tools that read evaluation results.
  • Which issues or tickets does this PR close or relate to?

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Other (please specify):

Checklist

  • Code has been linted.
  • Documentation has been updated (if needed).
  • Tests have been added or updated (if needed).
  • Any breaking changes have been communicated to the team. No breaking changes are intended.

Screenshots or Recordings (if applicable)

Not applicable.

Additional Information

Tested locally with Python 3.12:

  • pytest tests/ --ignore=tests/providers/terraform_plan/test_direct_references.py -q: 931 passed.
  • Browser provider metadata tests: 4 passed.
  • Black, pydocstyle, documentation build, and git diff --check passed.

The excluded test file requires AWS credentials for its Terraform plan tests. Those tests are also skipped by the repository in GitHub Actions. Compatibility was checked using existing Terraform plan fixtures.

@codecov

codecov Bot commented Oct 14, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 81.81818% with 2 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/tirith/tui/validate.py 77.77% 1 Missing and 1 partial ⚠️
Files with missing lines Coverage Δ
src/tirith/cli.py 74.46% <ø> (ø)
src/tirith/core/core.py 85.77% <100.00%> (ø)
src/tirith/fmt.py 86.74% <ø> (ø)
src/tirith/tui/examples.py 84.74% <ø> (ø)
src/tirith/tui/schema.py 100.00% <ø> (ø)
src/tirith/tui/views/builder.py 83.00% <ø> (ø)
src/tirith/tui/views/playground.py 90.94% <100.00%> (ø)
src/tirith/tui/validate.py 90.23% <77.77%> (-0.68%) ⬇️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@refeed refeed left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The pr itself looks good. But I'll test it first because it turns out this is a very big change for the good first issue task :). In the meantime, feel free to take tasks that has no assignee, thanks

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(core): rename meta.required_provider to meta.provider, keeping backward compatibility

2 participants