Skip to content

feat(materials): add PITEST_XML material type - #3374

Merged
migmartri merged 2 commits into
chainloop-dev:mainfrom
migmartri:dw/32564-1787751107
Aug 26, 2026
Merged

feat(materials): add PITEST_XML material type#3374
migmartri merged 2 commits into
chainloop-dev:mainfrom
migmartri:dw/32564-1787751107

Conversation

@migmartri

@migmartrimigmartri commented Aug 26, 2026

Copy link
Copy Markdown
Member

Adds PITEST_XML as a first-class attestable material kind for PIT mutation-testing reports (mutations.xml).

  • Validates PIT's native XML via a shared materials/pitest model that pins the <mutations> root and rejects reports with no mutation records.
  • Supports contract-free auto-detection (PITEST_XML joins the validation order) without shadowing JaCoCo, Cobertura, or JUnit.
  • Projects the XML to JSON ({ "partial": bool, "mutations": [...] }) for policy evaluation, preserving each mutation's status verbatim so policies distinguish SURVIVED from NO_COVERAGE, and keeping both standard and fullMutationMatrix report shapes.

Closes#3373

🤖 Posted by Maximus bot (Claude Code) on behalf of @migmartri

@chainloop-platform

chainloop-platformBot commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Security Checks — ✅ 3 passing

iac-scan

StatusPolicyMessages
✅ Passediac-misconfiguration-

PR info

StatusPolicyMessages
✅ Passedpr-description-required-
✅ Passedpr-user-story-linked-

⏭️ 2 scans not applied

ScanReason
vulnerability-scanno manifest/lockfile changed
github-actions-scanno workflow files changed

View attestation ↗


Powered by Chainloop and Chainloop Trace

@migmartri
migmartri requested a review from a teamAugust 26, 2026 14:25
Assisted-by: Claude Code
Signed-off-by: Miguel Martinez Trivino <miguel@chainloop.dev>

@cubic-dev-aicubic-dev-aiBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

No issues found across 31 files

Not reviewed (too large): pkg/attestation/crafter/api/attestation/v1/testdata/pitest.xml (~167 lines), pkg/attestation/crafter/materials/testdata/pitest.xml (~167 lines) - if these are generated or fixture files, add them to ignored paths to exclude them from future reviews.

Re-trigger cubic

Assisted-by: Claude Code
Signed-off-by: Miguel Martinez Trivino <miguel@chainloop.dev>

@cubic-dev-aicubic-dev-aiBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

No issues found across 31 files

Not reviewed (too large): pkg/attestation/crafter/materials/testdata/pitest.xml (~167 lines) - if these are generated or fixture files, add them to ignored paths to exclude them from future reviews.

Re-trigger cubic

@migmartri
migmartri merged commit fddf405 into chainloop-dev:mainAug 26, 2026
16 checks passed
Sign up for freeto 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.

feat(materials): add PITEST_XML material type for PIT mutation testing reports

2 participants

@migmartri@matiasinsaurralde