fix(loop): make text-mode tool_call ids unique across the history #150
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| types: [opened, synchronize, reopened, labeled, unlabeled] | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1 | |
| with: | |
| python-version: "3.12" | |
| - run: uv sync --frozen --extra dev | |
| - run: uv run ruff check agent_core tests scripts | |
| - run: uv run pyright agent_core | |
| # A host-supplied field that agent_core/ never reads is invisible to every | |
| # other check here and to a canary merge: it types, it tests, and the note | |
| # a product worded from it vanishes on adoption. See the script's docstring. | |
| - run: python3 scripts/check_unconsumed_fields.py | |
| - run: uv run pytest -q | |
| # The gate pins tiktoken's own cache key and content hash, and only a real | |
| # tiktoken can falsify them. Scope that optional dependency to this contract | |
| # test; the isolated run uses the tokenizer version pinned in uv.lock. | |
| - run: uv run --isolated --frozen --extra dev --extra tokenizer pytest -q tests/test_tokenizer_nonblocking.py::test_pinned_cache_metadata_matches_tiktokens_own_declaration | |
| - run: uv build | |
| # Keep the existing status-check name for branch protection. Feature PRs | |
| # require independent fragments; only release PRs change shared version files. | |
| version-bump: | |
| if: github.event_name == 'pull_request' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| # The check needs the merge base, which a shallow clone does not have. | |
| fetch-depth: 0 | |
| - run: python3 scripts/check_version_bump.py --base "$BASE_SHA" | |
| env: | |
| BASE_SHA: ${{ github.event.pull_request.base.sha }} |