From bd6d17b719037cad576d4ccba894f72de6f1a350 Mon Sep 17 00:00:00 2001 From: Brian Krabach Date: Mon, 21 Sep 2026 02:56:05 -0700 Subject: [PATCH] Track canonical Core main for development and CI --- .github/workflows/ci.yml | 8 ++++---- README.md | 11 ++++++----- pyproject.toml | 2 +- uv.lock | 12 ++---------- 4 files changed, 13 insertions(+), 20 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bca3e31..1ecb491 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -62,11 +62,11 @@ jobs: python-version: ${{ matrix.python-version }} - name: Install dependencies - run: uv sync --locked --all-extras --dev + run: uv sync --all-extras --dev --upgrade-package amplifier-core - - name: Verify released Core API + - name: Verify current Core API and record its resolved revision run: | - uv run --locked python -c "from importlib.metadata import version; from amplifier_core.llm_errors import ContextLengthError; assert version('amplifier-core') == '1.6.1'" + uv run --no-sync python -c 'import json; from importlib.metadata import distribution; from amplifier_core.llm_errors import ContextLengthError; vcs = json.loads(distribution("amplifier-core").read_text("direct_url.json"))["vcs_info"]; assert vcs["requested_revision"] == "main"; print("Resolved Core", vcs["commit_id"])' # No API key placeholder here, unlike provider-openai's CI. Measured: # with ANTHROPIC_API_KEY/OPENAI_API_KEY unset, the suite is @@ -76,4 +76,4 @@ jobs: # No `-m "not live"` deselection either: this repo registers no `live` # marker and has no network-dependent tests. - name: Run test suite - run: uv run --locked pytest -q + run: uv run --no-sync pytest -q diff --git a/README.md b/README.md index 5242944..f54d974 100644 --- a/README.md +++ b/README.md @@ -428,13 +428,14 @@ a corresponding quality regression. `amplifier_core.llm_errors.ContextLengthError` for fail-loud request retention. Core remains provided by the host, not installed as a runtime module dependency. -Development and CI pin the released `amplifier-core==1.6.1` package in `uv.lock`. -A Git `main` source mapping can retain an older commit in the lockfile; the -release pin ensures tests exercise the Core API required by this module. +Development and CI resolve Core from canonical `main`. Refresh that dependency +before testing so an older lock resolution does not silently select an old Core. +The lock records the exact revision tested; it is evidence for that environment, +not a fixed source declaration for future validation. ```bash -uv sync --locked --all-extras --dev -uv run --locked pytest -q +uv sync --all-extras --dev --upgrade-package amplifier-core +uv run --no-sync pytest -q ``` ## Contributing diff --git a/pyproject.toml b/pyproject.toml index 8a7dd4f..195ff6e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,7 +31,7 @@ packages = [ allow-direct-references = true [dependency-groups] -dev = ["amplifier-core==1.6.1", "pytest>=9.0.3", "pytest-asyncio>=0.23.0"] +dev = ["amplifier-core @ git+https://github.com/microsoft/amplifier-core@main", "pytest>=9.0.3", "pytest-asyncio>=0.23.0"] [tool.pytest.ini_options] testpaths = ["tests"] diff --git a/uv.lock b/uv.lock index 3223a56..88faf31 100644 --- a/uv.lock +++ b/uv.lock @@ -5,7 +5,7 @@ requires-python = ">=3.11" [[package]] name = "amplifier-core" version = "1.6.1" -source = { registry = "https://pypi.org/simple" } +source = { git = "https://github.com/microsoft/amplifier-core?rev=main#e2cf2a6f1ff1aa2082b3b849b10f7e99e700bdd2" } dependencies = [ { name = "click" }, { name = "pydantic" }, @@ -13,14 +13,6 @@ dependencies = [ { name = "tomli" }, { name = "typing-extensions" }, ] -wheels = [ - { url = "https://files.pythonhosted.org/packages/03/cd/8b0b520bf0de741ea73e069aaf64aca28c9f4ce91a7b8b9239193a6c4c1b/amplifier_core-1.6.1-cp311-abi3-macosx_10_12_x86_64.whl", hash = "sha256:c0f711d8408de78e53e5deddcb38b7240c5c1c497ca51eeaaeff23559b3d3c48", size = 8281633, upload-time = "2026-08-10T02:38:11.98Z" }, - { url = "https://files.pythonhosted.org/packages/14/83/f4fb297d87d35b9d74058da02bb153e12f7891ab62b3aaf7e0857f877798/amplifier_core-1.6.1-cp311-abi3-macosx_11_0_arm64.whl", hash = "sha256:b08f37e2c0b1611349a0e25d5bf9bfdfae3afcee35488f8e26bba1cdd400503b", size = 7366930, upload-time = "2026-08-10T02:38:14.105Z" }, - { url = "https://files.pythonhosted.org/packages/ff/ba/5eb9cecf92d8053c5e6d46ad9668c3ed3558d5423845c1dced1f266b2a38/amplifier_core-1.6.1-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ebf7e3993c76ea506e70ac7844b286c3ba2e9127b3bcb350fa4fcd2dcdbd38d", size = 7659512, upload-time = "2026-08-10T02:38:16.314Z" }, - { url = "https://files.pythonhosted.org/packages/22/31/121f054e3d079dc33d83f3d8ba9af50fd9f7694c3e2ba3d7d23d7c157d48/amplifier_core-1.6.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c957cd0671d2a003f2c8f7d6a41bd6e808f97d183c57b97e7700bf4c912621d", size = 8678425, upload-time = "2026-08-10T02:38:18.243Z" }, - { url = "https://files.pythonhosted.org/packages/35/25/bfc217f4a9ed2d033995fc59847f1fee2e1b17130632fcb0e0981a1a311b/amplifier_core-1.6.1-cp311-abi3-win_amd64.whl", hash = "sha256:50c80bcfa1f6efe769b19e7af18c925024c7553d4db08880727241709dd44eae", size = 8976601, upload-time = "2026-08-10T02:38:20.505Z" }, - { url = "https://files.pythonhosted.org/packages/a5/14/5f330452c92c6c5d35c51ad5311301949ce5db4d1a1a901456f3ee43eaac/amplifier_core-1.6.1-cp311-abi3-win_arm64.whl", hash = "sha256:cd8b617f132cf5d1ca3e5187d5f831d1f2a508bb40d07b2ab1085961bcb9e1a9", size = 7744837, upload-time = "2026-08-10T02:38:22.562Z" }, -] [[package]] name = "amplifier-module-context-simple" @@ -38,7 +30,7 @@ dev = [ [package.metadata.requires-dev] dev = [ - { name = "amplifier-core", specifier = "==1.6.1" }, + { name = "amplifier-core", git = "https://github.com/microsoft/amplifier-core?rev=main" }, { name = "pytest", specifier = ">=9.0.3" }, { name = "pytest-asyncio", specifier = ">=0.23.0" }, ]