diff --git a/CHANGELOG.md b/CHANGELOG.md index 65261b8..677af20 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ ## Unreleased +## 0.5.0 + +- Decomposed oversized lifecycle, gateway-runtime, private-I/O, and audit + modules behind their existing compatibility facades, enforced by a + 1,200-line production-module size ratchet. - Added a built-in Kimi K3 Hermes template with an optional compatible endpoint override and an explicit, private `zeus audit init` Kimi K3 configuration. - Replaced the vulnerable cryptography and Pillow pins in the hash-locked Hermes diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index 1318053..66cd35e 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -2,10 +2,9 @@ ## Current status -The latest stable release is Zeus v0.4.0. The `main` branch is the -v0.5.0.dev0 development line. Zeus remains alpha software with a local-first, -host-local scope. It owns profiles, processes, lifecycle safety, and -reconciliation evidence on one host. +The latest stable release is Zeus v0.5.0. It remains alpha software with a +local-first, host-local scope. It owns profiles, processes, lifecycle safety, +and reconciliation evidence on one host. ## Shipped diff --git a/docs/openapi.json b/docs/openapi.json index b38dc0d..c9241cd 100644 --- a/docs/openapi.json +++ b/docs/openapi.json @@ -2,7 +2,7 @@ "openapi": "3.1.0", "info": { "title": "Zeus Local API", - "version": "0.5.0.dev0", + "version": "0.5.0", "description": "Local JSON API for managing Hermes bot profiles and gateway lifecycle." }, "servers": [ diff --git a/tests/test_api.py b/tests/test_api.py index 4784920..f34d734 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -2665,8 +2665,9 @@ def test_valid_key_bypasses_exhausted_global_invalid_auth_bucket(self) -> None: rows = wait_for_access_rows(state_dir, 4) - limited_row = rows[2] - self.assertEqual(response_headers["x-request-id"], limited_row["request_id"]) + limited_row = next( + row for row in rows if row["request_id"] == response_headers["x-request-id"] + ) self.assertEqual(429, limited_row["status"]) self.assertEqual("auth_rate_limited", limited_row["error_code"]) self.assertEqual("/bots", limited_row["route"]) @@ -2855,8 +2856,9 @@ def test_rate_limited_mutation_creates_no_idempotency_claim_and_is_correlated(se self.assertEqual(0, claim_count) rows = wait_for_access_rows(state_dir, 2) - limited_row = rows[1] - self.assertEqual(response_headers["x-request-id"], limited_row["request_id"]) + limited_row = next( + row for row in rows if row["request_id"] == response_headers["x-request-id"] + ) self.assertEqual(429, limited_row["status"]) self.assertEqual("mutation_rate_limited", limited_row["error_code"]) self.assertEqual("/bots/{bot_id}/start", limited_row["route"]) diff --git a/zeus/__init__.py b/zeus/__init__.py index d10309f..e9ce495 100644 --- a/zeus/__init__.py +++ b/zeus/__init__.py @@ -2,4 +2,4 @@ __all__ = ["__version__"] -__version__ = "0.5.0.dev0" +__version__ = "0.5.0"