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
test: add property tests for bitemporal interval and retraction semantics #211
Audit finding: The deep audit identified a concrete bug that this issue's test cases would catch: net_asserted_facts() (storage.rs:463-484) keys only on (entity, attribute, encode_value) — ignoring valid_from/valid_to. This means if the same EAV triple is asserted with two different valid-time intervals (e.g., salary=100k valid 2020-2022, then salary=100k again valid 2024-2026), only the latest-transacted one survives. A :valid-at "2021-06-01" query incorrectly returns empty.
The pending_key (storage.rs:17) correctly includes valid_from, valid_to as part of the dedup key, so storage treats them as distinct facts. But the query pipeline collapses them before the valid-time filter runs.
A property test covering "overlapping valid intervals for the same EAV triple" (listed in this issue's cases) would expose this immediately. The fix will land separately, but this issue's test scope is confirmed as high-value.
Activity
adityamukho commentedon May 2, 2026
Audit finding: The deep audit identified a concrete bug that this issue's test cases would catch:
net_asserted_facts()(storage.rs:463-484) keys only on(entity, attribute, encode_value)— ignoringvalid_from/valid_to. This means if the same EAV triple is asserted with two different valid-time intervals (e.g., salary=100k valid 2020-2022, then salary=100k again valid 2024-2026), only the latest-transacted one survives. A:valid-at "2021-06-01"query incorrectly returns empty.The
pending_key(storage.rs:17) correctly includesvalid_from, valid_toas part of the dedup key, so storage treats them as distinct facts. But the query pipeline collapses them before the valid-time filter runs.A property test covering "overlapping valid intervals for the same EAV triple" (listed in this issue's cases) would expose this immediately. The fix will land separately, but this issue's test scope is confirmed as high-value.