From e0ca70f6cb53dbe35fb38e23b3376dab46db0c75 Mon Sep 17 00:00:00 2001 From: Chisanan232 Date: Sun, 24 May 2026 21:18:25 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=F0=9F=94=96=20(sdk):=20Bump=20pyproject=20?= =?UTF-8?q?version=20to=200.0.1a1=20for=20dry-run=20release?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sets the PyPI package version to the PEP 440 canonical alpha-1 form `0.0.1a1` so a `v0.0.1-alpha.1` git tag can dry-run the PyPI publish pipeline before the v0.0.1 GA bump (AAASM-1243). PEP 440 normalises `0.0.1-alpha.1` to `0.0.1a1` for wheel filenames and pip resolution, so writing the canonical form directly avoids surprises. The cross-repo git tag remains `v0.0.1-alpha.1` (SemVer form, consistent with the other 3 repos); PyPI is the only ecosystem that diverges, so `agent_assembly.__version__` will read `"0.0.1a1"` even though the tag says `alpha.1`. After AAASM-1936 verifies the alpha-1 dry-run is green, AAASM-1243 restores `version = "0.0.1"` for the GA release. Refs: AAASM-1933 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 78636fd..1dda187 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "agent-assembly" -version = "0.0.0" +version = "0.0.1a1" description = "Python SDK for AI Agent Assembly - A governance-native runtime for AI agents" authors = [{ name = "Agent Assembly Team", email = "team@agent-assembly.dev" }] requires-python = ">=3.12,<4.0" From 1ab92d2f0295601bf186883980f78dfcf146eaaa Mon Sep 17 00:00:00 2001 From: Chisanan232 Date: Sun, 24 May 2026 21:18:44 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=F0=9F=94=96=20(sdk):=20Sync=20agent=5Fasse?= =?UTF-8?q?mbly.=5F=5Fversion=5F=5F=20to=200.0.1a1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Matches the pyproject.toml bump from the previous commit so consumers calling `agent_assembly.__version__` at runtime read the same PEP 440 canonical alpha-1 form as the wheel filename (`agent_assembly-0.0.1a1*`). Verified locally: >>> import agent_assembly >>> agent_assembly.__version__ '0.0.1a1' Refs: AAASM-1933 --- agent_assembly/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agent_assembly/__init__.py b/agent_assembly/__init__.py index ce82221..7b1216e 100644 --- a/agent_assembly/__init__.py +++ b/agent_assembly/__init__.py @@ -8,7 +8,7 @@ import sys from typing import TYPE_CHECKING, Any -__version__ = "0.0.0" +__version__ = "0.0.1a1" # AAASM-1696: top-level exports are resolved lazily so that lightweight # submodules (e.g. `agent_assembly.runtime`, which is stdlib-only) can be From caf8db1c9af25e0b09c5c7af7e4e0be154e18f02 Mon Sep 17 00:00:00 2001 From: Chisanan232 Date: Sun, 24 May 2026 21:44:50 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=F0=9F=94=92=20(sdk):=20Sync=20uv.lock=20to?= =?UTF-8?q?=200.0.1a1=20pyproject=20bump?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `uv sync --locked` in the python-sdk CI matrix requires the lockfile to match `pyproject.toml`. Regenerated with `uv lock` after the AAASM-1933 version bump. Diff is mechanical — `agent-assembly v0.0.0 -> v0.0.1a1` per uv's own output; no external dependency-resolution change. Refs: AAASM-1933 --- uv.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/uv.lock b/uv.lock index cec0bc4..4e616ca 100644 --- a/uv.lock +++ b/uv.lock @@ -4,7 +4,7 @@ requires-python = ">=3.12, <4.0" [[package]] name = "agent-assembly" -version = "0.0.0" +version = "0.0.1a1" source = { editable = "." } dependencies = [ { name = "grpcio" }, From 562c872e5f239a44da5d36a773b0d625b9a812fc Mon Sep 17 00:00:00 2001 From: Chisanan232 Date: Sun, 24 May 2026 22:04:04 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=F0=9F=90=9B=20(test):=20Compare=20against?= =?UTF-8?q?=20agent=5Fassembly.=5F=5Fversion=5F=5F=20instead=20of=20hardco?= =?UTF-8?q?ded=20"0.0.0"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `test_top_level_package_import_does_not_pull_in_httpx` asserted the subprocess printed the literal `"0.0.0"`. The AAASM-1933 bump to `"0.0.1a1"` broke this — the test's purpose is to verify the subprocess import works without httpx/pydantic, not to police a specific version. Read `agent_assembly.__version__` in the test process (top-level import allowed in the test runner, just not in the subprocess) and compare against that. The test now self-updates on every version bump. Refs: AAASM-1933 --- test/unit/test_runtime_import_isolation.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/test/unit/test_runtime_import_isolation.py b/test/unit/test_runtime_import_isolation.py index 3355559..11ee2e6 100644 --- a/test/unit/test_runtime_import_isolation.py +++ b/test/unit/test_runtime_import_isolation.py @@ -58,6 +58,11 @@ def test_runtime_import_does_not_pull_in_httpx() -> None: def test_top_level_package_import_does_not_pull_in_httpx() -> None: + # Import once in the test process so we know what `__version__` the + # subprocess should print. Avoids hard-coding the literal — pre-release + # bumps (e.g. AAASM-1933 → `0.0.1a1`) used to break this test by drift. + import agent_assembly as _aa # noqa: PLC0415 — test-local import on purpose + result = _run_python_with_blocked_imports( ["httpx", "pydantic"], "import agent_assembly\nprint(agent_assembly.__version__)\n", @@ -66,7 +71,7 @@ def test_top_level_package_import_does_not_pull_in_httpx() -> None: f"`import agent_assembly` must not eagerly import httpx/pydantic.\n" f"stdout: {result.stdout}\nstderr: {result.stderr}" ) - assert result.stdout.strip() == "0.0.0" + assert result.stdout.strip() == _aa.__version__ def test_eager_attribute_access_still_resolves_through_lazy_loader() -> None: