Skip to content

Commit 9342e3a

Browse files
chore(release): v0.14.0 (#167)
* chore(release): v0.14.0 Real release of v0.14.0 (retry & reliability; pinned spec v0.53.0 -> v0.60.0). Bump the package version from 0.14.0rc1 to 0.14.0 across pyproject, __version__, test_smoke, and the lockfile; regenerate the bundled AGENTS.md version stamp. The CHANGELOG [0.14.0] section is already dated 2026-06-17 (no drift). Tagging v0.14.0 publishes to PyPI and creates the GitHub Release. rc1 verified on TestPyPI (install, version, [otel] import, hello-world against a live LLM). * Fix degrade extra-outputs key in fan-out example The fan-out-with-retry degrade mode supplied its extra_outputs value under the parent field name (`topics`) in degraded_update, but proposal 0066 reads degraded_update in the subgraph's field-name space. The subgraph field is `topic` (extra_outputs={topics: topic}), so the parent-keyed entry was ignored, leaving the slot null (0069) and tripping BatchState.topics: list[str] validation in degrade mode. Key the degraded value by the subgraph field `topic` (the doc walkthrough already documents `topic: other`). Caught running MODE=degrade against the v0.14.0rc1 artifact; the example smoke test only exercises fail_fast, so it slipped through #161.
1 parent 2962dc9 commit 9342e3a

6 files changed

Lines changed: 12 additions & 9 deletions

File tree

examples/fan-out-with-retry/main.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -336,11 +336,14 @@ def build_graph(mode: str = "fail_fast") -> CompiledGraph[BatchState]:
336336
# partial in place of the instance result, so the batch finishes
337337
# instead of aborting (fail_fast) or dropping the instance
338338
# (collect). Retry stays inner so it still sees raw transients
339-
# first. The degraded mapping is keyed the way the fan-out
340-
# projects an instance: the collect_field (``summary``) plus
341-
# each parent extra_outputs key (``topics``).
339+
# first. The degraded mapping is keyed in the subgraph's
340+
# field-name space (proposal 0066): the collect_field (``summary``)
341+
# plus each extra_outputs subgraph field (``topic``, which the
342+
# fan-out projects to the parent ``topics`` list). Supplying
343+
# ``topic`` keeps the slot non-null so the ``list[str]`` parent
344+
# field validates (an omitted source would be a null slot, §9.3).
342345
degrade = FailureIsolationMiddleware(
343-
degraded_update={"summary": "(unavailable)", "topics": "other"},
346+
degraded_update={"summary": "(unavailable)", "topic": "other"},
344347
event_name="headline_degraded",
345348
)
346349
instance_middleware = (degrade, retry, timing)

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ build-backend = "hatchling.build"
99

1010
[project]
1111
name = "openarmature"
12-
version = "0.14.0rc1"
12+
version = "0.14.0"
1313
description = "Workflow framework for LLM pipelines and tool-calling agents."
1414
readme = "README.md"
1515
requires-python = ">=3.12"

src/openarmature/AGENTS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# OpenArmature — Agent documentation
22

3-
*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`.*
3+
*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`.*
44

55
## TL;DR
66

src/openarmature/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
sessions opening the project find the bundled docs automatically.
2525
"""
2626

27-
__version__ = "0.14.0rc1"
27+
__version__ = "0.14.0"
2828
__spec_version__ = "0.60.0"
2929
# Proposal 0052 (spec observability §5.1 / §8.4.1): canonical
3030
# package-registry name for this implementation. Surfaces on every

tests/test_smoke.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99

1010
def test_package_versions() -> None:
11-
assert openarmature.__version__ == "0.14.0rc1"
11+
assert openarmature.__version__ == "0.14.0"
1212
assert openarmature.__spec_version__ == "0.60.0"
1313

1414

uv.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)