feat: publish CleanReport JSON Schema - #183
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (6)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughAdds a Draft 2020-12 JSON Schema for CleanReport payloads, packages the schema, exposes ChangesCleanReport JSON Schema
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to This change publishes and exposes the CleanReport JSON Schema with validation, documentation, and packaging updates; no actionable merge-blocking risk remains beyond normal checks and review. Suggested reviewers: Sequence Diagram(s)sequenceDiagram
participant CleanReport
participant PackagedSchema
participant Draft202012Validator
CleanReport->>PackagedSchema: Load clean_report.schema.json
PackagedSchema-->>CleanReport: Return schema dictionary
CleanReport->>Draft202012Validator: Validate serialized report
Draft202012Validator-->>CleanReport: Return validation result
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
|
@coderabbitai review |
✅ Action performedReview finished.
|
JohnnyWilson16
left a comment
There was a problem hiding this comment.
Looks great! Clean implementation using importlib.resources with no extra runtime dependencies. Schema definitions and test coverage for valid outputs and rejection cases look solid. LGTM 👍
Description
Publish a Draft 2020-12 JSON Schema for the stable
CleanReport.to_dict()/to_json()audit payload.This adds a packaged
clean_report.schema.json, exposes it throughCleanReport.to_json_schema(), validates representative real report output, and documents validation and schema discovery in the audit-trail guide.Fixes #167
Type of Change
Checklist
mypy) and linter checks (ruff) pass locallyValidation
tests/test_report.py: 15 passedruff check .mypy src/freshdata/report.pygit diff --checkSummary by CodeRabbit
New Features
CleanReport.to_json_schema()to access the packaged schema.Documentation