docs(roadmap): plan DTO-first binding and PATCH semantics - #25
Conversation
Make flat DTO reads, typed envelopes, and presence-aware update commands explicit product goals so Jackson and Spring users can work without core documents while preserving document-first validation and graph-free binding.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (9)
🚧 Files skipped from review as they are similar to previous changes (7)
📝 WalkthroughWalkthroughThe PR expands milestone planning and architecture documentation for document-first JSON:API processing, split Jackson 2/3 adapters, typed envelopes, presence-aware PATCH binding, Spring integration, conformance, and release requirements. ChangesRoadmap and architecture boundaries
Estimated code review effort: 3 (Moderate) | ~25 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 8
🧹 Nitpick comments (1)
.agentWork/milestones/phase-2-5-json-schema-cross-check.md (1)
17-17: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winPin and verify the exact schema-validator version.
3.xis too broad for the Jackson 3/Draft 2020-12 compatibility and dependency-verification requirements. Record the exact tested version and confirm its transitive dependencies remain test-scoped.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.agentWork/milestones/phase-2-5-json-schema-cross-check.md at line 17, Update the dependency entry in the phase-2-5 schema cross-check documentation to record the exact tested com.networknt:json-schema-validator version instead of the broad 3.x range. Confirm that its transitive dependencies remain test-scoped and regenerate the dependency-verification metadata for the pinned version.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.agentWork/milestones/phase-2-3-compound-serialization.md:
- Around line 47-49: Clarify the “no JPA initialization” boundary in the
serialization scope: explicitly state whether relationship/property access may
trigger lazy loading and database queries, or require an access-safe,
already-loaded graph. Update the “JPA initialization” and related ORM exclusions
so the permitted behavior is unambiguous.
In @.agentWork/milestones/phase-2-5-json-schema-cross-check.md:
- Line 50: Update the Phase 2.1 acceptance criterion to hyphenate
“usage-specific” before “draft schema,” leaving the rest of the criterion
unchanged.
In @.agentWork/milestones/phase-2-6-jackson2-document-writer.md:
- Line 37: Correct the package wildcard in the Jackson 2 production-import
statement from the invalid double-dot form to the valid single-asterisk form,
preserving the existing reference to the com.fasterxml.jackson package and
dependency context.
- Around line 14-16: In
.agentWork/milestones/phase-2-6-jackson2-document-writer.md lines 14-16 and
46-52, define the exact maintained Jackson 2 compatibility version/range and the
Gradle compatibility task, then use those named terms consistently in Phase 2.6.
In .agentWork/milestones/phase-2-7-jackson2-document-reader.md lines 44-46,
reference the same baseline and task rather than introducing separate
compatibility wording.
In @.agentWork/milestones/phase-3-2-spring-webmvc.md:
- Around line 70-74: Resolve the contradictory Sonar-token acceptance criteria
by choosing one shared CI policy and applying it consistently: either skip Sonar
analysis and mark the quality gate not applicable when SONAR_TOKEN is absent, or
fail validation until the token is available. Update the Sonar validation
sections in .agentWork/milestones/phase-3-2-spring-webmvc.md (lines 70-74),
.agentWork/milestones/phase-3-3-spring-webmvc-dto-binding.md (lines 81-85),
.agentWork/milestones/phase-4-1-conformance-and-hardening.md (lines 33-36), and
.agentWork/milestones/phase-4-2-stable-release.md (lines 32-34) to state the
same policy.
In @.agentWork/milestones/phase-3-3-spring-webmvc-dto-binding.md:
- Line 4: Add Phase 2.9 to the Dependencies list in the phase-3-3 milestone
document, preserving the existing dependency entries and ordering so the
milestone requires the Jackson 3 flat DTO reader before scheduling.
In @.agentWork/milestones/phase-4-1-conformance-and-hardening.md:
- Around line 29-30: Update the security-sensitive defaults criterion in the
milestone document to separate Jackson-major coverage from WebMVC coverage,
reflecting ADR-007: require testing across both Jackson majors independently,
and require WebMVC-specific testing only for its supported Jackson 3
integration.
In `@README.md`:
- Around line 5-9: Expand the root README to include a package/module registry
covering jsonapi-java-spring-webflux as a separately scoped future module, with
explicit status for every entry. Add the required usage guidance or explicit
no-entry-point statement, non-goals, and agent notes, while preserving the
existing JSON:API scope and compliance disclaimer.
---
Nitpick comments:
In @.agentWork/milestones/phase-2-5-json-schema-cross-check.md:
- Line 17: Update the dependency entry in the phase-2-5 schema cross-check
documentation to record the exact tested com.networknt:json-schema-validator
version instead of the broad 3.x range. Confirm that its transitive dependencies
remain test-scoped and regenerate the dependency-verification metadata for the
pinned version.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: d6c897e7-6ce9-4a60-9897-02f807f24f87
📒 Files selected for processing (33)
.agentWork/milestones/README.md.agentWork/milestones/phase-1-3-update-request-validation.md.agentWork/milestones/phase-2-1-jackson-document-codec.md.agentWork/milestones/phase-2-10-jackson3-domain-envelope.md.agentWork/milestones/phase-2-11-jackson3-patch-binding.md.agentWork/milestones/phase-2-12-jackson2-domain-resource-mapping.md.agentWork/milestones/phase-2-13-jackson2-compound-serialization.md.agentWork/milestones/phase-2-14-jackson2-sparse-fieldsets.md.agentWork/milestones/phase-2-15-jackson2-flat-dto-reader.md.agentWork/milestones/phase-2-16-jackson2-domain-envelope.md.agentWork/milestones/phase-2-17-jackson2-patch-binding.md.agentWork/milestones/phase-2-2-domain-resource-mapping.md.agentWork/milestones/phase-2-3-compound-serialization.md.agentWork/milestones/phase-2-4-document-reads.md.agentWork/milestones/phase-2-5-json-schema-cross-check.md.agentWork/milestones/phase-2-6-jackson2-document-writer.md.agentWork/milestones/phase-2-7-jackson2-document-reader.md.agentWork/milestones/phase-2-8-sparse-fieldsets.md.agentWork/milestones/phase-2-9-jackson3-flat-dto-reader.md.agentWork/milestones/phase-3-2-spring-webmvc.md.agentWork/milestones/phase-3-3-spring-webmvc-dto-binding.md.agentWork/milestones/phase-3-3-webflux-evaluation.md.agentWork/milestones/phase-3-4-webflux-evaluation.md.agentWork/milestones/phase-4-1-conformance-and-hardening.md.agentWork/milestones/phase-4-2-stable-release.mdREADME.mddocs/adr/006-read-boundary.mddocs/adr/007-module-boundaries.mddocs/adr/010-architectural-tests.mddocs/adr/011-flat-dto-read-binding.mddocs/adr/012-resource-patch-binding.mddocs/conformance.mddocs/vision.md
💤 Files with no reviewable changes (1)
- .agentWork/milestones/phase-3-3-webflux-evaluation.md
Resolve review gaps so compatibility, ORM access, CI quality gates, and module availability are explicit before implementation proceeds.
|



Make flat DTO reads, typed envelopes, and presence-aware update commands explicit product goals so Jackson and Spring users can work without core documents while preserving document-first validation and graph-free binding.
Summary by CodeRabbit