Skip to content

refactor(todo): route promoted create through TypeScript - #3973

Merged
huangruiteng merged 10 commits into
mainfrom
codex/native-todo-create-authority
Sep 5, 2026
Merged

refactor(todo): route promoted create through TypeScript#3973
huangruiteng merged 10 commits into
mainfrom
codex/native-todo-create-authority

Conversation

@huangruiteng

Copy link
Copy Markdown
Owner

Summary

  • add a native provider-neutral TypeScript Todo create transaction with CAS, receipts, replay/recovery, and projection outbox
  • route promoted todo add through TypeScript while retaining the unpromoted Markdown compatibility path
  • move duplicate policy into TypeScript and preserve established CLI validation/error contracts
  • update the TypeScript migration and shared-authority RFCs

Validation

  • npm run typecheck:control-plane
  • npm run test:control-plane (603 passed, 1 intentionally skipped)
  • focused Python authority suites (59 passed)
  • disposable PostgreSQL 16 authority-store suite (20 passed)
  • loopx canary premerge --from-git-diff --goal-id loopx-meta (18/18 selected checks passed)
  • change-quality receipt cqr_458544754519b8bda463

Repository-wide mypy is not a clean oracle (913 pre-existing errors across 122 files); the newly surfaced narrowing issue in the changed boundary was fixed.

@huangruiteng

Copy link
Copy Markdown
Owner Author

Request changes conclusion (author-owned PR; GitHub blocks formal self-review)

动机

这个 PR 要把已 promotion 的 goal 上 loopx todo add 从 Markdown writer fence 后的不可用状态推进为 provider-first create:Python 继续承接已有 CLI 参数与错误兼容,跨一次 typed runtime boundary 后,由 TypeScript 统一处理 semantic duplicate、actor/owner eligibility、CAS、receipt/readback recovery 和 projection outbox。此前 claim-only 已走这条 authority owner;create 是 live promotion 前必须补齐的高频写命令。未 promotion 的 goal 仍保留原 Markdown 路径,update/complete/archive 也仍 fail closed,不在本 PR 宣称范围内。

改动思路

入口仍是 add_goal_todo()。它先做既有 role/task-class、绑定、monitor、validation-command 等校验;随后 create_canonical_todo_if_promoted() 读取 promotion fence,若未 promotion 返回 None 并进入旧 Markdown transaction,若已 promotion 则构造 todo_domain_record_v0,通过 coordination.local_authority.todo_create 交给 createLocalCoordinationTodo()。TypeScript 的 executeCoordinationTodoCreate() 校验完整 canonical record 与身份,在 provider head 上检查 duplicate/id collision,产生候选 record,并用当前 provider revision 做一次 atomic commit;receipt 再作为 ambiguous-response recovery 和 exact-operation replay 的依据。

正向路径的 CAS、replay/readback、完整 read-model digest 和 deleted-Markdown subprocess readback 已覆盖。负向路径会在 malformed request、actor/claim mismatch、projection drift、operation reuse、Todo id collision 和 concurrent CAS conflict 时 fail closed。不过当前 semantic duplicate predicate 与既有 Markdown 语义不等价,见下方 blocker。

具体改动

本次 exact head d60bd0cdee587ff17a3feb7b0a94137204291f59 相对 base 3dfe874fd43e100946ecce5fabd868cf64699ef9 共 13 个文件、+827/-105:production 侧新增 TypeScript create transaction、local file adapter/effect handler、Python provider bridge,并重排 add_goal_todo() 的共享校验;tests 增加 file/NoKV/PostgreSQL conformance 与 real subprocess promotion 路径;双语 RFC 登记本阶段边界。没有 generated file 或机械搬迁占主体。

关键代码讲解

  1. add_goal_todo()loopx/todos.py)是公共 CLI caller:完成原有 typed 参数校验后,只在 promotion fence 存在时切到 provider bridge,否则保持 Markdown observable behavior。
  2. create_canonical_todo_if_promoted()loopx/control_plane/todos/provider_create.py)构造 domain record、注册 agent evidence 和 operation id,并严格要求 source_authority=file_v0、provider decision 与 legacy_fallback_used=false
  3. createLocalCoordinationTodo()local_authority_runtime.ts)是唯一 effect-runtime adapter;它只解析路径/协议/时间与注册 agent,实际语义交给 provider-neutral transaction。
  4. executeCoordinationTodoCreate()todo_create.ts)拥有 duplicate/id eligibility 和 read-model validation;commitCreate() 用 head revision 产生 outbox mutation,随后从 durable receipt 回读 applied/recovered/replayed 结果。
  5. registerAuthorityStoreConformance() 新增 create 的 dry-run、contention、operation replay/drift、semantic duplicate 与 malformed input 检查,并被 file、NoKV 和 PostgreSQL provider 共用。

对主干的风险

[P1] deferred Todo 被错误当作未完成 semantic duplicate,阻止合法重新添加

触发条件:canonical provider 中已有一个 status="deferred"done=truearchive_state="active" 的 Todo,用户之后再次执行 todo add,文本和 role 相同但希望创建新的 open work。旧 Markdown 路径的 matching_todo_block() 通过 todo_done_for_status() 明确跳过 deferreddonedeferred 都是 terminal);当前 TypeScript 在 todo_create.ts:267-271 却只检查 archive_state === "active",没有排除 terminal status。它随后在 semanticDuplicateResult() 比较 done,返回 todo_semantic_duplicate_conflict。结果是 promotion 会改变既有 CLI contract:同一调用在未 promotion goal 可以创建新 Todo,在 promoted goal 会被永久拒绝,除非先改旧 Todo 或归档。

独立 exact-head 反事实使用真实 FileAuthorityStore 初始化一个 deferred active record,再调用 executeCoordinationTodoCreate() 创建同文本 open Todo,稳定得到:status=failed, reason_code=todo_semantic_duplicate_conflict, different done。最小修复是在 duplicate selector 中复用 typed terminal-state 判定,只把未完成 open/blocked(按现有 Markdown contract)记录纳入语义重复;补一组 deferred/done counterfactual,并保留 open/blocked duplicate coverage。

其余验证:TypeScript typecheck 通过;完整 control-plane tests 603 passed / 1 skipped;focused file-provider/local-runtime tests 36 passed;focused Python authority tests 8 passed;Python compile 与 git diff --check 通过;standard premerge 18/18、public-boundary scan 通过。远端当前 DCO/dependency/build 成功,但 pytest/Sonar 仍 pending,Windows check 为 failure,merge state 为 BLOCKED,需一并等作者修复/稳定后重审。

我的整体评价

将 promoted create 收口到与 claim 相同的 TypeScript provider authority 是合理、比例适当的迁移切片:真实 caller 已接入,默认未 promotion 路径保留,authority 名称与实际 lifecycle 对齐,CAS/receipt/outbox 也避免形成第二 semantic owner。820 行新增主要来自完整 transaction 与三 provider conformance,维护成本与消除 promoted Markdown writer 缺口相称。

但 deferred terminal semantics 是公共 Todo lifecycle 的可见行为,当前精确 head 会在 promotion 前后产生不一致,因此结论为 REQUEST CHANGES。修复 duplicate predicate、加入 terminal counterfactual,并取得当前 exact head 的 required checks 全绿后可快速重审。

English verdict: REQUEST CHANGES at exact head d60bd0c. Promoted TypeScript create treats an active deferred (done=true) Todo as an unfinished semantic duplicate, while the established Markdown path skips terminal deferred/done records; the real FileAuthorityStore counterfactual fails with todo_semantic_duplicate_conflict instead of creating new open work.

@huangruiteng huangruiteng left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Request changes conclusion (author-owned PR; GitHub blocks formal self-review)

动机

这个 PR 要把已 promotion 的 goal 上 loopx todo add 从 Markdown writer fence 后的不可用状态推进为 provider-first create:Python 继续承接已有 CLI 参数与错误兼容,跨一次 typed runtime boundary 后,由 TypeScript 统一处理 semantic duplicate、actor/owner eligibility、CAS、receipt/readback recovery 和 projection outbox。此前 claim-only 已走这条 authority owner;create 是 live promotion 前必须补齐的高频写命令。未 promotion 的 goal 仍保留原 Markdown 路径,update/complete/archive 也仍 fail closed,不在本 PR 宣称范围内。

改动思路

入口仍是 add_goal_todo()。它先做既有 role/task-class、绑定、monitor、validation-command 等校验;随后 create_canonical_todo_if_promoted() 读取 promotion fence,若未 promotion 返回 None 并进入旧 Markdown transaction,若已 promotion 则构造 todo_domain_record_v0,通过 coordination.local_authority.todo_create 交给 createLocalCoordinationTodo()。TypeScript 的 executeCoordinationTodoCreate() 校验完整 canonical record 与身份,在 provider head 上检查 duplicate/id collision,产生候选 record,并用当前 provider revision 做一次 atomic commit;receipt 再作为 ambiguous-response recovery 和 exact-operation replay 的依据。

正向路径的 CAS、replay/readback、完整 read-model digest 和 deleted-Markdown subprocess readback 已覆盖。负向路径会在 malformed request、actor/claim mismatch、projection drift、operation reuse、Todo id collision 和 concurrent CAS conflict 时 fail closed。不过当前 semantic duplicate predicate 与既有 Markdown 语义不等价,见下方 blocker。

具体改动

本次 exact head d60bd0cdee587ff17a3feb7b0a94137204291f59 相对 base 3dfe874fd43e100946ecce5fabd868cf64699ef9 共 13 个文件、+827/-105:production 侧新增 TypeScript create transaction、local file adapter/effect handler、Python provider bridge,并重排 add_goal_todo() 的共享校验;tests 增加 file/NoKV/PostgreSQL conformance 与 real subprocess promotion 路径;双语 RFC 登记本阶段边界。没有 generated file 或机械搬迁占主体。

关键代码讲解

  1. add_goal_todo()loopx/todos.py)是公共 CLI caller:完成原有 typed 参数校验后,只在 promotion fence 存在时切到 provider bridge,否则保持 Markdown observable behavior。
  2. create_canonical_todo_if_promoted()loopx/control_plane/todos/provider_create.py)构造 domain record、注册 agent evidence 和 operation id,并严格要求 source_authority=file_v0、provider decision 与 legacy_fallback_used=false
  3. createLocalCoordinationTodo()local_authority_runtime.ts)是唯一 effect-runtime adapter;它只解析路径/协议/时间与注册 agent,实际语义交给 provider-neutral transaction。
  4. executeCoordinationTodoCreate()todo_create.ts)拥有 duplicate/id eligibility 和 read-model validation;commitCreate() 用 head revision 产生 outbox mutation,随后从 durable receipt 回读 applied/recovered/replayed 结果。
  5. registerAuthorityStoreConformance() 新增 create 的 dry-run、contention、operation replay/drift、semantic duplicate 与 malformed input 检查,并被 file、NoKV 和 PostgreSQL provider 共用。

对主干的风险

[P1] deferred Todo 被错误当作未完成 semantic duplicate,阻止合法重新添加

触发条件:canonical provider 中已有一个 status="deferred"done=truearchive_state="active" 的 Todo,用户之后再次执行 todo add,文本和 role 相同但希望创建新的 open work。旧 Markdown 路径的 matching_todo_block() 通过 todo_done_for_status() 明确跳过 deferreddonedeferred 都是 terminal);当前 TypeScript 在 todo_create.ts:267-271 却只检查 archive_state === "active",没有排除 terminal status。它随后在 semanticDuplicateResult() 比较 done,返回 todo_semantic_duplicate_conflict。结果是 promotion 会改变既有 CLI contract:同一调用在未 promotion goal 可以创建新 Todo,在 promoted goal 会被永久拒绝,除非先改旧 Todo 或归档。

独立 exact-head 反事实使用真实 FileAuthorityStore 初始化一个 deferred active record,再调用 executeCoordinationTodoCreate() 创建同文本 open Todo,稳定得到:status=failed, reason_code=todo_semantic_duplicate_conflict, different done。最小修复是在 duplicate selector 中复用 typed terminal-state 判定,只把未完成 open/blocked(按现有 Markdown contract)记录纳入语义重复;补一组 deferred/done counterfactual,并保留 open/blocked duplicate coverage。

其余验证:TypeScript typecheck 通过;完整 control-plane tests 603 passed / 1 skipped;focused file-provider/local-runtime tests 36 passed;focused Python authority tests 8 passed;Python compile 与 git diff --check 通过;standard premerge 18/18、public-boundary scan 通过。远端当前 DCO/dependency/build 成功,但 pytest/Sonar 仍 pending,Windows check 为 failure,merge state 为 BLOCKED,需一并等作者修复/稳定后重审。

我的整体评价

将 promoted create 收口到与 claim 相同的 TypeScript provider authority 是合理、比例适当的迁移切片:真实 caller 已接入,默认未 promotion 路径保留,authority 名称与实际 lifecycle 对齐,CAS/receipt/outbox 也避免形成第二 semantic owner。820 行新增主要来自完整 transaction 与三 provider conformance,维护成本与消除 promoted Markdown writer 缺口相称。

但 deferred terminal semantics 是公共 Todo lifecycle 的可见行为,当前精确 head 会在 promotion 前后产生不一致,因此结论为 REQUEST CHANGES。修复 duplicate predicate、加入 terminal counterfactual,并取得当前 exact head 的 required checks 全绿后可快速重审。

English verdict: REQUEST CHANGES at exact head d60bd0c. Promoted TypeScript create treats an active deferred (done=true) Todo as an unfinished semantic duplicate, while the established Markdown path skips terminal deferred/done records; the real FileAuthorityStore counterfactual fails with todo_semantic_duplicate_conflict instead of creating new open work.

@huangruiteng huangruiteng left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Request changes conclusion (author-owned PR; GitHub blocks formal self-review)

动机

这个 PR 要把已 promotion 的 goal 上 loopx todo add 从 Markdown writer fence 后的不可用状态推进为 provider-first create:Python 继续承接已有 CLI 参数与错误兼容,跨一次 typed runtime boundary 后,由 TypeScript 统一处理 semantic duplicate、actor/owner eligibility、CAS、receipt/readback recovery 和 projection outbox。此前 claim-only 已走这条 authority owner;create 是 live promotion 前必须补齐的高频写命令。未 promotion 的 goal 仍保留原 Markdown 路径,update/complete/archive 也仍 fail closed,不在本 PR 宣称范围内。

改动思路

入口仍是 add_goal_todo()。它先做既有 role/task-class、绑定、monitor、validation-command 等校验;随后 create_canonical_todo_if_promoted() 读取 promotion fence,若未 promotion 返回 None 并进入旧 Markdown transaction,若已 promotion 则构造 todo_domain_record_v0,通过 coordination.local_authority.todo_create 交给 createLocalCoordinationTodo()。TypeScript 的 executeCoordinationTodoCreate() 校验完整 canonical record 与身份,在 provider head 上检查 duplicate/id collision,产生候选 record,并用当前 provider revision 做一次 atomic commit;receipt 再作为 ambiguous-response recovery 和 exact-operation replay 的依据。

正向路径的 CAS、replay/readback、完整 read-model digest 和 deleted-Markdown subprocess readback 已覆盖。负向路径会在 malformed request、actor/claim mismatch、projection drift、operation reuse、Todo id collision 和 concurrent CAS conflict 时 fail closed。不过当前 semantic duplicate predicate 与既有 Markdown 语义不等价,见下方 blocker。

具体改动

本次 exact head d60bd0cdee587ff17a3feb7b0a94137204291f59 相对 base 3dfe874fd43e100946ecce5fabd868cf64699ef9 共 13 个文件、+827/-105:production 侧新增 TypeScript create transaction、local file adapter/effect handler、Python provider bridge,并重排 add_goal_todo() 的共享校验;tests 增加 file/NoKV/PostgreSQL conformance 与 real subprocess promotion 路径;双语 RFC 登记本阶段边界。没有 generated file 或机械搬迁占主体。

关键代码讲解

  1. add_goal_todo()loopx/todos.py)是公共 CLI caller:完成原有 typed 参数校验后,只在 promotion fence 存在时切到 provider bridge,否则保持 Markdown observable behavior。
  2. create_canonical_todo_if_promoted()loopx/control_plane/todos/provider_create.py)构造 domain record、注册 agent evidence 和 operation id,并严格要求 source_authority=file_v0、provider decision 与 legacy_fallback_used=false
  3. createLocalCoordinationTodo()local_authority_runtime.ts)是唯一 effect-runtime adapter;它只解析路径/协议/时间与注册 agent,实际语义交给 provider-neutral transaction。
  4. executeCoordinationTodoCreate()todo_create.ts)拥有 duplicate/id eligibility 和 read-model validation;commitCreate() 用 head revision 产生 outbox mutation,随后从 durable receipt 回读 applied/recovered/replayed 结果。
  5. registerAuthorityStoreConformance() 新增 create 的 dry-run、contention、operation replay/drift、semantic duplicate 与 malformed input 检查,并被 file、NoKV 和 PostgreSQL provider 共用。

对主干的风险

[P1] deferred Todo 被错误当作未完成 semantic duplicate,阻止合法重新添加

触发条件:canonical provider 中已有一个 status="deferred"done=truearchive_state="active" 的 Todo,用户之后再次执行 todo add,文本和 role 相同但希望创建新的 open work。旧 Markdown 路径的 matching_todo_block() 通过 todo_done_for_status() 明确跳过 deferreddonedeferred 都是 terminal);当前 TypeScript 在 todo_create.ts:267-271 却只检查 archive_state === "active",没有排除 terminal status。它随后在 semanticDuplicateResult() 比较 done,返回 todo_semantic_duplicate_conflict。结果是 promotion 会改变既有 CLI contract:同一调用在未 promotion goal 可以创建新 Todo,在 promoted goal 会被永久拒绝,除非先改旧 Todo 或归档。

独立 exact-head 反事实使用真实 FileAuthorityStore 初始化一个 deferred active record,再调用 executeCoordinationTodoCreate() 创建同文本 open Todo,稳定得到:status=failed, reason_code=todo_semantic_duplicate_conflict, different done。最小修复是在 duplicate selector 中复用 typed terminal-state 判定,只把未完成 open/blocked(按现有 Markdown contract)记录纳入语义重复;补一组 deferred/done counterfactual,并保留 open/blocked duplicate coverage。

其余验证:TypeScript typecheck 通过;完整 control-plane tests 603 passed / 1 skipped;focused file-provider/local-runtime tests 36 passed;focused Python authority tests 8 passed;Python compile 与 git diff --check 通过;standard premerge 18/18、public-boundary scan 通过。远端当前 DCO/dependency/build 成功,但 pytest/Sonar 仍 pending,Windows check 为 failure,merge state 为 BLOCKED,需一并等作者修复/稳定后重审。

我的整体评价

将 promoted create 收口到与 claim 相同的 TypeScript provider authority 是合理、比例适当的迁移切片:真实 caller 已接入,默认未 promotion 路径保留,authority 名称与实际 lifecycle 对齐,CAS/receipt/outbox 也避免形成第二 semantic owner。820 行新增主要来自完整 transaction 与三 provider conformance,维护成本与消除 promoted Markdown writer 缺口相称。

但 deferred terminal semantics 是公共 Todo lifecycle 的可见行为,当前精确 head 会在 promotion 前后产生不一致,因此结论为 REQUEST CHANGES。修复 duplicate predicate、加入 terminal counterfactual,并取得当前 exact head 的 required checks 全绿后可快速重审。

English verdict: REQUEST_CHANGES at exact head d60bd0c. Promoted TypeScript create treats an active deferred (done=true) Todo as an unfinished semantic duplicate, while the established Markdown path skips terminal deferred/done records; the real FileAuthorityStore counterfactual fails with todo_semantic_duplicate_conflict instead of creating new open work.

@huangruiteng huangruiteng left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Request changes conclusion (author-owned PR; GitHub blocks formal self-review)

动机

这个 PR 要把已 promotion 的 goal 上 loopx todo add 从 Markdown writer fence 后的不可用状态推进为 provider-first create:Python 继续承接已有 CLI 参数与错误兼容,跨一次 typed runtime boundary 后,由 TypeScript 统一处理 semantic duplicate、actor/owner eligibility、CAS、receipt/readback recovery 和 projection outbox。此前 claim-only 已走这条 authority owner;create 是 live promotion 前必须补齐的高频写命令。未 promotion 的 goal 仍保留原 Markdown 路径,update/complete/archive 也仍 fail closed,不在本 PR 宣称范围内。

改动思路

入口仍是 add_goal_todo()。它先做既有 role/task-class、绑定、monitor、validation-command 等校验;随后 create_canonical_todo_if_promoted() 读取 promotion fence,若未 promotion 返回 None 并进入旧 Markdown transaction,若已 promotion 则构造 todo_domain_record_v0,通过 coordination.local_authority.todo_create 交给 createLocalCoordinationTodo()。TypeScript 的 executeCoordinationTodoCreate() 校验完整 canonical record 与身份,在 provider head 上检查 duplicate/id collision,产生候选 record,并用当前 provider revision 做一次 atomic commit;receipt 再作为 ambiguous-response recovery 和 exact-operation replay 的依据。

正向路径的 CAS、replay/readback、完整 read-model digest 和 deleted-Markdown subprocess readback 已覆盖。负向路径会在 malformed request、actor/claim mismatch、projection drift、operation reuse、Todo id collision 和 concurrent CAS conflict 时 fail closed。不过当前 semantic duplicate predicate 与既有 Markdown 语义不等价,见下方 blocker。

具体改动

本次 exact head 71fe2d69fdc4235341cc9813ba4f72f87dda3473 相对 base 3dfe874fd43e100946ecce5fabd868cf64699ef9 共 14 个文件、+830/-137:production 侧新增 TypeScript create transaction、共享 agent normalizer、local file adapter/effect handler、Python provider bridge,并重排 add_goal_todo() 的共享校验;tests 增加 file/NoKV/PostgreSQL conformance 与 real subprocess promotion 路径;双语 RFC 登记本阶段边界。没有 generated file 或机械搬迁占主体。

