Skip to content

Commit ecff92c

Browse files
authored
Merge pull request #6605 from loopx-project/codex/post-6396-rfc-frontier
2 parents 38914dc + d90097b commit ecff92c

12 files changed

Lines changed: 345 additions & 125 deletions

‎docs/architecture/rfcs/complete-state-recovery-v0.md‎

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,27 @@ remains partial for compound worst cases and broader platform/provider profiles.
4242
This checkpoint does not qualify M2/M3, live adoption, remote providers or the G1
4343
team journey. No original identity or receipt is rewritten.
4444

45+
### Delivery after the writer cutoff (2026-10-16)
46+
47+
The landed [R5/T4 cutoff](loopx-overall-roadmap-v0.md#post-6396-delivery-plan)
48+
provides a simpler current mutation owner, not a stronger capture profile or
49+
activation receipt. Reuse M1's verifier, safe extraction and readable audit.
50+
The next implementation is the existing M2 for one local File/SQLite profile:
51+
record required component-owner revisions and achieved capture consistency;
52+
exercise concurrent/quiescence/crash and downgrade cases, while v0 remains
53+
readable and incomplete audits remain held.
54+
55+
Then deliver M3's one-Goal packaged recovery, reusing the Goal-lifetime work in
56+
[#5206](https://github.com/loopx-project/loopx/issues/5206). Before the drill,
57+
freeze owner support, source/destination fencing, the replacement/new-lifetime
58+
decision, effect disposition and RPO/RTO. Original operations, later writes and
59+
unsupported/unknown effects retain their owners; copied leases or provider
60+
identity cannot activate the destination. Return an independently accepted
61+
unfinished-work result through the initiating product entry, with recovered,
62+
lost/unknown work and human interventions recorded. Keep service and additional
63+
platform profiles with M4/M5. This coordination checkpoint implements no M2/M3
64+
behavior and starts no recovery or activation.
65+
4566
### First supported user outcome
4667

4768
The first bounded user promise is recovery of one local Goal after its source

‎docs/architecture/rfcs/complete-state-recovery-v0.zh-CN.md‎

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,21 @@ held,未知状态不改称可恢复,执行权限始终为 false。限制与
3333
本检查点不证明 M2/M3、live adoption、远端 provider 或 G1 团队验收,不重写原身份或回执。
3434

3535

36+
### writer 截止后的交付(2026-10-16)
37+
38+
已合入的 [R5/T4 截止](loopx-overall-roadmap-v0.zh-CN.md#post-6396-delivery-plan)
39+
简化当前写入归属,不提供更强的捕获 profile 或激活回执。复用 M1 verifier、安全
40+
解包和可读审计;下一实现沿既有 M2,先做一个本地 File/SQLite profile:记录必要
41+
组件 owner revision 与实际捕获一致性,覆盖并发/静止/crash/降级;v0 继续可读,
42+
不完整审计继续 held。
43+
44+
随后复用 [#5206](https://github.com/loopx-project/loopx/issues/5206) 的 Goal 生命周期
45+
工作交付 M3 单 Goal 打包恢复。演练前冻结 owner 支持、源/目标 fence、替代延续或
46+
新生命周期决定、effect 处置和 RPO/RTO。原操作、后写和不支持/未知 effect 各自归
47+
原 owner;复制 lease 或 provider 身份不能激活目标。在发起产品入口返回独立验收的
48+
未完成工作结果,记录已恢复、丢失/未知工作和人工介入。服务及额外平台 profile
49+
继续由 M4/M5 承接。本协调检查点未实现 M2/M3,也不启动恢复或激活。
50+
3651
### 首个支持的用户结果
3752

3853
首个有界用户承诺是:一个本地 Goal 的来源工作区不可用或不再可信后,用户可以恢复

‎docs/architecture/rfcs/goal-instance-identity-and-orphan-recovery-v0.md‎

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,26 @@ Goal authorities. This RFC does not approve automatic cleanup of every
4747
external provider, automatic candidate selection, or direct mutation of
4848
orphan state by ordinary bootstrap.
4949

50+
### Post-merge recovery integration (2026-10-16)
51+
52+
[#6396](https://github.com/loopx-project/loopx/pull/6396) retires ordinary legacy
53+
source writers in the 2.0 tree. It does not mechanically exclude installed old
54+
binaries, global routes or warm executors, and does not lift this RFC's activation
55+
hold. Continue [#5206](https://github.com/loopx-project/loopx/issues/5206)'s
56+
remaining binding-owner inventory, commit fences and external-effect drain;
57+
reuse delivered codec/source-session/quota owners instead of restarting them.
58+
59+
Coordinate only the exercised local profile with complete-recovery M2/M3 and
60+
[R5](loopx-overall-roadmap-v0.md#post-6396-delivery-plan). Goal lifetime, provider
61+
incarnation, execution/session generation and lease epoch remain distinct.
62+
Freeze replacement continuity versus a new lifetime through the Goal owner,
63+
then prove that old A cannot write, deliver, debit or settle same-alias B after
64+
recovery. M4 orphan resolution keeps its preview/backup/journal/retry boundary;
65+
M5 adds the real product/peer result and original-route return only after the
66+
profile's M2/M3 fences pass. Component fixtures may precede activation but
67+
cannot certify it. Ordinary supported creation/collaboration need not wait for
68+
all service profiles; this checkpoint grants no activation or recovery authority.
69+
5070
## 2. Problem and motivation
5171

5272
Today one `goal_id` serves as both a display name and a durable identity. A

‎docs/architecture/rfcs/goal-instance-identity-and-orphan-recovery-v0.zh-CN.md‎

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,22 @@ Lease 和全局 registry 的角色都不会成为新的 Goal authority。本 RFC
4141
自动清理所有外部 provider、自动选择 candidate,也不允许普通 bootstrap
4242
直接修改孤儿状态。
4343

44+
### 合入后的恢复集成(2026-10-16)
45+
46+
[#6396](https://github.com/loopx-project/loopx/pull/6396) 已在 2.0 tree 退役普通 legacy
47+
source writer,但不机械排除已安装旧二进制、global route 或 warm executor,也不
48+
解除本 RFC 的 activation hold。继续 [#5206](https://github.com/loopx-project/loopx/issues/5206)
49+
剩余 binding-owner 清单、commit fence 和外部 effect drain;复用已交付的 codec/
50+
source-session/quota owner,不从头重做。
51+
52+
只将确实涉及的本地 profile 与完整恢复 M2/M3、[R5](loopx-overall-roadmap-v0.zh-CN.md#post-6396-delivery-plan)
53+
协调。Goal 生命周期、provider incarnation、执行/session generation 和 lease epoch
54+
仍是不同身份。由 Goal owner 冻结替代延续或新生命周期决定,再证明恢复后旧 A 不能
55+
写入、投递、扣额或结算同名 B。M4 孤儿处置保留 preview/backup/journal/retry
56+
边界;M5 只在本 profile 的 M2/M3 fence 通过后增加真实产品/peer 结果及原路返回。
57+
组件 fixture 可先于 activation,但不能认证它。已支持的普通创建/协作不等待全部
58+
服务 profile;本检查点不授予激活或恢复权限。
59+
4460
## 2. 问题与动机
4561

4662
当前 `goal_id` 同时承担展示名称和持久身份。Goal 可能已从项目 registry

‎docs/architecture/rfcs/ledger/shared-goal-authority-state-provider-v0/2026-09-28-retirement-cadence.md‎

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,37 @@
11
# Local authority: retirement cadence after integration
22

3-
- Current candidate checkpoint: October 15, 2026, #6396 at `5d29213d3`; historical 1.x plan: October 7, 2026, `06b6caa07`; historical audit: `ce3862e33`; adoption follow-up: `71525ab90`, September 28, 2026; [中文](2026-09-28-retirement-cadence.zh-CN.md).
3+
- Current implementation checkpoint: October 16, 2026, #6396 landed at `a4483aaec`; historical 1.x plan: October 7, 2026, `06b6caa07`; historical audit: `ce3862e33`; adoption follow-up: `71525ab90`, September 28, 2026; [中文](2026-09-28-retirement-cadence.zh-CN.md).
44
- Owners: overall roadmap R3/R4/R5/R6; shared authority D1–D3; TS migration T0–T4.
55
- This replaces the **current inventory/estimates** in the September 27 recovery
66
and Host-supervision ledgers, not their historical validation results.
77

88
<a id="current-candidate-checkpoint"></a>
99

10-
## Current candidate checkpoint (2026-10-15)
10+
## Current implementation checkpoint (2026-10-16)
1111

12-
The C1/T4 deletion package is implemented in contributor-led
13-
[#6396](https://github.com/loopx-project/loopx/pull/6396) at reviewed head
14-
`5d29213d3`, including the fork supplements and
15-
[absorbed #6366 obligations](../../../../reference/local-authority-provider-selection.md#retirement-proposal-reconciliation).
16-
This is an open 2.0 candidate, not the released additive 1.x baseline.
12+
Contributor-led [#6396](https://github.com/loopx-project/loopx/pull/6396) landed
13+
at `a4483aaec`, with the same complete tree as final PR head `404433aee`.
14+
The C1/T4 deletion package includes fork supplements, the native Core-version
15+
repair and [absorbed #6366 obligations](../../../../reference/local-authority-provider-selection.md#retirement-proposal-reconciliation).
16+
The compatible 1.4.2 release preceded it; the 2.0 cutoff is now on main, not a
17+
released-default or complete-adoption claim.
1718

18-
| Boundary | Candidate fact | Remaining work / retained obligation |
19+
| Boundary | Landed fact | Remaining work / retained obligation |
1920
| --- | --- | --- |
20-
| Ordinary Markdown mutation and capture producers | Obsolete writer implementations, including `todos/legacy_mutation.py`, `todos/line_update.py` and `runtime_shadow_writer_adapter.py`, are absent. Canonical creation/mutation, team-plan, Monitor and lease callers use existing typed owners. | Integrate and qualify the adopted source; do not create another writer-deletion task from the historical table. Keep permanent document/display IO and supported import/recovery. |
21-
| Ownership policy | Fresh execution/configuration targets are `soft_claim` / `hard_lease`; typed runtime admission and proof inspection reject live `legacy` execution. | Historical three-value decoding, original receipts, exact release and reviewed backed-up policy migration remain. Qualify real installed migration and affected Host/App consumers separately. |
22-
| Source and outbox recovery | Normal producer retirement does not erase prepared/committed history. | Preserve original receipt/cursor recovery and reconcile or explicitly disposition outstanding outboxes before removing their readers. Storage conversion does not complete ownership migration. |
23-
| Adoption and release | Exact-head review and selected combined-tree validation are recorded with source revisions in the PR. | The reversible core-developer trial, natural Host use, Goal-instance lifetime/recovery and formal D2/D3/default evidence keep their existing owners and open exits. Retain failed/missing rows; mocks, elapsed mixed-version use or a PR merge cannot replace them. |
24-
25-
Use this table and the [TS current frontier](../../typescript-control-plane-migration-v0.md#current-delivery-frontier-2026-10-02)
26-
for new work. The dated records below preserve their original source-specific
27-
measurements and dependency decisions; claims that old writers are reachable
28-
refer to those earlier baselines and must not regenerate completed candidate work.
21+
| Ordinary Markdown mutation and capture producers | Obsolete writers and ordinary producers are removed; canonical creation/mutation, team-plan, Monitor and lease callers reuse existing typed owners. | Qualify final-main installed callers; do not repeat this deletion family. Keep permanent document IO and supported import/recovery. |
22+
| Ownership and historical recovery | Fresh execution/configuration accepts soft/hard; historical legacy codecs, exact release and original receipts remain. | Exercise affected installed Host/App paths, stale proofs, expired-but-unreleased leases and later-write preservation. Storage conversion is not lifetime adoption. |
23+
| Final combination | The post-#7 source and its installed repair have explicit tree/source mappings; later main merges match automatic trees and include #6597. | [Executed evidence](https://github.com/loopx-project/loopx/pull/6396#issuecomment-6208115093) stays pinned to its revisions. Graph equivalence and merge status do not certify an unexecuted final combination. |
24+
| Full backup and identity | M1 inert verification/readback exists; source/import history stays readable. | Existing complete-recovery M2/M3 and #5206 own capture consistency, lifetime/old-writer/effect drain and controlled adoption. Pending outboxes keep original receipt/cursor/disposition owners. |
25+
| Sustained/default qualification | New-Goal SQLite/hard-lease selection exists in source. | D2 retains formal volume/elapsed failures and missing rows; D3 and shared-authority 7.2 decide cohort versus released default separately. No cohort or soak starts here. |
26+
27+
Use [R5's post-merge sequence](../../loopx-overall-roadmap-v0.md#post-6396-delivery-plan)
28+
and the [TS current frontier](../../typescript-control-plane-migration-v0.md#current-delivery-frontier-2026-10-02)
29+
for new work. The dated records below retain their original measurements and
30+
dependency judgments. Statements that ordinary source writers are reachable
31+
refer to their older baselines, not unfinished implementation on current main.
32+
Retire further adapters only with actual last-caller/compatibility evidence;
33+
historical recovery and provider/OS IO are not unused merely because writer
34+
retirement landed.
2935

3036
## Historical reconciled baseline
3137

‎docs/architecture/rfcs/ledger/shared-goal-authority-state-provider-v0/2026-09-28-retirement-cadence.zh-CN.md‎

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,32 @@
11
# 合并后的本地权威退役节奏
22

3-
- 当前候选 checkpoint:2026-10-15,#6396 `5d29213d3`;历史 1.x 计划:2026-10-07,`06b6caa07`;历史核对基线:`ce3862e33`;采用后续核对:`71525ab90`,2026-09-28;[English](2026-09-28-retirement-cadence.md)。
3+
- 当前实现检查点:2026-10-16,#6396 已合入 `a4483aaec`;历史 1.x 计划:2026-10-07,`06b6caa07`;历史核对基线:`ce3862e33`;采用后续核对:`71525ab90`,2026-09-28;[English](2026-09-28-retirement-cadence.md)。
44
- Owner:总 roadmap R3/R4/R5/R6、shared authority D1–D3、TS 迁移 T0–T4。
55
- 本记录替代 9 月 27 日 recovery、Host supervision 记录的**当前清单和估算**,
66
不替代其历史验证结果。
77

88
<a id="current-candidate-checkpoint"></a>
99

10-
## 当前候选 checkpoint(2026-10-15)
10+
## 当前实现检查点(2026-10-16)
1111

12-
贡献者主导的 [#6396](https://github.com/loopx-project/loopx/pull/6396),已评审 head
13-
`5d29213d3`,已实现 C1/T4 删除包,纳入 fork 补缺及
14-
[#6366 已吸收义务](../../../../reference/local-authority-provider-selection.md#retirement-proposal-reconciliation)。
15-
这是开放的 2.0 候选,不是已发布的兼容 1.x 基线。
12+
贡献者主导的 [#6396](https://github.com/loopx-project/loopx/pull/6396) 已合入 `a4483aaec`,
13+
与最终 PR head `404433aee` 完整 tree 相同。C1/T4 删除包包含 fork 补缺、原生 Core
14+
版本修复及 [#6366 已吸收义务](../../../../reference/local-authority-provider-selection.md#retirement-proposal-reconciliation)。
15+
兼容 1.4.2 已先发布;2.0 截止已进入 main,不等于发布默认或完整采用资格完成。
1616

17-
| 边界 | 候选现状 | 剩余工作/保留义务 |
17+
| 边界 | 已落地事实 | 剩余工作/保留义务 |
1818
| --- | --- | --- |
19-
| 普通 Markdown mutation 与 capture producer | 废弃 writer 实现已不存在,包括 `todos/legacy_mutation.py`、`todos/line_update.py` 和 `runtime_shadow_writer_adapter.py`;canonical 创建/写入、team-plan、Monitor 及 lease caller 使用既有 typed owner。 | 集成并验证采用后的源码,不从历史表再创建 writer 删除任务;保留永久文档/显示 IO 及受支持的导入/恢复。 |
20-
| 所有权策略 | fresh 执行/配置目标为 `soft_claim`/`hard_lease`;typed runtime 准入及 proof inspect 拒绝 live `legacy` 执行。 | 历史三值解码、原回执、精确 release 与有备份的审核策略迁移保留;真实安装迁移及受影响 Host/App 消费者分别验证。 |
21-
| Source/outbox 恢复 | 普通 producer 退役不抹去 prepared/committed 历史。 | 保留原 receipt/cursor 恢复;删除 reader 前对账或明确处置未完成 outbox。存储转换不等于所有权迁移完成。 |
22-
| 采用与发布 | PR 按源码 revision 记录精确 head 评审及选定组合 tree 验证。 | 可回退核心开发者试用、自然 Host 使用、Goal-instance 生命周期/恢复及正式 D2/D3/默认资格沿用原 owner 与开放出口;保留失败/缺失项,mock、混合版本经过时间或 PR 合并都不能替代。 |
23-
24-
新工作以本表及 [TS 当前交付边界](../../typescript-control-plane-migration-v0.zh-CN.md#当前交付边界2026-10-02)
25-
为准。下方具名历史记录保留原源码上的测量与依赖判断;“旧 writer 仍可达”
26-
只描述当时基线,不能再次派生候选已经实现的工作。
19+
| 普通 Markdown mutation 与 capture producer | 废弃 writer 和普通 producer 已删除;canonical 创建/写入、team-plan、Monitor 和 lease caller 复用既有 typed owner。 | 验证最终 main 的安装 caller,不重做该删除家族;保留永久文档 IO 及受支持导入/恢复。 |
20+
| 所有权与历史恢复 | fresh 执行/配置接受 soft/hard,历史 legacy codec、精确 release 和原回执保留。 | 验证受影响安装 Host/App、旧 proof、过期未释放租约及后写保持;存储转换不等于生命周期接纳。 |
21+
| 最终组合 | #7 后的源码及安装修复有明确 tree/source 对应;后续 main 合并等于自动 tree,并含 #6597。 | [已执行证据](https://github.com/loopx-project/loopx/pull/6396#issuecomment-6208115093) 保留原 revision;图等价和合入状态不认证未执行的最终组合。 |
22+
| 完整备份与身份 | M1 隔离验证/读回已存在,源/导入历史仍可读。 | 既有完整恢复 M2/M3 与 #5206 负责捕获一致性、生命周期/旧 writer/effect drain 及受控接纳;pending outbox 保留原 receipt/cursor/处置 owner。 |
23+
| 持续/默认资格 | 新 Goal 的 SQLite/hard-lease 源码选择已存在。 | D2 保留正式容量/经过时间失败和缺失项;D3 与 shared-authority 7.2 区分 cohort 和发布默认决定;本计划不启动 cohort/soak。 |
24+
25+
新工作沿 [R5 合入后顺序](../../loopx-overall-roadmap-v0.zh-CN.md#post-6396-delivery-plan)
26+
和 [TS 当前边界](../../typescript-control-plane-migration-v0.zh-CN.md#当前交付边界2026-10-02)。
27+
下方具名记录保留原测量与依赖判断;“普通源 writer 仍可达”描述其旧基线,不能当作
28+
当前 main 尚未实现的工作。后续 adapter 删除须有真实最后 caller/兼容证据;
29+
历史恢复、provider/OS IO 不因 writer 已退役而变成无用代码。
2730

2831
## 历史核对基线
2932

0 commit comments

Comments
 (0)