Skip to content

Enhance field-level diagnostics and documentation#264

Merged
Splatcrafter merged 12 commits intodevelopfrom
feature/field-aware-diagnostics
Apr 11, 2026
Merged

Enhance field-level diagnostics and documentation#264
Splatcrafter merged 12 commits intodevelopfrom
feature/field-aware-diagnostics

Conversation

@Splatcrafter
Copy link
Copy Markdown
Member

Summary

This PR introduces and integrates field-level diagnostics for rewrite rules, improves documentation, and enhances test coverage. The changes refactor diagnostics handling, enable static field-level analysis, and provide detailed documentation for field-aware APIs and tools.

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Refactoring
  • Documentation
  • Build / CI

Related Issues

None.

Changes

  • Introduced field-level diagnostics for rewrite rules and field-aware metadata aggregation.
  • Added static analysis tools for field operations via MigrationAnalyzer#analyzeFieldOperations.
  • Enhanced Javadoc for Rules APIs and specific methods like setAtPathRecursive.
  • Added nullability annotations (@NotNull, @Nullable) for critical methods across modules.
  • Developed end-to-end and unit tests for field-level diagnostics and analysis workflows.
  • Extended CLI to expose field-level diagnostic options and updated diagnostic reports.
  • Improved test coverage for schema and migration setups by splitting modular logic.
  • Refactored documentation to include examples and API references for new features.

Verification

  • Unit tests added/updated
  • Existing tests pass
  • Manual verification performed (if applicable)

Breaking Changes

No directly breaking changes, but consumers of the API should expect enhanced field-level metadata and diagnostics. Update dependencies and recompute types where necessary.

Checklist

  • Code follows project conventions
  • Public APIs are documented
  • Tests cover new behavior
  • No unnecessary dependencies added

Enable field-aware metadata aggregation and diagnostics for rewrite rules, enhancing visibility of affected fields in composed and standalone operations. Refactor combinators and wrappers to support this functionality.

Signed-off-by: Erik Pförtner <splatcrafter@splatgames.de>
Document field-level diagnostics for rewrite rules, provide usage examples, and update API references across related pages.

Signed-off-by: Erik Pförtner <splatcrafter@splatgames.de>
…ns and improved method details

Signed-off-by: Erik Pförtner <splatcrafter@splatgames.de>
- Split `Schema100` and `Schema110` logic for improved modularity.
- Introduce dedicated methods for type templates.
- Update migration logic for player data, including field renaming and new structure setup.

Signed-off-by: Erik Pförtner <splatcrafter@splatgames.de>
Add support for detailed field-level diagnostics during migrations. Extend CLI command options, enhance diagnostic report generation (text/JSON formats), and integrate diagnostics into the actuator endpoint.

Signed-off-by: Erik Pförtner <splatcrafter@splatgames.de>
Signed-off-by: Erik Pförtner <splatcrafter@splatgames.de>
- Add `MigrationAnalyzer#analyzeFieldOperations` to introspect field-level operations without executing fixes.
- Extend testkit with assertions for field-aware rewrite rules.
- Add unit tests for `FieldAwareRule` and enhanced diagnostics.
- Update schema tools test coverage for field-level analysis.

Signed-off-by: Erik Pförtner <splatcrafter@splatgames.de>
…across modules

- Annotate `equals`, `toString`, and other critical methods with nullability annotations for improved clarity and static analysis.
- Adjust constructors and method signatures to explicitly define nullable parameters.
- Update imports where necessary to support new annotations.

Signed-off-by: Erik Pförtner <splatcrafter@splatgames.de>
- Introduced `DiagnosticsTestSupport` providing utilities for passthrough type codecs used in diagnostic tests.
- Added E2E tests for the field-aware diagnostics pipeline in `FieldAwareDiagnosticsE2E`.
- Included static analysis tests in `FieldOperationAnalysisE2E` for migration fixes using `MigrationAnalyzer`.
- Verified handling of multi-step migrations, operation filtering, and opaque fix detection across schemas.

Signed-off-by: Erik Pförtner <splatcrafter@splatgames.de>
- Updated `DataFixerEndpointTest` to use a real `FixExecution` record instead of a mock, as records are final and cannot be mocked.
- Populated the `FixExecution` with realistic field operations to improve test accuracy and coverage.

Signed-off-by: Erik Pförtner <splatcrafter@splatgames.de>
- Added detailed descriptions for combinators, traversal methods, field operations, and diagnostic integration.
- Included examples and usage scenarios for migration rules and field-level metadata handling.
- Enhanced guidance on diagnostics, batch operations, and path-based transformations.

Signed-off-by: Erik Pförtner <splatcrafter@splatgames.de>
@Splatcrafter Splatcrafter requested a review from a team as a code owner April 11, 2026 09:02
@Splatcrafter Splatcrafter self-assigned this Apr 11, 2026
@Splatcrafter Splatcrafter added documentation Improvements or additions to documentation enhancement New feature or request refactor Internal code cleanup without changing external behavior (readability, structure, maintainability) labels Apr 11, 2026
@github-actions
Copy link
Copy Markdown

⚠️ Deprecation Warning: The deny-licenses option is deprecated for possible removal in the next major release. For more information, see issue 997.

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Snapshot Warnings

⚠️: No snapshots were found for the head SHA 8cbfb46.
Ensure that dependencies are being submitted on PR branches and consider enabling retry-on-snapshot-warnings. See the documentation for more information and troubleshooting advice.

Scanned Files

None

@Splatcrafter Splatcrafter merged commit de92196 into develop Apr 11, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request refactor Internal code cleanup without changing external behavior (readability, structure, maintainability)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant