Claim 起草走 localhost claim agent + WebUI¶
被 ADR 0008 取代——Claim 起草 + issue 提交已从 QA client 迁出,进入上游 lean 仓库
(qatlas-lean 的 contrib claim WebUI,CLI agents 而非 SDK)。下面的决策作为首次交付内容的记录保留;
当前边界请读 0008。
qatlas contrib claim 命令会启动一个 localhost WebUI,以及一个由 Copilot-SDK 驱动的自定义
agent;它在人类参与审核的前提下,围绕一篇论文起草一个或多个 Claims(基准论文 +
近乎逐字的自然语言陈述 + 明示/隐含假设 + agent 基于 OpenAlex / arxiv 解析出的 reference IDs)。
命令名表达的是贡献类型,不是每个 session 的数量——一个 session 可以产出多个 Claim 草稿
(匹配 scout 的“extract every formalization-ready claim” contract)。当用户在 WebUI 中对单个
已起草 Claim 点击 Confirm claim(中文:确认 claim)时,localhost 进程会使用用户自己的
gitea token,在 agony/qatlas-lean 上每次点击提交一个 gitea issue——这就是本轮工作流的终点。
QA server 不参与(见 ADR 0004)。
这个模式是计划中一组 localhost contrib WebUIs 的第一个。终态会把所有 Lean 侧 agent
(scout、statement、enricher、issue-raiser、solver、repair、melchior、
balthasar、casper)合并进同一个 contrib WebUI 界面,同时用一个只存放内容的
QuantumAtlas-Theorems 仓库替代今天 qatlas-lean 仓库中存放代码的部分。本轮只交付 Claim 起草工作流;
其余命名是为了向前保持一致。
为什么用 localhost agent + WebUI,而不是 CLI one-shot¶
如果 CLI 一次性串起
scout → enricher → issue-raiser → POST gitea,就会让 LLM 直接接触 gitea,产出的 Claim 没有人类审核。交接说明把 Claim 质量列为硬性要求(“基准论文 + reference IDs + 近乎逐字的自然语言陈述 + 明示/隐含假设”);LLM 一次性执行 并不能稳定达到这个门槛。localhost WebUI 给人类一个与 agent 交互的位置——阅读、编辑、要求再起草一版、接受 references、 丢弃坏 references——同时不需要搭建完整 web app,也不要求 QA server 运行 LLM。
为什么是 localhost,不是 QA server¶
QA server 不运行 LLM agents,而且按交接说明也不应该运行。把 Copilot-SDK 代码放进 Go
qatlasd进程,会制造我们不想要的 token 管理、计费和并发问题。每个用户都在本地持有自己的 Copilot SDK credentials 和自己的 gitea token;QA server 永远不需要代理二者。
localhost WebUI 是每个 session 短生命周期的——用户运行
qatlas contrib claim,浏览器弹出, 工作流执行,完成后进程退出。
"Confirm" 按钮写入 gitea issue¶
按钮文本:英文 "Confirm claim",中文 "确认 claim"(领域词
claim在各 locale 中保留,以匹配底层 schema/CLI/URL 词表)。行为:localhost agent 把已起草 Claim 渲染成规范 issue body 形态,使用用户 token 调用 gitea 的
POST /repos/agony/qatlas-lean/issues,并显示生成的 issue URL。issue 提交后,旧有的仓内
qatlas-leanLean-prover agents(solver、magi 等)会像今天一样接手—— 本轮不改变 prover 侧。
QA 侧拉取¶
已证明的 Theorem 通过
theoremsbuiltin 插件的 git-pull 到达 QA WebUI(ADR0002): 用户在/theorems上点击 "Pull Now"(或 webhook 触发),插件在自己的qatlas-leancheckout 上运行git pull --ff-only,/theorems随即反映新条目。Claims 没有 QA 侧写路径(ADR
0004);直到 Claim 在上游仓库的registry.json中变成已证明 Theorem,QA server 才会看到它。
命名¶
CLI:
qatlas contrib claim(单数——命令名指的是贡献一个 Claim 这件事;一个 webui session 可以产出多个 Claim 草稿并提交多个 gitea issues,但命令名反映的是贡献类型,不是每个 session 的数量)。现有qatlas contrib组已经承担“贡献者工作流”(今天是 PDF / MinerU uploads); 这个命令作为第一个由 agent 驱动的贡献者工作流放进去。按钮文本:英文 "Confirm claim" / 中文 "确认 claim"——每次点击都确认恰好一个 Claim, 并提交恰好一个 gitea issue(因此按钮文本用单数,匹配每次点击的语义)。
终态新增项,本轮不构建:驱动完整证明流(solver + Magi)的
qatlas contrib theorem子命令,以及驱动 audit-existing 的qatlas contrib audit。同样遵循单数动作命名规则。
影响¶
Python
qatlas包增加qatlas.client.contrib.claim模块:一个启动 localhost HTTP server、 打开浏览器、驱动 Copilot-SDK 自定义 agent(系统提示词 = scout + enricher + issue-raiser 组合)、 通过 QA suspend-and-wait endpoints 使用 paper 字节流、并在每次 Confirm 时提交到 gitea 的进程。QA WebUI 本轮不会增加
/claims页面(ADR0004)。它会增加/theorems(read-through, ADR0002)。从
claim走向终态theorem-flow contrib 是增量式的——不会强迫重做 Claim flow。