Summary

  • Adds detailed condition-level coverage analysis to the coverage command
  • Walks each permission’s condition tree (union, intersection, exclusion) and reports which leaf components (relations, attributes, computed usersets) are covered by test data
  • New types: ConditionComponent, ConditionCoverageInfo for tracking individual condition components
  • Adds PermissionConditionCoverage field to EntityCoverageInfo mapping scenario → permission → condition coverage
  • CLI output shows per-permission condition coverage percentages with uncovered component details

Changes

  • pkg/development/coverage/coverage.go: New condition coverage types and calculateConditionCoverage() function that extracts leaf components from permission condition trees and checks coverage against test data
  • pkg/cmd/coverage.go: New displayConditionCoverage() function for CLI output with color-coded percentages

Test plan

  • Run go build ./... to verify compilation
  • Run existing coverage tests to ensure no regression
  • Test with example schema files that have complex permission conditions (union/intersection/exclusion)
  • Verify CLI output shows condition coverage for each asserted permission

/claim #837

🤖 Generated with Claude Code

Summary by CodeRabbit

Release Notes

  • New Features
    • Enhanced coverage reports now display detailed permission condition coverage metrics
    • Color-coded coverage percentages provide visual clarity (red for ≤50%, green for higher coverage)
    • Uncovered components are now identified and listed in coverage analysis

Claim

Total prize pool $250
Total paid $0
Status Pending
Submitted February 17, 2026
Last updated February 17, 2026

Contributors

28

285729101

@285729101

100%

Sponsors

PE

Permify.co

@Permify

$250