Files

25 KiB
Raw Permalink Blame History

问题与修复台账

维护规则:问题记录与开发经验闭环。每个问题一个稳定 ID;主记录是事实与状态来源,本表为可检索投影。新发现及时登记,修复后保留记录;发布 blocker 仍见 gap-matrix。

更新:2026-09-28。资料类名词提问被识别成模糊咨询并吃到阶段推销模板(resolved:intent-material 已合入修复与验收报告);阶段推进失败后没有助手消息(open,未修)。docgov 共享 map 并发读写曾在 06:38 UTC 打崩 dev 进程(resolved:dev b9339cd2 重建后 /health 200,空登录 401)。只上传文档、无文字时对话 400 已在重载后的 dev 浏览器复验(resolved,bin/agent-server 10:22 +0800)。历史任务 run 事件流 HTTP/2 与 502 另记,未在本轮修。激活预览前端预检与管理台密钥 form 已在 dev 浏览器复验(resolved,dev 3e534bbb,项目 6023)。非编制人触发小队账本提交被 uow: permission denied 拒绝,已改为编制人代理提交并在 dev 重跑通过(resolved)。test 注册 INTERNAL:标准角色 role-guest 缺失导致 FK 23503,已补种并重启 test(goose 77,resolved)。重复用户名 400 在新代码单测通过;当前 rc 二进制仍返回 INTERNAL,随下次含本提交的 test 制品生效。管理台重置密码入口被 F4-A 误删(端点仍在),已恢复 UI(resolved)。2026-09-27。上传链路:登记并修复上传文档跨端不可访问(占位模板退化 + 元数据/正文不落服务端,fixing 待 dev 集成)。2026-09-26。docgov 批准链:登记并修复 review_snapshot_id 装载缺失与 uow 行锁自死锁(resolved);memDocs 持久化失败缓存投毒(investigating)。历史 resolved 不表示本日产品回归通过。系统 code review P0/P1 批次修复落账(5 resolved + 1 deferred + 1 open,主记录见 整改文档,来源 审计)。

