chaokunyang opened a new pull request, #3982:
URL: https://github.com/apache/fory/pull/3982

   ## Why?
   
   Draft: contributor-authored purpose, design rationale, and tradeoff 
discussion will be added before
   this pull request is marked ready for maintainer review.
   
   ## What does this PR do?
   
   - Defines the cross-language field-tag domain as `0 <= tag_id < 2^29`.
   - Uses signed 32-bit field-tag carriers across all supported runtimes while 
retaining `-1` only as
     the internal no-tag sentinel.
   - Corrects and documents the compact/extended tag encoding, including the 
independent long-field-name
     extension rule.
   - Adds owner-local range and duplicate validation in annotations, code 
generators, metadata codecs,
     and the Fory compiler.
   - Keeps wire field identity separate from compatible-reader local dispatch 
identity.
   - Adds cross-language coverage for tag IDs `15`, `65551`, and `536870911`.
   
   ## Related issues
   
   None.
   
   ## AI Contribution Checklist
   
   - [x] Substantial AI assistance was used in this PR: `yes`
   - [ ] If `yes`, I included a completed [AI Contribution 
Checklist](https://github.com/apache/fory/blob/main/AI_POLICY.md#9-contributor-checklist-for-ai-assisted-prs)
 in this PR description and the required `AI Usage Disclosure`.
   - [ ] If `yes`, my PR description includes the required `ai_review` summary 
and screenshot evidence or equivalent persisted links of the final clean AI 
review results from both fresh reviewers described in `AI_POLICY.md`, the 
Fory-guided reviewer and the independent general reviewer, on the current PR 
diff or current HEAD after the latest code changes.
   
   Draft checklist status:
   
   - [x] Substantial AI assistance was used in this PR: `yes`
   - [x] The standardized `AI Usage Disclosure` block is included below.
   - [ ] The contributor confirms they can explain and defend all important 
changes without AI help.
   - [ ] The contributor confirms line-by-line review of all AI-assisted 
changes.
   - [x] The agent-side preflight review/fix loop completed before the first 
independent review.
   - [ ] Two fresh final AI reviewers have reported no further actionable 
comments on the current HEAD.
   - [ ] Final persisted review artifacts for both fresh reviewers are linked 
below.
   - [ ] The contributor confirms they personally reviewed the recorded 
verification results.
   - [x] Tests and specifications required by the protocol change were added or 
updated.
   - [x] Protocol compatibility and performance were validated with recorded 
evidence.
   - [ ] The contributor confirms provenance and Apache-2.0-compatible 
licensing.
   
   AI Usage Disclosure
   
   - substantial_ai_assistance: yes
   - scope: design reconstruction, cross-runtime code changes, tests, 
specifications, review fixes, and
     performance investigation
   - affected_files_or_subsystems: Fory compiler and Java, C++, Rust, Go, 
Python, JavaScript, C#, Dart,
     Kotlin, Scala, and Swift xlang field metadata
   - ai_review: agent preflight and the first reviewer fix loop completed; the 
required fresh final
     Fory-guided and independent-general reviews are in progress, so this draft 
is not ready for
     maintainer review
   - ai_review_artifacts: pending final clean reviewer results
   - human_verification: comprehensive local checks were run by the coding 
agent and recorded; contributor
     confirmation is pending before ready-for-review status
   - performance_verification: every changed runtime surface passed the `+1.0%` 
paired-median ceiling;
     raw results are retained locally
   - provenance_license_confirmation: pending contributor confirmation; no 
third-party source was
     intentionally introduced
   
   ## Does this PR introduce any user-facing change?
   
   - [x] Does this PR introduce any public API change?
   - [x] Does this PR introduce any binary protocol compatibility change?
   
   Field tags now accept the complete range from `0` through `536870911`. 
Existing valid field tags and
   their wire bytes remain unchanged; the new range permits larger identifiers 
through the existing
   extended encoding.
   
   ## Benchmark
   
   Paired latency deltas below compare this branch with frozen `apache/main` at
   `26b6b6cefca63aaab0195523ce817d8b3da2845b`. Negative values are improvements.
   
   | Runtime/path | Serialize | Deserialize |
   | --- | ---: | ---: |
   | C++ | +0.070% | +0.858% |
   | Java runtime codegen | -0.014% | -2.383% |
   | Java static generated | +0.779% | -0.457% |
   | Rust | -3.740% | -0.281% |
   | Go | -0.424% | +0.504% |
   | Python Cython | -2.151% | +0.184% |
   | Python pure | -1.185% | -1.648% |
   | JavaScript | -0.416% | -0.075% |
   | C# final review-fix boundary | -0.813% | -1.094% |
   | Dart | -0.365% | +0.351% |
   | Swift | -3.315% | +0.255% |
   
   Kotlin and Scala changes are compile-time validation changes and use the 
measured Java
   static-generated runtime path. All reported paired medians are below the 
`+1.0%` regression ceiling.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to