diff --git a/docs/architecture/rfcs/agent-session-execution-modes-v0.md b/docs/architecture/rfcs/agent-session-execution-modes-v0.md index eae0ae1440..e2137538c3 100644 --- a/docs/architecture/rfcs/agent-session-execution-modes-v0.md +++ b/docs/architecture/rfcs/agent-session-execution-modes-v0.md @@ -9,7 +9,7 @@ the session-ownership decision already described for the Desktop frontend. Session-ownership and host-admission decisions require maintainer acceptance. - **Created:** 2026-09-15 -- **Last normative revision:** 2026-10-27 +- **Last normative revision:** 2026-10-29 - **Implementation baseline:** `6c3da75ca` - **Related contracts:** [Desktop execution frontends](desktop-execution-frontends-v0.md), [Single-owner local daemon](single-owner-local-daemon-v0.md), @@ -245,6 +245,15 @@ results and controller recovery must retain the original request/attempt and settlement binding. Until that profile qualifies, existing bindings retain their current behavior; no implicit conversion or host promotion follows. +For C6/C8's [human interaction during execution](controller-executor-unified-contract-v0.md#human-interaction-during-execution), +keep the controller's conversation queue available while the single admitted +executor works. Questions, proactive reports and previews reuse current session, +audience and delivery bindings; they do not admit another business attempt. +Feedback retains its ordered request revision and actual consumption/adoption +readback across stop, restart and late results. A host unable to support this +concurrency or fencing must expose that limit; existing serialized Chat or a +successful bounded runtime invocation does not qualify the two-session journey. + ### Reusable Agent operations and continuation ownership The existing frontend Goal Chat is the baseline conversational coordinator. The diff --git a/docs/architecture/rfcs/agent-session-execution-modes-v0.zh-CN.md b/docs/architecture/rfcs/agent-session-execution-modes-v0.zh-CN.md index 2979461441..3e32a86110 100644 --- a/docs/architecture/rfcs/agent-session-execution-modes-v0.zh-CN.md +++ b/docs/architecture/rfcs/agent-session-execution-modes-v0.zh-CN.md @@ -7,7 +7,7 @@ - **作者 / 负责人:** 由维护者指示整理的契约。它把桌面端提案中已有的会话归属决策 抽取并规范化。会话归属与宿主接入决策需要维护者接受。 - **创建日期:** 2026-09-15 -- **最近规范性修订:** 2026-10-27 +- **最近规范性修订:** 2026-10-29 - **实现基线:** `6c3da75ca` - **相关契约:** [桌面执行前端](desktop-execution-frontends-v0.zh-CN.md)、 [单属主本地守护进程](single-owner-local-daemon-v0.md)、 @@ -196,6 +196,13 @@ claim 与完成回执,以及"只有经过验证的回写才推进工作"这一 角色变化、Stop、迟到结果及 controller 恢复须保留原 request/attempt 和结算绑定。 该 profile 合格前,已有绑定行为不变;不隐式转换或提升 host。 +对于 C6/C8 的[执行期间人机交互](controller-executor-unified-contract-v0.zh-CN.md#human-interaction-during-execution), +唯一已准入 executor 工作时,controller 的对话队列仍须可用。询问、主动汇报和预览 +复用当前会话、受众及投递绑定,不准入另一个业务 attempt。反馈在 Stop、重启和迟到 +结果后仍保留有序 request revision 及真实消费/采用 readback。Host 无法支持这种并发 +或 fencing 时须明示限制;已有串行 Chat 或一次有界 runtime 调用成功,不能证明双会话 +旅程合格。 + ### 可复用的 Agent 操作与续跑归属 现有前端 Goal 对话是会话型 coordinator 的基线入口。所有者也可以把 peer diff --git a/docs/architecture/rfcs/capable-manager-semantic-handoff-v0.md b/docs/architecture/rfcs/capable-manager-semantic-handoff-v0.md index e5943db6aa..73cad61856 100644 --- a/docs/architecture/rfcs/capable-manager-semantic-handoff-v0.md +++ b/docs/architecture/rfcs/capable-manager-semantic-handoff-v0.md @@ -4,7 +4,7 @@ - **Supersedes / closes:** [Personal Follow-through independent proposal](personal-follow-through-v0.md) - **Delivery maturity:** Partial; private runtime profile, team-plan confirmation and Todo materialization shipped; complete M1–M4 remain unqualified. - **Authors / owners:** LoopX maintainers; manager engineering owner -- **Created / last normative revision:** 2026-09-13 / 2026-10-28 +- **Created / last normative revision:** 2026-09-13 / 2026-10-29 - **Implementation baseline:** `7eb4b7bb1661bd5eff63a8725a33169792d5964b` - **Language mirror:** [中文版](capable-manager-semantic-handoff-v0.zh-CN.md) - **Related contracts:** [Effect interpreter](agent-loop-effect-interpreter-v0.md), [Manager continuity](../../reference/protocols/manager-evidence-and-continuity-v0.md), [Goal Vision/Replan](../../reference/protocols/goal-vision-replan-contract-v0.md), [Desktop frontends](desktop-execution-frontends-v0.md), [Shared authority](shared-goal-authority-state-provider-v0.md), [Shared Goal alignment/amendment](shared-goal-alignment-and-governed-amendment-v0.md), [TS migration](typescript-control-plane-migration-v0.md) @@ -196,6 +196,17 @@ packet view. Runtime-owned routing/revision/attempt metadata reuses these reques records; it is not another authority or handoff ledger. This does not restrict independent peer Agents, which retain their own scoped Core relationships. +That profile's C6/C8 [human interaction journey](controller-executor-unified-contract-v0.md#human-interaction-during-execution) +extends semantic return beyond the final answer: converse while work runs, +proactively report meaningful evidence-backed changes and use task-appropriate +rich presentations to help the user judge and correct the work. Reuse existing +request/revision, artifact, audience and delivery owners; preserve quiet and +deduplicated reporting, accessible text and source/version readback. Receipt, +handling and actual feedback adoption remain separate: subsequent work and +artifacts must show adopted revisions, including after reconnect or late results. +No new manager ledger, sending authority or C1 prerequisite follows. Current +progress/steering primitives do not by themselves qualify that concurrent journey. + Prefer one cohesive replacement to compatibility wrappers that preserve duplicate decisions. Inventory every existing producer/reader, migrate with lossless mappings, switch one writer and delete the replaced rules. Reusing contracts and data is required; reusing every current class, JSON directory and prompt is not. The lead Agent owns task decomposition, investigation, delegation, revision and diff --git a/docs/architecture/rfcs/capable-manager-semantic-handoff-v0.zh-CN.md b/docs/architecture/rfcs/capable-manager-semantic-handoff-v0.zh-CN.md index 7fea967d74..80080f1b5c 100644 --- a/docs/architecture/rfcs/capable-manager-semantic-handoff-v0.zh-CN.md +++ b/docs/architecture/rfcs/capable-manager-semantic-handoff-v0.zh-CN.md @@ -4,7 +4,7 @@ - **替代 / 关闭:** [个人事项持续跟进独立提案](personal-follow-through-v0.zh-CN.md) - **交付成熟度:** Partial;私人运行 profile、团队计划确认与 Todo 物化已交付,完整 M1–M4 未验收。 - **作者 / 责任人:** LoopX 维护者、管家工程负责人 -- **创建 / 最近规范修订:** 2026-09-13 / 2026-10-28 +- **创建 / 最近规范修订:** 2026-09-13 / 2026-10-29 - **实现基线:** `7eb4b7bb1661bd5eff63a8725a33169792d5964b` - **语言镜像:** [English](capable-manager-semantic-handoff-v0.md) - **相关契约:** [Effect interpreter](agent-loop-effect-interpreter-v0.zh-CN.md)、[管家连续性](../../reference/protocols/manager-evidence-and-continuity-v0.md)、[Goal Vision/Replan](../../reference/protocols/goal-vision-replan-contract-v0.md)、[桌面入口](desktop-execution-frontends-v0.zh-CN.md)、[共享权威](shared-goal-authority-state-provider-v0.zh-CN.md)、[共享目标对齐/修订](shared-goal-alignment-and-governed-amendment-v0.zh-CN.md)、[TS 迁移](typescript-control-plane-migration-v0.zh-CN.md) @@ -162,6 +162,13 @@ flowchart LR 记录,不形成另一套权限或交接账本。独立 peer Agent 仍保留各自受限的 Core 关系, 不受这个同 Agent 内部角色划分限制。 +该 profile 的 C6/C8 [人机交互旅程](controller-executor-unified-contract-v0.zh-CN.md#human-interaction-during-execution) +把语义返回延伸到最终答案之前:执行中可交流,主动报告有证据的实质变化,按任务选择 +丰富展现以帮助用户判断和纠偏。复用既有 request/revision、产物、受众和投递 owner, +保留安静与去重汇报、可访问文本和来源/版本 readback。收到、处理与反馈实际采用分别 +记录;重连或迟到结果之后,后续工作和产物仍须证明已采用修订。不新增管家账本、发送 +权限或 C1 前置;现有 progress/steering 原语不能单独证明这条并发旅程合格。 + 优先一次内聚替换,不用兼容包装长期保留两套判断。盘点所有 producer/reader,无损迁移、切换单 writer、删除被替代规则。必须复用有效契约和数据,不必复用每个类、JSON 目录和 prompt。 主 Agent 负责拆解、调查、委派、修订和综合;host 服务执行已准入动作并恢复其回执, diff --git a/docs/architecture/rfcs/controller-executor-unified-contract-v0.md b/docs/architecture/rfcs/controller-executor-unified-contract-v0.md index 2bb8eab64b..6a99794845 100644 --- a/docs/architecture/rfcs/controller-executor-unified-contract-v0.md +++ b/docs/architecture/rfcs/controller-executor-unified-contract-v0.md @@ -5,7 +5,7 @@ - **Delivery maturity:** Proposal; no new runtime, schema or default is shipped by this document. - **Authors / owners:** LoopX maintainers; control-plane and runtime owners - **Created:** 2026-10-27 -- **Last normative revision:** 2026-10-28 +- **Last normative revision:** 2026-10-29 - **Implementation baseline:** `fe2b8dcbcb998647edb4bafb51932988bd7fdaa6` - **Related contracts:** [Effect interpreter](agent-loop-effect-interpreter-v0.md), [Session execution modes](agent-session-execution-modes-v0.md), [Semantic handoff](capable-manager-semantic-handoff-v0.md), [Overall roadmap](loopx-overall-roadmap-v0.md) - **Language mirror:** [中文版](controller-executor-unified-contract-v0.zh-CN.md) @@ -46,6 +46,10 @@ evidence belongs in a dated ledger when an implementation first produces it. 5. Unification first qualifies the existing single-session path. Two-session execution remains opt-in until matched outcome and complete-cost evidence justifies adoption. This RFC launches no benchmark or privileged operation. +6. While the executor works, the controller remains available to the user: + answer questions, proactively explain meaningful changes, present useful + artifacts and incorporate feedback into subsequent work. Qualify that + journey through C6/C8; session separation alone does not deliver it. ## 2. Problem and motivation @@ -62,6 +66,14 @@ Separating that work may reduce distraction and repeated protocol input, but an extra controller can also lose constraints, add latency or over-coordinate. These are hypotheses to test, not benefits established by session separation. +Long work also needs a continuing human conversation. The user should be able +to understand progress, inspect results and correct direction while execution +continues, without repeatedly asking for status. A controller that only forwards +a final answer misses this product goal. Its reports and presentations must +help the user judge the work, and feedback must reach actual later decisions +and artifacts. Availability, a received message or an attractive preview alone +does not establish that loop. + ### Invariants - Preserve complete accepted requirements, revisions, authority, unresolved @@ -255,6 +267,45 @@ result through the original identity. An executor summary cannot reconstruct missing control obligations. Conflicting or inaccessible required material holds dependent work; independent authorized work keeps its existing route. +### Human interaction during execution + +In a supported two-session profile, executor activity must not block the +controller's user conversation. Reuse the existing role-bound ordered queues, +versioned requests, host observations and original-audience return path. A +question or report does not start another business executor, interrupt an +authorized attempt without cause, or create another Turn debit. + +| User result | Required behavior and evidence | +| --- | --- | +| Converse while work runs | Answer questions and expose already saved artifacts while the executor is busy. Distinguish the latest observed state, its source/version and unknown activity; do not invent percentage progress or infer acceptance from a model's completion claim. | +| Receive useful changes proactively | Report important progress, new artifacts, risks, evidenced stalls and changes requiring a user decision, with their basis, impact and useful feedback request. Reuse configured event/delivery owners; coalesce duplicates and remain quiet without meaningful change. Do not add a polling model loop or a fixed reporting interval. | +| Understand and compare the work | Select task-appropriate charts, relationship diagrams, timelines, option comparisons, screenshots or artifact previews. Keep a concise overview with reachable original evidence/version, uncertainty, accessible text and a readable fallback when media is unavailable. No requirement to generate every format for every update. | +| See feedback affect execution | Preserve the original feedback and ordered revision through the existing request owner. Read back receipt, queued or clarification-needed handling, rejection with reasons, and actual adoption separately. Link adopted changes to the subsequent decision, work and artifact; an ACK or a revised brief is not proof of adoption. | + +The controller distinguishes a correction within admitted scope from a scope +change needing fresh admission or missing authority. Apply revisions through +the current owner before dependent dispatch or acceptance, retaining prior +requirements and unresolved conflicting feedback. Do not silently treat the +latest message as cancellation of earlier commitments. Where the current +attempt cannot safely consume a correction, expose the pending revision and +its actual consumption boundary; preserve the host's stop/fencing contract +before any replacement attempt. Late results retain their original revision +and evidence but cannot overwrite current requirements or settle different work. + +Use only the authorized conversation and audience. Presentation does not grant +new channels, recipients or public disclosure. Reconnect/restart recovers +pending feedback, attempt and delivery receipts before retry; neither lost +report delivery nor a user question causes redispatch. Stop acknowledgement, +host interruption and actual termination remain separately observable. Existing +host/Core stops remain effective if the controller is unavailable. + +This is a C6/C8 product target, not a claim that current session or progress +primitives qualify the journey. It adds no prerequisite to independent C1 +slices. In the later opt-in two-session evaluation, include reporting, +presentation generation/delivery, both sessions' calls and cached/uncached +input, material reads, recovery, latency and human attention in complete cost. +No responsiveness SLA or efficiency benefit is presumed. + ### Review freshness and recovery A complete capture proves what was observed; it does not freeze write-time @@ -759,6 +810,7 @@ by this document alone. | Role isolation and recovery | Controller/executor crash windows, duplicate dispatch, late result, revision change, lease expiry and stop under actual host tools | No executor Core access; no stale result adoption or hidden business executor | | Semantic adoption | Original requirements → controller decision → actual executor work → independent verification → accepted result and original-audience return | Read receipt, valid JSON or successful replan alone cannot pass | | Intelligent mediation | Coherent delegation, changed/contrary evidence and result interpretation across ordinary continuation, shared-constraint change, controller loss and a small-task counterexample | Explain the actual decision consequence and retained obligations; fewer queries or a shorter handoff cannot pass | +| Human interaction during execution | C6/C8 journey below through the real supported host and packaged conversation | Controller responsiveness, proactive delivery and feedback adoption require separate evidence; no inference from routing ACKs or previews | | Shared production paths | Real CLI and supported File/SQLite paths; real isolated PostgreSQL suite when authority persistence changes; packaged App heartbeat and benchmark worker reuse | No live Goal corruption; unsupported/unrun hosts stay unqualified | | Outcome and cost benefit | Matched current single-session, unified single-session and unified two-session arms with fixed task/model/policy/budget/evaluator | Report uncertainty, failures and counterexamples; no claim from prompt bytes alone | @@ -772,6 +824,23 @@ full encoding and its delta encoding separately so transport reuse cannot hide a semantic regression. Controller/executor separation is a later independent comparison and cannot explain away a C1 regression. +Qualify [human interaction during execution](#human-interaction-during-execution) +on the same long-running work, rather than disconnected chat demonstrations: + +| Scenario | Decisive observation | +| --- | --- | +| Executor busy; user asks or inspects an artifact | Controller responds from current observed evidence and serves the saved artifact before task completion, without a second executor or an unnecessary interruption. | +| Meaningful change, then no change and duplicate events | A useful report reaches the authorized audience without repeated user prompting; unchanged/duplicate observations do not produce repeated reports. Record actual delivery and cost, not a promised interval. | +| Continuous or conflicting feedback | Each revision and its handling remain attributable; subsequent work/artifacts prove what was adopted. Pending, rejected, conflicting and authority-dependent changes stay explicit. | +| Stop races correction or result | Current revision and scope govern acceptance; acknowledgement is distinct from actual host termination, and unknown/in-flight effects remain visible. | +| Disconnect, restart, lost reply or delayed/duplicate result | Recover original queues, revisions and receipts; no lost correction, duplicate dispatch/debit or stale overwrite. Retry only unresolved delivery/effects. | +| Rich view, missing media, stale evidence or wrong audience | A task-appropriate comparison/preview supports a user judgment and feedback; source/version and unknowns are readable, accessible text remains usable, and unauthorized delivery is refused. | + +Exercise the supported managed and attached App heartbeat journeys separately; +an unsupported host stays explicit. Qualify installed behavior separately from +packaged fixtures. Preserve the original-quota single-session gate, then measure +the added interaction and presentation costs in the optional two-session arm. + ### C1 baseline boundary and reuse inventory The baseline is the **original caller-visible quota delivery**, not the raw @@ -856,6 +925,13 @@ internal packet selection as a user task. Reuse shared typed projections and configuration precedence; do not create an independent controller console or duplicate provider/model settings. +C6/C8 own the [execution-time conversation and reporting journey](#human-interaction-during-execution). +Reuse existing Chat/Lark artifact, activity, feedback and delivery projections +within each supported audience; these sinks do not become work authority. +Readback must distinguish report delivery, feedback handling, actual adoption +and independent acceptance. Keep a failed report recoverable without replaying +the underlying work. + Observe captures, request/attempt/role/generation, current revisions, effect receipts and cost coverage in existing diagnostics. Give operators actionable recovery without raw private transcripts. Notifications remain separate from @@ -876,9 +952,9 @@ are stable design references, not claims that a canonical Todo is complete. | **C3 — Session binding and native lifecycle; C1** | Session/runtime owner: extend existing binding for role/generation; reuse native create/resume/observe/interrupt and ordered queues | Two roles cannot overwrite the Agent native ID, cross-read baselines or race execution; recovery observes existing attempts before retry; disable new role admission to roll back | | **C4 — Shared governed lifecycle; C1** | Effect/Turn owner + outer worker adapters: converge duplicated prepare/dispatch/observe/validate/writeback/settle orchestration around existing typed operations and receipts | App/Turn/external worker agree on admission, original result and single debit under partial failure; scheduler effects retain their true host owner; switch callers back only after receipt reconciliation | | **C5 — Replan and result authoring boundary; C1** | Goal/Vision and interaction owners: expose current facts and typed controller operations; remove ordinary executor obligations to manufacture Core writeback fields in the two-session profile | Fact-first decision preserves default/stride policy differences, all evidence and required validation; invalid proposed writes reject; single-session authoring remains qualified during rollout | -| **C6 — Controller/executor exchange; C2–C5** | Manager/request + host owners: reuse versioned semantic requests and result return; replace schema-constrained executor work with natural-language work/material exchange | Complete source delivery, local executor autonomy, enforced Core isolation, corrective exchange and independently accepted outcome; return to qualified single-session profile for new work on rollback | +| **C6 — Controller/executor exchange; C2–C5** | Manager/request + host owners: reuse versioned semantic requests and result return; replace schema-constrained executor work with natural-language work/material exchange; keep user interaction available during execution | Complete sources, local autonomy, Core isolation, corrective exchange, actual feedback adoption through ordered revisions and independently accepted outcome; busy, conflict, stop and late-result cases in §9; return new work to qualified single-session profile on rollback | | **C7 — Benchmark reuse and full-cost attribution; C4/C6** | Benchmark toolkit/execution owner: thin adapters select the same product profiles; consolidate duplicated launch/session settings and track both sessions without changing frozen trials | Native/plain controls unchanged; matched-arm configuration/replay and complete cost coverage; no jobs launched merely by merging helpers | -| **C8 — Product configuration and operational readback; C3/C6** | Existing App/settings/Chat projections: one effective configuration owner, role-aware activity, failure/recovery, Stop and artifact return | Packaged managed and supported attached heartbeat journeys, including unavailable host and late results; installed qualification separate; no new packet-format toggle | +| **C8 — Product configuration and operational readback; C3/C6** | Existing App/settings/Chat projections: one effective configuration owner, role-aware activity, failure/recovery, proactive evidence-based reports, task-appropriate rich views, feedback/readback, Stop and artifact return | Packaged managed and supported attached heartbeat journeys from §9, including unavailable host, late results, quiet/deduplicated reports, accessible fallback, audience denial and recovery; installed qualification separate; no new packet-format toggle | | **C9 — Retire old paths and qualify adoption; C1–C8** | Contract/runtime maintainers: remove superseded producers, format switches, duplicated prompts and tests; update protocols, guides and RFC delivery facts | Caller/field/decoder retirement inventory, historical replay and rollback evidence; App + benchmark acceptance and matched benefit before any default promotion | C1's inventory is part of its usable replacement, not a standalone architecture diff --git a/docs/architecture/rfcs/controller-executor-unified-contract-v0.zh-CN.md b/docs/architecture/rfcs/controller-executor-unified-contract-v0.zh-CN.md index 21435b9949..d52137f31c 100644 --- a/docs/architecture/rfcs/controller-executor-unified-contract-v0.zh-CN.md +++ b/docs/architecture/rfcs/controller-executor-unified-contract-v0.zh-CN.md @@ -5,7 +5,7 @@ - **交付成熟度:** Proposal;本文不交付新运行时、schema 或默认行为。 - **作者 / 负责人:** LoopX 维护者、控制面与运行时 owner - **创建日期:** 2026-10-27 -- **最近规范性修订:** 2026-10-28 +- **最近规范性修订:** 2026-10-29 - **实现基线:** `fe2b8dcbcb998647edb4bafb51932988bd7fdaa6` - **相关契约:** [Effect interpreter](agent-loop-effect-interpreter-v0.zh-CN.md)、[会话执行模式](agent-session-execution-modes-v0.zh-CN.md)、[语义交接](capable-manager-semantic-handoff-v0.zh-CN.md)、[整体路线图](loopx-overall-roadmap-v0.zh-CN.md) - **语言镜像:** [English](controller-executor-unified-contract-v0.md) @@ -36,6 +36,9 @@ 分别证明各自上下文连续性,不能借用对方的基线。 5. 先在现有单会话路径验收契约统一;双会话保持 opt-in,直至可比成果与完整成本证据支持 采用。本文不启动 benchmark 或特权操作。 +6. Executor 工作期间,controller 仍应面向用户保持可交互:回答问题、主动解释有意义 + 变化、展现有用产物,并把反馈落实到后续工作。由 C6/C8 验收这条旅程;会话分离 + 本身不能证明已经交付。 ## 2. 问题与动机 @@ -48,6 +51,11 @@ 协议输入,但额外 controller 也可能丢约束、增加延迟或过度指挥。这些是待验证假设, 不能从会话拆分直接推出收益。 +长程工作还需要持续的人机对话。执行继续时,用户应能了解进展、检查成果和修正方向, +无需反复追问状态。只转发最终答案的 controller 没有满足这项产品目标。汇报与展现须 +帮助用户判断工作,反馈须进入真实后续决策和产物;可联系、消息已收到或预览好看, +都不能单独证明闭环成立。 + ### 不变量 - 保留完整已接受要求、revision、权限、未完成必读和证据来源;短提示不能成为遗漏理由。 @@ -205,6 +213,37 @@ capture 与 session/attempt 记录,在必要处读取当前权限,并按原 Executor 摘要不能重建缺失的控制义务。必需材料矛盾或不可达时,依赖工作保持阻塞; 独立获授权工作继续沿原路径推进。 + + +### 执行期间的人机交互 + +在受支持的双会话 profile 中,executor 活动不能阻塞 controller 面向用户的对话。 +复用既有按角色绑定的有序队列、版本化请求、host 观察和原受众返回路径。询问或汇报 +不启动第二个业务 executor,不无故中断已授权 attempt,也不产生另一次 Turn 扣额。 + +| 用户结果 | 必需行为与证据 | +| --- | --- | +| 执行中可交流 | Executor 忙时仍能回答问题、提供已保存产物。区分最近实测状态、来源/版本和活动未知;不猜测进度百分比,不从模型宣告完成推断验收通过。 | +| 主动获知有用变化 | 重要进展、新产物、风险、有证据的停滞和需用户决策的变化应主动汇报,说明依据、影响及有用的反馈请求。复用已配置的事件/投递 owner,合并重复,无实质变化保持安静;不新增模型空轮询或固定汇报周期。 | +| 理解并比较工作 | 按任务选择图表、关系图、时间线、方案对比、截图或产物预览。简明概览可达原始证据/版本,保留不确定性、可访问文本及媒体不可用时的可读降级;不要求每次生成全部形式。 | +| 看到反馈进入执行 | 既有请求 owner 保留原反馈和有序 revision。分别回读收到、排队或待澄清、附理由拒绝,以及实际采用;把已采用变化关联到后续决策、工作和产物。ACK 或修改后的 brief 不能证明实际采用。 | + +Controller 区分已准入范围内的纠偏,以及需要新准入或缺少权限的范围变化。依赖的 +dispatch 或验收前,经当前 owner 应用修订,保留此前要求和未解决的冲突反馈;不能 +静默把最新消息视为取消旧承诺。当前 attempt 无法安全消费纠偏时,展示待处理 revision +及其真实消费边界;替换 attempt 前仍满足 host 的 Stop/fencing 契约。迟到结果保留 +原 revision 与证据,但不能覆盖当前要求或结算不同工作。 + +仅使用已授权会话与受众;展现不授予新渠道、收件人或公开披露权限。重连/重启后先 +恢复待处理反馈、attempt 和投递回执再重试;报告投递丢失或用户询问不引发重新派工。 +Stop 确认、host 中断及实际终止分别可观察。Controller 不可用时,既有 host/Core +停止机制仍有效。 + +这是 C6/C8 产品目标,不声称现有会话或进度原语已使旅程合格,也不新增独立 C1 切片 +的前置条件。后续 opt-in 双会话评估将汇报、展现生成/投递、两个会话全部调用及 +cached/uncached 输入、补读、恢复、时延和人工注意力计入完整成本;不预设响应 SLA +或效率收益。 + ### 评审新鲜度与恢复 完整 capture 证明当时观察到了什么,不会冻结写回时的有效性。语义内容身份、评审 @@ -568,6 +607,7 @@ reader。本文不单独授权破坏性迁移。 | 角色隔离与恢复 | 实际 host tools 下的 controller/executor 崩溃窗口、重复 dispatch、迟到结果、revision 变化、lease 到期、Stop | Executor 不能访问 Core,不能采用过时结果或隐藏第二个业务 executor | | 语义采用 | 原始要求 → controller 判断 → executor 实际工作 → 独立验证 → 接受结果并回原受众 | 读回执、合法 JSON 或 replan 成功不能单独通过 | | 智能中介 | 普通继续、共同约束变化、controller 丢失和小任务反例中的连贯交接、变化/反向证据及结果解释 | 说明真实判断后果与保留义务;少查询或短交接均不足 | +| 执行期间的人机交互 | 下表 C6/C8 旅程经真实受支持 host 和打包对话验证 | Controller 响应、主动投递和反馈采用分别需要证据;不能从路由 ACK 或预览推断 | | 共享生产路径 | 真实 CLI 与受支持 File/SQLite;涉及 authority 持久化变更时跑真实隔离 PostgreSQL;打包 App heartbeat 与 benchmark worker 复用 | 不破坏 live Goal;未支持/未运行 host 仍未合格 | | 成果与成本收益 | 当前单会话、统一契约单会话、统一契约双会话三组,固定 task/model/policy/budget/evaluator | 报告不确定性、失败与反例,不从 prompt bytes 单独宣称收益 | @@ -578,6 +618,22 @@ C1 的主要对照是**同一单会话产品路径中的原 quota packet 与融 传输复用掩盖语义退步。Controller/executor 分离是之后独立的对照,不能用来解释或 抵消 C1 回归。 +在同一长程工作上验收[执行期间的人机交互](#human-interaction-during-execution), +不能用脱离工作的独立聊天演示代替: + +| 场景 | 决定性观察 | +| --- | --- | +| Executor 忙;用户询问或查看产物 | 整项工作完成前,controller 根据当前实测证据回应、提供已保存产物;不产生第二个 executor 或无必要中断。 | +| 有实质变化,随后无变化及重复事件 | 无需用户反复追问,有用汇报到达已授权受众;不因无变化/重复观察而重复汇报。记录真实投递和成本,不承诺固定周期。 | +| 连续或冲突反馈 | 每个 revision 及其处理均可归因,后续工作/产物证明实际采用内容;待处理、拒绝、冲突和依赖权限的变化保持明确。 | +| Stop 与纠偏或结果竞态 | 当前 revision 和范围决定验收;确认与 host 实际终止分开,未知/在途效果仍可见。 | +| 断线、重启、丢回复或迟到/重复结果 | 恢复原队列、revision 和回执,不丢纠偏、不重复 dispatch/扣额、不被旧结果覆盖;仅重试未解决的投递/效果。 | +| 丰富展现、媒体缺失、证据过期或受众错误 | 适合任务的对比/预览支持用户判断和反馈;来源/版本、未知可读,可访问文本仍可用,拒绝未授权投递。 | + +受支持的 managed 与 attached App heartbeat 旅程分别验证,不支持的 host 明示; +安装行为与打包 fixture 分开验收。保留原 quota 单会话门,随后在可选双会话组中测量 +新增交互和展现成本。 + ### C1 基线边界与复用盘点 基线是**原路径中调用者实际收到的 quota 交付**,不是内部原始 decision。 @@ -641,6 +697,11 @@ serializer 或字节减少结清。 选择变成用户任务。复用共享 typed 投影与配置优先级,不建独立 controller console 或 重复 provider/model 设置。 +C6/C8 拥有[执行期间的对话与汇报旅程](#human-interaction-during-execution)。在每个 +受支持受众范围内,复用既有 Chat/Lark 的产物、活动、反馈和投递投影;这些 sink 不成为 +工作权威。Readback 区分汇报投递、反馈处理、实际采用及独立验收;报告失败可恢复, +不能因此重放底层工作。 + 既有诊断记录 capture、request/attempt/role/generation、当前 revision、effect 回执 和成本覆盖;提供可操作恢复,不暴露私有原始对话。通知与工作延续分离;事件/时间等待及 backoff 继续归当前 scheduler owner。本文不引入模型空轮询或新的 recurring automation。 @@ -658,9 +719,9 @@ backoff 继续归当前 scheduler owner。本文不引入模型空轮询或新 | **C3 — 会话绑定与原生生命周期;C1** | Session/runtime owner:扩展 role/generation,复用 native create/resume/observe/interrupt 和有序队列 | 两角色不覆盖 Agent native ID、不借用基线、不竞态执行;重试前观察既有 attempt;关闭新角色准入即可开始回退 | | **C4 — 共享受治理生命周期;C1** | Effect/Turn owner + 外层 worker adapter:围绕既有 typed 操作与回执合并重复 prepare/dispatch/observe/validate/writeback/settle 编排 | App/Turn/external worker 在部分失败下对准入、原结果与一次扣额一致;scheduler effect 保留真实 host owner;核对回执后才切回旧调用方 | | **C5 — Replan 与结果编写边界;C1** | Goal/Vision 与 interaction owner:提供当前事实和 typed controller 操作,移除双会话 profile 中普通 executor 编造 Core 写回字段的义务 | 先看事实保留 default/stride policy 区别、全部证据与必要验证;非法写回拒绝;rollout 期间单会话编写仍合格 | -| **C6 — Controller/executor 交流;C2–C5** | Manager/request + host owner:复用版本化语义请求与结果返回,用自然语言工作/材料交流替换 executor 的 schema 约束任务 | 完整来源交付、executor 局部自主、强制 Core 隔离、纠偏往返与独立验收结果;回退后新工作使用合格单会话 profile | +| **C6 — Controller/executor 交流;C2–C5** | Manager/request + host owner:复用版本化语义请求与结果返回,用自然语言工作/材料交流替换 executor 的 schema 约束任务;执行时用户仍可交互 | 完整来源、局部自主、Core 隔离、纠偏往返、有序 revision 下的反馈实际采用及独立验收结果;第 9 节忙碌、冲突、Stop 和迟到结果场景;回退后新工作使用合格单会话 profile | | **C7 — Benchmark 复用与完整成本归因;C4/C6** | Benchmark toolkit/execution owner:薄 adapter 选择相同产品 profile;合并重复 launch/session 配置,跟踪两个会话,不改冻结 trial | Native/plain 对照不变,可比组配置/replay 与完整成本覆盖;合并 helper 不启动 job | -| **C8 — 产品配置与运行 readback;C3/C6** | 既有 App/settings/Chat 投影:同一 effective configuration owner,按角色展示 activity、失败/恢复、Stop 和产物返回 | 打包 managed 及受支持 attached heartbeat 流程,包括 host 不可用和结果迟到;安装资格另验;不新增 packet 格式开关 | +| **C8 — 产品配置与运行 readback;C3/C6** | 既有 App/settings/Chat 投影:同一 effective configuration owner,按角色展示 activity、失败/恢复、主动循证汇报、适合任务的丰富展现、反馈/readback、Stop 和产物返回 | 第 9 节打包 managed 及受支持 attached heartbeat 旅程,包括 host 不可用、迟到结果、安静/去重汇报、可访问降级、受众拒绝和恢复;安装资格另验;不新增 packet 格式开关 | | **C9 — 旧路径退役与采用资格;C1–C8** | Contract/runtime 维护者:删除被替代 producer、格式开关、重复提示/测试,更新 protocol、guide 和 RFC 交付事实 | 调用方/字段/decoder 退役清单、历史 replay 与回退证据;App + benchmark 验收及可比收益成立后再决定默认提升 | C1 盘点是可用替换的一部分,不单独建设架构框架。C1 契约稳定后,C3/C4/C5 可以独立 diff --git a/docs/architecture/rfcs/loopx-overall-roadmap-v0.md b/docs/architecture/rfcs/loopx-overall-roadmap-v0.md index 423fc6b6f3..59d0a83649 100644 --- a/docs/architecture/rfcs/loopx-overall-roadmap-v0.md +++ b/docs/architecture/rfcs/loopx-overall-roadmap-v0.md @@ -196,6 +196,16 @@ session. Deterministic composition and exact delta encoding retain their own owners. Qualify retained obligations and subsequent accepted work against the controller's added complete costs; query counts or text size cannot pass it. +C6/C8 also own the [human interaction during execution](controller-executor-unified-contract-v0.md#human-interaction-during-execution) +product target: a busy executor does not block the controller conversation; +meaningful changes prompt evidence-based reports and task-appropriate rich +views, while feedback remains traceable into subsequent work and artifacts. +Qualify quiet/deduplicated reporting, audience limits, accessible fallback and +revision/stop/recovery races through existing session/request/projection owners. +These are proposed outcomes, not current runtime qualification or extra gates +on independent C1 work. Preserve single-session comparison first and include +all reporting, presentation and human-attention costs in the later opt-in arm. + C1's [caller cutover map](controller-executor-unified-contract-v0.md#c1-caller-replacement-and-cutover-unit) includes quota emission, the direct Turn producer and the final native/structured host prompts. A common capture does not unify those consumers. Qualification 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 4c640f6009..a1cf6c4d31 100644 --- a/docs/architecture/rfcs/loopx-overall-roadmap-v0.zh-CN.md +++ b/docs/architecture/rfcs/loopx-overall-roadmap-v0.zh-CN.md @@ -150,6 +150,13 @@ Controller 会话的[智能中介作用](controller-executor-unified-contract-v0 仍归各自 owner。以保留义务及后续验收成果,对照 controller 新增完整成本验收,不能 用查询次数或文本体积代替。 +C6/C8 还拥有[执行期间人机交互](controller-executor-unified-contract-v0.zh-CN.md#human-interaction-during-execution) +产品目标:executor 忙时 controller 对话不被阻塞;有实质变化时主动循证汇报,并按任务 +提供丰富展现,反馈可追踪到后续工作和产物。经既有 session/request/projection owner +验收安静/去重汇报、受众限制、可访问降级及 revision/Stop/恢复竞态。这是提议成果, +不证明当前 runtime 合格,也不增加独立 C1 工作的 gate。保留单会话先行对照,在后续 +opt-in 组中计入全部汇报、展现和人工注意力成本。 + C1 的[消费链切换表](controller-executor-unified-contract-v0.zh-CN.md#c1-消费链替换与切换单元) 覆盖 quota emission、直接生产契约的 Turn 入口和最终 native/structured host prompt。 共享 capture 不表示这些消费者已统一。资格检查须追踪来源义务经过组合、重建到实际