You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Fix unbounded clock windows and snapshot test fixtures - #163
Unbounded past windows such as SUM(ORDERS.ORDER_SCORE, -INF, 0) fail the new clock validation because the compiler's -2**60-day sentinel overflows to zero when converted to seconds. Saturate that conversion consistently with the other clock conversions, retaining rejection of genuinely sub-tick windows.
Update the snapshot-ingestion test doubles with timestamp_precision='seconds', matching the real DiskgraphIngestArgs default. No production ingestion fallback or API change is added.
Rust time tests: 73 passed. The new regression fails on the base with zero instead of i64::MIN.
Python index-clock suite against the rebuilt extension: 33 passed, including 12 unbounded day/week cases and existing sub-tick rejection cases.
Seven selected snapshot-ingestion tests: 7 failed before the fixture correction; 7 passed after it. The isolated runner binds this checkout and excludes ancestor service setup.
Changed snapshot-test file: flake8 and isort checks passed.
Limits: the two original high-level PQL tests were attempted with ancestor setup excluded and stopped at missing fixture column statistics (AGE: COUNT/NUM_NA), before reaching the query path. They remain for normal CI qualification. Whole-file rustfmt reports existing formatting differences outside the changed lines; no unrelated formatting was included.
The baseline duration regression fails with 0 instead of i64::MIN; all seven selected snapshot cases fail before the fixture correction. No GPU/cloud jobs or live sweeps were run.
Exercise day/week unbounded past windows on all six index clocks
Guard the Python builder boundary while retaining the existing sub-tick rejection tests.
test/pool/test_activities.py
Snapshot-ingestion SimpleNamespace fixtures
Supply the real argument type's timestamp_precision='seconds' default
#123's worker reads the new field; incomplete test doubles currently fail before exercising ingestion/recovery behavior.
Observed failures: unbounded-window validation raises “shorter than one tick”; snapshot fixture cases raise missing timestamp_precision or time out waiting for the skipped ingest call. The duration multiplication predates #123; its new validation exposes the overflow. Keep the production clock validation and transport dataclass unchanged. Stop after focused duration, Python clock-boundary, and snapshot-fixture verification; no additional clock features, validation framework, or workflow changes.
Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 11 remain after this review.
Walkthrough
Day-to-second conversion now saturates at the i64 limits when multiplication overflows. Tests cover extreme day values and temporal windows across configured clocks and window units. Seven snapshot-ingest test fixtures now set timestamp precision to seconds.
Merge Risk: Minimal · up to f17b5
No actionable merge risk remains in the reviewed changes.
Pre-merge checks: 2 · 1
Failed checks: 1 inconclusive
Check name
Status
Explanation
Resolution
Change Map Design Review
The required conversation comment beginning <!-- kumo-pr-change-map --> is not present in the supplied PR conversation or repository checkout, so the comment-specific design claims (observed failure…
Provide the full change-map conversation comment, including its linked problem, per-change rationale, inspected behavior, verification evidence, and stopping condition. Then reassess the design against the code diff.
Passed checks: 2 passed
Check name
Status
Explanation
Pr Size
The pull request changes 3 files. The limit is 40 files, so the pull request passes this check.
Public Resource Access
The pull request adds no external URL, repository location, or package source location. Added lines only change Rust arithmetic, add Python regression-test logic, and set `timestamp_precision='seconds…
Full details: Public Resource Access
Explanation
The pull request adds no external URL, repository location, or package source location. Added lines only change Rust arithmetic, add Python regression-test logic, and set timestamp_precision='seconds' in test fixtures. The s3:// test fixture reference is unchanged and is excluded by the check.
Full details: Change Map Design Review
Explanation
The required conversation comment beginning <!-- kumo-pr-change-map --> is not present in the supplied PR conversation or repository checkout, so the comment-specific design claims (observed failure, stopping condition, and focused verification) cannot be assessed from the required source.
Resolution
Provide the full change-map conversation comment, including its linked problem, per-change rationale, inspected behavior, verification evidence, and stopping condition. Then reassess the design against the code diff.
Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
CodeRabbit Verify
Run CodeRabbit Verify to test the changes in this pull request.
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
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.
Follow-up to #123.
Summary
Unbounded past windows such as
SUM(ORDERS.ORDER_SCORE, -INF, 0)fail the new clock validation because the compiler's-2**60-day sentinel overflows to zero when converted to seconds. Saturate that conversion consistently with the other clock conversions, retaining rejection of genuinely sub-tick windows.Update the snapshot-ingestion test doubles with
timestamp_precision='seconds', matching the realDiskgraphIngestArgsdefault. No production ingestion fallback or API change is added.Change map
Maintained change map.
Testing Done
i64::MIN.Limits: the two original high-level PQL tests were attempted with ancestor setup excluded and stopped at missing fixture column statistics (
AGE: COUNT/NUM_NA), before reaching the query path. They remain for normal CI qualification. Whole-file rustfmt reports existing formatting differences outside the changed lines; no unrelated formatting was included.The baseline duration regression fails with
0instead ofi64::MIN; all seven selected snapshot cases fail before the fixture correction. No GPU/cloud jobs or live sweeps were run.Checklist