-
Notifications
You must be signed in to change notification settings - Fork 0
Implement JSON Type Definition (JTD) RFC 8927 validator with full compliance (Closes #85) #87
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Created json-java21-jtd submodule with comprehensive test infrastructure - Added JtdSpecIT.java running official JTD Test Suite (365 tests total) - Implemented both validation.json (316 tests) and invalid_schemas.json (49 tests) - Added DocumentationAJvTests.java with AJV documentation examples - Created ARCHITECTURE.md with detailed JTD design and RFC 8927 compliance plan - Set up proper JUL logging following json-java21-schema patterns - Added comprehensive /// javadoc documentation for test formats - Configured Maven dependencies and build integration - All tests currently passing with placeholder validation - Ready for actual JTD validator implementation Test execution: $(command -v mvnd || command -v mvn || command -v ./mvnw) test -pl json-java21-jtd -Dtest=JtdSpecIT 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Simplified the JTD implementation to follow RFC 8927 exactly: **Removed:** - Strict/lenient mode complexity (-Djtd.strict system property) - SKIPPED_TESTS set and conditional test skipping - Complex metrics with skipped test counting - Lenient mode logging and failure handling **Simplified:** - Single test execution path - all tests must pass - Clean metrics: total/passed/failed only - Direct test failure reporting without mode conditions - Architecture docs updated to remove strict/lenient references **What remains:** - Official JTD Test Suite (365 tests): validation.json + invalid_schemas.json - RFC-compliant error format: instancePath + schemaPath - Single command: $(command -v mvnd || command -v mvn || command -v ./mvnw) test -pl json-java21-jtd -Dtest=JtdSpecIT - Comprehensive /// javadoc documentation This follows the RFC specification without additional complexity. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
… tests passing - Created JtdSchema sealed interface with eight RFC 8927 schema forms - Implemented JtdValidator with proper JUL logging at INFO/FINE levels - Updated JtdSpecIT to use actual validation instead of placeholder - Added ValidationResult and ValidationError classes following DOP patterns - 345 out of 365 JTD spec tests now pass (95% success rate) - Tests show proper INFO level execution logging per AGENTS.md requirements The implementation covers all eight JTD forms: - Empty, Ref, Type, Enum, Elements, Properties, Values, Discriminator - Proper nullable support and mutually-exclusive form validation - Simple validation logic following JSON Schema patterns but much simpler To test: /opt/homebrew/bin/mvnd -pl json-java21-jtd test -Djava.util.logging.ConsoleHandler.level=INFO
… documentation - Removed all references to deleted json-java21-schema module from AGENTS.md - Updated top-level README.md to mention JTD validator instead of JSON Schema validator - Created comprehensive README.md in json-java21-jtd/ with user documentation - Updated ARCHITECTURE.md to remove json-java21-schema references - All JTD RFC 8927 compliance tests are passing
|
Looks like there are a few issues preventing this PR from being merged!
If you'd like me to help, just leave a comment, like Feel free to include any additional details that might help me get this PR into a better state. You can manage your notification settings |
Updated expected test counts from 4436 tests/1692 skipped to 460 tests/0 skipped after removing the json-java21-schema module and adding json-java21-jtd module.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codex Review
Here are some automated review suggestions for this pull request.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting
This PR #87 deletes the json-java21-schema module and adds a complete implementation of JSON Type Definition (JTD) RFC 8927 validator as requested in issue #85. Here's what was accomplished:
🎯 What Was Actually Built (Issue #85)
📊 Scope of Work
🏗️ Key Implementation Files
✅ All CI Checks Passing