diff --git a/examples/fan-out-with-retry/main.py b/examples/fan-out-with-retry/main.py index e1133f9..1cad450 100644 --- a/examples/fan-out-with-retry/main.py +++ b/examples/fan-out-with-retry/main.py @@ -336,11 +336,14 @@ def build_graph(mode: str = "fail_fast") -> CompiledGraph[BatchState]: # partial in place of the instance result, so the batch finishes # instead of aborting (fail_fast) or dropping the instance # (collect). Retry stays inner so it still sees raw transients - # first. The degraded mapping is keyed the way the fan-out - # projects an instance: the collect_field (``summary``) plus - # each parent extra_outputs key (``topics``). + # first. The degraded mapping is keyed in the subgraph's + # field-name space (proposal 0066): the collect_field (``summary``) + # plus each extra_outputs subgraph field (``topic``, which the + # fan-out projects to the parent ``topics`` list). Supplying + # ``topic`` keeps the slot non-null so the ``list[str]`` parent + # field validates (an omitted source would be a null slot, §9.3). degrade = FailureIsolationMiddleware( - degraded_update={"summary": "(unavailable)", "topics": "other"}, + degraded_update={"summary": "(unavailable)", "topic": "other"}, event_name="headline_degraded", ) instance_middleware = (degrade, retry, timing) diff --git a/pyproject.toml b/pyproject.toml index 61b2a8d..a53e65d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,7 +9,7 @@ build-backend = "hatchling.build" [project] name = "openarmature" -version = "0.14.0rc1" +version = "0.14.0" description = "Workflow framework for LLM pipelines and tool-calling agents." readme = "README.md" requires-python = ">=3.12" diff --git a/src/openarmature/AGENTS.md b/src/openarmature/AGENTS.md index 78b52f2..9e4a4f2 100644 --- a/src/openarmature/AGENTS.md +++ b/src/openarmature/AGENTS.md @@ -1,6 +1,6 @@ # OpenArmature — Agent documentation -*This is the agent guide bundled with the openarmature Python package, version 0.14.0rc1 (spec v0.60.0). For the full docs site see [openarmature.ai](https://openarmature.ai). For the canonical spec text see [openarmature.org/capabilities](https://openarmature.org/capabilities/). For project-specific conventions for the code you're editing, see the host project's `AGENTS.md` or `CLAUDE.md`.* +*This is the agent guide bundled with the openarmature Python package, version 0.14.0 (spec v0.60.0). For the full docs site see [openarmature.ai](https://openarmature.ai). For the canonical spec text see [openarmature.org/capabilities](https://openarmature.org/capabilities/). For project-specific conventions for the code you're editing, see the host project's `AGENTS.md` or `CLAUDE.md`.* ## TL;DR diff --git a/src/openarmature/__init__.py b/src/openarmature/__init__.py index 3c301e9..c502c6f 100644 --- a/src/openarmature/__init__.py +++ b/src/openarmature/__init__.py @@ -24,7 +24,7 @@ sessions opening the project find the bundled docs automatically. """ -__version__ = "0.14.0rc1" +__version__ = "0.14.0" __spec_version__ = "0.60.0" # Proposal 0052 (spec observability §5.1 / §8.4.1): canonical # package-registry name for this implementation. Surfaces on every diff --git a/tests/test_smoke.py b/tests/test_smoke.py index 06b92fb..a4f0635 100644 --- a/tests/test_smoke.py +++ b/tests/test_smoke.py @@ -8,7 +8,7 @@ def test_package_versions() -> None: - assert openarmature.__version__ == "0.14.0rc1" + assert openarmature.__version__ == "0.14.0" assert openarmature.__spec_version__ == "0.60.0" diff --git a/uv.lock b/uv.lock index d9eee6a..14f1f40 100644 --- a/uv.lock +++ b/uv.lock @@ -925,7 +925,7 @@ wheels = [ [[package]] name = "openarmature" -version = "0.14.0rc1" +version = "0.14.0" source = { editable = "." } dependencies = [ { name = "httpx" },