chore(release): 定版 1.0.3

CHANGELOG 的「未发布」段落定成 1.0.3(2026-08-29),上面留一个空段给下一版接着攒;两处版本号
(pyproject.toml 与 polyloop/__init__.py)同步。

发之前跑了一轮完整压测,与 1.0.2 那次验收逐项可比:正常负载 400 次运行、3501 次真实模型调用,
十一条不变量全部通过、零击穿、零无法判定;九类故障注入 58 条判据全部通过、零击穿,剩下那条
无法判定与 1.0.2 是同一条。产物在 tools/soak/runs/v1.0.3/(该目录在 gitignore 里)。

第一次开跑那轮作废:模型中转连返 20 次 503 打开了网关熔断,400 次运行全部快速失败以 llm_error
收尾,整轮 181 秒「跑完」。正常负载那一轮的记分板不开 --allow-undetermined,当场拦下、退出码
非零——一次什么都没验到的跑没有冒充通过,那道闸是对的。产物留在 v1.0.3-aborted-503/。

README 的三条安装命令不用改:约束是 polyloop==1.0.*,1.0.3 落在里面。这意味着钉了那个约束的
下游一次例行升级就会拿到这一版,而这一版有一次破坏性的行为变更(绑定里不带前缀的 session_id
与 parent_call_id 从静默转发变成抛 ValueError)——眼下没有下游在用,所以实际影响为零,
CHANGELOG 那一节把迁移写法写清楚了。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-29 14:19:30 -04:00
parent c0d9d7b66e
commit 622b17f90c
3 changed files with 18 additions and 2 deletions
+1 -1
View File
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "polyloop"
# 与 src/polyloop/__init__.py 的 __version__ 必须一致,由 tests/unit/test_package.py 断言。
version = "1.0.2"
version = "1.0.3"
description = "PolyLoop:实验室共用的 Agent 执行内核——一次运行的预算、停止语义、取消、逐步轨迹与 Skill 注入"
# registry 的包页面正文只认这一项:缺了它页面就是一片空白,而 twine 只会警告
# long_description missing,不阻塞上传——三步全绿、产物是坏的(PolyGateway 1.1.2 的教训)。