chore(release): 打包元数据补齐,版本定到 1.0.1

发布前置:readme 与 project.urls 从第一版就写全——缺 readme 的话 registry 包页面正文一片
空白,而 twine 只警告不阻塞上传,三步全绿产物却是坏的(PolyGateway 1.1.2 的教训)。
build 与 twine 钉进 dev extra 而不是靠人手装,PolyGateway 那边它们不在任何 extra 里,
于是发布指南得多写一条「记得先装」,那种步骤迟早有人漏。

README 里那条「项目还没有可用的功能、十个模块是空骨架」的横幅早就过期了,而打包会把当时的
README 固化进 sdist、发布后再改无效,所以在构建之前换成安装说明与现状。顺带修两处与事实
不符的:GovDoc-SaaS 的实现已经在 8 月 3 日整体清空,⑥ 对它的验收标准改成设计级验收。

新建 CHANGELOG.md,写清楚首个版本为什么是 1.0.1 而不是 0.x——「公共类型的字段只增不删不
改名」那条承诺从第一个下游装上它那天起就生效,而 0.x 意味着随时可以破坏兼容。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-11 00:11:04 -04:00
parent d4aa5e117e
commit 303e4ebc1c
4 changed files with 101 additions and 12 deletions
+30 -8
View File
@@ -9,17 +9,38 @@
---
## ⚠️ 项目还没有可用的功能(2026-08-07 起)
## 安装
`src/polyloop/` 下是十个模块的空骨架——目录和依赖契约先于代码存在,模块里一个类一个函数都
还没有。下面的阶段清单是唯一的进度权威。
发布在实验室自建的 Gitea PyPI registry 上,公网 PyPI 查它是 404,所以装它必须自己带索引地址:
```bash
pip install --extra-index-url https://gitea.iomgaa.online/api/packages/iomgaa/pypi/simple/ \
"polyloop==1.0.*"
```
模型调用要经 PolyGateway,那部分是一个单独的 extra——不用它的人不该被迫装上网关:
```bash
pip install --extra-index-url https://gitea.iomgaa.online/api/packages/iomgaa/pypi/simple/ \
"polyloop[gateway]==1.0.*"
```
写进 `requirements.txt` 的话,那一行 `--extra-index-url` 必须排在 `polyloop` 之前。
**这台开发机上的注意事项**:它设了 `http_proxy` 指向一个到不了外面的本地代理,走代理会失败,
装的时候加 `NO_PROXY=gitea.iomgaa.online`
## 现状
十个模块全部落地,四层测试都在跑。**还没有任何下游项目真的用过它**——这是它现在最大的未验证项,
下面的阶段清单是唯一的进度权威。
## 消费者与验收标准
| 项目 | 现状 | 本库对它的验收标准 |
|---|---|---|
| dissect | 已有跑着的 `harness/agent/`loop / context / memory / parser | **能把那套循环搬到本库上,dissect 原有测试全绿。** 一手需求证据最强 |
| GovDoc-SaaS | 已有 `packages/docagent-core/`(第一次抽库尝试,含 agent / workflow / retrieval / taskrun | **能替代掉 `docagent-core/agent`,能替代更多更好。** 哪些子包能一并接管,在第 ② 阶段判断 |
| GovDoc-SaaS | 仓库 2026-08-03 起整体重建,实现全部清空,自己的清单停在「构建文档框架」 | **不做迁移验收,做设计级验收**:它真实需要的东西逐条能不能被承载,见 `research-wiki/migrations/govdoc-saas.md`。它将来写 agent 层时是直接长在本库上,不是迁过来 |
| CHSAnalyzer | 还没写到 agent 那一步,只有设计方案 | **远期可以兼容使用。** 它的 agent 需求要么本库能满足,要么明确写进「不属于本库」清单并说明为什么 |
三者的证据强度不同,能进本库的语义也就分档:dissect 和 GovDoc-SaaS 的真实代码是一手证据,
@@ -45,7 +66,8 @@
一致性用例接上了自带的存储实现,解释器与执行器那几条仍等下游把实现接进来
- [x] ⑤ 实现 —— 十个模块全部落地,五个接缝都有调用点。**一处已知欠账**:`stores` 只有逐行
追加那一种形态,关系数据库那种由下游自己实现,契约套件是它的准入标准
- [ ] ⑥ 迁移验收 —— 真的把 dissect 与 GovDoc-SaaS 迁过来,以两边测试全绿为准
- [ ] ⑥ 迁移验收 —— 真的把 dissect 迁过来,以它原有测试全绿为准。GovDoc-SaaS 那半不是迁移
而是设计级验收(理由见上面那张表),口径在 `research-wiki/migrations/govdoc-saas.md`
## 本地检查
@@ -55,8 +77,8 @@ make test # pyteste2e 默认不跑,它打真实网关要花钱)
make ci # 上面两条
```
仓库还没有 remote,所以没有 CI workflow`make ci` 就是当前的全部机器闸,和 PolyGateway
一样。等仓库推上去之后按 `research-wiki/guides/` 补 workflow(那份也还没写)
还没有 CI workflow`make ci` 就是当前的全部机器闸,和 PolyGateway 一样。发布怎么做见
[research-wiki/guides/releasing.md](research-wiki/guides/releasing.md)
文档质量不走机器检查,走 [CLAUDE.md](CLAUDE.md) §3 的「硕士生阅读」评审。
@@ -69,7 +91,7 @@ make ci # 上面两条
|---|---|
| `reference/agent-core.md` | 别人为本项目写的一份架构提案。其中任何一条在被我们自己的 design doc 采纳前都不作数 |
| `reference/dissect/` | 消费者,已有 ReAct 循环实现 |
| `reference/GovDoc-SaaS/``background` 分支) | 消费者,已有第一次抽库尝试 `packages/docagent-core/` |
| `reference/GovDoc-SaaS/``background` 分支) | 消费者的**旧代码**,第一次抽库尝试 `packages/docagent-core/`。它那边的活仓库已经把这份降级成「只作研究输入,不是当前事实来源」 |
| `reference/GovDoc-Editor/` | GovDoc-SaaS 重构之前的那一版,今天跑在生产上。需求来源,不是迁移对象 |
| `reference/CHSAnalyzer/` | 远期消费者;同时是本仓库协作规范的蓝本 |
| `reference/PolyGateway/` | 本库的依赖,也是「实验室共用库该怎么做」的蓝本 |