7.6 KiB
title, task_id, status, created, updated, owner, task_type, task_tier, policy_revision, branch, worktree, base_dev_sha, write_scope, allowed_environments, mutex, review_state, integration_state, deployment, cleanup, cleanup_owner, cleanup_trigger, remote_sync
| title | task_id | status | created | updated | owner | task_type | task_tier | policy_revision | branch | worktree | base_dev_sha | write_scope | allowed_environments | mutex | review_state | integration_state | deployment | cleanup | cleanup_owner | cleanup_trigger | remote_sync | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 问题修复记录与开发经验闭环 | issue-learning-2026-09-23 | done | 2026-09-23 | 2026-09-23 | Codex | implementation | small | agent-governance-2026-09-21-r1 + systemic-issue-analysis-2026-09-23-r1 @ 2fdb6e548e |
feature/issue-learning-2026-09-23 | .worktrees/issue-learning-2026-09-23 | 2fdb6e548e |
|
agentctl path leases; git:index for commits | approved | merged | not_required | pending | owner 退出后的独立维护者 | 本地交付及证据保存完成且 owner 退出后 | not_requested |
问题修复记录与开发经验闭环
用户目标与授权
2026-09-23 本会话用户要求:“除了任务、新功能的设计和实施有 FEATURE-MATRIX 和 CURRENT 来进行管理”,还希望记录“出现的问题、修复记录、修复思路”,及时总结开发注意事项,使 AI 积累经验、减少重复错误。
本轮落实仓库文档机制:问题台账、经验库、模板、Agent 开工/收口入口,完成文档检查及本地受控集成。只改登记范围内的工程规范和文档;不改业务代码、产品提示词、.env、运行环境或用户私有记忆,不 push。旧问题仅补录有来源证据,不扩大为历史全量审计。
现状与选择
当前 AGENTS 已有根因/同类分析要求,audit/INDEX 为历史审计目录,CURRENT 为活跃协调,FEATURE-MATRIX 为能力声明;缺少跨任务问题台账和按机制检索的开发经验入口。为保持文档分工,新建 audit/ISSUES 与 ops/lessons;复用现有任务/审计/报告,不再要求每次故障创建全部文档。
问题事实、处理进度、经验成熟度分别用 issue_state、任务 status、lesson_state;记录推测与事实、失败尝试、关闭证据、复发和过时处理。该流程为 manual,不声称 AI 已自动学习或工具已强制执行。
检索与来源
检索词:经验、修复、问题、lesson、experience、postmortem、learning。起始工作区无相关经验索引;读取现行规范和相关历史审计/验收。首次补录 nullable-duty 与 content-hash 两类;本次历史问题事实以仓库报告为准,未用私有记忆替代证据。
两条经验分别核对当前 engine 的 nullIfZero、canonicalize 委托和黄金样例存在;历史报告分清 API/PG 冒烟与真实 UI/重启证据。已采用检查:证据日期/范围、旧数据与新数据、未运行不报 PASS、规范入口单一来源。
验证计划与结果
纯文档:差异范围和空白;修改/新增文件相对链接与锚点;问题/经验 ID 唯一和互链;索引状态一致;Agent 入口及模板可达。情景自审包括新问题未定位、只分析、修复未部署、暂缓/重复、历史补录、复发、经验过时和无新增经验。不运行产品测试或共享环境操作。
python3 /tmp/verify-issue-learning.py 2fdb6e548e3784771f27e6a9e79b9c364f76c566执行 git diff 空白/范围、pathlib 相对路径、Markdown 锚点、ID/状态及入口断言,输出:PASS: 17 documents; 137 relative links/anchors; scope/whitespace; 2 unique issue/lesson pairs and matching states; client/template entrypoints。临时检查器非产品代码;可按本节检查范围复核。- 人工审阅全部新增文档和差异,下面情景均有明确动作;review_state=approved 指本轮 Codex 自审,不是独立审查或未来 Agent 行为实测。
- 首次临时检查错误地要求每条 Cursor 规则直接含 AGENTS;实际 test-reports-standard 转发统一验证契约。核对原规则后修正检查器,未修改客户端以迎合错误断言。
| 情景 | 文档规定的动作 / 自审结果 |
|---|---|
| 新问题未定位 | open/investigating,记录假设/缺口和下一步,通过 |
| 仅分析完成 | 任务 done 可成立,问题仍保留未解决状态,通过 |
| 修复未部署 / 验收失败 | verifying 或回 fixing;不能误关闭目标环境问题,通过 |
| 暂缓 / 重复 | deferred 有 owner/复查与依据;duplicate 链接唯一主 ID,通过 |
| 历史补录 | 保留旧证据日期和范围,当前未复测;未补录全部历史,通过 |
| 已关闭问题复发 | 重开原记录,保存旧关闭结果和防护失效原因,通过 |
| 经验过时 / 冲突 | superseded/retired,保留替代与理由;现行规范优先,通过 |
| 无新增经验 / 未验证 | 分别写理由或 candidate,不凑条目,通过 |
未运行产品回归、浏览器、PG 或 PI;本轮验证仅为文档与引用源码阅读。证据摘要未复制业务正文、凭证或个人信息。
状态与交接
创建基线见 frontmatter。创建前主目录 dev 干净,已核对 worktree 列表和机器登记;唯一未恢复 operation 为其他任务 env:dev,与本轮文档写路径无交集,未操作它。本地缓存 origin/dev 比较为 ahead 14 / behind 245;未 fetch,不能表述为实时远端差异。
本轮使用 writing-for-agents 指导条件读取与单一来源;未启动子 Agent。新增文档采用现有 taxonomy。FEATURE-MATRIX 和 gap-matrix 无相关声明变化,不修改。
cleanup 保留任务及候选 worktree,供 owner 退出后独立维护者复查;所有本轮唯一证据保存本任务。文档验证与本地受控集成已完成;远端未请求同步,运行制品不受影响。
本地集成证据
- 实现提交:
ccf515c3b1c0d7fe1a46c5de5f58253fd4e946f7。 - 生效提交:
7bbd7a407f857515005c0324d90339017ea5f3e8,第一父提交为基线2fdb6e548e3784771f27e6a9e79b9c364f76c566。集成前核对 dev 与相关规则均未变化。 - 候选 task/worktree:
integrate-issue-learning-2026-09-23/.worktrees/integrate-issue-learning-2026-09-23,范围同本任务,能力 git:dev。 - 精确候选验证:
agentctl validate --task integrate-issue-learning-2026-09-23 -- python3 /tmp/verify-issue-learning.py 2fdb6e548e3784771f27e6a9e79b9c364f76c566;输出与上文一致;收据5cf25c46-a78f-473a-87a4-8095522e5f32绑定生效提交。 - 集成命令:
agentctl integrate --task integrate-issue-learning-2026-09-23 --expected-dev 2fdb6e548e3784771f27e6a9e79b9c364f76c566返回 merged;收据8999b15f-14be-4081-ab4a-1db267f6ad11。 - 首次候选构造未申请 git:dev 执行租约,CURRENT 的 pre-merge hook 拒绝
DOCUMENT_RECEIPT_REQUIRED,随后 validate 因尚未提交而拒绝 DIRTY_TREE;主目录未改变。核对 hook 的 merge_has_dev_lease 和 MERGE_HEAD 后,仅撤销本任务未提交候选,在 git:dev + git:index 租约下重新构造并通过,未绕过 hooks。该操作失误及恢复在此保留;不另提炼经验,因为已有操作规范与机器门禁覆盖,后续构造须落实登记能力对应的执行租约。 - 当前规范已 active/manual;本轮状态与收据更新另作收口提交,经相同候选流程验证后合入,Git 父链与候选 task 收据保留最终版本。
交付满足文档范围验收,done;cleanup=pending,两处工作区保留,待 owner 退出由独立维护者复查。未执行 fetch/push、环境写操作或产品测试。后续按闭环逐次积累;全量历史迁移、自动检索和 CI 校验不在本轮交付范围。