Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
11 changes: 6 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"]
Expand Down
12 changes: 2 additions & 10 deletions uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading