Skip to content

fix(goals): expose executable material-feedback checkpoints - #7916

Merged
songoow merged 7 commits into
mainfrom
codex/full-feedback-20261102
Nov 3, 2026
Merged

songoow merged 7 commits into
mainfrom
codex/full-feedback-20261102

Conversation

@songoow

@songoow songoow commented Nov 2, 2026 •

Copy link
Copy Markdown
Collaborator

本轮修复 · 2026-11-03

提交:fc655cdb881060c4de401363b9b1a50bf07a03a4;已合入 main ec5c9702c79cbc68ab994b18031e9069b0935b59。

补齐 quota_spend.precondition 遗漏的 fresh open-Todo semantic checkpoint 分支。计划要求原 identity 的精确持久 writeback receipt,并明确进度结算不豁免终态 completion validation;typed_blocked_writeback_no_spend 继续跳过扣额。修改在原 settlement-plan owner,没有改变 validator、authority 或实际扣额规则。

回归先在旧指引上失败,修复并合入 main 后,22 Python + 46 TypeScript 通过。覆盖真实 File/SQLite、Stride off/on、soft/hard claim、开放 Todo、验证仍 pending、writeback/spend 重放、终态拒绝、Markdown 恢复及四项 output-budget 检查。typecheck、Ruff、RFC 双语与 public-boundary 检查通过。完整 premerge、wheel 和 live-model 长程资格未在本轮重跑。


原提案与此前验证记录

下方保留原设计与历史验证;本轮新 head 的验证范围以上方记录为准。

A long-running Todo can produce new decision-relevant evidence while its settlement plan exposes only ordinary in-flight writeback. The plan now supplies an executable semantic-checkpoint variant bound to the original Goal, Todo and Turn. Historical feedback, bookkeeping and deterministic rechecks without new information remain context rather than new progress. Markdown recovery renders the command.

Open Todos with declared completion validation can retain their route and settle fresh evidence without falsely declaring a replan or completing the Todo. Refresh and exact-receipt spend share one typed qualifier in the existing Vision owner. Terminal validation, closed/stale Vision, identity matching and single-spend protections remain enforced. Autonomous review reuses its existing planning/Stride guidance instead of duplicating authoring text; settlement-only recovery does not start new work.

Validation: real File/SQLite paths across Stride off/on and soft/hard claims with declared completion validators; actual 3→2→1 route experiments, retained open Todo, terminal refusal, replay and Markdown recovery. Follow-up coverage passed 31 Python and 51 TypeScript cases. The final strict base/head output comparison passed all 98 rows without raising limits: crowded quota/Turn JSON growth is zero. That earlier output comparison predates the refinement below. Shared lifecycle data passed collection and parity checks. Full wheel construction remains unverified because the checkout lacks a qualified Chat bundle; that gate was not bypassed.

A bounded source-backed native-model task changed a valid route from cost 2 to 1 on the unchanged graph, persisted its primary outcome and spent one slot. It exercised final settlement, not the intermediate open-Todo path. Two earlier short probes remain negative evidence; differing per-wake limits prevent a matched uplift inference. Intermediate model adoption, automatic long-turn supervision and task-level gains remain unqualified.

Previous refinement (c8ca3e6): the writeback step now leads with the ordinary-versus-semantic command selection and owns the evidence/continuation instructions once. The continuation reminder is shorter while preserving acceptance gaps, plausible headroom, full marginal cost, evidence-linked decisions and accepted stop/budget/permission boundaries. The strict open-Todo checkpoint qualifier and lifecycle schema are unchanged by this refinement. English/Chinese protocol guidance and Markdown recovery observations agree with the executable plan. Existing Stride-owner tests now assert the current shared semantics instead of superseded phrasing.

Matched synthetic compact-JSON measurements against the proposal merged onto current main: ordinary settlement plan 7,918 → 7,639 bytes; in-flight plan 7,862 → 7,348 bytes; autonomous plan 7,565 → 7,491 bytes; authoring 3,010 → 2,848 bytes. These measure these projections only, not whole-packet tokens, model cost or task-level benefit.

Refinement validation: 46 TypeScript tests, 38 Python real-path/contract tests and 4 output-budget tests passed. Standard premerge passed direct checks, compilation, eight remaining catalog checks, eight risk-profile checks and the public-boundary scan. Two initial checks failed: semantic vocabulary initially lacked local TypeScript dependencies, then passed after npm ci --ignore-scripts, and maintainability reports the oversized render_canonical_todo_sections function. The latter reproduces identically on unchanged main f6d8e00 and is outside this diff; the full premerge remains failed, not waived. Independent exact-head review and merge-readiness remain pending. No merge or benchmark launch is claimed.

Signed-off-by: song <liusongstep@gmail.com>
Signed-off-by: song <liusongstep@gmail.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-02T15:43:06.386073Z 2b63620 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2b63620663

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

songoow and others added 4 commits November 3, 2026 00:42
Signed-off-by: song <liusongstep@gmail.com>
Signed-off-by: song <liusongstep@gmail.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
…uidance

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
loopx-agent
loopx-agent previously approved these changes Nov 2, 2026

@loopx-agent loopx-agent 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.

Reviewer: model_agent; gpt-6.1-sol; OpenAI; runtime_reported; reasoning_effort=max.

动机 / Motivation

推进尚未完成、且已声明最终完成验证的 Todo 的用户与 Agent。本轮已取得影响后续决定的新证据,但普通进行中结算没有可执行的语义检查点替代命令;直接选择语义结算又会被尚未完成的 Todo 验证门挡住,迫使调用者混淆阶段反馈和最终完成。本次为原 Goal、Agent、Todo、Turn 提供同一步骤的语义命令,并允许 fresh、开放且关联证据的 continue/no_change 记录后完成该 Turn 的一次写回与扣额;Todo 和最终验证保持未完成。已验证源码中的完整脚本接续与拒绝/重放边界;原生模型中间检查点采用、长期结果及完整成本仍由既有研究与交付 owner 继续验证。本 PR 不认证模型已理解反馈或采用决定,不自动启用 Stride、执行实验、改写历史或完成 Goal;安装版、完整 wheel、长轮次监督和可比完整成本/净收益仍未取得资格。

改动思路 / Approach

语义资格集中在既有 TypeScript Vision owner,Python 仅传递准备后或精确回执后的事实;同一结算计划的命令变体比另建 planner、重规划义务或扣额路径更小,也保留完成验证的独立职责。当前 PR 交付开放 Todo 的原 Turn 语义检查点、同规则写回/扣额及恢复指引;不承诺安装采用、模型遵从或父级长程收益验收。这里的“语义检查点”记录当前证据如何影响方向;它不等于重规划、更不等于最终交付通过。普通进行中推进继续使用原命令;新证据、路线变化或完成声明选择同一步骤的语义变体,之后沿原计划结算,再由新 guard 接续。旧反馈读回、记账及没有新信息的确定性重验须先用于实际推进,不能靠检查点数量制造进展。最终验证、租约、Guard 与精确回执仍由原 owner 负责。

具体改动 / Changes

本次依据不可变 merge base f6d8e001376c8e682fed6e325512c2144988d4aa 检查完整 20 文件、+670/-56,没有把远端167文件统计中已共享的主干历史当作当前改动。先读 Goal Vision/replan contract,再核对代码:Vision Checkpoint 已实现原身份材料决定与普通继续的区分;Semantic History Continuity 保留原 lane、同次证据与精确回执;Current acceptance scope and stopping 保留最终 Todo 验证、Goal 独立验收与停止边界。研究收益和模型采用没有被改称已完成。

关键代码讲解

  • qualifiesOpenTodoSemanticCheckpoint 同时核对原身份及 effect、已接受的材料检查点、开放 Vision 和有证据的 continue/no_change;闭合别名、最终声明、无证据和仅 unchanged reason 不进入例外。
  • turnScopedCliSettlementPlan 保留步骤与普通命令,将语义模板和编写契约放到同一写回步骤;没有第二次认领、Guard 或扣额。
  • refresh_state_run 先构造检查点,再把准备后的事实交给共享资格函数,仍在 append 前执行完成验证围栏。
  • qualified_open_todo_semantic_checkpoint 让扣额侧对精确回执使用同一 TS 规则。共享 JSON 只汇集既有闭合状态,Python/TS 别名兼容由负例核对;Markdown 恢复也显示相同命令。

对主干的风险 / Risks

最强风险是借阶段证据绕过最终验证、跨 Turn 借用 Vision,或把历史反馈当作本轮工作。PASS:6个完整 Python 模块213项、7个完整 TS 模块269项及类型检查;真实 File/SQLite、两种 claim 模式、Stride 开关、旧反馈、恢复和后续工作均有覆盖。独立同输入对照在 base/head 的 File/SQLite 各跑两项:base 拒绝开放材料检查点,head 只提交一次并在重放后扣额一次;两端均拒绝闭合 Vision 和 primary outcome,Todo 始终 open、完成验证待办。脚本路线成本2→1证明实际本地接续,不证明模型采用。旧 review 的 P2(开放且声明完成验证的 Todo 无法保留路线结算)已按实际验证器场景重验;本 head 修复了该缺口,没有假称已替其他 reviewer 关闭讨论。

FAIL/独立归因:维护性命令在两端仍 exit1,render_canonical_todo_sections 为94 statements/61 decision points,超过90/60。完整 JSON 仅移除 repository_root 后相同,致因文件 blob 相同,没有新增或恶化 finding。standard premerge 的6 direct/19 selected 已执行,其余检查通过,但该基线失败仍产生 1个 manual hold;没有降低门槛或把它标绿。CI 未查询、轮询或等待,原因保持未知且属于诊断项。完整 wheel、安装版及模型长程收益保持 UNVERIFIED;相关源码及结果与 #7928 的组合资格分别判断。

我的整体评价 / Verdict

没有发现阻塞本次检查点实现的缺陷。长程维度接受这个有界取舍:多一条明确命令与必要判断文字,换取不伪造 Todo 完成的语义接续;模型收益、完整成本尚未证明。用户体验在既有 CLI/Markdown 恢复上得到改善,没有新增页面。边界内的精确身份、闭合状态、终态拒绝和实际后续工作均已核验。重用现有词汇及 typed owner,并把闭合词表/资格规则共享,属于本次已应用的有界简化;无需附带更大重构。批准源码 proposal,同时保留上述维护性合并 hold;批准不授予合并、安装或实验权限。

English verdict: APPROVE c8ca3e6ff543cb151316f5f4f3a870fbfd7e6bb0; bounded semantic checkpoint verified, unchanged baseline validation hold retained, model adoption and net benefit unverified.

@songoow
songoow dismissed loopx-agent’s stale review November 2, 2026 19:57

The merge-base changed after approval.

loopx-agent
loopx-agent previously approved these changes Nov 2, 2026

@loopx-agent loopx-agent 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.

Reviewer: model_agent | runtime_reported | model=gpt-6.1-sol | provider=OpenAI | reasoning_effort=max

动机 / Motivation

在长任务尚未完成、但本轮已有可验证新成果时,需要记录进展并继续工作的 Agent。旧版遇到带完成验收器的未完成 Todo,会拒绝普通进度的语义 checkpoint,迫使调用者错误地重规划或过早宣称完成;新版允许有新证据的进度回写,同时保留原 Todo 和最终验收。File/SQLite 中真实生成去重产物后,新 checkpoint 成功;原 Todo 仍 open、最终验收仍 pending,writeback 重放不追加,spend 重放只产生一次扣额。不把进度当作最终验收,不自动开启 Stride 或增加额度;不资格化模型采纳、安装 Host、长期净效益或整个研究目标。

改动思路 / Approach

checkpoint 的资格判定应由现有 TypeScript Vision owner 统一供 refresh 与 spend 使用;这样可避免两处独立放宽完成验收,同时保留原身份和终态防线。当前边界是普通进行中任务的语义回写、原身份结算及可用的 CLI 指引;长期模型收益、独立最终验收和安装采用仍需各自证据。 将“允许记录已验证进度/恢复提示”与“授予执行和最终验收”分开是必要的最小修复;单纯放宽错误码或替换一处显示字符串不能完成原任务。保留原 owner 与调用顺序,没有新建权限体系或持久影子状态。

具体改动 / Changes

按实际共同基线审阅全部20文件(+670/-56),而非把远端文件清单中的主干历史当本次增量。共享 lifecycle JSON 由既有 package-data 的 *.json 收录;Python 与 TypeScript 共享闭集,保留合法自定义开放状态。refresh 和 spend 都使用统一资格判断,CLI/Markdown 和协议同时说明新证据、继续条件和原停止边界。旧批准因 merge-base changed 被撤销,本轮没有继承其结论;旧 P2 concern 由本轮真实开放 Todo 验证重审。

  • qualifiesOpenTodoSemanticCheckpoint:统一核验原 Turn/Goal/Agent/Todo、material outcome、patched checkpoint、开放 Vision、acceptance 和 continue/no_change 证据;任一条件不满足不放宽终态验收。

  • refresh_state:先准备并验证 Vision,再用该可信结果判断进行中语义回写;不会仅凭调用者 reason 字段绕过验收。

  • turnScopedCliSettlementPlan:在原 ordered steps 上提供 semantic_closeout 变体,沿用原 effect/Turn 和扣额步骤,普通路径不启动 Stride。

  • goal_vision_state_is_closed:Python 与 TypeScript 复用新 JSON 中既有生命周期闭集,同时保留既有合法自定义开放状态。

