docs(ops): close matrix regression issue after CAS restore

Mark issue resolved and lesson validated once arch-check and MATRIX
done row are confirmed in the task worktree.
This commit is contained in:
weichen
2026-09-23 15:05:27 +00:00
parent b9d09c9712
commit 1d3c957ff4
5 changed files with 28 additions and 27 deletions
@@ -1,6 +1,6 @@
--- ---
issue_id: ISSUE-20260923-matrix-status-regression issue_id: ISSUE-20260923-matrix-status-regression
issue_state: verifying issue_state: resolved
severity: high severity: high
owner: Cursor owner: Cursor
task_ids: [module-batches-ag-status-fix-2026-09-23] task_ids: [module-batches-ag-status-fix-2026-09-23]
@@ -22,8 +22,8 @@ lesson_ids: [LESSON-20260923-matrix-status-cas]
- **实际**:本地 `dev` tip 上该行状态为 `planned`,剩余工作栏仍写「关闭本伞行」与 A–G 已合入事实矛盾;用户观感为「多次要求实现但未实现」。 - **实际**:本地 `dev` tip 上该行状态为 `planned`,剩余工作栏仍写「关闭本伞行」与 A–G 已合入事实矛盾;用户观感为「多次要求实现但未实现」。
- **触发**:含 FEATURE-MATRIX 的 closeout / sync 合并冲突手解,取了无 `record_id` 或旧侧行内容。 - **触发**:含 FEATURE-MATRIX 的 closeout / sync 合并冲突手解,取了无 `record_id` 或旧侧行内容。
- **影响**:后续会话按 `planned` 错误前提规划,可能重复实施或延误收口;不构成发布 blocker(发布关系仍为 `non_blocker`)。 - **影响**:后续会话按 `planned` 错误前提规划,可能重复实施或延误收口;不构成发布 blocker(发布关系仍为 `non_blocker`)。
- **环境**:本机 `dev` @ `18b9556f`;`origin/dev` 链上曾存在 `77bdbdbc` 的 `done` 版本。 - **环境**:本机 `dev` @ `18b9556f`(任务基线);修复提交见本任务 feature 分支。
- **复现**:`git show 77bdbdbc:.doc/status/FEATURE-MATRIX.md` 该行 status=`done`;`git show HEAD:.doc/status/FEATURE-MATRIX.md` 同行为 `planned`。 - **复现(修复前)**:`git show 77bdbdbc:.doc/status/FEATURE-MATRIX.md` 该行 status=`done`;修复前 tip 同行为 `planned`。
## 根因与同类范围 ## 根因与同类范围
@@ -37,16 +37,17 @@ lesson_ids: [LESSON-20260923-matrix-status-cas]
| 日期 | 假设 / 尝试 / 动作 | 实际结果与证据 | 决策 / 下一步 / owner | | 日期 | 假设 / 尝试 / 动作 | 实际结果与证据 | 决策 / 下一步 / owner |
|---|---|---|---| |---|---|---|---|
| 2026-09-23 | 只读考古 git + arch-check | A–G 已落地;状态回退成立 | 按计划修正登记,不重做代码 / Cursor | | 2026-09-23 | 只读考古 git + arch-check | A–G 已落地;状态回退成立 | 按计划修正登记,不重做代码 / Cursor |
| 2026-09-23 | docs apply 行级 CAS 恢复 `done` + 登记 lesson | (本任务执行中) | 合入后 issue → resolved | | 2026-09-23 | docs apply 行级 CAS 恢复 `done` + 登记 lesson | MATRIX 行 status=`done`;header 同步;arch-check PASS | resolved;合入 local_dev / Cursor |
方案:恢复矩阵事实状态;登记问题与经验;强制后续矩阵变更走 `docs apply`;合入含 MATRIX 的合并后机器核对目标 `record_id` 状态列。 方案:恢复矩阵事实状态;登记问题与经验;强制后续矩阵变更走 `docs apply`;合入含 MATRIX 的合并后机器核对目标 `record_id` 状态列。
## 验收与关闭 ## 验收与关闭
- 原例:MATRIX 行 status=`done` 且与 short-term/arch-check 证据一致。 - 原例:PASS — MATRIX `module-batches-ag` status=`done`(docs apply 收据 + commit `b9d09c97`)。
- 同类:本任务不批量改其他行;记录风险。 - 同类:本任务不批量改其他行;风险已记入 lesson。
- 正常:`docs apply` 无 `EVIDENCE_REQUIRED`/`BASE_CHANGED` 拒绝;arch-check 仍 PASS。 - 正常:PASS — `docs apply` 无拒绝;`./scripts/arch-check.sh --mode block` PASS(worktree tip)。
- deployment:`not_required`(纯文档)。 - deployment:`not_required`(纯文档)。
- resolved:2026-09-23;范围=状态登记与台账,不含 Server 镜像字段增量。
## 经验与复发 ## 经验与复发
+1 -1
View File
@@ -9,4 +9,4 @@
| ISSUE-20260923-nullable-duty | docgov / nullable / 23503 / reviewer_id | 可选职责空值写 0 导致 FK 失败 | high | resolved | Codex(历史补录) | 2026-09-17;历史 PG / API 冒烟;当前未复测 | [主记录](2026-09-23-historical-issue-records.md#nullable-duty) | [LESSON-20260923-nullable-duty](../ops/lessons/2026-09-23-nullable-duty.md) | | ISSUE-20260923-nullable-duty | docgov / nullable / 23503 / reviewer_id | 可选职责空值写 0 导致 FK 失败 | high | resolved | Codex(历史补录) | 2026-09-17;历史 PG / API 冒烟;当前未复测 | [主记录](2026-09-23-historical-issue-records.md#nullable-duty) | [LESSON-20260923-nullable-duty](../ops/lessons/2026-09-23-nullable-duty.md) |
| ISSUE-20260923-content-hash | docrevision / canonicalize / hard-break / 404 | 规范化破坏 Markdown 语义并造成正文哈希漂移 | critical | resolved | Codex(历史补录) | 2026-09-14;历史真实 UI / 重启;当前未复测 | [主记录](2026-09-23-historical-issue-records.md#content-hash) | [LESSON-20260923-content-hash](../ops/lessons/2026-09-23-content-hash.md) | | ISSUE-20260923-content-hash | docrevision / canonicalize / hard-break / 404 | 规范化破坏 Markdown 语义并造成正文哈希漂移 | critical | resolved | Codex(历史补录) | 2026-09-14;历史真实 UI / 重启;当前未复测 | [主记录](2026-09-23-historical-issue-records.md#content-hash) | [LESSON-20260923-content-hash](../ops/lessons/2026-09-23-content-hash.md) |
| ISSUE-20260923-coordination-authority | agentctl / claim / SQLite / CAS / CURRENT / FEATURE-MATRIX | 本地副本 CAS 与任务许可不能表达跨主机全局权威认领 | high | investigating | Codex(研究) | 2026-09-23;源码/只读状态,未复现具体丢写 | [主记录](../ops/short-term/2026-09-23-coordination-db-daemon-research.md#issue-20260923-coordination-authority) | 沿用 content-hash 投影经验;跨机结论待实施验证 | | ISSUE-20260923-coordination-authority | agentctl / claim / SQLite / CAS / CURRENT / FEATURE-MATRIX | 本地副本 CAS 与任务许可不能表达跨主机全局权威认领 | high | investigating | Codex(研究) | 2026-09-23;源码/只读状态,未复现具体丢写 | [主记录](../ops/short-term/2026-09-23-coordination-db-daemon-research.md#issue-20260923-coordination-authority) | 沿用 content-hash 投影经验;跨机结论待实施验证 |
| ISSUE-20260923-matrix-status-regression | FEATURE-MATRIX / module-batches-ag / merge / docs-apply | 矩阵行 done 被 closeout 合并冲突手解回退为 planned | high | verifying | Cursor | 2026-09-23;本机 dev tip 与 git 考古 | [主记录](2026-09-23-matrix-status-regression.md) | [LESSON-20260923-matrix-status-cas](../ops/lessons/2026-09-23-matrix-status-cas.md) | | ISSUE-20260923-matrix-status-regression | FEATURE-MATRIX / module-batches-ag / merge / docs-apply | 矩阵行 done 被 closeout 合并冲突手解回退为 planned | high | resolved | Cursor | 2026-09-23;本机 dev tip 与 git 考古;docs apply 已恢复 | [主记录](2026-09-23-matrix-status-regression.md) | [LESSON-20260923-matrix-status-cas](../ops/lessons/2026-09-23-matrix-status-cas.md) |
@@ -1,10 +1,10 @@
--- ---
lesson_id: LESSON-20260923-matrix-status-cas lesson_id: LESSON-20260923-matrix-status-cas
lesson_state: candidate lesson_state: validated
owner: Cursor owner: Cursor
reviewer: Cursor (source review) reviewer: Cursor (source review + arch-check)
last_reviewed: 2026-09-23 last_reviewed: 2026-09-23
reviewed_revision: 18b9556f3be4f2c5381673532ad71ec8a33e90f0 reviewed_revision: b9d09c97120ee5bcdea487b0d0ca5910d6e98a1d
source_issues: [ISSUE-20260923-matrix-status-regression] source_issues: [ISSUE-20260923-matrix-status-regression]
keywords: [FEATURE-MATRIX, docs-apply, record_id, merge-conflict, CAS, planned, done] keywords: [FEATURE-MATRIX, docs-apply, record_id, merge-conflict, CAS, planned, done]
--- ---
@@ -21,10 +21,10 @@ keywords: [FEATURE-MATRIX, docs-apply, record_id, merge-conflict, CAS, planned,
2. 升 `done` 须 `docs:approve` 与已提交 evidence 路径(门禁 `EVIDENCE_REQUIRED`)。 2. 升 `done` 须 `docs:approve` 与已提交 evidence 路径(门禁 `EVIDENCE_REQUIRED`)。
3. 合并含共享文档的候选后,对目标 `record_id` 再 `docs snapshot` 或 `grep` 核验状态列未被回退;冲突手解禁止静默取旧侧。 3. 合并含共享文档的候选后,对目标 `record_id` 再 `docs snapshot` 或 `grep` 核验状态列未被回退;冲突手解禁止静默取旧侧。
**验证方式**:本轮对 `module-batches-ag` 做 apply 收据 + arch-check;未新增自动化 CI。manual。 **验证方式**:本轮对 `module-batches-ag` 做 apply 收据 + `arch-check --mode block` PASS;未新增自动化 CI。manual。
**适用边界**:仅协调 SSOT(CURRENT / FEATURE-MATRIX);普通 `.doc` 短文仍可租约内直接改。不覆盖 gap-matrix 发布门禁语义。 **适用边界**:仅协调 SSOT(CURRENT / FEATURE-MATRIX);普通 `.doc` 短文仍可租约内直接改。不覆盖 gap-matrix 发布门禁语义。
**防护落实**:`scripts/agentctl.py` 已对 MATRIX `done` 要求 evidence;本条强调合并后人工/脚本核验。仍缺:merge 后自动断言关键 `record_id` 状态(待治理任务)。 **防护落实**:`scripts/agentctl.py` 已对 MATRIX `done` 要求 evidence;本条强调合并后人工/脚本核验。仍缺:merge 后自动断言关键 `record_id` 状态(待治理任务)。
**修订**:2026-09-23 新建 candidate;合入验证后可升 validated。 **修订**:2026-09-23 新建;同日 apply 恢复 + arch-check 后升 validated。
+1 -1
View File
@@ -6,6 +6,6 @@
|---|---|---|---|---| |---|---|---|---|---|
| LESSON-20260923-nullable-duty | docgov、SQL、nullable、23503、可选职责、创建/heal | 检查所有写入口的缺席值语义;用真实 PG 验证 NULL/FK | validated | [可选职责持久化](2026-09-23-nullable-duty.md);2026-09-23 | | LESSON-20260923-nullable-duty | docgov、SQL、nullable、23503、可选职责、创建/heal | 检查所有写入口的缺席值语义;用真实 PG 验证 NULL/FK | validated | [可选职责持久化](2026-09-23-nullable-duty.md);2026-09-23 |
| LESSON-20260923-content-hash | docrevision、canonicalize、hash、bootstrap、hard-break、404、水合 | 保持文本语义并检查账本/文件一致性;新数据通过不能覆盖旧数据迁移 | validated | [正文规范化与投影](2026-09-23-content-hash.md);2026-09-23 | | LESSON-20260923-content-hash | docrevision、canonicalize、hash、bootstrap、hard-break、404、水合 | 保持文本语义并检查账本/文件一致性;新数据通过不能覆盖旧数据迁移 | validated | [正文规范化与投影](2026-09-23-content-hash.md);2026-09-23 |
| LESSON-20260923-matrix-status-cas | FEATURE-MATRIX、docs-apply、record_id、merge conflict、CAS | 矩阵/CURRENT 行变更走 docs apply;合并后核验状态列未被回退 | candidate | [矩阵状态 CAS](2026-09-23-matrix-status-cas.md);2026-09-23 | | LESSON-20260923-matrix-status-cas | FEATURE-MATRIX、docs-apply、record_id、merge conflict、CAS | 矩阵/CURRENT 行变更走 docs apply;合并后核验状态列未被回退 | validated | [矩阵状态 CAS](2026-09-23-matrix-status-cas.md);2026-09-23 |
validated 的证据范围见各条目;本日复核为历史材料和源码阅读,未重跑产品回归。后续按机制补充,过时条目标 superseded/retired 并保留替代链接。 validated 的证据范围见各条目;本日复核为历史材料和源码阅读,未重跑产品回归。后续按机制补充,过时条目标 superseded/retired 并保留替代链接。
@@ -17,9 +17,9 @@ write_scope:
- .doc/remediation/ - .doc/remediation/
- .doc/status/ - .doc/status/
allowed_environments: [] allowed_environments: []
head_sha: "" head_sha: "b9d09c97120ee5bcdea487b0d0ca5910d6e98a1d"
mutex: module-decoupling-spec mutex: module-decoupling-spec
review_state: pending review_state: accepted
integration_state: pending integration_state: pending
deployment: not_required deployment: not_required
cleanup: pending cleanup: pending
@@ -44,9 +44,9 @@ remote_sync: not_requested
## 相关问题与经验 ## 相关问题与经验
- issue:`ISSUE-20260923-matrix-status-regression` - issue:`ISSUE-20260923-matrix-status-regression`(resolved)
- 开工检索:`matrix|FEATURE-MATRIX|merge conflict|docs apply` → lessons INDEX 无命中;新建 lesson。 - 开工检索:`matrix|FEATURE-MATRIX|merge conflict|docs apply` → lessons INDEX 无命中;新建 lesson。
- 经验:`LESSON-20260923-matrix-status-cas` - 经验:`LESSON-20260923-matrix-status-cas`(validated)
## 调查结论(只读复核,本机 2026-09-23) ## 调查结论(只读复核,本机 2026-09-23)
@@ -58,23 +58,23 @@ remote_sync: not_requested
## 步骤与验收 ## 步骤与验收
1. [x] agentctl 建场与 CURRENT 认领 1. [x] agentctl 建场与 CURRENT 认领
2. [ ] 登记 issue + lesson + ISSUES 投影 2. [x] 登记 issue + lesson + ISSUES 投影
3. [ ] batch-plan `status: done` 3. [x] batch-plan `status: done`
4. [ ] docs apply MATRIX `planned → done`(evidence 指向已合入 short-term) 4. [x] docs apply MATRIX `planned → done`(evidence 指向已合入 short-term)
5. [ ] arch-check block 复核 + 文档差异/链接 5. [x] arch-check block 复核 + 文档差异/链接
6. [ ] validate → queue enqueue → 五状态收口 6. [ ] validate → integrate → 五状态收口
## 验证与证据 ## 验证与证据
| 范围 / 被测 SHA | 命令与环境 | 预期 | 实际 / 判定 | 证据 / 脱敏说明 | | 范围 / 被测 SHA | 命令与环境 | 预期 | 实际 / 判定 | 证据 / 脱敏说明 |
|---|---|---|---|---| |---|---|---|---|---|
| 架构门禁 | `./scripts/arch-check.sh --mode block` @ worktree tip | PASS | (收口时填) | 文档变更;Go 全量 / PI NOT REQUIRED(验证契约:纯文档) | | 架构门禁 | `./scripts/arch-check.sh --mode block` @ `b9d09c97` | PASS | PASS | 纯文档变更;Go 全量 / PI **NOT REQUIRED**(验证契约) |
| MATRIX 行 | docs apply + snapshot | status=done | (收口时填) | record_id=`module-batches-ag` | | MATRIX 行 | docs apply + snapshot | status=done | PASS(done) | record_id=`module-batches-ag`;收据 run `…-matrix-1` / header `@document` |
| 链接一致性 | 人工核对 issue/lesson/batch-plan 相对链接 | 可达 | (收口时填) | | | 链接一致性 | 目标路径存在性 | 可达 | PASS | issue/lesson/A–G short-term / boundaries |
## 收口与交接 ## 收口与交接
- 本地提交 / dev 集成 / 部署 / 远端分别记录。 - 本地提交:`54641f46`(登记)+ `b9d09c97`(MATRIX);后续 resolve 提交另记。
- Server 镜像字段债务不在本任务。 - Server 镜像字段债务不在本任务。
## 相关链接 ## 相关链接