@@ -7,7 +7,7 @@ date: 2026-09-09
# 1.3.4 推理契约验证与发布准备
# 1.3.4 推理契约验证与发布准备
> 最新状态(2026-09-09):发布准备完成;用户已正式 批准将 未补全模型 矩阵、失败 / UNKNOWN/不可达/缺轮及缺下游现行配置证据作为本版验收例外,保留原始结论而非 PASS。可移交合并与包发布;本轮未 merge/push/tag/构建/上传,合并后门与外部产物验收仍待执行。以下各节是 分阶段历史,不追改当时结论;最新证据与例外见文末。 原始输出在 `tests/outputs/134/`,不提交。
> 最新状态(2026-09-09):**1.3.4 已发布并完成外部验收,#21/#25/#26 已评论关闭**。main/tag 指向 `af57f93adce24b43fd10b6d8e1281ab8ee43c0a8`;合并后门、下载独立安装及页面结果见文末。用户 批准的 未补全矩阵、FAIL / UNKNOWN/不可达/缺轮及缺下游配置例外保持原结论,不冒充 PASS。以下为 分阶段历史,不追改当时结论;原始输出在 `tests/outputs/134/`,不提交。
## 基线与修改边界
## 基线与修改边界
@@ -233,3 +233,36 @@ pi-lens 仍报非 conda 解释器缺 httpx/ pytest/ dotenv/ pydantic 及旧 S
conda 启动器既有 RequestsDependencyWarning 保留,不宣称零告警。本轮 conda 内实际导入 dotenv/ httpx/ redis.asyncio 成功;工具的非conda LSP旧诊断不转成代码修改或忽略规则。
conda 启动器既有 RequestsDependencyWarning 保留,不宣称零告警。本轮 conda 内实际导入 dotenv/ httpx/ redis.asyncio 成功;工具的非conda LSP旧诊断不转成代码修改或忽略规则。
**可移交合并与包发布,不等于已发布。 ** 父会话按本版例外边界完成本次文档/版本差异审查,再执行合并后静态/日常门及未豁免的发布检查;不把本次例外解释为必须补全模型矩阵,也不把豁免项勾成已跑通过。merge/push/tag/构建/twine上传/下载解包独立安装/Release及registry页面检查均尚未执行;只能在实际完成后记录。不得覆盖已有同版本不同字节。
**可移交合并与包发布,不等于已发布。 ** 父会话按本版例外边界完成本次文档/版本差异审查,再执行合并后静态/日常门及未豁免的发布检查;不把本次例外解释为必须补全模型矩阵,也不把豁免项勾成已跑通过。merge/push/tag/构建/twine上传/下载解包独立安装/Release及registry页面检查均尚未执行;只能在实际完成后记录。不得覆盖已有同版本不同字节。
## 1.3.4 发布完成与外部验收(2026-09-09)
父会话已审 `dae12f9` 发布准备 diff,用户授权发布及指定例外;本轮无新生产/测试改动、不派子代理。已有红绿/变异与独立报告按适用范围复用,716份历史证据 SHA-256 复核不变。以下日志均相对 `tests/outputs/134/publish-20260909/` ,命令无掩盖退出码管道;长跑由 tmux `pgw134-publish` 串行执行,`PYTHONUNBUFFERED=1` ,每门独立 `.exit` 。
| 步骤 | 实际结果与证据 |
| --- | --- |
| 远端核验/合并 | fetch后 origin/main=`a716f12` 无新变更;精确文件名检查 registry 无1.3.4, tag无占用、Release404。`--no-ff` 合并为 `af57f93adce24b43fd10b6d8e1281ab8ee43c0a8` ,与批准 `dae12f9` 树零差异;`merge.log` / `merge-summary.log` |
| 合并后 `make lint` | exit0, ruff/ import-linter 1 kept、0 broken,无自动修改;`lint.log/.exit` |
| 合并后 `make test` | **1518 passed、23 skipped、108 deselected, 95%覆盖率,276.42秒,exit0 ** ; `daily.log/.exit` 。skip与deselected不计通过 |
| M2 AUTO定向 slow | **2 passed、80 deselected, 46.85秒,exit0 ** ;各5轮、并发1,空wire流式开启命题通过;`m2-auto.log/.exit` 。M2.5 run `d4b158162ad543e5a4745d21b29ab03e` , M2.7 run `07a388cafa9f4fcf95dc0c6876fd0751` ,均 planned=completed=5、无缺轮;实际逐轮/命题报告已读取 |
| Redis时间语义 slow | contracts/integration选择 **18 passed、156 deselected, 1109.45秒,exit0 ** ; `redis-time.log/.exit` 。`gates.exit=0` ,未重启全型号矩阵 |
| push与tag | main推送成功;注释tag对象 `0bdb0f70e4667a2fe50a567f0809a5a421c5442a` ,解引用同上述main; `push-main.log` / `push-tag.log` / `remote-refs-after.log` |
| 构建/上传 | 核实项目绝对dist路径且不是链接后清旧1.3.3产物;conda `python -m build` 、`twine check dist/*` 、twine上传均exit0, wheel/sdist各一份。凭据只从tea内存读取进入TWINE_PASSWORD,无token argv/日志;`build` / `twine-check` / `upload` 的 `.log/.exit` |
| 独立下载/解包 | registry下载wheel与sdist,与本地构建SHA-256逐字匹配;包内五个关键生产文件与发布提交相同,wheel METADATA版本/Markdown正文、sdist README均与已发布README相符;`download-final.log/.exit` 、`download-verification.json` |
| 独立安装与行为 | `/tmp/pgw134-registry-eyges3d7/installed/polygateway/__init__.py` ,仓库外 `python -I` 并显式target来源验证;M2空AUTO、M3 AUTO在error/nearest均拒绝、M3 medium、同值/新增raw冲突与raw-only保留全部通过 |
| Release/包页面 | Release POST201,正文逐字来自CHANGELOG本节。匿名实际读取包页面、单版Release及Releases列表,均HTTP200、正文含迁移/例外;包页面有目标仓库链接,认证包API的 repository.full_name=`iomgaa/PolyGateway` ; `pages-final.log/.exit` 、`external-verification.json` 及HTML/可见文本原件 |
| issue收尾 | 仅#21/ #25/ #26评论后关闭 ,GET各自核实closed;评论明确验证范围、失败例外、缓存迁移及“不识别所有渠道故障”;`issues.log/.exit` 和`issue*-after.json` 。未改#19/ #22/ #23/ #24 |
产物 SHA-256: wheel `86ad5cc025bfda127c4f0e4bbe1252d1bb8943b7678f9ff5561200bac71fe2a2` ; sdist `85620f993ff9d19845088a071d251049e3dfae8d035c05652bdb62b4340a1a66` 。
外部亲查地址:[包页面 ](https://gitea.iomgaa.online/iomgaa/-/packages/pypi/polygateway/1.3.4 )、[v1.3.4 Release ](https://gitea.iomgaa.online/iomgaa/PolyGateway/releases/tag/v1.3.4 )、[Releases列表 ](https://gitea.iomgaa.online/iomgaa/PolyGateway/releases )。结果补记在独立 `docs/1.3.4-release-evidence` 分支,不改变已发布main/tag或覆盖同版本产物。
### 真实失败与恢复(原件保留,不改写成功)
| 检查失败 | 根因/处置与边界 |
| --- | --- |
| 最初索引grep误报占用 | `1.3.4` 被当正则匹配历史sha片段;改用完整字面 `polygateway-1.3.4` ,并核对tag/Release均不存在。没有实际同版占用,没有覆盖 |
| 首次sdist下载exit1 | 私有索引无setuptools, pip即使 `--no-deps` 仍启构建隔离;`download.log/.exit` 保留。复用已下载wheel,sdist加 `--no-build-isolation` 使用现有conda构建工具后exit0;不新增依赖、不重传包 |
| 包link POST400 | 返回 `invalid argument` , `release-create.log/.exit` 保留exit1;不把400当成功/不猜根因。匿名页面已有仓库链接,认证GET包API证实本版正确关联,故无需解绑重挂;Release创建201不重复执行 |
| 首次页面验证exit1 | 三个匿名页面及Release正文均通过,但额外包API匿名GET401;`pages.log/.exit` 保留。仅该API沿现有tea认证GET后200,最终所有页面/API核对exit0;不扩大为发布包匿名不可下载 |
上述操作差异已补入CLAUDE发布清单。conda启动器既有RequestsDependencyWarning仍保留。用户验收例外完全沿前节:embedding503与claude命题仍FAIL、M3非流UNKNOWN及其余未覆盖/缺下游资料未变;本轮成功不外推全矩阵或所有渠道。1.3.4发布任务到此停止,1.3.5由父会话继续。