修改前契约:docs/reference/protocols/goal-vision-replan-contract-v0.md,不可变版本 f6d8e001376c8e682fed6e325512c2144988d4aa。采用原文节标题作为 criterion_id:

  • Vision Checkpoint:普通进行中回写与语义边界分开,终态与独立验收不能被伪造进度替代。 implemented,由上述源码和本轮真实入口/负例/重放验证。

  • Semantic History Continuity:同一执行的语义证据连续保留,不重复扣额、不把旧反馈当作新成果。 implemented,由上述源码和本轮真实入口/负例/重放验证。

  • Current acceptance scope and stopping:进度不等于 Goal 完成,原预算、权限和停止条件继续约束执行。 implemented,由上述源码和本轮真实入口/负例/重放验证。

对主干的风险 / Risks

closed/no_followup 与 primary_goal_outcome 不能借进度变体绕过最终验收;错误 identity、缺验收描述和 reason-only 均应拒绝。 独立同一输入 base/head、File/SQLite × declared-validator/ordinary 共八个场景。真实进程把 [7,3,7,1] 写成 [1,3,7] 并绑定产物证据;head 进行中更新通过,原任务和 lease 完整快照不变。229 Python、250 TypeScript 和 TypeScript typecheck PASS。标准 premerge 的19项无功能失败,但 exit1/manual_review_required,benchmark_sensitive 人工 hold 未解除。维护性 ratchet 在不可变 base 和 head 同命令均 FAIL,唯一未评审 finding 是未改动的 render_canonical_todo_sections;其 source blob 完全相同,完整输出 SHA-256 均为 cf76649ea9ea9cf4309c84578d371fc64bc855de2d23b33ac9d2d3dcb39373ac。原 FAIL 与 CQR 必需验证门继续保留,不能写成 PASS 或 waiver。

按当前策略未获取、轮询或等待远端 CI。File/SQLite 为隔离真实 backend,不是模型采纳或安装后资格;Windows 原生执行和实 PostgreSQL 未跑,当前增量不改对应 store/authority owner。未以此修改要求或宣称其他未验证维度通过。

我的整体评价 / Verdict

APPROVE:未发现当前功能阻塞项。 checkpoint 的资格判定应由现有 TypeScript Vision owner 统一供 refresh 与 spend 使用;这样可避免两处独立放宽完成验收,同时保留原身份和终态防线。当前边界是普通进行中任务的语义回写、原身份结算及可用的 CLI 指引;长期模型收益、独立最终验收和安装采用仍需各自证据。已检查实际增量和 CLI JSON/Markdown 消费者,没有图形页面变更;远端较大的历史文件清单不作为本次 UI 范围。视觉未验证范围:无适用的图形页面变更;运行边界是精确 head 的隔离 source checkout。这份代码评审结论与 CQR/benchmark 人工合并门分开:维护性 FAIL 不被归因转绿,合并仍保留限制。当前 bounded 修复有真实可用结果,不需要为已完成修复另建仪式性后续任务。模型采纳、安装 Host、长期完整成本/净收益仍未验证;没有执行合并或部署。

English verdict: APPROVE — head c8ca3e6ff543cb151316f5f4f3a870fbfd7e6bb0; no blocking regression found in the changed invariants. Real File/SQLite progress, terminal-negative and replay checks pass. The unchanged maintainability failure, CQR qualification failure and benchmark manual hold remain separate merge restrictions.

@songoow
songoow dismissed loopx-agent’s stale review November 2, 2026 22:59

The merge-base changed after approval.

@songoow songoow left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Reviewer: model_agent | runtime_reported | model=gpt-6.1-sol | provider=OpenAI | reasoning_effort=xhigh

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

REQUEST_CHANGES:发现一处 P2 的结算指引冲突;本次没有复现绕过最终完成验收。 以下结论针对 head c8ca3e6ff543cb151316f5f4f3a870fbfd7e6bb0,不沿用之前的批准。

动机 / Motivation

受影响的是推进带独立完成验收器、但尚未完成的长任务的 Agent。旧版会拒绝保留原路线的阶段语义检查点,调用者可能被迫伪造重规划或提前完成 Todo。提案允许记录真实新证据并结算本轮额度,同时保留原 Todo 和最终验收器。这是阶段结算能力的扩展,不能表述成完全没有改变验收前的记账规则。扣额指引仍遗漏新增例外,CLI 接续尚未完整。模型中途采用、安装版和长期净收益仍未验证;本次复核不认证这些结果。

改动思路 / Approach

原始 #3229 的范围比“禁止提前标记完成”更广:独立验收前还阻止 accountable refresh 与 quota settlement。#4406 后来允许普通进行中进展,#4764 的相关提交允许有效重规划。当前提案进一步加入 semantic_closeout 下保留路线的阶段进展。因此它与后来的“Turn 结束和 Todo 完成分开”方向一致,但相对最初的绝对门禁确实增加了例外,应当按行为变更审阅。

资格判断集中在现有 TypeScript Vision owner,Python 传递准备后的事实或精确回执;这避免了写入和扣额分别放宽验收。本次边界只应是原身份的阶段写回、一次扣额与可执行接续,最终 Todo 验收由原 owner 保留。最小修复是在同一计划中补齐扣额指引,不需要另建 planner、取消验收器或要求虚假重规划。当前机制可以保留,但指引修复前不能把闭环交付视为完整。

具体改动 / Changes

关键代码讲解

  • qualifiesOpenTodoSemanticCheckpoint 限定 outcome_progress、原 Goal/Agent/Todo/Turn/effect、已接受的材料 checkpoint、开放 Vision、有证据的 continue/no_change,并拒绝 completion_todo_id。它资格化阶段记录,不独立核验证据指针的事实真伪。
  • refresh_state_run 先构造 checkpoint,再在 durable append 前执行原验收围栏与新例外判断;扣额侧读取精确回执后复用同一规则。
  • turnScopedCliSettlementPlan 提供新命令并让调用者沿剩余步骤结算,但后续 quota_spend 的前提文字没有列出新增分支,这是本次发现的问题。

修改前规范:docs/reference/protocols/goal-vision-replan-contract-v0.md,不可变修订 f6d8e001376c8e682fed6e325512c2144988d4aa。按原文标题映射:Vision Checkpoint 的材料决定与普通推进区分已实现,但新增分支的完整步骤指引仍有下述缺口;Semantic History Continuity 的原身份与单次扣额已验证;Current acceptance scope and stopping 的最终验收与停止边界仍保留。新资格是复用既有词汇和 owner 的明确扩展,并非旧规则的字面等价替换。

PR 比较基线已刷新为 main,head 保持不变:现在为6个独有提交、20文件、+670/-56。按实际 diff 分类,运行代码12文件+160/-44,指导文档2文件+83/-9,测试6文件+427/-3。此前167文件、+8415/-3305的统计混入了分支同步主干的历史;本次仅刷新比较基线,没有添加提交或重写历史。

对主干的风险 / Risks

P2:扣额前提没有覆盖刚新增的开放 Todo 语义检查点

触发条件是:Todo 声明最终完成验收器且仍 open,本轮选择 semantic_closeout,提交 fresh、open 的 Vision 和 continue/no_change;没有 in_flight_continuation,也没有语义重规划 ACK。实际 CLI 的写回和一次扣额均成功,但同一计划的 quota_spend.precondition 仍仅列出“验收已完成 Todo,或 qualified in-flight/replan progress”。写回步骤要求沿剩余计划执行,而扣额步骤没有说明这个新分支满足前提。遵循步骤前提的 Agent 因此可能停在写回之后,或者误以为还必须完成 Todo/伪造重规划。

最小修复:在现有 TypeScript 计划 owner 的扣额前提中明确列出经过同一资格判断的开放 Todo 语义阶段进展,同时说明最终验收仍待完成;用真实 guard 生成的计划核对这个实际可扣额场景。不要通过取消验收器或把该场景冒充为 in_flight_continuation 来修复。定位:settlement_plan.ts 的新写回指引91–102行及后续扣额前提124–126行。这里验证的是发出的文字与实际分支不一致,没有宣称已用真实模型复现因此停滞。

