SuperAPI AI 工具集

python-canary-fix

编程与开发

查看项目

更新于 10-15 19:57

技能介绍

用途:调查 openinference 仓库中 Python canary cron(python-cron.yaml)工作流的失败,并为 Python 插桩包提出修复。适用于用户提到 Python canary 失败、定时触发报告 canary 失败、要求排查 *-latest 测试环境失败,或被 python-cron.yaml 的 auto-fix 任务自动调用。

主要能力与流程:先枚举失败包,用 gh run list --workflow=python-cron.yaml --limit=5 --repo Arize-ai/openinference 找最新运行,再用 gh run view <id> --repo Arize-ai/openinference 过滤失败标记;从 testenv 名提取包名(如 py310-ci-openllmetry-latest → openllmetry),同一包的不同 Python 版本合并为一次调查;过滤网络、PyPI 503 等瞬时失败;用 gh pr list --repo Arize-ai/openinference --search "<package>" --state open 排除已有 PR。随后逐包调查根因(canary 针对上游 *-latest 版本,失败通常意味着上游 API 或行为变更),决定向后兼容修复还是提升最低支持版本并发布主版本(提交类型加 !)。测试命令:uvx --with tox-uv tox -c python/tox.ini r -e py310-ci-<package> 与 uvx --with tox-uv tox -c python/tox.ini r -e py310-ci-<package>-latest -- -ra -x。

使用方式:CI auto-fix 模式下读取 .scratch/failure-logs/*.log,写 .scratch/pr-title.txt 与 .scratch/pr-body.md,不提交、不推送、不开 PR;手动模式则自行建分支、提交、推送并开 PR。每个失败包独立一个 PR,不合并修复。

限制:CI 使用受限 shell 白名单,优先 Read、Write、Glob、Grep,Bash 一次一条命令,避免管道、重定向、命令替换与轮询。CI 模式不在工作流内重新验证修复,由 PR 自身 CI 把关。具体价格、平台支持等信息暂未提供。