关键代码讲解

  1. add_goal_todo()loopx/todos.py)是公共 CLI caller:完成原有 typed 参数校验后,只在 promotion fence 存在时切到 provider bridge,否则保持 Markdown observable behavior。
  2. create_canonical_todo_if_promoted()loopx/control_plane/todos/provider_create.py)构造 domain record、注册 agent evidence 和 operation id,并严格要求 source_authority=file_v0、provider decision 与 legacy_fallback_used=false
  3. createLocalCoordinationTodo()local_authority_runtime.ts)是唯一 effect-runtime adapter;它只解析路径/协议/时间与注册 agent,实际语义交给 provider-neutral transaction。
  4. executeCoordinationTodoCreate()todo_create.ts)拥有 duplicate/id eligibility 和 read-model validation;commitCreate() 用 head revision 产生 outbox mutation,随后从 durable receipt 回读 applied/recovered/replayed 结果。
  5. registerAuthorityStoreConformance() 新增 create 的 dry-run、contention、operation replay/drift、semantic duplicate 与 malformed input 检查,并被 file、NoKV 和 PostgreSQL provider 共用。

对主干的风险

[P1] deferred Todo 被错误当作未完成 semantic duplicate,阻止合法重新添加

触发条件:canonical provider 中已有一个 status="deferred"done=truearchive_state="active" 的 Todo,用户之后再次执行 todo add,文本和 role 相同但希望创建新的 open work。旧 Markdown 路径的 matching_todo_block() 通过 todo_done_for_status() 明确跳过 deferreddonedeferred 都是 terminal);当前 TypeScript 在 todo_create.ts:267-271 却只检查 archive_state === "active",没有排除 terminal status。它随后在 semanticDuplicateResult() 比较 done,返回 todo_semantic_duplicate_conflict。结果是 promotion 会改变既有 CLI contract:同一调用在未 promotion goal 可以创建新 Todo,在 promoted goal 会被永久拒绝,除非先改旧 Todo 或归档。

独立 exact-head 反事实使用真实 FileAuthorityStore 初始化一个 deferred active record,再调用 executeCoordinationTodoCreate() 创建同文本 open Todo,稳定得到:status=failed, reason_code=todo_semantic_duplicate_conflict, different done。最小修复是在 duplicate selector 中复用 typed terminal-state 判定,只把未完成 open/blocked(按现有 Markdown contract)记录纳入语义重复;补一组 deferred/done counterfactual,并保留 open/blocked duplicate coverage。

其余验证:TypeScript typecheck 通过;前一代码等价 head 的完整 control-plane tests 603 passed / 1 skipped,当前 head focused file-provider/local-runtime tests 36 passed;当前 head focused Python authority tests 8 passed;Python compile 与 git diff --check 通过;standard premerge 18/18、public-boundary scan 通过。远端当前 DCO/dependency/build 成功,但 pytest/Sonar/Windows 仍在运行,merge state 为 BLOCKED,需一并等结果稳定后重审。

我的整体评价

将 promoted create 收口到与 claim 相同的 TypeScript provider authority 是合理、比例适当的迁移切片:真实 caller 已接入,默认未 promotion 路径保留,authority 名称与实际 lifecycle 对齐,CAS/receipt/outbox 也避免形成第二 semantic owner。820 行新增主要来自完整 transaction 与三 provider conformance,维护成本与消除 promoted Markdown writer 缺口相称。

但 deferred terminal semantics 是公共 Todo lifecycle 的可见行为,当前精确 head 会在 promotion 前后产生不一致,因此结论为 REQUEST CHANGES。修复 duplicate predicate、加入 terminal counterfactual,并取得当前 exact head 的 required checks 全绿后可快速重审。

English verdict: REQUEST_CHANGES at exact head 71fe2d6. Promoted TypeScript create treats an active deferred (done=true) Todo as an unfinished semantic duplicate, while the established Markdown path skips terminal deferred/done records; the real FileAuthorityStore counterfactual fails with todo_semantic_duplicate_conflict instead of creating new open work.

@huangruiteng huangruiteng left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Request changes conclusion (author-owned PR; GitHub blocks formal self-review)

动机

这个 PR 要把已 promotion 的 goal 上 loopx todo add 从 Markdown writer fence 后的不可用状态推进为 provider-first create:Python 保留既有 CLI 校验和兼容行为,TypeScript authority transaction 负责 semantic duplicate、actor/owner eligibility、CAS、receipt recovery 和 projection outbox。未 promotion 的 goal 仍走 Markdown 路径,update/complete/archive 也仍保持 fail closed。这个切片有真实公共 caller,且修复 promoted writer 缺口的方向合理。

改动思路

add_goal_todo() 先完成公共参数校验,再由 create_canonical_todo_if_promoted() 根据 promotion fence 决定是否构造 todo_domain_record_v0 并调用 coordination.local_authority.todo_createcreateLocalCoordinationTodo() 是 effect-runtime adapter,executeCoordinationTodoCreate() 是 provider-neutral decision owner:它读取 canonical projection、判断 duplicate/id collision、准备 CAS commit,并从 durable receipt 回读 applied/recovered/replayed 结果。

新 head 修复了上一轮 deferred terminal blocker:duplicate selector 现在排除 done === true 的记录,新增 conformance counterfactual 在 file、NoKV 和可选 PostgreSQL provider 上验证 deferred record 后可创建同文本 open Todo。不过实现仍没有把 terminal 分类绑定到 authoritative typed status,见下方 blocker。

具体改动

Exact head 617b7dbba8c9736112e8c54d9cd9bfceac6fe0af 相对 base 3dfe874fd43e100946ecce5fabd868cf64699ef9 共 14 个文件、+857/-137。production 侧新增 TypeScript create transaction、共享 agent normalizer、local authority runtime/effect handler 和 Python provider bridge,并重排 add_goal_todo() 的共享校验;tests 增加 provider conformance 与真实 subprocess promotion 路径;双语 RFC 登记阶段边界。相对上一 review head,修复只有 todo_create.ts 的 duplicate predicate 和 authority_store_conformance.ts 的 deferred counterfactual。

关键代码讲解

  1. add_goal_todo()loopx/todos.py)是公共入口:校验完成后,promotion fence 决定 provider path 或旧 Markdown transaction。
  2. create_canonical_todo_if_promoted()loopx/control_plane/todos/provider_create.py)构造 domain record 和稳定 operation identity,并严格要求 provider decision 与 legacy_fallback_used=false
  3. createLocalCoordinationTodo()local_authority_runtime.ts)解析 runtime boundary;语义决策仍由 provider-neutral create transaction 独占。
  4. executeCoordinationTodoCreate()todo_create.ts)处理 replay、projection validation、duplicate/id eligibility、CAS commit 与 readback recovery。
  5. registerAuthorityStoreConformance() 将 create 的 contention、replay/drift、duplicate、malformed input 和新 deferred counterfactual复用于 file/NoKV/PostgreSQL provider。

对主干的风险

[P1] terminal duplicate 修复依赖冗余 done 布尔值,而不是 typed status authority

触发条件:canonical provider 中存在 status="done"done=falsearchive_state="active" 的同 role/text Todo,随后创建新的 open Todo。当前 domain decoder canonicalTodoDomainRecord() 只分别验证 status enum 与 boolean 类型,没有强制二者一致;projection mutation 也能持久化这个 record。新 selector 在 todo_create.ts:242-245 只检查 todo.done === false,于是把 typed status 已经 terminal 的记录当作未完成 duplicate,并返回 todo_semantic_duplicate_conflict

独立 exact-head 反事实使用真实 FileAuthorityStore 写入上述 domain record,再调用 executeCoordinationTodoCreate(),稳定得到 status=failedreason_code=todo_semantic_duplicate_conflict,而 established Markdown authority 的 todo_done_for_status() 以 status enum 将 donedeferred 都判为 terminal。该修复因此仍是 scattered-boolean classification,也没有满足上一轮要求的 typed terminal-state semantics;未来任一 status/done 漂移都会让 promotion 前后行为再次分叉。

最小修复:在 TypeScript contract 层提供基于 status: "open" | "blocked" | "done" | "deferred" 的 terminal helper(或在 canonical decoder 中强制 status/done coherence,并让 duplicate predicate调用该 typed rule),使 selector 明确只纳入 open/blocked;加入 status=donestatus=deferred 的 counterfactual,避免测试仅证明某个 done=true 样例。保留现有 open/blocked duplicate conflict/replay coverage。

验证方面,当前 head 的 TypeScript typecheck 通过;完整 npm run test:control-plane603 passed / 1 skipped,覆盖 file 与 NoKV create conformance;git diff --check 通过。远端 DCO、dependency review、Windows、release/frontstage build 已通过,pytest 与 Sonar workflow 在发表前仍 pending。上述真实 FileAuthorityStore 反事实是当前 head 未覆盖的负向行为。

我的整体评价

provider-first create 的 scope fit、CAS/receipt authority、默认未 promotion 隔离和整体比例仍然成立;新增约 850 行主要是 transaction、三 provider conformance 和兼容边界,不是无 caller 的 scaffolding。上一轮 deferred blocker也确实向正确方向收敛。

但 terminal 是 Todo lifecycle 的 typed 状态规则,不能由可漂移的冗余 boolean 单独拥有。当前 exact head 仍可在合法 schema 输入上复现 promotion parity failure,因此结论保持 REQUEST CHANGES。把 terminal 判定收口到 typed status helper(或先强制两字段一致)、补齐 done/deferred counterfactual 后可快速重审。

English verdict: REQUEST_CHANGES at exact head 617b7db. The terminal-duplicate repair keys on the redundant done boolean instead of the typed status authority; a canonical status="done", done=false record is accepted by the current domain contract and still blocks a same-text open create with todo_semantic_duplicate_conflict.

@huangruiteng huangruiteng left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Approval conclusion (author-owned PR; GitHub blocks formal self-approval)

动机

这个 PR 把已 promotion goal 的 loopx todo add 从 Markdown writer fence 后的不可用状态推进为 provider-first create:Python 保留公共 CLI 参数校验和兼容错误,TypeScript authority transaction 统一拥有 semantic duplicate、actor/owner eligibility、CAS、receipt recovery 与 projection outbox。此前 claim 已经由相同 authority owner 承接;create 是 live promotion 前的真实写路径缺口。未 promotion goal 继续走原 Markdown transaction,update/complete/archive 仍 fail closed,不在本切片范围内。

改动思路

公共入口 add_goal_todo() 完成既有 role/task-class、binding、monitor 与 validation-command 校验后,由 create_canonical_todo_if_promoted() 读取 promotion fence。未 promotion 返回 None 并保持旧行为;已 promotion 则构造 todo_domain_record_v0,通过 coordination.local_authority.todo_create 进入 createLocalCoordinationTodo()。provider-neutral executeCoordinationTodoCreate() 负责 canonical input、semantic duplicate/id collision、provider-head CAS、receipt replay/recovery 和 read-model validation。

当前 head 进一步将 terminal authority 收口到 typed status:domain decoder 强制 donestatus in {done,deferred} 一致,duplicate selector 明确只纳入非 done/deferred 状态。这样既修复 deferred terminal 被误判,也消除了上一 head 仅依赖冗余 boolean 的漂移窗口。

具体改动

Exact head b65ca1f1e0bbaf06fff22579570cc9f874edc28d 相对 base 3dfe874fd43e100946ecce5fabd868cf64699ef9 共 15 个文件、+868/-138。production 侧新增 TypeScript create transaction、共享 agent normalizer、local authority adapter/effect handler 和 Python provider bridge,并重排 add_goal_todo() 的共享校验;tests 增加 file、NoKV、JSON-lines 与可选 PostgreSQL conformance、真实 subprocess promotion 路径;双语 RFC 登记阶段边界。没有 generated 或机械搬迁成为主要体积。

