v0.7.0 — Production hardening #6
AnthonyPuggs
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Summary
The MCP server is now a better open-data citizen, observable, and resilient across process restarts.
Added
events, and stale fallbacks. Controlled by
AUSECON_LOG_LEVEL(defaultINFO;DEBUGopts into cacheevents). stdio transport's stdout stays untouched.
platformdirs. Survivesuvxprocess restarts,so the first call of every session no longer pays full upstream latency. Atomic writes, schema-versioned
JSON, self-healing on corruption.
stale-if-errorfallback: if upstream fails and a cached payload exists on disk, return it withmetadata.stale = true,cached_at, andexpires_at. Parse errors still raise — upstream shape driftstays loud.
metadata.server_versionstamped on every data response for reproducible bug reports..github/workflows/integration.yml) hitting real ABS and RBA endpointson a cron. On failure, upserts a single open
upstream-driftissue instead of spamming duplicates.New environment variables
AUSECON_CACHE_DIR— override cache directory (default: OS-appropriate user cache dir).AUSECON_CACHE_DISABLED=1— disable all caching (memory + disk).AUSECON_LOG_LEVEL— logging verbosity (INFOdefault).Dependencies
platformdirs>=4.0,<5as a direct dependency.Internal
src/ausecon_mcp/logging.py(idempotentconfigure_logging, JSON formatter, stderr-only).src/ausecon_mcp/providers/_http.py(shared UA client + version resolver).TTLCacherewritten to dual-layer with unified wall-clock expiry andget_stale(); disk I/O errorsnever surface to callers.
request.retry/request.failedwith attempt counts and durations.Verification
Full changelog: v0.6.0...v0.7.0
This discussion was created from the release v0.7.0 — Production hardening.
Beta Was this translation helpful? Give feedback.
All reactions