Files
Agent-System/.doc/ops/short-term/2026-09-23-issue-learning.md
T

7.6 KiB
Raw Blame History

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
AGENTS.md
PROJECT.md
.doc/README.md
.doc/audit/ISSUES.md
.doc/audit/2026-09-23-historical-issue-records.md
.doc/ops/lessons
.doc/ops/2026-09-23-issue-learning-workflow.md
.doc/ops/2026-09-21-policy-registry.md
.doc/ops/templates
.doc/ops/short-term/2026-09-23-issue-learning.md
.doc/ops/CURRENT.md
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 校验不在本轮交付范围。