Repository navigation
Support explicit sparse observations and release Anomalyzer 0.2.0 - #2
Merged
Merged
Conversation
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.
Unknown or irregular periods currently disable statistical analysis, while Guard needs useful evidence without inventing consumption. This adds schema-1.1 per-source missing/coverage policies, bounded calendar grids, explicitly authorized empty additive zeros, comparable event-index observations, availability/revision replay, gap-aware frozen phase references and rule/reset handling. Schema 1.0 and its generated contracts remain unchanged.
Point support and pattern continuity are separate. Unknown/incomplete/excluded slots do not train or calibrate. First-value range rules remain available without a learned baseline; changes respect gaps/resets/time separation. Adaptive/explicit-trend spans need explicit post-gap reset/restart so a suspected episode is not silently trained as normal. Relationships preserve undefined denominators, measured exclusions and original source lineage.
Schema-1.1 multi-resolution keeps native and completed UTC-day views, ratio-of-sums, separately declared daily rules and case/policy replay. Unsupported daily lag/normalization/joint definitions are explicit. Complete measured daily sums remain available to rules even when excluded from modeling.
The existing README progression gains chapters 14–22, eleven checked-in fixtures and nine rendered figures, using the existing generator/demo/renderer and style. The normal Pages pipeline publishes the numbered progression and sparse API guide. Fixed the older generator's omitted single-reference setting for shift/steps without changing their existing fixtures or detections.
Validation: 212 tests pass locally, including 46 focused sparse cases; legacy and new demos pass; all progression figures regenerated and new figures visually reviewed; 1.0 schemas unchanged; actionlint and capability-map preview pass. Clean wheel/sdist API/CLI/MCP installs pass locally. Hosted CI verifies Python 3.11–3.13 installs plus the offline Linux/Python 3.12 Lambda bundle and bounded 1,344-hour/event benchmarks with runtime/result-size reports.
Version 0.2.0 is unused. After green CI, this authorized task will merge, enable immutable releases, tag the merged source, stage the tested artifacts and publish through the existing verified owner helper. Publication additionally verifies the actual public wheel URL/hash and downloaded offline bundle. No PyPI, AWS infrastructure or UsageTap changes are included.
Known limits are documented: unique event timestamps; caller-owned comparability/coverage/history origins; fixed UTC days and frozen multi-resolution children; no simultaneous multi-seasonality, episode quarantine, durable append/state or automatic historical result diffing. Full detailed results can be several MB and need application-specific persistence/budget choices.