# ADR: Owner Scoped Task Lineage Supersession P0 ## 决策 `TASK-SINGLEHOST-LINEAGE-SUPERSESSION-P0-20260905` 新增一个只服务于 `TASK-SINGLEHOST-TRUSTROOT-P0-20260904` 到 `TASK-SINGLEHOST-TRUSTROOT-P0-20260904-S1` 的控制面 capability。 它创建 append-only child lineage;绝不重写 source Task、metadata、revision、attempt、claim 或 lease。 ## 安全边界 请求只携带 Owner decision 和 source 身份断言。控制面复用正式 Task identity helper 与现有 Owner verifier,严格校验 namespace、principal、当前 Owner key、短 TTL、nonce、 decision ID、exact-CAS 字段以及唯一 child ID/ordinal。未知字段、任意 child payload、通配 Task/repository/branch、旧 signer 或 replay 均 fail-closed。 child payload 由 canonical initial-execution profile 在服务端构造:`QUEUED`、revision 1、 attempt 0、无 claim/lease、空初始 capabilities 和 pristine metadata。child 普通 event 链 只允许 `TASK_CREATED`;lineage/decision/receipt 审计必须写入独立 append-only 表。 ## 一致性和重放 单一 `BEGIN IMMEDIATE` 事务重读 source exact-CAS、检查 source+ordinal/child/decision/nonce 唯一性、插入 child、lineage、decision 和 receipt,并整体提交。任一步失败必须回滚,不能 留下半创建 child。只有 decision digest 完全相同的请求可返回同一 receipt;相同唯一键而 digest 不同必须拒绝。append-only 表禁止 UPDATE 和 DELETE。 ## ClaimGuard source 的 frozen ClaimGuard artifact 永不修改。child 的 Task identity 和 projected metadata identity 必然不同,必须使用新建的版本化、append-only child binding/receipt,精确绑定 child task、projected revision/metadata/capabilities、worker、execution digest、repository、 branch、generation 和 external job。dispatch 只识别 source 与 exact child;缺失或重复 binding 一律拒绝。不得使用 latest、通配符或 caller 指定路径。 ## 验收 live invocation 前必须在 isolated SQLite 完成 source exact state 到 canonical projection、