独立同输入对照覆盖 File/SQLite × 有/无验收器:旧版对带验收器的阶段检查点拒绝、0扣额;新版成功且重放后仅1次扣额。两端都拒绝未验收的 primary_goal_outcome、闭合 Vision 和错误 Turn。真正执行的验收器返回失败时,Todo 保持 open;将隔离控制器切为通过后,验收器再次执行,Todo 才变成 done。普通无验收器路径保持通过。因此没有复现直接绕过最终完成验收,但阶段记账门禁的放宽已经实测成立;证据字段通过结构校验也不等于独立评测通过。

语义与 CI 对齐

PASS:225项 Python、210项 TypeScript、原 accountability smoke、类型检查、diff whitespace 和双语 RFC 检查。FAIL/独立归因:维护性检查在不可变 base 与 head 同命令均因未改动的 render_canonical_todo_sections 超限失败,失败文本一致;保留该失败,未降低阈值。远端 CI 没有轮询等待,其状态不替代此次源码证据。完整 wheel、安装版、真实模型中途采纳和长期成本收益仍为 UNVERIFIED。

我的整体评价 / Verdict

最终 Todo 验收没有发现本次新增的直接绕过路径,阶段结算则是有意扩展而非规则完全不变。原身份、终态拒绝、实际验收执行与重放边界有真实后端证据;缺口在于新机器分支没有完整投影到扣额指引,影响 Agent 使用这条路径完成接续。长程收益仍未资格化,CLI 用户体验的这处指令冲突应先修正,再对精确新 head 复审。实际增量不包含图形页面,视觉检查不适用;检查的是源码 CLI/Markdown 消费路径,安装版视觉与采用不在本次证据范围。未执行合并、部署或评测任务启动。

English verdict: REQUEST_CHANGES — head c8ca3e6; align the quota-spend guidance with the new open-Todo semantic checkpoint. Final completion validation remains enforced in the tested File/SQLite paths.

@loopx-agent loopx-agent 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.

Reviewer: model_agent | model=gpt-6.1-sol | provider=OpenAI | runtime_reported | reasoning_effort=max

Request changes conclusion

[P2] 把开放 Todo 的语义检查点纳入扣额前提。 未完成 Todo 声明 completion validation,本次新证据支持 continue/no_change,按新命令选择 semantic_closeout。 实际写回与扣额成功,但 quota_spend.precondition 仍只允许 Todo 完成或 in-flight/replan;遵循整份 plan 的 Agent 会在写回后停住,或被引向虚假的完成/重规划。 让扣额步骤明确接受本次新增的、原身份且精确回执绑定的 open-Todo semantic checkpoint,保留最终完成验证与 no-spend 阻塞分支。

动机 / Motivation

持续处理同一未完成任务、需要用新结果决定下一步的 Agent 与维护者。 过去只有普通进行中写回命令;本 PR 给同一次工作增加可执行的语义检查点,让新证据进入既有 Vision 决策,同时保留原 Todo。 独立 File/SQLite 实测证实新检查点可写回并只扣额一次,但后续扣额指引遗漏这条合法路径,整份计划仍有矛盾。 本次不认证模型采用、真实宿主长轮次监督、完整成本净收益或整个父级 roadmap 完成。

改动思路 / Approach

Core typed qualifier、Python 传输和既有计划投影分工可保留;修正文案遗漏即可,不需要额外状态或反馈分类器。 当前 PR 的有用边界是同一开放 Todo 的新证据写回、精确扣额和继续路径。 新资格复用 isAcceptedProgressWriteback、既有 Vision/path_delta 与 identity;封闭状态常量改为 TS/Python 同源 JSON,没有第二个 Python 决策 owner。 选择现有 owner 的显式变体可保持回滚与调用方可读性;此次不要求整个长期监督或管理协作 roadmap 一并完成。小补丁也要把真正使用者从入口到结果的路径接通,不能只凭字段存在或 suite 通过判断交付。

具体改动 / Changes

完整审查 c8ca3e6ff543cb151316f5f4f3a870fbfd7e6bb0 相对实际共同基线 f6d8e001376c8e682fed6e325512c2144988d4aa,20文件 +670/-56。 spec_ref=docs/reference/protocols/goal-vision-replan-contract-v0.md,spec_revision=f6d8e001376c8e682fed6e325512c2144988d4aa;修改前规范的 Vision Checkpoint 是独立验收依据。原身份、终态验证和阶段有序结算要求 implemented;新增路径的整份指导尚未自洽。

  • turnScopedCliSettlementPlan 生成同一 identity 的语义变体,要求 fresh Vision/path_delta 并跟完剩余步骤;扣额前提 仍只有完成验证或 in-flight/replan 两种情形。
  • qualifiesOpenTodoSemanticCheckpoint 在原 TS owner 检查 exact identity、open Vision、outcome_progress、continue/no_change 与证据;Python 的写回 fence 和 spend 都复用它,没有新增第二个决策 owner。
  • 共享 JSON 保留旧闭合状态与 alias 行为,普通 authoring 新增持续优化提醒;autonomous replan 沿原 owner,不把提醒当作自动工具结果分类或新授权。

对主干的风险 / Risks

独立运行三个完整 owning Python 模块 185 PASS、三个 TS 文件 46 PASS,TS typecheck 与修改 Python 的 Ruff 通过。独立同一 harness 在不可变 base 和本 head 跑 File/SQLite × continue/no_change 四组:base 的语义写回被完成验证挡住;head 写回、单次扣额及重复扣额幂等均成功,Todo 一直 open 且保留 validator。写回前用未验证终态另试,两个版本都由 completion validation 拒绝;写回后更改 payload 的重放则由 conflict 拒绝,未把这两条拒绝混称为同一验证门。

标准 premerge:6个 direct 通过,19项执行中保留1项 advisory ratchet 失败,并有 benchmark-sensitive manual hold,最终状态 manual_review_required。相同 ratchet 命令在 base/head 的完整输出相同,指向未修改的 render_canonical_todo_sections。配置 mypy 在两版本均786错误/125文件,完整诊断仅去除源码行列号后逐字相同;修改文件中的两条也位于原有循环。保留这些失败和独立合并 hold,不要求此 PR 顺带清理无关债务,也不提高预算。

没有查询、轮询或等待 GitHub CI。独立探针是合成隔离验证;尚无修复后 head,不能称 blocker 已解除。

我的整体评价 / Verdict

REQUEST_CHANGES。 让扣额步骤明确接受本次新增的、原身份且精确回执绑定的 open-Todo semantic checkpoint,保留最终完成验证与 no-spend 阻塞分支。 Core typed qualifier、Python 传输和既有计划投影分工可保留;修正文案遗漏即可,不需要额外状态或反馈分类器。 本次改动位于结算 CLI/Markdown 与既有决策契约,没有渲染页面改动。 已安装宿主和模型消费未验证;未观察独立页面的布局变化。 维持原权限、停止条件和长期开放任务;不从本次审查推断模型采用或净收益。本次独立复核最新讨论的具体问题,不重发被撤销的批准,也未撤销其他 review。

English verdict: REQUEST_CHANGES — exact head c8ca3e6ff543cb151316f5f4f3a870fbfd7e6bb0; the new open-Todo semantic checkpoint succeeds, but the spend precondition omits that supported branch. Reconcile the complete plan while preserving terminal validation and exactly-once settlement.

Merge current main and preserve the exact original-identity writeback requirement.
Include fresh open-Todo semantic checkpoints in the projected quota-spend
precondition without waiving terminal completion validation.

Validation: 22 Python and 46 TypeScript cases passed; control-plane typecheck,
Ruff, bilingual RFC and public-boundary checks passed.

Signed-off-by: song <liusongstep@gmail.com>

@loopx-agent loopx-agent 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.

Reviewer: model_agent · Gemini 4 Argon · Google · self_reported

动机 / Motivation

推进尚未完成且声明最终完成验证的 Todo 的调用方与 Agent。
此前在进行中结算时,若取得影响后续决定的新证据但 Todo 未完成,缺乏可执行的语义检查点;直接选语义结算又会被终态验证拒绝。现在提供同一步骤的语义命令并允许 fresh open-Todo semantic checkpoint 记录写回与扣额,同时保持 Todo 和最终验证处于 open 状态。
结算计划 ordered_steps 明确包含 fresh open-Todo semantic checkpoint 分支,且真实执行测试 9 个 Python 用例与 46 个 TS 用例均验证通过,未豁免终态完成验证。
不认证模型已理解反馈或采用决定,不自动执行 Stride 实验、改写历史或豁免终态验证;更不代表生产环境自合并授权。

