fix(deps): pin instructor <1.16 to keep OpenAI Mode.TOOLS registered (#7719)
Some checks failed
CodeQL Advanced / Analyze (python) (push) Has been cancelled
CodeQL Advanced / Analyze (actions) (push) Has been cancelled
Vulnerability Scan / Detect changes (push) Has been cancelled
Vulnerability Scan / pip-audit (push) Has been cancelled
Nightly Canary Release / Check for new commits (push) Has been cancelled
Nightly Canary Release / Build nightly packages (push) Has been cancelled
Nightly Canary Release / Publish nightly to PyPI (push) Has been cancelled
Mark stale issues and pull requests / stale (push) Has been cancelled

* fix(deps): pin instructor <1.16 to keep OpenAI Mode.TOOLS registered

instructor 1.16.0 removed the OpenAI Mode.TOOLS handler in favor of
Mode.RESPONSES_TOOLS. `InternalInstructor` calls `instructor.from_provider`,
which still defaults to Mode.TOOLS internally, so any native-OpenAI kickoff
that hits a structured-output path (guardrails, output_pydantic, LLM
guardrails) fails immediately with `ModeError: Mode.TOOLS is not registered
for provider Provider.OPENAI`.

Cap the range while we teach `_create_instructor_client` to negotiate a
supported mode against `mode_registry`.

Refs COR-861 (Docusign, deployment 134108).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix: avoid redundant cache saves in tests workflow

Co-authored-by: vinibrsl <5093045+vinibrsl@users.noreply.github.com>

* docs: explain instructor compatibility pin

Co-authored-by: vinibrsl <5093045+vinibrsl@users.noreply.github.com>

---------

Co-authored-by: Daniel Minella <dminella@Mac.home>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
This commit is contained in:
Vinicius Brasil
2026-09-22 22:47:08 -03:00
committed by GitHub
parent bdd1bc6200
commit 6536114451
2 changed files with 4 additions and 2 deletions

View File

@@ -113,7 +113,7 @@ jobs:
- name: Save uv caches
if: steps.cache-restore.outputs.cache-hit != 'true'
if: steps.cache-restore.outputs.cache-hit != 'true' && matrix.group == 1
uses: actions/cache/save@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: |