Skip to content

docs(acceptance): show owner scope reconciliation before supersession - #8581

Merged
huangruiteng merged 1 commit into
loopx-project:mainfrom
xiaobaifly7:codex/docs-owner-check-reconcile
Nov 11, 2026
Merged

huangruiteng merged 1 commit into
loopx-project:mainfrom
xiaobaifly7:codex/docs-owner-check-reconcile

Conversation

@xiaobaifly7

Copy link
Copy Markdown
Contributor

Goal And Delivered Outcome

  • Outcome basis: a reproduced owner-workflow documentation gap in executable acceptance reconciliation.
  • Before: superseding an obsolete bound Todo is rejected; removing its binding while retaining all_advancement still leaves it held as unbound. Guidance does not show the complete owner update.
  • After: the acceptance reference contains a runnable full selected_work replacement preserving accepted parser work, the current successor, final checks and bindings, followed by exact lease-fenced supersession. Workflow guidance and CLI help link to the same example.
  • Intended base: main. Related to Persist user corrections to success criteria before dependent work #8199's existing additive-requirement boundary; no issue is closed.

Author Declaration

  • Written by: model_agent — OpenAI Codex (GPT-6).

Implemented against

  • Specification and revision: existing acceptance schema/owner and direct-correction guidance at 172fe40f220af6ca03a46583034b055bb67277a6; the documentation repair requested in this PR is the outcome basis.
Criterion Disposition Symbol / path Validation
Explicit scope, full retained criteria and bindings implemented docs/reference/goal-acceptance-observations.md#owner-check-scope-reconciliation; acceptance_contract.ts The test loads the actual documented JSON and applies it to File and SQLite stores.
Owner authorization, provider CAS and operation provenance implemented Reference example and goal_acceptance.py help Preview/apply/exact replay preserve operation ID and canonical provider revision; existing owner and stale-write tests pass.
Legal supersession with an existing successor and raw lease pair implemented Reference example; test_owner_check_scope_example.py Real CLI rejects both inadequate configurations, then accepts supersession after owner reconciliation.
Preserve additive immutable outcome requirements implemented outcome-refinement.md and reference boundary Complete retained outcome readback is unchanged through configure and supersession.
  • Self-check: read the actual schema, configuration owner, terminal acceptance guard and CLI argument validation; executed the documented check body on both canonical backends; reviewed the public diff and links. No protocol, storage or authority behavior is changed.

Scope And Continuation

Complete within this documentation/help scope. No successor or other unmerged CLI change is required: the example uses the already-supported raw lease key/version. English and Chinese guidance live in the same reference, with a Chinese entry link; no paired RFC changes.

Conservative policy: scope narrowing requires existing explicit local-owner authorization and review of the complete replacement, including all unaffected validators, pins/oracles and work associations. It deliberately excludes obsolete work and stops automatic coverage of future Todos. Preserve the original configuration, correction source, reviewed document and native receipt. Retrying an uncertain operation keeps its original ID and provider revision; a confirmed conflict requires current readback and a newly reviewed operation. Supersession does not verify successor output or complete the Goal. This recipe does not retire, overwrite or resolve contradictory persisted additive outcome requirements; those remain explicitly unresolved unless a supported owner amendment actually reconciles them. Omitting --agent-id selects the trusted local-owner role and is not authentication.

Validation

  • Tested revision: 7e70952f71e8fc32458db6ccff54616295424f1b (the committed content tested locally).
  • Run state: finished.
  • Input classes: synthetic, public_fixture.
Check kind Result Public-safe evidence / limitation
real_entrypoint / real_backend passed python -m pytest -q tests/control_plane/test_owner_check_scope_example.py — 2 passed, one each on disposable canonical File and SQLite stores. The only document substitution is the active Python executable.
integration / negative cases passed Both backends return goal_acceptance_validation_required for bound obsolete work and goal_acceptance_unbound after binding-only replacement. Explicit owner scope reconciliation then permits raw lease-fenced supersession, preserving accepted work, open successor/final work and outcome requirements. Artifact verification fails before current/final output exists and passes only after matching output is written.
integration passed 10 selected existing cases in tests/control_plane/test_goal_acceptance_cli.py: owner configure/validation/disable, Agent denial/stale owner write, and bound-work terminal escape prevention. 30 unrelated cases deselected.
static passed Targeted Ruff on the two Python files; git diff --check; workflow/help link and documentation anchor validation; staged bilingual RFC diff check.
manual passed Read actual python -m loopx.cli goal-acceptance --help; full replacement schema, provider-revision/operation guidance and documentation target are present.
static passed Public-boundary scan of all four changed files and this PR body, using an empty disposable registry/runtime.
integration not_run Full repository suite, PostgreSQL and installed host workflows: documentation and help text only; no backend logic or installed runtime changed. Remote CI is separate.