关键代码讲解

  1. add_goal_todo()loopx/todos.py)是公共 caller,先做已有校验,再按 promotion fence 选择 provider 或 Markdown path。
  2. create_canonical_todo_if_promoted()loopx/control_plane/todos/provider_create.py)构造完整 domain record、注册 agent evidence 与稳定 operation id,并要求 provider decision 和 legacy_fallback_used=false
  3. canonicalTodoDomainRecord()coordination_state_contract.ts)现在以 typed status 定义 terminal,并强制冗余 done 一致,阻止不连贯状态进入 canonical authority。
  4. executeCoordinationTodoCreate()todo_create.ts)拥有 duplicate/id eligibility;selector 明确排除 done/deferred,之后用 provider revision 做一次 atomic commit 并从 durable receipt 回读。
  5. registerAuthorityStoreConformance() 覆盖 dry-run、CAS contention、operation replay/drift、open duplicate、deferred terminal 重建和 inconsistent terminal 拒绝,并复用于多种 provider。

对主干的风险

未发现 blocking finding。上一轮最强回归场景已经关闭:active deferred record 后创建同 role/text open Todo 现在成功;status="done", done=false 的不连贯输入在 contract boundary 被 invalid_coordination_todo_create 拒绝;open/blocked duplicate 语义仍保留。失败与重试由 provider CAS、operation receipt 和 fresh readback 拥有,不会回退到 Markdown 第二写者。

默认隔离成立:只有 promotion fence 开启时进入新 transaction,未 promotion 的 schema、accepted inputs、projection 和 side effects 保持旧路径。authority 命名与真实 actor lifecycle 对齐,没有新增更宽的 peer/remote authority。变更比例适当:约 850 行新增主要用于完整 transaction、三类 provider conformance 和 Python/TypeScript compatibility boundary,且已有真实 CLI caller。

独立验证:当前 exact head 的 npm run typecheck:control-plane 通过;完整 npm run test:control-plane603 passed / 1 skippedgit diff --check 通过。远端 DCO、dependency review、Windows、release/frontstage build 与 Sonar code analysis 已通过;pytest 和非阻塞 Sonar workflow 在本结论发表时仍运行,合并前仍应以 required checks 最终成功为准。Python production diff自上一已验证 head 未变化;本地临时环境没有 pytest 包,因此没有把该重复执行伪装成已验证证据。

我的整体评价

这个切片已经把 provider-first create 的真实 caller、typed lifecycle semantics、atomic CAS、receipt recovery、projection readback 和默认未 promotion 隔离连成闭环。两轮 terminal parity finding 都已在精确 head 上关闭,新增测试也覆盖了导致回归的正负反事实。剩余风险主要是 required CI 的最终完成状态,而不是代码中的未解决 blocker。

结论为 APPROVE;由于是作者自己的 PR,GitHub 不允许正式 self-approval,因此发布此 titled COMMENTED fallback。合并仍需等待 required checks 全绿,并遵守单独的 merge authority。

English verdict: APPROVE at exact head b65ca1f. Typed status now owns terminal classification, done coherence is enforced at the domain boundary, deferred/done records no longer block a valid same-text open create, and the exact-head TypeScript suite passes 603 tests with 1 intentional skip.

@huangruiteng huangruiteng left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Approval conclusion (author-owned PR; GitHub blocks formal self-approval)

动机

这个 PR 把已 promotion goal 的 loopx todo add 从 Markdown writer fence 后的不可用状态推进为 provider-first create:Python 保留公共 CLI 参数校验和兼容错误,TypeScript authority transaction 统一拥有 semantic duplicate、actor/owner eligibility、CAS、receipt recovery 与 projection outbox。未 promotion goal 继续走原 Markdown transaction,update/complete/archive 仍 fail closed。

改动思路

add_goal_todo() 完成既有校验后,由 promotion fence 决定进入 provider bridge 或旧 Markdown transaction。provider-neutral executeCoordinationTodoCreate() 负责 typed canonical input、duplicate/id eligibility、provider-head CAS、receipt replay/recovery 和 read-model validation。当前增量 commit 只补强 promotion fence 的端到端测试:测试现在明确断言 override runtime root 下已 promotion 的 todo add 会先读取 provider authority,provider 不可用时 fail closed,并保持 Markdown state 不变。

具体改动

Exact head bb2cbb3da5f38e369a90f7b86b39601b004040bb 相对上一已批准 head b65ca1f1e0bbaf06fff22579570cc9f874edc28d 仅修改 tests/control_plane/test_legacy_coordination_writer_fence.py+32/-5),没有 production 代码变化。

关键代码讲解

  1. test_goal_todo_add_uses_provider_at_override_root_when_promoted() 将原先只期待 legacy fence exception 的测试升级为 provider-first 行为断言。
  2. missing_provider() 捕获 method/params,并返回 typed missing authority receipt,验证调用确实是 coordination.local_authority.todo_list,且 runtime_root 是 override root 的解析后路径。
  3. 测试在调用前后比较 goal state 文件,证明 provider authority 不可用时不会偷偷回退到 Markdown writer 或产生部分写入。

对主干的风险

未发现 blocking finding。这个测试增量与现有实现语义一致,并关闭了 promotion fence 路由缺少直接回归断言的残余风险。独立 worktree 验证:目标文件 6 passed,base-to-head git diff --check 通过。远端 DCO、dependency review、Windows、release/frontstage build 已通过;pytest 与非阻塞 Sonar workflow 仍在运行,合并前应等待 required checks 最终成功。

我的整体评价

