Repository navigation
Anomalyzer 0.5.0: explicit seasonal population matching
The additive compare_seasonal_distributions API selects earlier local-clock
populations before reusing the existing numeric or categorical distribution test.
UsageTap supplies genuine timestamped events, scope/unit, an available snapshot,
the explicit policy and its testing allocation. Anomalyzer records the selection.
- Daily, same-weekday and weekday/weekend policies use an IANA timezone,
bounded calendar lookback, per-window support and minimum distinct dates. - Partial current windows compare the same local-clock progress in historical
windows. Later calls and future dates never become priors. - Missing support stays insufficient by default. An optional predeclared daily
fallback uses support only and is visibly reported; no effect-based selection
or extra testing budget is created. - Historical DST gaps/folds and offset-transition windows are skipped explicitly.
Current ambiguous or transition-crossing windows and cross-midnight windows
are rejected, rather than guessing their intended comparison. - Python exports, canonical task dispatch, a JSON CLI command, read-only MCP,
method discovery, two schemas, README chapter 27 and a real-engine fixture
expose the same implementation. The UsageTap handoff
covers boundaries, sampling assumptions and caller-owned budgets.
This release deliberately excludes automatic season/schedule discovery, block
resampling, equal-day weighting, run-phase matching, persistent monitor state and
automatic fallback/reset. A date-support gate does not make calls independent.
Collection completeness and as-of record availability remain caller-owned;
calendar closure alone proves neither. Keep rate and overall mix checks so
conditioning on a schedule does not hide its disappearance or movement.
The 0.4.0 population APIs and older time-series contracts remain available.
Strict MCP tool-list consumers must accept the sixth tool,
compare_seasonal_distributions. The package remains alpha, supports Python
3.11–3.13, and adds no numerical dependency. The existing tzdata dependency
now applies on all supported platforms so minimal Linux runtimes have IANA
timezone data. This is a local source/build
candidate until the immutable release workflow completes; it does
not change or deploy UsageTap.
Anomalyzer 0.5.0 — local Python analysis library.
Source revision: 1600e60cf4737e9de31c19d8652264b7ce6c5719.
Wheel and source distribution tested on Python 3.11–3.13; Linux/Python 3.12 Lambda consumer verified offline. See SHA256SUMS and release-manifest.json for artifact identities.