改动思路 / Approach

语义资格集中在既有 TypeScript Vision owner,Python 仅传递准备后或精确回执后的事实;同一结算计划的命令变体比另建 planner、重规划义务或扣额路径更小,也保留完成验证的独立职责。当前 PR 交付开放 Todo 的原 Turn 语义检查点、同规则写回/扣额及恢复指引;不承诺安装采用、模型遵从或父级长程规划改写。复用 isAcceptedProgressWriteback、既有 Vision/path_delta 与 identity;封闭状态常量改为 TS/Python 同源 JSON,没有第二个 Python 决策 owner。选择现有 owner 的显式变体可保持回滚与调用方可读性;此次不要求整个长期监督或管理协作 roadmap 一并完成。小补丁也要把真正使用者从入口到结果的路径接通,不能只凭字段存在或 suite 通过判断交付。

具体改动 / Changes

审查精确 head fc655cdb881060c4de401363b9b1a50bf07a03a4 相对主干基线 ec5c9702c79cbc68ab994b18031e9069b0935b59,20 个文件(+683/-58)。规范依据 docs/reference/protocols/goal-vision-replan-contract-v0.md(基线修订版本 ec5c9702c79cbc68ab994b18031e9069b0935b59),涵盖独立规范准则 vision-checkpoint-exact-identity 与 terminal-completion-preserved。

关键代码讲解

  • turnScopedCliSettlementPlan:生成同一 identity 的语义变体,要求 fresh Vision/path_delta 并跟完剩余步骤;扣额前提明确说明 exact original-identity durable writeback receipt 存在时,允许 fresh open-Todo semantic checkpoint 扣额,同时明确 progress does not waive terminal completion validation。
  • qualifiesOpenTodoSemanticCheckpoint:在原 TS owner 检查 exact identity、open Vision、outcome_progress、continue/no_change 与证据;Python 的写回 fence 和 spend 都复用它,没有新增第二个决策 owner。
  • qualified_open_todo_semantic_checkpoint:Python 侧对应校验逻辑,确保在非终态语义检查点时不跳过终态完成验证门禁。

对主干的风险 / Risks

独立运行测试验证:

  • Python tests/control_plane/test_material_feedback_checkpoint.py 9 个端到端用例全部通过(涵盖 File/SQLite、soft_claim/hard_lease、preexisting_feedback 多维度交叉测试)。
  • TypeScript tests/control_plane_ts/open_todo_semantic_checkpoint.test.ts、quota_settlement_plan.test.ts、replan_semantics.test.ts 共 46 个单元测试全部 PASS(耗时 262ms)。
  • scripts/check_rfc_bilingual.py 双语规范校验通过。
  • tests/canary/test_premerge_public_boundary_run.py 13 个预合并公共边界用例全部 PASS。

根据本 Goal 配置 wait_for_ci=false,不轮询外部 CI 状态。测试充分验证了语义检查点与终态验证的隔离互斥。

语义与 CI 对齐

复用现有 settlement_plan 词汇,新增分支只覆盖原身份绑定的阶段性检查点,不改变任何终态 completion validation 规则;typed_blocked_writeback_no_spend 继续维持零扣额。代码保持跨语言 TS/Python 逻辑完全对称,不存在兼容 shim 泄漏风险。

我的整体评价 / Verdict

APPROVE。 针对上一轮对 c8ca3e6ff543cb151316f5f4f3a870fbfd7e6bb0 提出的 REQUEST_CHANGES 意见,贡献者在最新 head fc655cdb881060c4de401363b9b1a50bf07a03a4 中已完整修复:quota_spend.precondition 明确补充了 fresh open-Todo semantic checkpoint 对应分支,且保持了 terminal completion validation 的严格检查。本地完整测试(9 Python + 46 TS + 13 Canary + RFC Bilingual)全部通过,无破坏性变更或冗余兼容层残留。

English verdict: APPROVE - head fc655cdb881060c4de401363b9b1a50bf07a03a4 cleanly resolves the missing spend precondition branch for open-Todo semantic checkpoints while strictly preserving terminal completion validation. All 9 Python and 46 TypeScript tests pass with full boundary compliance.

@songoow
songoow merged commit f271dc9 into main Nov 3, 2026
29 of 41 checks passed
@songoow
songoow deleted the codex/full-feedback-20261102 branch November 3, 2026 05:43
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