Skip to content

docs(contributing): mark GH-C07 landed and point at its regression - #5113

Merged
huangruiteng merged 1 commit into
loopx-project:mainfrom
kokokoXUY:codex/contributor-tasks-gh-c07-landed
Sep 26, 2026
Merged

huangruiteng merged 1 commit into
loopx-project:mainfrom
kokokoXUY:codex/contributor-tasks-gh-c07-landed

Conversation

@kokokoXUY

Copy link
Copy Markdown
Contributor

Goal And Delivered Outcome

Scope And Continuation

  • Completed scope and remaining work: the GH-C07 row now reads Landed: #4048 (merged 2026-09-07), names tests/test_todo_write_serialization.py and the shared legacy writer fence it drives, keeps the global-registry coverage reference, and replaces the validation cell with the command that actually proves the dimension.
  • Slice boundary / successor: complete within this scope.

Validation

  • Tested revision: 84179d12b7ba01739358d609e51fd6b54c2a880a
  • Run state: finished
  • Input classes: none
Check kind Result Public-safe evidence / limitation
unit passed pytest -q tests/test_todo_write_serialization.py tests/test_global_registry_write_serialization.py → 8 passed, 1 skipped. That is the command the row now cites.
static passed loopx check --scan-path docs/development/contributor-tasks.md → errors=0 with a clean public boundary scan. The two warnings are a missing local registry file on this host and are identical before and after the change.
  • Coverage and gaps: a public documentation row only; no runtime path is touched. I confirmed the shipped regression exists and passes on current main before claiming the landing, rather than trusting the issue text — that text still says add_goal_todo and update_goal_todo "now both hold exclusive_file_lock", which no longer describes where the lock lives, so the row names the legacy writer fence instead of the helper.

Frontend / Visual Evidence

Not applicable: contributor documentation only.

The state entry still asked for a concurrent Todo add/update regression over
the per-Goal lock, but loopx-project#4048 (merged 2026-09-07) shipped exactly that:
`tests/test_todo_write_serialization.py` drives the real `add_goal_todo` and
`update_goal_todo` writers against one state file through the shared legacy
writer fence, and the global registry keeps its own serialization coverage.

An entry that still reads as available costs contributors time: this slice was
investigated as open work before the shipped regression was found. Record the
landing and name the command that proves it.

Validation: `pytest -q tests/test_todo_write_serialization.py
tests/test_global_registry_write_serialization.py` -> 8 passed, 1 skipped;
`loopx check --scan-path docs/development/contributor-tasks.md` -> errors=0
with a clean public boundary scan.

Refs loopx-project#3893.

Signed-off-by: kokokoXUY <13682395396@163.com>
@kokokoXUY

Copy link
Copy Markdown
Contributor Author

Queue note: #5080 (docs(contributor-board): admit tasks only with a roadmap, RFC, or adoption evidence) rewrites this file (+101 −141) and restructures the rows this PR
edits. The substantive staleness this PR fixes is not in #5080's diff — its GH-C02 row
still reads Claimed: PR #4436 for a pull request that merged on 2026-09-15 — but the two
will conflict textually. If #5080 lands first I will re-apply this change onto the new board
rather than ask anyone to resolve it.

@huangruiteng huangruiteng left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

APPROVE:未发现阻塞问题。已独立核对完整差异、合并事实和真实调用链,并在精确 head 84179d12b7ba01739358d609e51fd6b54c2a880a 运行本地验证;本次不执行合并。

动机

GH-C07 旧行仍邀请贡献者增加并发 Todo add/update 回归,但 #4048 已于 2026-09-07 合并。我核对了 GitHub 合并记录、该合并提交在当前主干中的祖先关系,以及主干仍保留的测试和调用边界。因此这不是用“已合并”替代验收,而是消除会诱导重复实现的过期任务描述。本 PR 完成的是这一个公共任务行的纠偏,不宣称整个状态存储或并发体系已完成。

改动思路

沿用现有贡献任务板,把历史落地事实和可重跑证据放回原 GH-C07 行,不新增任务身份或第二份运行时权威。测试调用真实 add_goal_todo / update_goal_todo;当前 legacy_todo_write_transaction 在读取和写回期间持有 per-Goal 协调锁与状态文件锁。刷新、bootstrap、反馈、事件写入等相邻调用点也已核对其持锁边界或明确的调用者锁契约。

正向路径是:贡献者阅读任务行 → 找到合并记录和所属回归 → 用兼容的 checkout 环境验证 → 不再重复领取已交付维度。并发测试里的锁被替换为确定性线程锁;它证明真实 mutation 的持锁次序及最终双写保留,不单独证明所有 OS / provider 的锁实现。

具体改动

关键内容讲解

  • docs/development/contributor-tasks.md:165:从仍可领取的“增加并发回归”改为 Landed: #4048,说明其实际交付是已有 add/update 回归,而不是声称本 PR 修改了生产锁实现。
  • 同一行保留全局 registry 的独立覆盖,并将验证入口替换为两份所属测试;核对了 atomic_write_state_text 的 sibling-lock 契约及调用边界,避免把原子替换错误等同于 read-modify-write 串行化。
  • 完整差异只有一个文档行,+1/-1;没有运行时代码、schema、CLI、自动安装的 Agent 指令或权限变更,也没有改变公共首屏。

对主干的风险

本地在该 head 的 Python 3.13 checkout 环境执行:

  • uv run --extra test python -m pytest -q -rs tests/test_todo_write_serialization.py tests/test_global_registry_write_serialization.py:9 passed,含并发双方结果保留、全局锁内读写和真实子进程覆盖。
  • uv run --extra test python examples/docs-governance-smoke.py:通过。
  • CI 路径分类器确认 core_tests=false;分类器自身 7 项测试、DCO trailer 核对和 git diff --check 均通过。
  • 文档 public-boundary scan:1 文件 clean、errors=0。空合成 runtime 的未初始化提示不是文档问题。按当前 review 配置未查询或等待远端 CI。

剩余风险主要是文档集成:#5114 携带完全相同的 GH-C07 行;#5080 在 006d9edcd4fab829722476933011accdb7131bd6 重排任务板时,仍将 GH-C07 写为缺少 per-goal 保护及回归。后者若随后合并,应保留这里已验证的事实,不能恢复旧任务。这是另一候选的集成风险,不是本 diff 的缺陷。

我的整体评价

long_horizon=improved:清除重复工作的入口;user_experience=improved:读者得到落地事实和可执行验证,而非过期邀请。没有改变调度、Todo 机器状态、默认开关、强制义务或 actor 权限,相关运行时审查项不适用。

未来向简化检查已考虑任务板维护边界:直接更新现有行足够,不值得加入自动同步框架或再造状态存储;与 #5080 的布局调整集成时应复用同一任务身份。尚未做跨平台/全 provider 锁资格验证,但本 PR 没有修改这些实现,不能把该未测范围当作阻塞此事实纠偏的理由。

English verdict: APPROVE - The GH-C07 landing and regression references are independently verified; no blocking finding on this exact docs-only head.

@huangruiteng
huangruiteng merged commit 81e253b into loopx-project:main Sep 26, 2026
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants