From d4a1380bca9dff36fd96f388dd091ef62a592350 Mon Sep 17 00:00:00 2001 From: huangruiteng <14976749+huangruiteng@users.noreply.github.com> Date: Thu, 24 Sep 2026 08:33:27 +0800 Subject: [PATCH 1/3] docs: define managed team result readback boundary Signed-off-by: huangruiteng <14976749+huangruiteng@users.noreply.github.com> --- .../rfcs/live-team-workspace-v0.md | 31 ++++++++++++++++++- .../rfcs/live-team-workspace-v0.zh-CN.md | 21 ++++++++++++- .../rfcs/loopx-overall-roadmap-v0.md | 4 +++ .../rfcs/loopx-overall-roadmap-v0.zh-CN.md | 3 ++ 4 files changed, 57 insertions(+), 2 deletions(-) diff --git a/docs/architecture/rfcs/live-team-workspace-v0.md b/docs/architecture/rfcs/live-team-workspace-v0.md index 9cae93496d..262daf47c3 100644 --- a/docs/architecture/rfcs/live-team-workspace-v0.md +++ b/docs/architecture/rfcs/live-team-workspace-v0.md @@ -1,7 +1,7 @@ # RFC: Live Team Workspace v0 - **RFC status:** Draft; proposed product and presentation decisions. -- **Delivery maturity:** Partial implementation: bounded team inspection is shipped; the readable result/comparison slice is proposed in [#4828](https://github.com/loopx-project/loopx/pull/4828). Spatial streaming remains a design, not production qualification. +- **Delivery maturity:** Partial implementation: bounded team inspection and the Goal Chat readable result/comparison slice in merged [#4828](https://github.com/loopx-project/loopx/pull/4828) are shipped. Managed non-Chat result readback and spatial streaming remain unqualified. - **Owners:** existing workspace presentation, collaboration and runtime owners. - **Created / normative revision:** 2026-09-20. - **Implementation baseline:** `e7ef75c08`. @@ -327,6 +327,35 @@ stack the reader below it. Explicit artifact choices survive delivery refresh an are revalidated by operation, reference and hash; automatic reads do not take keyboard focus. Acceptance and requester adoption remain separate in details. This qualifies report readback, not mixed-team launch or stop/recovery. + +**Managed runs need a separate result readback.** The current report reader is +requester-scoped to an original Goal Chat delegation operation. A managed +non-Chat Turn has no such conversation, and a run-history entry or completed +Todo does not identify a readable, currently accepted deliverable. The managed +result slot in Goal Files must therefore remain empty until an accepted result +is actually projected; it must not turn a run observation into a file or +attach an unrelated open Todo to it. + +The next result slice should capture a bounded, public-safe result reference +through the existing artifact and acceptance owners at settlement: Goal, accountable +producer, exact output reference and digest, current acceptance identity, and +the requester/audience allowed to read it. A read-only Goal result projection +should expose that reference to both CLI and the packaged workspace, then +revalidate the output and acceptance on read. The presenter may show a readable +report and its source/acceptance trail only after that readback succeeds. A +missing source, changed digest, revoked acceptance, unreadable page or failed +provider read must clear the earlier report and show the specific unverified +scope. The reader must not infer a report from filesystem discovery, completion +text, run history or a Chat session belonging to another requester. Reuse the +existing authority and artifact-read boundaries; do not create a second result +writer or broaden Goal access as a side effect of presentation. + +Qualify one managed non-Chat report end to end: canonical completion and +independent acceptance, Goal-scoped list and exact-version read, original +requester display, restart, stale/rejected result, pagination and unauthorized +read. Verify the same facts through CLI and packaged UI. This is a prerequisite +for showing managed output in Files and for the one-action mixed-team showcase; +it does not by itself prove requester adoption or whole-team stop. Merged [#4814](https://github.com/loopx-project/loopx/pull/4814) adds confirmation of one canonical team plan from manager and Goal Lark cards. Authenticated card bindings and the shared decision owner prevent a second click from creating a diff --git a/docs/architecture/rfcs/live-team-workspace-v0.zh-CN.md b/docs/architecture/rfcs/live-team-workspace-v0.zh-CN.md index 0ea2d8f720..d2ed7ba925 100644 --- a/docs/architecture/rfcs/live-team-workspace-v0.zh-CN.md +++ b/docs/architecture/rfcs/live-team-workspace-v0.zh-CN.md @@ -1,7 +1,7 @@ # RFC:团队实时工作区 v0 - **RFC 状态:** Draft;产品与展示决策提案。 -- **交付成熟度:** 部分实现:有界团队检查已交付;可读成果/对照切片在 [#4828](https://github.com/loopx-project/loopx/pull/4828) 提案中。空间流式展示仍是设计,不代表生产资格已完成。 +- **交付成熟度:** 部分实现:有界团队检查及已合并 [#4828](https://github.com/loopx-project/loopx/pull/4828) 的 Goal 对话可读成果/对照切片已交付。托管非 Chat 成果回读与空间流式展示仍未完成资格验证。 - **Owner:** 既有工作区展示、协作与 runtime owner。 - **创建 / 规范修订:** 2026-09-20。 - **实现基线:** `e7ef75c08`。 @@ -264,6 +264,25 @@ Codex MCP 执行与真实模型纠偏/验收/采用资格,原工具审批阻 用户所选产物在交付刷新后保留,并按操作、引用和哈希重新核验;自动读取不抢夺 键盘焦点。验收与请求方采用在详情中分别呈现。该切片验证报告回读,不代表混合 团队启动或停止恢复已完成。 + +**托管运行需要独立的成果回读。** 当前报告阅读器按原 Goal 对话的委派操作限定 +请求方范围。托管非 Chat Turn 没有这样的对话;运行历史或已完成 Todo 也不能指向 +一份可读且当前验收有效的成果。因此,在真正投影已验收结果之前,Goal「文件」 +中的托管成果位置应为空,不能把运行观测伪装成文件,或给它挂上一条无关的未完成 Todo。 + +下一个成果切片应通过现有产物与验收 owner 在结算时记录有界、可公开安全展示的结果 +引用:Goal、负责的产出者、精确产物引用与摘要、当前验收身份,以及允许读取的 +请求方 / 受众。只读 Goal 成果投影同时供 CLI 与打包工作区使用,读取时重新核验 +产物和验收。只有回读成功,展示层才能呈现可读报告及其来源、验收关系。来源丢失、 +摘要变化、验收撤销、页面不可读或 provider 读取失败时,必须清除旧报告并说明 +无法核验的范围。阅读器不能从文件系统扫描、完成文案、运行历史或其他请求方的 +Chat 会话推断报告。复用现有 authority 与产物读取边界,不另建成果写入 owner, +也不因展示而扩大 Goal 访问权限。 + +用一次托管非 Chat 报告端到端验证:canonical 完成与独立验收、Goal 范围列表与 +精确版本读取、原请求方展示、重启、过期 / 驳回结果、分页和未授权读取。CLI 与 +打包界面须回读同一事实。这是托管成果进入「文件」和一键混合团队 showcase 的 +前置条件,本身不证明请求方采用或整队停止。 已合并 [#4814](https://github.com/loopx-project/loopx/pull/4814) 支持从管家和 Goal 飞书卡片确认同一份 canonical 团队计划。认证的卡片绑定和共享决策 owner 防止第二次 点击重复分配。这加强可选请求/干预入口;真实双卡点击仍需安装后验收,不能证明 diff --git a/docs/architecture/rfcs/loopx-overall-roadmap-v0.md b/docs/architecture/rfcs/loopx-overall-roadmap-v0.md index 166c8d921b..b3edad1b51 100644 --- a/docs/architecture/rfcs/loopx-overall-roadmap-v0.md +++ b/docs/architecture/rfcs/loopx-overall-roadmap-v0.md @@ -457,6 +457,10 @@ including independent objection and useful synthesis, remains open. This qualifies a local execution-facts readback, not the full R2 ladder: assignment receipt integration, provisioning, remote probes, two-cycle continuation and Lark qualification remain open under their existing owners. +For managed non-Chat work, S5 also needs an accepted, exact-version Goal result +readback before Files can show a report. The [Live Team Workspace RFC](live-team-workspace-v0.md) +defines that producer-to-reader boundary; run history and Todo completion alone +cannot fill it. **Live team experience is a core S5 outcome.** The [Live Team Workspace RFC](live-team-workspace-v0.md) joins a precise command surface with a spatial diff --git a/docs/architecture/rfcs/loopx-overall-roadmap-v0.zh-CN.md b/docs/architecture/rfcs/loopx-overall-roadmap-v0.zh-CN.md index 0681b5bb0a..de5d65bf26 100644 --- a/docs/architecture/rfcs/loopx-overall-roadmap-v0.zh-CN.md +++ b/docs/architecture/rfcs/loopx-overall-roadmap-v0.zh-CN.md @@ -391,6 +391,9 @@ executor/profile 检查启动条件。任务准入、当前 pinned 验收绑定 验收;包含独立异议和有效综合结论的 L1 仍未通过。 这只验收本地执行事实的读回;计划分配回执 整合、通用创建、远端探针、两轮持续协作及 Lark 等价仍由原 owner 继续推进。 +对于托管非 Chat 工作,S5 还需要已验收、精确版本的 Goal 成果回读,才能在「文件」 +显示报告。[团队实时工作区 RFC](live-team-workspace-v0.zh-CN.md) 定义产出到读取的 +边界;运行历史与 Todo 完成状态不能代替它。 **团队现场是 S5 核心产品目标。** [团队实时工作区 RFC](live-team-workspace-v0.zh-CN.md) 融合精确指挥台与空间研究工作室:展示产物交换、有来源的分歧、结论修订、回放与 From 38fa7bed7a78d80a1919f529818869e792b764e3 Mon Sep 17 00:00:00 2001 From: huangruiteng <14976749+huangruiteng@users.noreply.github.com> Date: Thu, 24 Sep 2026 09:37:01 +0800 Subject: [PATCH 2/3] docs: identify managed result producer contract gap Signed-off-by: huangruiteng <14976749+huangruiteng@users.noreply.github.com> --- docs/architecture/rfcs/live-team-workspace-v0.md | 15 ++++++++++++++- .../rfcs/live-team-workspace-v0.zh-CN.md | 11 ++++++++++- .../architecture/rfcs/loopx-overall-roadmap-v0.md | 5 ++++- .../rfcs/loopx-overall-roadmap-v0.zh-CN.md | 2 ++ 4 files changed, 30 insertions(+), 3 deletions(-) diff --git a/docs/architecture/rfcs/live-team-workspace-v0.md b/docs/architecture/rfcs/live-team-workspace-v0.md index 262daf47c3..7851e69520 100644 --- a/docs/architecture/rfcs/live-team-workspace-v0.md +++ b/docs/architecture/rfcs/live-team-workspace-v0.md @@ -337,7 +337,7 @@ is actually projected; it must not turn a run observation into a file or attach an unrelated open Todo to it. The next result slice should capture a bounded, public-safe result reference -through the existing artifact and acceptance owners at settlement: Goal, accountable +at the managed Todo completion and acceptance boundary: Goal, accountable producer, exact output reference and digest, current acceptance identity, and the requester/audience allowed to read it. A read-only Goal result projection should expose that reference to both CLI and the packaged workspace, then @@ -350,6 +350,19 @@ text, run history or a Chat session belonging to another requester. Reuse the existing authority and artifact-read boundaries; do not create a second result writer or broaden Goal access as a side effect of presentation. +The producer contract is still missing. `goals/acceptance_authority.ts` owns +criterion verification but does not bind report bytes to a completed Todo; +`runtime/run_artifacts.py` reserves private run records without acceptance or +audience; delegation artifact reads require an existing requester operation. +A standalone managed lead has none of those result identities. The first +implementation must therefore bind an explicitly declared output handle and +its digest to the canonical completion/acceptance receipt, under the existing +Goal/Todo writer. The executor's output provider owns bytes; canonical state +holds only the bounded reference, digest, producer/Todo identity and read +audience. Completion without a declared, currently verified output creates no +result row. This contract should be proven for one local managed output before +adding a provider-neutral catalog or a Files renderer. + Qualify one managed non-Chat report end to end: canonical completion and independent acceptance, Goal-scoped list and exact-version read, original requester display, restart, stale/rejected result, pagination and unauthorized diff --git a/docs/architecture/rfcs/live-team-workspace-v0.zh-CN.md b/docs/architecture/rfcs/live-team-workspace-v0.zh-CN.md index d2ed7ba925..b8706df8f0 100644 --- a/docs/architecture/rfcs/live-team-workspace-v0.zh-CN.md +++ b/docs/architecture/rfcs/live-team-workspace-v0.zh-CN.md @@ -270,7 +270,7 @@ Codex MCP 执行与真实模型纠偏/验收/采用资格,原工具审批阻 一份可读且当前验收有效的成果。因此,在真正投影已验收结果之前,Goal「文件」 中的托管成果位置应为空,不能把运行观测伪装成文件,或给它挂上一条无关的未完成 Todo。 -下一个成果切片应通过现有产物与验收 owner 在结算时记录有界、可公开安全展示的结果 +下一个成果切片应在托管 Todo 的完成与验收边界记录有界、可公开安全展示的结果 引用:Goal、负责的产出者、精确产物引用与摘要、当前验收身份,以及允许读取的 请求方 / 受众。只读 Goal 成果投影同时供 CLI 与打包工作区使用,读取时重新核验 产物和验收。只有回读成功,展示层才能呈现可读报告及其来源、验收关系。来源丢失、 @@ -279,6 +279,15 @@ Codex MCP 执行与真实模型纠偏/验收/采用资格,原工具审批阻 Chat 会话推断报告。复用现有 authority 与产物读取边界,不另建成果写入 owner, 也不因展示而扩大 Goal 访问权限。 +目前仍缺少成果的 producer 合同:`goals/acceptance_authority.ts` 负责准则验收, +但没有把报告字节绑定到已完成 Todo;`runtime/run_artifacts.py` 只预留私有运行 +记录,没有验收与受众身份;委派产物读取则要求已有的请求方操作。独立托管主力 +不具备这些成果身份。因此第一步必须在既有 Goal/Todo 写入 owner 下,把明确 +声明的输出句柄及其摘要绑定到 canonical 完成 / 验收回执。执行器的输出 provider +持有字节;canonical 状态只保存有界引用、摘要、产出者 / Todo 身份和可读受众。 +没有声明且当前核验有效的输出,完成也不产生成果行。先在一次本地托管输出中 +证明这一合同,再增加通用 provider 目录或「文件」渲染。 + 用一次托管非 Chat 报告端到端验证:canonical 完成与独立验收、Goal 范围列表与 精确版本读取、原请求方展示、重启、过期 / 驳回结果、分页和未授权读取。CLI 与 打包界面须回读同一事实。这是托管成果进入「文件」和一键混合团队 showcase 的 diff --git a/docs/architecture/rfcs/loopx-overall-roadmap-v0.md b/docs/architecture/rfcs/loopx-overall-roadmap-v0.md index b3edad1b51..f823458fee 100644 --- a/docs/architecture/rfcs/loopx-overall-roadmap-v0.md +++ b/docs/architecture/rfcs/loopx-overall-roadmap-v0.md @@ -460,7 +460,10 @@ qualification remain open under their existing owners. For managed non-Chat work, S5 also needs an accepted, exact-version Goal result readback before Files can show a report. The [Live Team Workspace RFC](live-team-workspace-v0.md) defines that producer-to-reader boundary; run history and Todo completion alone -cannot fill it. +cannot fill it. The first dependency is a managed-output binding at canonical +Todo completion/acceptance; current run records and Goal acceptance do not yet +share an output identity. Qualify one local producer and exact read before +promoting the result to Files. **Live team experience is a core S5 outcome.** The [Live Team Workspace RFC](live-team-workspace-v0.md) joins a precise command surface with a spatial diff --git a/docs/architecture/rfcs/loopx-overall-roadmap-v0.zh-CN.md b/docs/architecture/rfcs/loopx-overall-roadmap-v0.zh-CN.md index de5d65bf26..0040331e4d 100644 --- a/docs/architecture/rfcs/loopx-overall-roadmap-v0.zh-CN.md +++ b/docs/architecture/rfcs/loopx-overall-roadmap-v0.zh-CN.md @@ -394,6 +394,8 @@ executor/profile 检查启动条件。任务准入、当前 pinned 验收绑定 对于托管非 Chat 工作,S5 还需要已验收、精确版本的 Goal 成果回读,才能在「文件」 显示报告。[团队实时工作区 RFC](live-team-workspace-v0.zh-CN.md) 定义产出到读取的 边界;运行历史与 Todo 完成状态不能代替它。 +首个依赖是在 canonical Todo 完成 / 验收时绑定托管输出:当前运行记录和 Goal 验收 +还没有共享的产物身份。先验证一个本地产出者与精确读取,再让成果进入「文件」。 **团队现场是 S5 核心产品目标。** [团队实时工作区 RFC](live-team-workspace-v0.zh-CN.md) 融合精确指挥台与空间研究工作室:展示产物交换、有来源的分歧、结论修订、回放与 From 06487137a595070a3f5bb4fc0d9ea289014088fd Mon Sep 17 00:00:00 2001 From: huangruiteng <14976749+huangruiteng@users.noreply.github.com> Date: Thu, 24 Sep 2026 12:04:37 +0800 Subject: [PATCH 3/3] docs: checkpoint managed report Files readback Signed-off-by: huangruiteng <14976749+huangruiteng@users.noreply.github.com> --- .../rfcs/live-team-workspace-v0.md | 55 +++++++++---------- .../rfcs/live-team-workspace-v0.zh-CN.md | 36 ++++++------ .../rfcs/loopx-overall-roadmap-v0.md | 15 ++--- .../rfcs/loopx-overall-roadmap-v0.zh-CN.md | 11 ++-- 4 files changed, 59 insertions(+), 58 deletions(-) diff --git a/docs/architecture/rfcs/live-team-workspace-v0.md b/docs/architecture/rfcs/live-team-workspace-v0.md index 7851e69520..f8ff36e196 100644 --- a/docs/architecture/rfcs/live-team-workspace-v0.md +++ b/docs/architecture/rfcs/live-team-workspace-v0.md @@ -328,15 +328,15 @@ are revalidated by operation, reference and hash; automatic reads do not take keyboard focus. Acceptance and requester adoption remain separate in details. This qualifies report readback, not mixed-team launch or stop/recovery. -**Managed runs need a separate result readback.** The current report reader is -requester-scoped to an original Goal Chat delegation operation. A managed -non-Chat Turn has no such conversation, and a run-history entry or completed -Todo does not identify a readable, currently accepted deliverable. The managed -result slot in Goal Files must therefore remain empty until an accepted result -is actually projected; it must not turn a run observation into a file or -attach an unrelated open Todo to it. - -The next result slice should capture a bounded, public-safe result reference +**Managed runs need a separate result readback.** The original Goal Chat report +reader is requester-scoped to a delegation operation. A managed non-Chat Turn +has no such conversation, and a run-history entry or completed Todo alone does +not identify a readable, currently accepted deliverable. The managed result +slot in Goal Files must remain empty for a Todo without a verified output; +it must not turn a run observation into a file or attach an unrelated open +Todo to it. + +The managed result slice captures a bounded, public-safe result reference at the managed Todo completion and acceptance boundary: Goal, accountable producer, exact output reference and digest, current acceptance identity, and the requester/audience allowed to read it. A read-only Goal result projection @@ -350,25 +350,24 @@ text, run history or a Chat session belonging to another requester. Reuse the existing authority and artifact-read boundaries; do not create a second result writer or broaden Goal access as a side effect of presentation. -The producer contract is still missing. `goals/acceptance_authority.ts` owns -criterion verification but does not bind report bytes to a completed Todo; -`runtime/run_artifacts.py` reserves private run records without acceptance or -audience; delegation artifact reads require an existing requester operation. -A standalone managed lead has none of those result identities. The first -implementation must therefore bind an explicitly declared output handle and -its digest to the canonical completion/acceptance receipt, under the existing -Goal/Todo writer. The executor's output provider owns bytes; canonical state -holds only the bounded reference, digest, producer/Todo identity and read -audience. Completion without a declared, currently verified output creates no -result row. This contract should be proven for one local managed output before -adding a provider-neutral catalog or a Files renderer. - -Qualify one managed non-Chat report end to end: canonical completion and -independent acceptance, Goal-scoped list and exact-version read, original -requester display, restart, stale/rejected result, pagination and unauthorized -read. Verify the same facts through CLI and packaged UI. This is a prerequisite -for showing managed output in Files and for the one-action mixed-team showcase; -it does not by itself prove requester adoption or whole-team stop. +[PR #4978](https://github.com/loopx-project/loopx/pull/4978) proposes that first +local producer and reader. `todo complete --result-file` binds declared output +bytes and their digest to the canonical completion/acceptance receipt under the +existing Goal/Todo writer; `todo result-read` verifies the current acceptance +basis and exact bytes. A loopback-only Goal-scoped API revalidates each requested +page and exact read, and the packaged Goal Files view opens a readable report. +Missing, changed or stale output is withheld and clears an earlier displayed +body. Completion without a declared, currently verified output creates no +result row. This proposal does not grant a remote audience or create a second +writer. + +Local File/SQLite producer and CLI readback, packaged desktop/mobile Files +readback, stale/rejected output and bounded pagination have focused validation +on the proposed head. Maintainer review and exact-head CI remain open. The +original requester conversation still lacks a return route for managed runs; +that route needs its own audience identity, restart and unauthorized-read +qualification. Neither this local Files reader nor acceptance of one Todo +proves requester adoption, mixed-team launch or whole-team stop/recovery. Merged [#4814](https://github.com/loopx-project/loopx/pull/4814) adds confirmation of one canonical team plan from manager and Goal Lark cards. Authenticated card bindings and the shared decision owner prevent a second click from creating a diff --git a/docs/architecture/rfcs/live-team-workspace-v0.zh-CN.md b/docs/architecture/rfcs/live-team-workspace-v0.zh-CN.md index b8706df8f0..9d701a0ef6 100644 --- a/docs/architecture/rfcs/live-team-workspace-v0.zh-CN.md +++ b/docs/architecture/rfcs/live-team-workspace-v0.zh-CN.md @@ -265,12 +265,12 @@ Codex MCP 执行与真实模型纠偏/验收/采用资格,原工具审批阻 键盘焦点。验收与请求方采用在详情中分别呈现。该切片验证报告回读,不代表混合 团队启动或停止恢复已完成。 -**托管运行需要独立的成果回读。** 当前报告阅读器按原 Goal 对话的委派操作限定 -请求方范围。托管非 Chat Turn 没有这样的对话;运行历史或已完成 Todo 也不能指向 -一份可读且当前验收有效的成果。因此,在真正投影已验收结果之前,Goal「文件」 -中的托管成果位置应为空,不能把运行观测伪装成文件,或给它挂上一条无关的未完成 Todo。 +**托管运行需要独立的成果回读。** 原 Goal 对话的报告阅读器按委派操作限定请求方 +范围。托管非 Chat Turn 没有这样的对话;仅凭运行历史或已完成 Todo,无法指向 +一份可读且当前验收有效的成果。没有可核验输出的 Todo,在 Goal「文件」中的 +托管成果位置必须为空,不能把运行观测伪装成文件,或挂上一条无关的未完成 Todo。 -下一个成果切片应在托管 Todo 的完成与验收边界记录有界、可公开安全展示的结果 +托管成果切片在 Todo 的完成与验收边界记录有界、可公开安全展示的结果 引用:Goal、负责的产出者、精确产物引用与摘要、当前验收身份,以及允许读取的 请求方 / 受众。只读 Goal 成果投影同时供 CLI 与打包工作区使用,读取时重新核验 产物和验收。只有回读成功,展示层才能呈现可读报告及其来源、验收关系。来源丢失、 @@ -279,19 +279,19 @@ Codex MCP 执行与真实模型纠偏/验收/采用资格,原工具审批阻 Chat 会话推断报告。复用现有 authority 与产物读取边界,不另建成果写入 owner, 也不因展示而扩大 Goal 访问权限。 -目前仍缺少成果的 producer 合同:`goals/acceptance_authority.ts` 负责准则验收, -但没有把报告字节绑定到已完成 Todo;`runtime/run_artifacts.py` 只预留私有运行 -记录,没有验收与受众身份;委派产物读取则要求已有的请求方操作。独立托管主力 -不具备这些成果身份。因此第一步必须在既有 Goal/Todo 写入 owner 下,把明确 -声明的输出句柄及其摘要绑定到 canonical 完成 / 验收回执。执行器的输出 provider -持有字节;canonical 状态只保存有界引用、摘要、产出者 / Todo 身份和可读受众。 -没有声明且当前核验有效的输出,完成也不产生成果行。先在一次本地托管输出中 -证明这一合同,再增加通用 provider 目录或「文件」渲染。 - -用一次托管非 Chat 报告端到端验证:canonical 完成与独立验收、Goal 范围列表与 -精确版本读取、原请求方展示、重启、过期 / 驳回结果、分页和未授权读取。CLI 与 -打包界面须回读同一事实。这是托管成果进入「文件」和一键混合团队 showcase 的 -前置条件,本身不证明请求方采用或整队停止。 +[PR #4978](https://github.com/loopx-project/loopx/pull/4978) 提议首个本地产出与 +读取路径:`todo complete --result-file` 在既有 Goal/Todo 写入 owner 下,将声明的 +输出字节与摘要绑定到 canonical 完成 / 验收回执;`todo result-read` 复核当前 +验收基线与精确字节。仅本机回环可用的 Goal 范围 API 对每个请求页面和精确读取 +重新核验,打包工作区的 Goal「文件」可展开可读报告。来源丢失、变化或过期时 +不显示结果,并清除先前正文。没有声明且当前有效的输出,完成也不产生成果行。 +这一提案不扩大远程受众,也不新增第二个写入 owner。 + +提议版本已对本地 File/SQLite 产出及 CLI 回读、打包桌面 / 手机「文件」读取、 +过期 / 驳回结果和有界分页完成针对性验证;维护者评审与精确版本 CI 仍待完成。 +托管运行仍缺少向原请求方对话回送的路径;它需要独立的受众身份、重启和越权 +读取验收。本地「文件」阅读器和一条 Todo 的验收,都不能证明请求方采用、 +混合团队启动或整队停止 / 恢复。 已合并 [#4814](https://github.com/loopx-project/loopx/pull/4814) 支持从管家和 Goal 飞书卡片确认同一份 canonical 团队计划。认证的卡片绑定和共享决策 owner 防止第二次 点击重复分配。这加强可选请求/干预入口;真实双卡点击仍需安装后验收,不能证明 diff --git a/docs/architecture/rfcs/loopx-overall-roadmap-v0.md b/docs/architecture/rfcs/loopx-overall-roadmap-v0.md index f823458fee..eb36cfb51a 100644 --- a/docs/architecture/rfcs/loopx-overall-roadmap-v0.md +++ b/docs/architecture/rfcs/loopx-overall-roadmap-v0.md @@ -457,13 +457,14 @@ including independent objection and useful synthesis, remains open. This qualifies a local execution-facts readback, not the full R2 ladder: assignment receipt integration, provisioning, remote probes, two-cycle continuation and Lark qualification remain open under their existing owners. -For managed non-Chat work, S5 also needs an accepted, exact-version Goal result -readback before Files can show a report. The [Live Team Workspace RFC](live-team-workspace-v0.md) -defines that producer-to-reader boundary; run history and Todo completion alone -cannot fill it. The first dependency is a managed-output binding at canonical -Todo completion/acceptance; current run records and Goal acceptance do not yet -share an output identity. Qualify one local producer and exact read before -promoting the result to Files. +For managed non-Chat work, [PR #4978](https://github.com/loopx-project/loopx/pull/4978) +proposes an accepted, exact-version Goal result readback: canonical Todo +completion binds local report bytes, the CLI verifies them, and packaged Goal +Files reads a Goal-scoped loopback projection. The [Live Team Workspace RFC](live-team-workspace-v0.md) +defines this producer-to-reader boundary. Focused local File/SQLite and +desktop/mobile checks pass on the proposed head; maintainer review and CI +remain open. Return to the original requester conversation, mixed-team +continuation and stop/recovery remain separate unqualified outcomes. **Live team experience is a core S5 outcome.** The [Live Team Workspace RFC](live-team-workspace-v0.md) joins a precise command surface with a spatial diff --git a/docs/architecture/rfcs/loopx-overall-roadmap-v0.zh-CN.md b/docs/architecture/rfcs/loopx-overall-roadmap-v0.zh-CN.md index 0040331e4d..9598bbb5f1 100644 --- a/docs/architecture/rfcs/loopx-overall-roadmap-v0.zh-CN.md +++ b/docs/architecture/rfcs/loopx-overall-roadmap-v0.zh-CN.md @@ -391,11 +391,12 @@ executor/profile 检查启动条件。任务准入、当前 pinned 验收绑定 验收;包含独立异议和有效综合结论的 L1 仍未通过。 这只验收本地执行事实的读回;计划分配回执 整合、通用创建、远端探针、两轮持续协作及 Lark 等价仍由原 owner 继续推进。 -对于托管非 Chat 工作,S5 还需要已验收、精确版本的 Goal 成果回读,才能在「文件」 -显示报告。[团队实时工作区 RFC](live-team-workspace-v0.zh-CN.md) 定义产出到读取的 -边界;运行历史与 Todo 完成状态不能代替它。 -首个依赖是在 canonical Todo 完成 / 验收时绑定托管输出:当前运行记录和 Goal 验收 -还没有共享的产物身份。先验证一个本地产出者与精确读取,再让成果进入「文件」。 +对于托管非 Chat 工作,[PR #4978](https://github.com/loopx-project/loopx/pull/4978) +提议已验收、精确版本的 Goal 成果回读:canonical Todo 完成时绑定本地报告字节, +CLI 重新核验,打包 Goal「文件」读取按 Goal 限定的本机回环投影。 +[团队实时工作区 RFC](live-team-workspace-v0.zh-CN.md) 定义产出到读取的边界。 +提议版本已通过本地 File/SQLite 和桌面 / 手机的针对性检查;维护者评审与 CI +仍待完成。向原请求方对话回送、混合团队持续协作及整队停止 / 恢复仍需另行验收。 **团队现场是 S5 核心产品目标。** [团队实时工作区 RFC](live-team-workspace-v0.zh-CN.md) 融合精确指挥台与空间研究工作室:展示产物交换、有来源的分歧、结论修订、回放与