python-canary-fix

Investigate and fix Python canary cron failures in openinference instrumentation packages.

1.2k|302|Updated Dec 26, 2023
One-click install
npx skills add https://github.com/Arize-ai/openinference --skill python-canary-fix
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: python-canary-fix
Source: https://github.com/Arize-ai/openinference/tree/main/.claude/skills/python-canary-fix
Command: npx skills add https://github.com/Arize-ai/openinference --skill python-canary-fix

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Scheduled canary cron jobs in the openinference repository fail whenever an upstream dependency releases a breaking change, and manually triaging each failing instrumentation package is slow and repetitive. This Skill automates the investigation and produces a scoped fix with a PR per failing package.

Core Features & Use Cases

  • Failure triage: Enumerates failing packages from the python-cron.yaml workflow, deduplicates Python-version variants, and filters out transient failures and packages with existing open PRs.
  • Root-cause analysis and fix: Reads failed tox logs, identifies the upstream dependency change, and drafts either a backward-compatible fix or a minimum-version bump with a major release commit.
  • CI auto-fix integration: When invoked by the scheduled auto-fix job, writes .scratch/pr-title.txt and .scratch/pr-body.md so the workflow can commit, push, and open the PR.
  • Use Case: The nightly cron reports py310-ci-openllmetry-latest failing after an upstream release. The Skill reads the failure logs, traces the breaking API change, patches the instrumentor, runs the pinned and -latest tox environments, and opens a scoped PR.

Quick Start

Ask the assistant to investigate the latest Python canary cron failures in the openinference repo and propose a fix for each failing instrumentation package.

Frequently Asked Questions about python-canary-fix

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fix Python canary cron failures in openinference?

List recent failures with gh run list for the python-cron.yaml workflow, extract the failing package tokens from testenv names, then investigate each package independently. Read the failed tox logs, identify the upstream dependency change, patch the instrumentor, and verify with the pinned and -latest tox environments.

How does the CI auto-fix job handle canary failures?

The auto-fix job in python-cron.yaml runs one job per failing package, creates the branch, and downloads failure logs before invoking the Skill. The Skill writes .scratch/pr-title.txt and .scratch/pr-body.md, and the workflow commits, pushes, and opens the PR afterward.

Should I open one PR for multiple failing instrumentation packages?

No. Each failing package gets its own branch and PR, even when failures share a root cause such as a core library change. Scoped PRs can be reviewed, reverted, and released independently, and you can cross-link related PRs in their descriptions.

When should I drop support for older upstream dependency versions?

Drop old support when backward compatibility requires significant ongoing complexity such as parallel code paths or brittle version sniffing. Bump the minimum version in pyproject.toml and tox.ini, remove dead compatibility branches, and use a conventional commit with ! so release-please cuts a major version.

Why do canary cron tests fail after an upstream release?

The -latest tox environments upgrade upstream dependencies with uv pip install -U, so new releases with renamed attributes, changed event formats, removed APIs, or type-system overhauls break the instrumentation. The failure log's first traceback usually points directly at the breaking change.