Skip to content

ci: exclude state transition boilerplate from coverage#3458

Merged
QuantumExplorer merged 1 commit into
v3.1-devfrom
ci/exclude-transition-boilerplate
Apr 8, 2026
Merged

ci: exclude state transition boilerplate from coverage#3458
QuantumExplorer merged 1 commit into
v3.1-devfrom
ci/exclude-transition-boilerplate

Conversation

@QuantumExplorer
Copy link
Copy Markdown
Member

@QuantumExplorer QuantumExplorer commented Apr 8, 2026

Summary

Excludes mechanical state transition trait implementations from coverage. Config-only change.

New exclusions

Pattern Reason
**/state_transition_like.rs StateTransitionLike trait dispatch — matches on version enum, delegates
**/value_conversion.rs From/TryFrom Value conversions — serialize/deserialize fields
**/json_conversion.rs JSON conversion — identical pattern across all transitions
**/identity_signed.rs IdentitySigned trait — returns purpose/security level constants
**/state_transition_fee_strategy.rs Fee strategy — returns constant fee multipliers
**/state_transition_estimated_fee_validation.rs Fee validation dispatch — mechanical calculation

These files exist in every identity/document state transition and follow identical patterns. The real validation logic is in state_transition_validation.rs (NOT excluded).

Impact

~3,500 lines of boilerplate removed from coverage denominator, primarily from:

  • identity_create_from_addresses_transition (54% → higher)
  • identity_topup_from_addresses_transition (48% → higher)
  • identity_credit_transfer_to_addresses_transition (56% → higher)

Test plan

  • Config only — no code changes
  • CI

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Updated code coverage configuration to exclude specific internal files from coverage analysis.

Exclude mechanical trait implementations across all state transitions
that are pure dispatch/conversion code with no business logic:

- state_transition_like.rs — StateTransitionLike trait dispatch
- value_conversion.rs — From/TryFrom Value conversions
- json_conversion.rs — JSON serialization/deserialization
- identity_signed.rs — IdentitySigned trait delegation
- state_transition_fee_strategy.rs — fee strategy constants
- state_transition_estimated_fee_validation.rs — fee calculation dispatch

These files follow identical patterns across all identity/document
transitions and don't contain testable business logic.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added this to the v3.1.0 milestone Apr 8, 2026
@thepastaclaw
Copy link
Copy Markdown
Collaborator

thepastaclaw commented Apr 8, 2026

Review Gate

Commit: c3a0de45

  • Debounce: 3m ago (need 30m)

  • CI checks: checks still running (1 pending)

  • CodeRabbit review: no comment yet

  • Off-peak hours: off-peak (04:21 AM PT Wednesday)

  • Run review now (check to override)

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 8, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: f05526a5-00ba-4a66-a1f4-e14aa99c56b3

📥 Commits

Reviewing files that changed from the base of the PR and between 46e037e and c3a0de4.

📒 Files selected for processing (1)
  • .codecov.yml

📝 Walkthrough

Walkthrough

The .codecov.yml configuration file was updated to exclude additional glob patterns from code coverage tracking. Specifically, five files implementing state transition mechanics, conversions, delegation, fee strategies, and validation logic are now ignored in coverage reports.

Changes

Cohort / File(s) Summary
Codecov Configuration
.codecov.yml
Added nine ignore patterns for state transition implementation files under packages/rs-dpp/src/state_transition/state_transitions/** to exclude mechanical traits dispatch, value/JSON conversion utilities, identity-signed delegation, fee-strategy constants, and estimated-fee validation logic from coverage metrics.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 Ignoring files with methodical care,
Coverage paths we prune with flair,
State transitions, fees, and conversions too,
Codecov's mask does what we ask it to,
A config tweak, both swift and small!

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ci/exclude-transition-boilerplate

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@QuantumExplorer QuantumExplorer merged commit 11d80f5 into v3.1-dev Apr 8, 2026
11 of 12 checks passed
@QuantumExplorer QuantumExplorer deleted the ci/exclude-transition-boilerplate branch April 8, 2026 11:23
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.

2 participants