Gerrrr opened a new pull request, #171: URL: https://github.com/apache/otava/pull/171
This PR separates durable JSON serialization from report formatting (a follow-up to #161) and starts the Pydantic migration from #78. The first commit makes `to_json()` mean “precise persistence JSON” for the change-point domain objects. Numeric values now stay numeric, `qhat` is included in serialized change points, and the old `rounded=True/False` switch is removed from the domain model. Rounded, human-facing JSON output now belongs to `Report`, alongside the existing log and regressions-only renderers. The second commit adds a real JSON boundary test for analyzed-series persistence. It verifies that `AnalyzedSeries.to_json()` survives `json.dumps()` / `json.loads()` before being passed back into `AnalyzedSeries.from_json()`. The third commit converts `AnalysisOptions` to a Pydantic v2 model. Defaults now live on the model, unknown fields are rejected, assignment is validated, and `AnalyzedSeries.from_json()` restores options with `AnalysisOptions.model_validate(...)` instead of manual field copying. This follows the direction of the closed #93, but keeps the scope tighter and uses Pydantic v2 APIs. -- 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]
