Gerrrr opened a new pull request, #173:
URL: https://github.com/apache/otava/pull/173

   Add a hand-authored sparse reference case and Hypothesis-generated sparse 
histories for `ChangePointsByTime` and `ChangePointsByMetric`.
   
   Read parity covers iteration and indexing, metric enumeration and selection, 
per-metric reads, timestamp and commit lookup, and pivot/by_time/by_metric 
conversions. Mutation coverage exercises copy isolation, shared conversion 
views, append/extend construction, and invalid or out-of-order boundaries.
   
   The tests exposed and this commit fixes three parity bugs:
   
   - `ChangePoints.select_metrics()` retained empty timestamp rows and 
disagreed with the metric view for missing or invalid metrics. It now validates 
inputs, raises consistent `TypeError/KeyError` exceptions, and omits empty 
groups.
   - `ChangePointsByMetric.pivot()` structurally contaminated a source metric 
bucket when merging metrics at the same timestamp. It now builds shallow group 
views, so conversion itself is non-mutating while shared ChangePoint semantics 
remain intact.
   - `ChangePointsByMetric.extend()` stored a complete multi-metric group in 
every metric bucket, causing duplicate metrics during later pivots. It now 
stores the matching per-metric projection, consistent with append().
   
   In addition, this PR documents that conversions are shared views and that 
`copy().pivot()` provides isolation. This PR also adds Hypothesis to the 
development dependencies.


-- 
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]

Reply via email to