The scripted journey establishes executable guidance and retained authority boundaries, not future model compliance or completion of a real Goal.

Frontend / Visual Evidence

  • UI impact: none. Documentation content and CLI help text only; no documentation chrome or frontend layout changes.
  • Before / after viewport, preview, states, source data, attention and craft review: N/A.

Type of Change

  • Documentation update
  • Test update

LoopX Area

  • Public docs or presentation surface
  • Control plane (CLI help and existing acceptance integration tests only)

Technical Direction

Existing owner-authorized executable acceptance and direct-correction workflow. No new semantic vocabulary, capability or provider.

Shared-authority RFC fixture impact

N/A: no migration, provider promotion, runtime-routing or compatibility-projection claim. File/SQLite are disposable correctness arms for the existing owner workflow.

Boundary Checklist

  • Diff and PR body disclose no private state, credentials, raw traces, internal links or local machine paths.
  • No maintainer-owned benchmark work duplicated.
  • Change is scoped to the reproduced owner reconciliation guidance gap.
  • No paired RFC changed; bilingual diff check passed.
  • UI impact is none.
  • Every commit includes a DCO sign-off using the prior signed contributor identity.

No upstream merge or local integration merge is requested or performed.

Signed-off-by: xiaobaifly7 <196511160+xiaobaifly7@users.noreply.github.com>

@songoow songoow 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 Astra Pro · OpenAI · self_reported

评审提交:7e70952f71e8fc32458db6ccff54616295424f1b,基准 dc145b3044cc61fbba7403adb4dd900482c9ebdd。已读完整 4 文件(+276/-1)、作者声明、原验收 schema/owner/终态调用链及直接更正指导,并亲自执行文档中的 JSON 和真实 CLI。

动机 / Motivation

已获明确更正授权的本地 owner,需要替代过时 Todo,同时保留原目标、已验收工作和最终检查。 旧指导没有完整说明检查范围协调:直接 supersede 会因未验证受阻,只删 binding 仍把旧任务留在 all_advancement;新示例明确审阅整个 selected_work 配置后,再用真实 lease 替代旧任务。 本轮在真实 File 和 SQLite CLI 中复现两种旧路径的拒绝,再按文档 JSON 完成预览、应用、同操作重放和替代;保留工作与累计要求不变,新产物仍须通过实际检查。 这次只补齐既有 owner 工作流的文档、CLI 帮助和可执行例子,不新增授权,不撤销不可变成果要求,也不证明真实 Goal 或模型已经完成交付。

改动思路 / Approach

将完整、可执行的例子放在已有验收参考中,再从工作流与 CLI 帮助引用它,能够修复实际操作缺口并继续由现有 typed owner、CAS 和 lease 维护权威。 本 PR 的运行时代码改动仅是 argparse 帮助文本;范围协调、重复操作恢复、终态验证与不可变成果记录均复用原实现。

这里要修复的是两个不同条件:Todo 是否属于 owner 指定的检查范围,以及该范围内的 Todo 是否绑定并通过检查。删 binding 只会产生 unbound,并不会撤回范围。示例要求 owner 明确保留 parser、当前替代任务、最终检查和完整 validator 配置,再把 obsolete Todo 从范围与绑定同时移除。它同时说明,改成 selected_work 后未来 Todo 不会自动进入;这是一项需审阅的覆盖变化,不能由 Agent 自行当成“修掉阻塞”。

具体改动 / Changes

关键内容与实际 owner

  • 完整参考例子 给出可执行且有界的实际产物检查,保留 accepted/current/final 三类工作,明确公共 inspect 不包含 argv,不能据此重建完整配置;原配置、pins/oracles、更正来源和回执必须一并保留。扩展 selected_work 文档不混用 compact outcome authoring 的 outcome_id。
  • 配置 owner 没有改动:先处理既有 operation receipt,再在当前 provider revision 上验证完整文档与显式范围,记录 owner 确认的绑定,最后沿原 CAS 提交。文档正确使用 provider_revision 而非数值 contract revision;丢响应原样重试,确认冲突后重新审阅并新建操作。
  • CLI 帮助 和 工作流指导 指向同一完整例子。省略 --agent-id 选择已有可信本地 owner 角色,不等于身份认证或产生授权;只有明确现有授权才可走此路径。
  • 文档执行测试 直接读取 Markdown 中的 JSON,只替换 Python 可执行文件。它通过真实 File/SQLite authority,先复现 validation_required 与 unbound,再验证 planned/applied/replayed、实际 lease pair 的 supersede,以及保留 outcome_requirements、原已完成任务和仍未完成的当前/最终任务。

依据 基准 scope/schema 契约 和现有配置 owner:explicit_retained_scope implemented,完整保留受影响范围外的检查与工作;owner_cas_replay implemented,明确授权、provider CAS 与固定操作身份;legal_supersession implemented,原 raw lease 路径即可使用已有 successor;immutable_outcome_history implemented,配置可执行检查不撤销累计的不可变要求;real_goal_completion out_of_scope,例子不声明真实项目完成或模型遵从。

对主干的风险 / Risks

最强风险是读者把“去掉阻塞”理解成删除验收、自动收缩所有工作,或错误地宣称已解决不可变要求之间的冲突。正文同时限定原目标与未受影响验收有效、完整 owner 审阅、未来 Todo 不再自动覆盖,并明确矛盾的持久化要求仍是 unresolved;supersession 只记录过时历史,不验证新产物、不代替后续 claim/lease/检查,也不完成 Goal。新帮助文本只有简要示例,因此保留到这份完整参考的链接是必要的。

PASS 本轮 42 项 Python 测试,覆盖文档两种 canonical backend 及整组既有 owner/陈旧写入/终态防逃逸案例。另执行独立记录脚本,File 和 SQLite 各 27 次真实 CLI 调用:文档工作流完成后新增 Todo 不进入 selected_work;把已覆盖 Todo 改成 blocker 再尝试完成,返回 goal_acceptance_stale 且保持 open。恢复不是停在错误回执:原例子真实完成 owner 配置、旧任务替代,缺新产物时 verify 失败,写入符合要求的产物后才通过。

PASS 实际 CLI 帮助的基准/候选对照:原有参数与帮助段落保持,新增加 owner scope 示例和链接;该固定基准 beff0f3e55d1 到 PR base 的相关 CLI/owner/schema 文件未变。PASS quick premerge 的 6 项直接检查、maintainability、语义扫描、CLI output budget 和 public boundary。远端 build 红色及部分等待检查仍保留,原因未充分归因,不能用本地通过声明 CI 已修复。

本 PR 不改变渲染组件、文档框架或页面布局,视觉检查不适用。没有执行 PostgreSQL、安装版宿主或真实生产 Goal;本次验证是一次性公开 fixture 上的实际现有 owner 工作流,不外推为实际模型会遵从每条指导。

我的整体评价 / Verdict

交付判断 goal_achieved:原先容易误用的 owner 协调步骤现在可从帮助直接找到,并有执行文档本身的回归保护。长程连续性为 preserved,已接受工作、历史、真实检查和 immutable outcomes 未被偷换;操作体验为 improved,明确区分 scope、binding 与通过检查三件事。

这 276 行主要是完整参考和可执行例子,生产仅 +12/-1 的帮助文本,没有另建 owner 或通用状态机制,规模与操作风险相称。没有发现需要阻断该 SHA 的问题;远端 CI 和仓库既有合入门禁仍须独立满足。

English verdict: APPROVE at 7e70952f71e8fc32458db6ccff54616295424f1b. The runnable owner-authorized reconciliation preserves retained work and checks, uses the existing CAS/replay and lease owners, and clearly separates executable coverage from immutable outcome requirements. It does not confer new authority or establish completion of a real Goal.

@huangruiteng
huangruiteng merged commit 498e174 into loopx-project:main Nov 11, 2026
34 of 45 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.

3 participants