Repository navigation
Conversation
Author
|
Closing this draft because I won't be continuing work on it. Anyone interested is welcome to pick up the timestamp precision issue; the patch and automated validation artifacts above remain available as a starting point. The contributor self-review and personal verification listed above remain incomplete. Automated CI triage for run 39639380150: seven jobs stopped during Python setup because Python 3.8 x64 was unavailable on Ubuntu 26.04. The remaining failure was compilation of the unchanged C++ Thanks to anyone who takes this forward. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Draft contribution with automated validation completed. Contributor self-review, personal verification, and human-authored rationale remain pending; this is not ready for maintainer review under
AI_POLICY.md.Observed behavior
On the unmodified baseline, a UTC datetime ending in
1970-01-01T00:00:00.000249is written with 248 microseconds instead of 249. Other dates also lose microseconds, and decoding the maximum Python datetime can overflow.Automated implementation notes: preserve integer epoch seconds and microseconds separately in Python and Cython, retain local-time conversion for naive values, and decode the bounded fractional component with ties-to-even rounding. The existing 12-byte seconds/nanoseconds representation and public API are unchanged. Added tests inspect exact bytes and values; five Java/Python fixtures exercise both directions.
Automated validation
Validated local snapshot:
d2f1d708ddc44492e7dadb5e0b2874df8455919cPublished branch uses this exact commit; all five remote file hashes match the validated manifest.
Base:
80bcf64e68defb2de70e8e9047a1bb5f5d050883macOS arm64, CPython 3.12.13, NumPy 1.26.4, PyArrow 20.0.0, JDK 25.0.2, Maven 3.10.0. Source and native-extension fingerprints checked before the test run.
PythonXlangTestplusPyCrossLanguageTest#testCrossLanguageSerializer: each mode 68 passed / 20 skipped / 0 failures. New timestamp cases executed; skips are existing duplicate exclusions and unsupported union cases.git diff --checkpass.Commands, from
python/:From
java/, after the reactor installation and clean test compilation, with the local Python environment on PATH, for MODE=0 and MODE=1:Benchmark
Adjacent baseline/change pairs with 120,000 loops × 8 values × 15 repetitions per case, identical frames, and matching before/after source/native fingerprints. These are local CPython 3.12 microbenchmarks. Earlier results are retained in the evidence archive.
AI Usage Disclosure
Automated review records:
/root/fory_fresh_guided_oct22: no actionable findings after inspecting all five files, repository guidance, arithmetic, timezone/fold semantics, C API bounds, protocol and test evidence./root/fory_fresh_independent_oct22: no actionable findings after independently inspecting all five files, arithmetic, boundaries, compatibility and coverage.git diffSHA-256:46c175d8c1baa4c8b7aaad72fc23a44addb1bedb2b842f2212ec0e85e2439312.Remaining contributor steps
Retained automated evidence
Source fingerprints, raw test output, benchmark measurements, and preliminary automated review records:
fory-timestamp-verification.zip