新增测试很小但有实际价值:它同时覆盖 override-root 选择、provider-first routing、typed unavailable failure 和 legacy state 不变四个关键边界,没有扩大 production surface,也没有改变上一精确 head 已验证的 typed terminal semantics。结论为 APPROVE;由于是作者自己的 PR,GitHub 不允许正式 self-approval,因此发布此 titled COMMENTED fallback。合并仍需单独 authority。

English verdict: APPROVE at exact head bb2cbb3. The test-only delta verifies promoted todo add uses provider authority at the override runtime root, fails closed when that authority is unavailable, and leaves legacy Markdown state unchanged; the focused test file passes 6 tests.

@huangruiteng huangruiteng left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Approval conclusion (author-owned PR; GitHub blocks formal self-approval)

动机

这个 PR 把已 promotion goal 的 loopx todo add 从 Markdown writer fence 后的不可用状态推进为 provider-first create:Python 保留公共 CLI 校验和兼容错误,TypeScript authority transaction 统一拥有 semantic duplicate、actor/owner eligibility、CAS、receipt recovery 与 projection outbox。未 promotion goal 继续走旧 Markdown transaction,update/complete/archive 仍 fail closed。

改动思路

add_goal_todo() 完成既有参数校验后,由 promotion fence 选择 provider bridge 或旧路径;executeCoordinationTodoCreate() 负责 typed canonical input、duplicate/id eligibility、provider-head CAS、receipt replay/recovery 和 read-model validation。当前 head 只是把最新 origin/main 合入已批准分支,没有改变 PR 自身相对主干的 patch。

具体改动

Exact head 73e043b9c7351ca9943be23dbaebf1a1a535551c 的 merge-base 已更新为 788acc143296ab9995a1f1aa10ce1e63cb91ad77。独立 worktree 对比证明:旧 base 3dfe874fd43e100946ecce5fabd868cf64699ef9 到已批准 head bb2cbb3da5f38e369a90f7b86b39601b004040bb 的 patch,与新 base 到当前 head 的 patch 字节级一致,SHA-256 都是 3f84422ef9771648c439c34d3f2e9051492ecedb37023486f6dbc9161696953d。因此 merge commit 只吸收已在主干合并的 reliability-diagnostics 变更,没有把它们混入本 PR 的净 diff。

关键代码讲解

  1. canonicalTodoDomainRecord() 以 typed status 定义 terminal,并强制冗余 done 一致。
  2. executeCoordinationTodoCreate() 排除 done/deferred semantic duplicates,用 provider revision 完成 atomic commit,并从 durable receipt 回读。
  3. test_goal_todo_add_uses_provider_at_override_root_when_promoted() 覆盖 override root、provider-first routing、typed unavailable failure 和 legacy Markdown state 不变。

对主干的风险

未发现 blocking finding。最强风险是 merge resolution 悄然改变已批准 patch;独立 base..head patch digest 相等直接排除了这一点。当前 head 的两个 focused Python 文件为 14 passedgit diff --check 通过。TypeScript 本地依赖未安装,因此没有把无法重复执行的 typecheck 伪装成当前验证;其代码 patch 与上一已验证 head完全相同。远端 DCO、dependency review、Windows 和 release build 已通过,pytest、frontstage build 与非阻塞 Sonar workflow 仍在运行,合并前应等待 required checks 最终成功。

我的整体评价

当前 merge head 保留了此前已验证的真实 caller、typed terminal semantics、CAS/receipt authority 和默认未 promotion 隔离;分支同步没有引入新的净改动或冲突分辨漂移。结论为 APPROVE。由于是作者自己的 PR,GitHub 不允许正式 self-approval,因此发布此 titled COMMENTED fallback;合并仍需单独 authority。

English verdict: APPROVE at exact head 73e043b. After merging current main, the base-to-head patch is byte-identical to the previously approved bb2cbb3 patch; the focused Python authority/fence tests pass 14 tests and no merge-resolution drift was introduced.

@huangruiteng

Copy link
Copy Markdown
Owner Author

Merge readiness

No blocking findings remain at exact head 73e043b9c7351ca9943be23dbaebf1a1a535551c on base 788acc143296ab9995a1f1aa10ce1e63cb91ad77.

The change solves the promoted Todo-create authority gap by routing the real CLI entrypoint through the TypeScript AuthorityStore transaction while retaining Python only as a typed bridge and preserving the unpromoted Markdown path. Typed status owns terminal classification; CAS, durable receipts, recovery, and projection outbox remain provider-neutral. A future-facing cleanup shared agent normalization with claim; the larger update/complete/archive migration stays a focused follow-up.

Validation and holds:

  • GitHub required checks are complete and successful; expected release/deploy jobs are skipped.
  • Exact-head independent review concludes APPROVE and verifies the rebased patch is byte-identical to the previously approved patch.
  • TypeScript control-plane typecheck passes; the full suite reports 603 passed and 1 intentional skip.
  • Focused Python Todo authority suites passed 59 tests on the implementation patch, including the real subprocess CLI path with deleted Markdown state; the rebased changed Python files compile.
  • Disposable isolated PostgreSQL 16 conformance passed 20 tests on the unchanged implementation patch.
  • Rebased premerge gate passed 18/18 checks with zero failures and zero manual holds, including public-boundary scanning.
  • Exact-scope quality receipt cqr_231e9cfd54219c477fa9 is valid for fingerprint 231e9cfd54219c477fa9924ab415ca5f3b46879da3ac0636850f35ae04f1cd0e.
  • Repository-wide mypy remains a non-blocking pre-existing dirty baseline; changed-boundary typecheck and tests pass.

Merge decision: merge. This does not promote an active provider or mutate live Goal state.

@huangruiteng
huangruiteng merged commit bf217e1 into main Sep 5, 2026
11 checks passed
@huangruiteng
huangruiteng deleted the codex/native-todo-create-authority branch September 5, 2026 23:09
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.

1 participant