issue_id 模块 / 检索词 问题 严重度 issue_state owner 证据日期 / 范围 唯一主记录 经验
ISSUE-20260928-material-template-reply intent / coordinator / 说明书 / 操作视频 / 掂量 / reply_source=template / fallback_reason 说明书、操作视频、竞品等资料名词未进知识词典,落到模糊咨询后输出阶段推销模板;对话模型失败时没有日志和 fallback 原因 high verifying Cursor 2026-09-28;test 会话 sess-p8-u33;dev 库项目 6024 工作树二进制 reply_source=kb 主记录 LESSON-20260928-material-noun-not-sales-template
ISSUE-20260928-advance-stage-silent-fail coordinator / ADVANCE_STAGE / EXPECTATION_HIT / step_03_regulatory / chat turn failed 用户回复「1」触发阶段推进后,法规步骤失败,回合被标失败且没有助手消息,用户盲等 high open Cursor 2026-09-28;test 会话 sess-p5-u32 turn 22;本轮只登记不修 主记录 未修,不新增经验
ISSUE-20260928-docgov-map-race docgov / memDocs / concurrent map / GetDocument / 登录 500 per-doc 锁拆分后共享 map 无互斥,不同文档并发读写 fatal,进程退出期间全部 API 500 critical resolved Cursor 2026-09-28;fatal + ECONNREFUSED;-race PASS;dev b9339cd2 重启后 /health 200、空登录 401(req_e28309cc8d615ed4)、Vite public-config 200 主记录 LESSON-20260928-docgov-shared-map-race
ISSUE-20260928-quality-heading-drift squad / quality_gate / 缺少必填章节 / State-of-the-Art / H3 调研报告章节在,只因 H3 和少空格被判缺章,受控文档不投影 high resolved Cursor 2026-09-28;dev bd_research_1790578240073269711 project_id 6024,quality passed,doc head_snapshot_id 62 主记录 LESSON-20260928-quality-heading-normalize
ISSUE-20260928-data-dir-doubled workspace / data/dev/data/dev / DataDir 出现双层 data/dev/data/dev/workspaces 且只有孤立 output.md,写入点未证实 medium open — 2026-09-28;intake_1790565513115586191 双路径对照 主记录 本轮不修
ISSUE-20260928-progress-query-trigger intent / matchTriggerTask / QUERY_PROGRESS / 编写进度 询问调研报告编写进度时,写动词加任务名词被识别成启动新任务,进度回复不读真实 run medium verifying Cursor 2026-09-28;「调研报告编写进度怎么样了」单测为 QUERY_PROGRESS;「开始做调研报告」仍为 research。浏览器复验见测试报告 主记录 疑问进度句必须让行查询;显式「开始/重新」仍启动任务
ISSUE-20260928-step-empty-output squad / stepOutputAccepted / output_digest / e3b0c442 / MaterializeTargets 步骤已把正文写到 output.md,判定仍因 runner Success=false 或空 patch 记空输出失败 high verifying Cursor 2026-09-28;11:27 research_1790566028724181453 的 06_draft 盘上 41KB 但 digest 为空;单测覆盖缺交付物但盘上有正文,以及连接错误仍失败关闭 主记录 传输/可重试失败留下的文件可能是截断的,不能当成功;缺交付物且盘上非空才接受
ISSUE-20260928-task-write-verb intent / hasTaskWriteVerb / 帮我定 / 制定 / AMBIGUOUS_FALLBACK 「帮我定/制定」设计开发计划任务书未进入任务触发,对话只有掂量阶段模板 medium resolved Cursor 2026-09-28;test sess-p8-u33 msg 89/90;意图单测 主记录 LESSON-20260928-task-write-verb-visible-refusal
ISSUE-20260928-workflow-scope-reply coordinator / ClarificationQuestion / ErrPrerequisiteNotMet / rd_design_plan 跨工作流澄清与研发前置未满足时,原因没有进入对话 medium resolved Cursor 2026-09-28;协调器单测。test 原例停在动词未命中,未走到本分支 主记录 LESSON-20260928-task-write-verb-visible-refusal
ISSUE-20260928-quality-failed-success-copy bizdev / quality_failed / 正文已保存至 / output.md 质量未通过仍声称正文已保存,并写出工作区绝对路径 medium resolved Cursor 2026-09-28;test cdo_quote_1790560155851280170;同步回复单测 主记录 LESSON-20260928-task-write-verb-visible-refusal
ISSUE-20260928-pi-runner-data-dir agent / PI runner / DATA_DIR / MISSING_TARGET / 18866 test 启动时根 .env 的 dev runner 地址盖过本环境 sidecar,工作区被重写到空目录 high resolved Cursor 2026-09-28;dev 4f581306。当时 test 二进制仍是修复前制品 验收报告 —
ISSUE-20260928-material-chunk-embed knowledge / chunk index failed / 8192 / 34635 tokens 材料分块批超过嵌入模型上下文,索引失败 medium open — 2026-09-28;test 日志 project 8,文件 W020251117353305579317.docx 主记录 本轮不修
ISSUE-20260928-attachment-only-turn chat / chat/stream / message cannot be empty / HTTP_400 / attachments 只上传文档、不输入文字时 turn 被空消息 400 拒绝,前端不读信封,用户看不到任何回复 high resolved Cursor 2026-09-28;dev :8080 重载后浏览器仅附件得到梳理审阅,无关文字先回答再追问;pending 分支 API 200 主记录 空消息门禁要放在附件判定之后;4xx 必须读信封。见测试报告
ISSUE-20260928-task-run-replay-502 web / useRecoveredTaskPhases / tasks/runs / ERR_HTTP2_PROTOCOL_ERROR / 502 历史失败气泡恢复订阅 task run 事件时出现 HTTP/2 协议错误和 502,与附件空消息 400 无因果关系 medium verifying Cursor 2026-09-28;终态重放改为最多 4 次退避,401/404 立即停止;进行中订阅外层只再补 1 次,避免和内部 40 次重试相乘。尚未在真实 502 上复验 主记录 重放失败要可重试;鉴权与不存在不要空转
ISSUE-20260928-activation-preview-precheck web / projectSettings / activation-preview / NO_GOVERNED_DOCUMENT / clientDutyIssues 全部文档未纳入人工审批时前端仍 POST activation-preview,控制台 400 medium resolved Cursor 2026-09-28;dev 项目 6023 默认计划无 activation-preview 请求,兼任后 preview 200 主记录 LESSON-20260928-activation-preview-client-gate
ISSUE-20260928-admin-secret-password-form web / EnvSettingsSection / password / form / secrets 管理台 5 个密钥输入不在 form 内,Chromium 报 password DOM 警告 low resolved Cursor 2026-09-28;dev 模型与密钥页 passwordInputs=5 outsideForm=0 主记录 密码框放进 form;autocomplete 不能单独消除该 DOM 警告
ISSUE-20260928-squad-commit-authority bizdev / docflow / dutyAuthorizer / uow permission denied / OnBehalfOf / bd_intake 非编制人触发受控小队任务时,账本提交用触发者身份,被编制人职责门拒绝,正文无法落盘 high resolved Cursor 2026-09-28;dev b1ed8ecf 重跑 run_1790559088975684237 completed,commit actor 4,snapshot actor 74 主记录 LESSON-20260928-squad-commit-as-author
ISSUE-20260928-admin-reset-ui-removed web / UsersSection / 重置密码 / F4-A / adminResetPassword F4-A 在 F4-B 端点已合入的基线上删除管理台重置密码按钮,管理员无法重置口令 high resolved Cursor 2026-09-28;dev API :8080 + worktree Vite :3110 真实 UI 探针 PASS(临时口令长度 16、强制改密仅一次、旧口令 401) 主记录 LESSON-20260928-ui-dead-control
ISSUE-20260927-upload-doc-cross-device freedoc / upload / freeform / fileMeta / 占位模板 / 跨端 上传文档源文件元数据与正文不落服务端:换浏览器/清存储/共享他人查看时退化为注册占位模板,文本类连二进制都未存(伴生 <512B 显示 "0 KB") high resolved pi 2026-09-27;dev 86efba2c 合入并在 dev 环境验证:FS-UPLOAD-01/02 真实浏览器 PASS(跨上下文可见真实正文),DB 核验元数据+asset 落库;存量无元数据旧文档不可恢复(重新上传即可) 主记录 LESSON-20260927-server-facts-and-iso-db-recipe
ISSUE-20260923-nullable-duty docgov / nullable / 23503 / reviewer_id 可选职责空值写 0 导致 FK 失败 high resolved Codex(历史补录) 2026-09-17;历史 PG / API 冒烟;当前未复测 主记录 LESSON-20260923-nullable-duty
ISSUE-20260923-content-hash docrevision / canonicalize / hard-break / 404 规范化破坏 Markdown 语义并造成正文哈希漂移 critical resolved Codex(历史补录) 2026-09-14;历史真实 UI / 重启;当前未复测 主记录 LESSON-20260923-content-hash
ISSUE-20260923-coordination-authority agentctl / claim / SQLite / CAS / CURRENT / FEATURE-MATRIX 本地副本 CAS 与任务许可不能表达跨主机全局权威认领 high investigating Codex(研究) 2026-09-23;源码/只读状态,未复现具体丢写 主记录 沿用 content-hash 投影经验;跨机结论待实施验证
ISSUE-20260923-matrix-status-regression FEATURE-MATRIX / module-batches-ag / merge / docs-apply 矩阵行 done 被 closeout 合并冲突手解回退为 planned high resolved Cursor 2026-09-23;本机 tip 与 git 考古;docs apply 已恢复 主记录 LESSON-20260923-matrix-status-cas
ISSUE-20260924-admin-reset-dead auth / adminResetPassword / T20-F4 / chenwei 管理台重置密码死按钮;验收口令不可知后无法恢复 high resolved Cursor 2026-09-24;test 库实查 + API 单测 主记录 待补 LESSON
ISSUE-20260924-login-error-envelope auth / AUTHZ / 无权访问 / auth.ts 登录失败展示裸 JSON / 「无权访问」误导 medium resolved Cursor 2026-09-24;wire 复现 + 前端单测 主记录 待补 LESSON
ISSUE-20260924-zombie-credentials auth / user_credentials / LEFT JOIN / CreateUser 空哈希静默建号导致永久无法登录 high resolved Cursor 2026-09-24;三环境只读盘点;机制修复不含存量清理 主记录 待补 LESSON
ISSUE-20260924-cursor-test-rule-drift Cursor / test-reports / 固定模型 / 规则副本 Cursor 测试规则与验证契约存在固定模型及范围冲突 medium verifying Cursor 2026-09-24;规则文本已缩为验证契约指针;客户端实际读取行为待实机 主记录 LESSON-20260924-cursor-hook-advisory-gates
ISSUE-20260924-pi-executor-boundaries PI executor / 路径规范化 / MCP / 子进程 / 幂等 未发布初版只读边界与执行可靠性缺陷 high resolved Cursor/Codex 2026-09-24;173 工程回归与真实 Cursor CLI/MCP/PI 主记录 工具路径与输入隔离
ISSUE-20260924-cursor-cli-mcp-path Cursor CLI / MCP / workspaceFolder / NDJSON agentctl/jev MCP 加载失败(路径 + Content-Length 回包) medium verifying Cursor 2026-09-24;相对路径+NDJSON 已修;待 IDE 重载后 list-tools 实机 主记录 LESSON-20260924-cursor-hook-advisory-gates
ISSUE-20260924-cursor-hook-event-contract Cursor / hooks / beforeMCPExecution / probe hook 事件 stdin 字段名与 matcher 官方未文档化 medium verifying Cursor 2026-09-24;IDE postToolUse tool_name=MCP:pi_subagent_roles 已采样;beforeMCP 全量 stdin 仍缺 主记录 LESSON-20260924-cursor-hook-advisory-gates
ISSUE-20260924-non-author-400-duty iam-authz / docgov / duty / 400 / 非编制 权限不足误报 400;run/edit 与编制职责绑死导致成员无法上传总结写草稿 high resolved Cursor 2026-09-24;真实 PI TestNonAuthorMember_PiAgent_RunEditSubmitGates PASS 主记录 LESSON-20260924-deny-only-submit
ISSUE-20260926-docgov-snapshot-load docgov / loadDocumentFromDBLocked / review_snapshot_id / 跨重启批准 文档装载 SELECT 漏 review_snapshot_id,重启/缓存未命中后最终批准必失败 high resolved pi 2026-09-26;隔离库 PG 回归 + dev 真实批准 200/state=approved(dev 121b33f8) 主记录 待补 LESSON
ISSUE-20260926-docgov-uow-deadlock docgov / persistApproveAndFAV / uow / FOR UPDATE / 57014 docflow uow 行锁后 FAV 持久化自开第二连接更新同行,语句超时致死锁,所有最终批准失败 critical resolved pi 2026-09-26;生产形状 PG 回归(FOR UPDATE+FAV+Within)+ dev 真实批准转 200(dev 5d5cd5fd) 主记录 待补 LESSON
ISSUE-20260926-docgov-memdocs-poison docgov / memDocs / 状态机 / 持久化失败 / 缓存投毒 状态机先改内存后落库;持久化失败不复原,memDocs 缓存与 DB 永久分叉并掩盖真实错误(表现为「approved 状态」误报) high investigating pi 2026-09-26;dev 两次复现(快照/死锁两根因均被投毒掩盖);修复方向:失败时回滚内存快照或失效缓存条目 主记录 待补 LESSON
ISSUE-20260926-ctx-idor ctxmgr / GetUserContext / session_id / IDOR / handlers_context GetUserContext 按 session_id 取消息无归属校验,登录用户可读他人会话正文(已证实) critical resolved pi 2026-09-26;handler 403 + SQL/内存双防线;内存 HTTP 与隔离 PG 回归 PASS 主记录 LESSON-20260926-failclosed-bypass-contract
ISSUE-20260926-archcheck-untracked archtest / table_owners / untracked / sql_write / 门禁盲区 arch-check 对未登记表 SQL 写静默跳过,含 swboot_controlled_executions 等 ~50 表;门禁形同关闭 critical resolved pi 2026-09-26;未登记表 fail-closed + 补登 50 表 + 噪音豁免清单;arch-check block PASS 主记录 LESSON-20260926-failclosed-bypass-contract
ISSUE-20260926-authz-failopen authz / IsProjectMember / pool==nil / fail-open / NewInMemoryAuthorizer Authorizer 无池时 IsProjectMember/IsProjectOwner 对任意登录用户返回 true,误配即全量放行 high resolved pi 2026-09-26;无池严格拒绝 + 显式内存授权接缝 + 组合根按 AllowInMemory 选择;隔离 PG authz 套件 PASS 主记录 LESSON-20260926-failclosed-bypass-contract
ISSUE-20260926-swboot-shell-prefix swboot / executor / sh -c / 命令注入 / 前缀白名单 / commandAllowed 受控命令经 sh -c 执行且白名单前缀匹配(go 放行 go-evil);元字符可求值 high resolved pi 2026-09-26;argv 化 + basename 精确匹配;前缀伪装/不求值回归 PASS 主记录 LESSON-20260926-failclosed-bypass-contract
ISSUE-20260926-intentflow-validated-confirm intentflow / DecisionConfirm / PlanProposed / validated_only / ExecuteClaimed validated_only(shadow)计划可经 Confirm 进入 executing 并真实执行;执行器不读 ExecutionMode high resolved pi 2026-09-26;Confirm 拒 + 执行器硬拒双层 + 错误码/HTTP 映射;确认/派发双回归 PASS 主记录 LESSON-20260926-failclosed-bypass-contract
ISSUE-20260926-dual-flags-drift intent / intentflow / FeatureFlags / PlanTier / MULTI_INTENT_ENABLED / 静默漂移 双套 flags 可配置出「intentflow 升档但 intent 关闭」的矛盾组合并静默降级 high resolved pi 2026-09-26;组合根经 intentflow.ValidateFlagConsistency 启动期 fail-fast + 单测;入口收敛残差另立 deferred 主记录 LESSON-20260926-failclosed-bypass-contract
ISSUE-20260926-governance-multi-entry docgov / 多意图 / 多入口 / Coordinator / OwnerMux / GovernanceEngine docgov 三入口 + Coordinator ~40 case 与 intentflow OwnerMux 平行,鉴权/确认/审计易漂移 high deferred pi 2026-09-26;flag 漂移面已修(dual-flags-drift);入口合并是多日级重构,需独立任务授权与回归矩阵 主记录 沿用 failclosed-bypass-contract
ISSUE-20260926-server-pool-wiring server / swboot_handlers / Runtime.Pool / 组合根越界 / FIND-ARCH-02 server 持 Pool 直装 swboot repo/executor 并直查表,成为第二组合根(本轮未授权修复) critical open pi 2026-09-26;代码审证据齐(审计 FIND-ARCH-02),待修复授权 主记录 待修复后补
ISSUE-20260927-demo-fallback web / App.tsx / sess-001 / projectId fallback / demo seeds 关闭 demo seeds 关闭模式下前端硬编码 fallback(激活 sess-001、项目 1)对真实后端发假请求,新登录用户首屏 9 个 404/403(chat 窗口被迫回退本地缓存) medium resolved pi 2026-09-27;dev 真实浏览器修复前后对照(author+member 双账号:9 假请求→0) 主记录 经验小结(独立 lesson 待后续任务补登)
ISSUE-20260927-active-session-residue web / storage.ts / loadActiveSessionId / localStorage 残留 / sess-001 / demo-seed-purge 写回窗口 旧前端把 demo fallback 值写回 localStorage active_session;一次性 purge 已执行不再清,读取侧无 legacy 校验,老浏览器 + 无可见会话账号首屏 4×chat 404(ISSUE-20260927-demo-fallback 修复残留路径) medium resolved pi 2026-09-27;dev 主入口 :3100 复验 admin+残留 sess-001:phantom=0/4xx5xx=0,key 被清除(dev 36c5fb54) 主记录 经验小结