@@ -0,0 +1,245 @@
# feature/regkb-corpus-wiring 任务卡
任务主记录:PR #625 https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/625;状态:已完成(合入前闭合);owner:weichen
## 基线与授权
- 权威仓:ssh://git@git -ssh.u1680832.nyat.app:31411/weichen/Agent-System-Dev.git;目标分支:main; R0( initial_base_sha) = eef7e5e778cabcb6216f74b74213a3d7511f383b
- 工作区:/home/weichen/projects/Agent-System-Dev-wt-feature-regkb-corpus-wiring( worktree);分支:feature/regkb-corpus-wiring
- 分支类型:standalone; root_target: main; immediate_target: main; accepting_requirements: false
- 需求分流:verdict=NEW; selected_initiative=无;requirement_sha256=9fad07a7ccc92506912aebfddddcbef685159ffc076459610a9907d652618ccd; triage_receipt=/tmp/regkb-dev-triage.json; receipt_sha256=2a0801f651ffc10e149f5cdadc94da0be9ee280f83df9a9921229e12bb738c10
- 授权与交付终点:用户 2026-10-18 要求“把所有的法规、通告、指导原则等等都入库”,经 AskQuestion 确认范围=全部本地语料(含标准,按权利类别限制展示)、发布=所有者批量授权(审核人 weichen)、联网补齐=现在、接入=是(RDM/Dev 升级 KB 版本、配置 `KBREG_*` 指向新库)。终点:本 PR 合入 Dev main, rdm1 部署含新 KB 的 RDM main 并配置 `KBREG_*` ,产品可检索已发布修订。凭据只放实例 0600 本地文件,不入仓。
- 交付模式:goal-first(目标、范围和交付终点一次确认;范围内连续推进)
- 实施执行:agent-per-unit(配置:AGENT-EXECUTION.md)
- 合入执行:agent(已授权交付范围内,Review 通过、冲突解决且当前 HEAD 的 CI 通过后合入)
- 人工决策点:仅限目标/范围/验收变更、重大取舍、高后果操作或无法自动判定的业务验收
- 当前阶段:需求拆解;当前增量:I1(待定义)
- 流程依据:仓库根目录 policy/delivery.md(归档后仍按仓库根目录定位)
## 目标与非目标
- 目标:`tests/integration/regulations-kb/components.pin` 更新为含 KB 393555b 的 RDM main( RDM PR #442 合入点)与 KB main 393555b,组合门禁 `tests/integration/regulations-kb/run.sh` 通过;rdm1 实例 `serve.env` ( 0600, runtime/ 已 gitignore)追加产品需要的 `KBREG_*` (数据库 URL、embedder、搜索提供方 `zhipu-mcp` 与密钥),部署新 RDM 并核验法规检索可用;记录新语料修订的发布结果。
- 非目标:修改 `scripts/svc.sh` (现有 `serve.env` 已透传非 `AGENT_SYSTEM_*` 变量)、生产部署、凭据入仓、KB 语料只读账号(后续改进)。
## Agent 实施收据
路由与 fail-stop 规则见根目录 AGENT-EXECUTION.md 与 policy/delivery.md;每次尝试一行,原始日志留在源码外收据路径。
| 单元 ID | 预期范围 | 配置摘要 | 角色 | 候选顺序 | attempt | CLI/模型 | 终态 | transport | fallback | 源码外收据路径 |
|---|---|---|---|---|---|---|---|---|---|---|
| dev-regkb-components-pin-377d427 | tests/integration/regulations-kb/components.pin、README.md | AGENT-EXECUTION.md | implementation | cursor → agy → pi | 1( run d9cf2830…/0b33b9cc9050; fresh_session, session 41bf6457…) | cursor-agent( Auto) | failed-unknown( Cursor 服务重连后无输出,900 s 超时终止;工作区无改动;fail-stop,未自动重试) | 无 | 无 | /tmp/regkb-dev-pin-receipt.json |
| dev-regkb-components-pin-377d427-r2 | 同上 | AGENT-EXECUTION.md | implementation | cursor → agy → pi | 1(用户 2026-10-19 授权全新重派;run 52cabbe7…/2a2480ceef3d; fresh_session, session ID not-observable) | cursor-agent( Auto) | success | 81fa428( parent b7b0c49, apply 快进) | 无 | /tmp/regkb-dev-pin-receipt-r2.json |
## 关联方向与规划
- 适用状态:待核对(无适用规划时说明原因)
- 主记录路径/版本:待核对(路径按仓库根目录定位,归档后不变;只引用唯一正文)
- 对应里程碑:待核对
## 需求分析
| ID | 描述 | 项目符合度及依据 | 优先级 | 验收条件 | 依赖 | 结论 |
|---|---|---|---|---|---|---|
| R1 | 组合门禁固定组件升级到新 RDM/KB main | 符合(U8 组合门禁按 pin 升级走 PR) | P0 | `run.sh` 用新 pin 通过 | RDM PR #442 合入 | 采纳 |
| R2 | rdm1 接入新法规库 | 符合(用户确认接入) | P0 | rdm1 运行新 RDM,法规检索返回已发布修订结果,非 `corpus_not_configured` | R1、KB 修订发布 | 采纳 |
## 方案与计划
- 方案引用:待填写(含对象版本)
- 实施计划引用:待填写(含增量与需求 ID)
- 测试计划引用:待填写(含需求 ID 与验收条件)
## 阶段记录
| 阶段 | 对象版本 | 状态 | 决策/执行者 | 时间 | 依据 |
|---|---|---|---|---|---|
| 需求拆解 | 待定 | 待执行 | — | — | — |
| 需求评估 | 待定 | 待执行 | — | — | — |
| 需求表确认 | 待定 | 待执行 | — | — | — |
| 方案设计 | 待定 | 待执行 | — | — | — |
| 实施计划 | 待定 | 待执行 | — | — | — |
| 实施与自检 | 待定 | 待执行 | — | — | — |
| 正式测试与验收 | 待定 | 待执行 | — | — | — |
| 代码 Review | 待定 | 待执行 | — | — | — |
| 合入 | 待定 | 待执行 | — | — | — |
| 合入核验与收口 | 待定 | 待执行 | — | — | — |
## 探索试验与迭代
| 增量/试验 | 假设 | 范围 | 判断和停止条件 | 授权/决策依据 | 结果 | 变更影响 | 需重审补测 |
|---|---|---|---|---|---|---|---|
| 待定义 | — | — | — | 待核对 | NOT_RUN | 待评估 | 待评估 |
## 同步记录
| 节点 | sync_base_sha | tested_head_sha | checked_at |
|---|---|---|---|
| 启动 | eef7e5e778cabcb6216f74b74213a3d7511f383b | eef7e5e778cabcb6216f74b74213a3d7511f383b | 2026-10-18T16:04:30Z |
## 证据(Evidence)
<!-- CMD="<命令>" make evidence 写入;手抄/转写输出视为无效证据(AGENTS.md 证据与验证门禁)。 -->
| 时间(UTC) | 命令 | 被测HEAD | exit | 来源 | sha256(16) |
|---|---|---|---|---|---|
## 交付调度
- 调度状态:未入队;调度记录:无
- entry_id:无;attempt_id:无;窗口执行者:无
- 固定候选:无(base/head、组件与相关配置引用实际尝试)
- 调度依据:policy/delivery.md#合入调度
- 固定后证据:源码外 RECEIPT;实际结果后按授权原样导入和闭合
## 结果与验证
- 结果:
- R1: `components.pin` → rdm_sha=377d427( RDM PR #442 合入点,KB gitlink 393555b)、kb_sha=393555b( KB PR #8 、#9 合入后的 main);README 同步描述。
- R2: rdm1 部署 `rdm@377d427` ( release rdm-377d427-20261018T163309Z-1928553),实例 `runtime/rdm1/serve.env` ( 0600, gitignored)追加 9 个 `KBREG_*` (数据库 URL、http embedder 1024 维 `dmxapi-1024` 、`KBREG_SEARCH_PROVIDER=zhipu-mcp` 及密钥),进程环境核对到全部 9 个变量名(值未输出)。
- 语料修订:`rev_corpus_legacy_20261018` 已发布(actor weichen;评测 250 例:条款召回 0.96、版本选择 0.915、引文定位 0.96、失效抑制 1.0、摘要/来源分离 1.0,均达门槛;基线复核人 weichen,所有者批量授权);`kbreg revision verify` verified,版本 2,887、法律节点 1,701,178、清单 sha256 2df2ca96…c216bb;索引 fts `ix_461fd0509c82b79247f85425` 、vector `ix_7cafae6fbb2b702c0351dec8` ( 64,076/64,076)。
- 验证(SELF):
- 组合门禁 `tests/integration/regulations-kb/run.sh` ( RDM 377d427 分离检出、KB 393555b 主检出、一次性 pgvector:pg16 测试库,pg16 客户端工具;扫描目录为 rdm1 已部署的同版本前端产物):kb-test-pg PASS、rdm-kbreg PASS、client-asset-secret-scan PASS(证据见下方 evidence)。附加一次带 rdm1 真实 `KBREG_*` 的运行:扫描核对 3 个凭据变量无泄露 PASS;rdmapp 3 个组合测试因环境中的 `KBREG_SEARCH_PROVIDER=zhipu-mcp` 未被测试清理而失败(干净环境通过)。
- 产品路径探针(/tmp,未入仓):以 RDM 377d427 所钉 KB 代码的 `pkg/kbprovider` 与 rdm1 同一 `serve.env` 、无代理运行:3 个法规检索均 state=ok、命中已发布修订;联网搜索 provider=zhipu-mcp state=ok。rdm1 HTTP 命令需管理员会话,未做 HTTP 级调用(NOT_RUN)。
- 权威结果以 PR 当前 HEAD 的 CI 为准。
- 影响与剩余项(非阻塞):RDM `composedSetup` 未清理 `KBREG_SEARCH_PROVIDER` (宿主机带该变量时 3 个组合测试误失败);产品使用可写库账号 `kbreg` (建议后续改只读账号);旧语料部分文号/标题(如标准封面“中华人民共和国国家标准”)元数据粗糙;向量检索无 ANN 索引;现行指导原则约 691 份 vs 库内约 157+ 份,`/home/weichen/regkb-inbox/` 手动下载件到位后需以新修订补充;10 份隔离、29 份原件缺失。
## 规划进展与下一步
- 本次推进/剩余:待核对(依据实际成果更新适用方案/规划)
- 首选下一任务:待核对(无适用规划、已完成或受阻时如实说明,不虚构任务)
- 推荐依据:待填写
- 前置条件/待确认:待核对
- 预期产物/验收条件:待定义
- 重复任务核对:待核对(已有/在途任务、PR 与规划记录)
- 启动授权:未授权(建议不自动启动新任务,仍须明确授权)
## 合入与清理
- Review 记录:NOT_RUN(审阅智能体/平台身份、base/head、结论、问题闭合及重放依据)
- 冲突记录:NOT_RUN(最新目标同步、冲突处置、组合兼容核验及复审/补测)
- CI 记录:NOT_RUN(当前 HEAD 完整 SHA、全部必需检查、运行链接、执行身份及 GATE 结果)
- 合入记录:NOT_RUN(交付授权范围、PR、被核验 HEAD、合入 SHA、目标分支及内容核验)
- 清理记录:NOT_RUN(授权依据、写者退出确认、worktree/分支/任务卡处置)
<!-- Local receipt: SELF. Digests detect corruption; they do not authenticate a reviewer or CI. -->
``` json
{
"summary_schema" : 1 ,
"source" : "SELF" ,
"timestamp" : "2026-10-18T16:03:48.792262+00:00" ,
"command" : "make precheck" ,
"exit_code" : 0 ,
"cwd" : "/home/weichen/projects/Agent-System-Dev" ,
"before_head" : "eef7e5e778cabcb6216f74b74213a3d7511f383b" ,
"after_head" : "eef7e5e778cabcb6216f74b74213a3d7511f383b" ,
"branch" : "main" ,
"target_branch" : "main" ,
"target_head" : "eef7e5e778cabcb6216f74b74213a3d7511f383b" ,
"root_target" : "main" ,
"immediate_target" : "main" ,
"before_tracked_diff_sha256" : "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" ,
"after_tracked_diff_sha256" : "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" ,
"output_tail" : [
"make[1]: Entering directory '/home/weichen/projects/Agent-System-Dev'" ,
"[repo] branch=main head=eef7e5e778" ,
"[remote] origin/main=eef7e5e778 ahead=0 behind=0" ,
"[tree] clean submodules_drift=0 uninit=12" ,
"[warn] 12 个子模块未初始化——构建/测试前需物化(不阻断写入)" ,
"[worktrees] linked=6" ,
"[recycle] merged un-recycled branches: feature/layered-python-env" ,
"[initiatives] local cards (not authoritative): none" ,
"[hooks] core.hooksPath=scripts/hooks( pre-commit/post-merge 实际接线)" ,
"[facts] policy/facts.md 6 条事实均在有效期内" ,
"[required-reading] core/baseline.md, workflows/delivery.md §1, policy/delivery.md" ,
"[R0] eef7e5e778(完整:eef7e5e778cabcb6216f74b74213a3d7511f383b) " ,
"[worktree] before-sync: recursive component checks passed" ,
"[verdict] READY — 保留本次 precheck receipt 后建任务工作区:PRECHECK_RECEIPT=/tmp/task-precheck.json make task-start NAME=feature/your-branch" ,
"make[1]: Leaving directory '/home/weichen/projects/Agent-System-Dev'"
] ,
"output_sha256" : "c99ae0d65c942a4fa4016864159dcbaa0a61e2e49297b058004000eab1e55baf" ,
"receipt_sha256" : "e2a517e9383c017755499303c39c2a794c5d83d8d131a5ebae29536ab70c32c6" ,
"receipt_path" : "/home/weichen/.cache/agent-system-dev/evidence/e2a517e9383c017755499303c39c2a794c5d83d8d131a5ebae29536ab70c32c6.json"
}
```
| 同步(记录前对象) | 2d35fb6b1ad5e5de7c3e41e9c1af8531a329e2ab | 2394df8fe0b4465c2272356d8dec9aaccf72ac4f | 2026-10-19T01:15:49Z |
<!-- Local receipt: SELF. Digests detect corruption; they do not authenticate a reviewer or CI. -->
``` json
{
"summary_schema" : 1 ,
"source" : "SELF" ,
"timestamp" : "2026-10-19T01:15:18.866520+00:00" ,
"command" : "make task-sync" ,
"exit_code" : 0 ,
"cwd" : "/home/weichen/projects/Agent-System-Dev-wt-feature-regkb-corpus-wiring" ,
"before_head" : "e53bb06fff4483ec523233f110dcd498b2ffe93b" ,
"after_head" : "94c69b02b7b0458adbfba7dc1276b4fa30468b73" ,
"branch" : "feature/regkb-corpus-wiring" ,
"target_branch" : "main" ,
"target_head" : "2d35fb6b1ad5e5de7c3e41e9c1af8531a329e2ab" ,
"root_target" : "main" ,
"immediate_target" : "main" ,
"before_tracked_diff_sha256" : "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" ,
"after_tracked_diff_sha256" : "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" ,
"output_tail" : [
"Submodule path 'deps/development-manager': checked out '0552b7358d6955057d6eea090326f83317ed992a'" ,
"Submodule 'development/guidelines' (ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Development-Guidelines.git) registered for path 'development/guidelines'" ,
"Cloning into '/home/weichen/projects/Agent-System-Dev-wt-feature-regkb-corpus-wiring/deps/development-guidelines/deps/development-manager/development/guidelines'..." ,
"Submodule path 'development/guidelines': checked out '2688fd2be6a52c0bf110e7e6366b6f291ab5e4eb'" ,
"From ssh://git-ssh.u1680832.nyat.app:31411/weichen/Development-Manager" ,
" * [new branch] fix/agent-exec-gitlink-preparation -> origin/fix/agent-exec-gitlink-preparation" ,
" b178dec..6c01959 main -> origin/main" ,
"Submodule path 'deps/development-manager': checked out '6c019595fa02aa2d0a1a9b8f98fc224e69d2a901'" ,
"[worktree] materialize: recursive component checks passed" ,
"[worktree] after-sync: recursive component checks passed" ,
"admit: ok" ,
"[evidence] WARN JSON receipt line 125: unverified: recorded component state was not at its pinned SHA ——关键检查须重跑并以 make evidence 重新写入" ,
"[synced] sync_base=2d35fb6b1ad5e5de7c3e41e9c1af8531a329e2ab tested_head=94c69b02b7b0458adbfba7dc1276b4fa30468b73 checked_at=2026-10-19T01:15:49Z changed=1 sync_target=main" ,
"[next] 跑正式验收(make test 等),证据写入任务卡" ,
"make[1]: Leaving directory '/home/weichen/projects/Agent-System-Dev-wt-feature-regkb-corpus-wiring'"
] ,
"output_sha256" : "b0a42367576f9e1d95bda34998ba5e877c5e1fe19764cefa4daa724ade872610" ,
"receipt_sha256" : "21f367898e6165f9c638a68936407ced00464eef2eb3ff7d04cfeab5fdf9dc7d" ,
"receipt_path" : "/home/weichen/.cache/agent-system-dev/evidence/21f367898e6165f9c638a68936407ced00464eef2eb3ff7d04cfeab5fdf9dc7d.json"
}
```
<!-- Local receipt: SELF. Digests detect corruption; they do not authenticate a reviewer or CI. -->
``` json
{
"summary_schema" : 1 ,
"source" : "SELF" ,
"timestamp" : "2026-10-19T01:15:55.262978+00:00" ,
"command" : "bash /tmp/regkb-gate.sh /home/weichen/projects/Agent-System-Dev-wt-feature-regkb-corpus-wiring" ,
"exit_code" : 0 ,
"cwd" : "/home/weichen/projects/Agent-System-Dev-wt-feature-regkb-corpus-wiring" ,
"before_head" : "94c69b02b7b0458adbfba7dc1276b4fa30468b73" ,
"after_head" : "94c69b02b7b0458adbfba7dc1276b4fa30468b73" ,
"branch" : "feature/regkb-corpus-wiring" ,
"target_branch" : "main" ,
"target_head" : "2d35fb6b1ad5e5de7c3e41e9c1af8531a329e2ab" ,
"root_target" : "main" ,
"immediate_target" : "main" ,
"before_tracked_diff_sha256" : "adc7e2a950d7a0ee0bab0c9e8b106d6b92fb8eb51dd62bf1fd05af4907370d4b" ,
"after_tracked_diff_sha256" : "adc7e2a950d7a0ee0bab0c9e8b106d6b92fb8eb51dd62bf1fd05af4907370d4b" ,
"output_tail" : [
"ok \tagent-system-rdm/internal/rdmapp/dhfmatrix\t0.003s [no tests to run]" ,
"ok \tagent-system-rdm/plugins/rdm\t0.069s" ,
"PASS rdm-kbreg" ,
"=== stage client-asset-secret-scan =<redacted>" ,
"scan: /home/weichen/projects/Agent-System-Dev/runtime/rdm1/current/htdocs" ,
"scan: 已核对 0 个凭据变量:<无>" ,
"PASS client-asset-secret-scan" ,
"regulations-kb: PASS"
] ,
"output_sha256" : "845d41d71ec34de77b3a0acc8c014be16a60618828b887a655f6f933c46a2321" ,
"receipt_sha256" : "8902a9ca2bb84d304471e18a2ac85134c5cf44a79833c1c812f081514f4d1681" ,
"receipt_path" : "/home/weichen/.cache/agent-system-dev/evidence/8902a9ca2bb84d304471e18a2ac85134c5cf44a79833c1c812f081514f4d1681.json"
}
```
## 闭合记录(合入前折叠)
- 本卡在 PR #625 ( https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/625)合入前闭合并归档,随该 PR 一同合入。
- 该 PR 的合并提交即本任务的落地记录。
- 合入后无需回填,也无需单独的闭合 PR。