Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions docs/architecture/rfcs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,12 @@ failure leaves the generated files untouched.
synthetic drift fixture plan are proposed. No direction declaration,
reducer, runtime consumer, Vision writer, scheduler effect, or provider
integration has shipped.
- [Goal Continuity Across Restart and Replacement](goal-immutability-coherence-defense-v0.md)
([中文版](goal-immutability-coherence-defense-v0.zh-CN.md))
- **Delivery on `main`:** Non-normative follow-up design record.
- **Current boundary:** Retains qualification scenarios under existing Goal
instance, direction, amendment and handoff owners; combined journeys remain
unqualified and no new runtime contract is introduced.
- [Goal Artifact Lifecycle Projection v0](goal-artifact-lifecycle-projection-v0.md)
([中文版](goal-artifact-lifecycle-projection-v0.zh-CN.md))
- **Delivery on `main`:** Proposal only.
Expand Down
5 changes: 3 additions & 2 deletions docs/architecture/rfcs/STATUS.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ appendix may keep dated history, but no dated log heading may precede it.

[中文版](STATUS.zh-CN.md) is the semantic mirror of this file.

## Accepted (39)
## Accepted (40)

| RFC | Header status | Supersedes / closes | Ledger |
| --- | --- | --- | --- |
Expand All @@ -36,6 +36,7 @@ appendix may keep dated history, but no dated log heading may precede it.
| [RFC: Goal Artifact Lifecycle Projection (milestone / guard / next-transition) v0](goal-artifact-lifecycle-projection-v0.md) | Accepted | none | — |
| [RFC: Goal Channel Collaboration v0](goal-channel-collaboration-v0.md) | Accepted | none | — |
| [RFC: Goal Direction Baseline (v0)](goal-direction-baseline-v0.md) | Accepted | none | — |
| [Design follow-up: Goal continuity across restart and replacement](goal-immutability-coherence-defense-v0.md) | Accepted | none | — |
| [Goal Instance Identity and Orphan Recovery (v0)](goal-instance-identity-and-orphan-recovery-v0.md) | Accepted | none | — |
| [RFC: Goal-scoped Capability Portfolio and Connector Lifecycle (v0)](goal-scoped-capability-portfolio-v0.md) | Accepted | none | — |
| [RFC: Per-Goal Usage, Token, and Cost Surfacing v0](goal-usage-token-cost-v0.md) | Accepted | none | — |
Expand All @@ -58,7 +59,7 @@ appendix may keep dated history, but no dated log heading may precede it.
| [RFC: Research Exploration Control Plane v0](research-exploration-control-plane-v0.md) | Accepted | none | — |
| [RFC: Semantic Vocabulary Convergence and Commit-Time Drift Checks (v0)](semantic-vocabulary-convergence-v0.md) | Accepted | none | [5 entries](ledger/semantic-vocabulary-convergence-v0/) |
| [RFC: Shared Goal Alignment and Governed Amendment Protocol (v0)](shared-goal-alignment-and-governed-amendment-v0.md) | Accepted | none | [2 entries](ledger/shared-goal-alignment-and-governed-amendment-v0/) |
| [RFC: LoopX Shared Control-Plane Authority and Pluggable State Providers (v0)](shared-goal-authority-state-provider-v0.md) | Accepted | none | [22 entries](ledger/shared-goal-authority-state-provider-v0/) |
| [RFC: LoopX Shared Control-Plane Authority and Pluggable State Providers (v0)](shared-goal-authority-state-provider-v0.md) | Accepted | none | [23 entries](ledger/shared-goal-authority-state-provider-v0/) |
| [RFC: Single-Owner Local Daemon (v0)](single-owner-local-daemon-v0.md) | Accepted | none | — |
| [RFC: TypeScript Control-Plane Migration Direction v0](typescript-control-plane-migration-v0.md) | Accepted | none | [12 entries](ledger/typescript-control-plane-migration-v0/) |

Expand Down
5 changes: 3 additions & 2 deletions docs/architecture/rfcs/STATUS.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

[English](STATUS.md) 与本文互为语义镜像。

## 已接受 (39)
## 已接受 (40)

| RFC | 头部状态 | 替代 / 关闭 | Ledger |
| --- | --- | --- | --- |
Expand All @@ -33,6 +33,7 @@
| [RFC:Goal Artifact 生命周期投影(milestone / guard / next-transition)v0](goal-artifact-lifecycle-projection-v0.zh-CN.md) | 已接受 | 无 | — |
| [RFC: Goal Channel 协作模型 v0](goal-channel-collaboration-v0.zh-CN.md) | 已接受 | 无 | — |
| [RFC:Goal Direction Baseline(目标方向基线)v0](goal-direction-baseline-v0.zh-CN.md) | 已接受 | 无 | — |
| [后续设计:重启与实例替换中的 Goal 连续性](goal-immutability-coherence-defense-v0.zh-CN.md) | 已接受 | none | — |
| [Goal 实例身份与孤儿状态恢复(v0)](goal-instance-identity-and-orphan-recovery-v0.zh-CN.md) | 已接受 | 无 | — |
| [RFC:Goal 级能力组合与 Connector 生命周期(v0)](goal-scoped-capability-portfolio-v0.zh-CN.md) | 已接受 | 无 | — |
| [RFC: Per-Goal Usage, Token, and Cost Surfacing v0](goal-usage-token-cost-v0.md) | 已接受 | none | — |
Expand All @@ -55,7 +56,7 @@
| [RFC:研究型探索控制面 v0](research-exploration-control-plane-v0.zh-CN.md) | 已接受 | 无 | — |
| [RFC:语义词表收敛与提交期漂移检查(v0)](semantic-vocabulary-convergence-v0.zh-CN.md) | 已接受 | 无 | [5 条](ledger/semantic-vocabulary-convergence-v0/) |
| [RFC:共享 Goal 对齐与受治理 Amendment 协议(v0)](shared-goal-alignment-and-governed-amendment-v0.zh-CN.md) | 已接受 | 无 | [2 条](ledger/shared-goal-alignment-and-governed-amendment-v0/) |
| [RFC:LoopX 共享控制面权威与可插拔状态 Provider(v0)](shared-goal-authority-state-provider-v0.zh-CN.md) | 已接受 | 无 | [22 条](ledger/shared-goal-authority-state-provider-v0/) |
| [RFC:LoopX 共享控制面权威与可插拔状态 Provider(v0)](shared-goal-authority-state-provider-v0.zh-CN.md) | 已接受 | 无 | [23 条](ledger/shared-goal-authority-state-provider-v0/) |
| [RFC: Single-Owner Local Daemon (v0)](single-owner-local-daemon-v0.md) | 已接受 | none | — |
| [RFC:LoopX 控制面 TypeScript 渐进迁移方向 v0](typescript-control-plane-migration-v0.zh-CN.md) | 已接受 | 无 | [12 条](ledger/typescript-control-plane-migration-v0/) |

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
# Design follow-up: Goal continuity across restart and replacement

- **Status:** Deferred design note; non-normative, not an accepted new runtime contract.
- **RFC status:** Accepted (non-normative design follow-up).
- **Supersedes / closes:** none
- **Delivery maturity:** Deferred design note; not an accepted new runtime contract.
- **Origin:** Retains useful questions from [Duang777's #5169](https://github.com/loopx-project/loopx/pull/5169), with its implementation and evidence claims narrowed during review.
- **Language mirror:** [中文](goal-immutability-coherence-defense-v0.zh-CN.md).
- **Semantic mirror:** [中文](goal-immutability-coherence-defense-v0.zh-CN.md).
- **Owning contracts:** [Goal instance identity and orphan recovery](goal-instance-identity-and-orphan-recovery-v0.md), [Goal direction baseline](goal-direction-baseline-v0.md), [governed amendment](shared-goal-alignment-and-governed-amendment-v0.md), [semantic handoff](capable-manager-semantic-handoff-v0.md), and [shared authority](shared-goal-authority-state-provider-v0.md).

This preserves follow-up design value from the original “Goal Immutability as
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
# 后续设计:重启与实例替换中的 Goal 连续性

- **状态:** 延后设计记录;非规范性内容,不是新接受的运行时契约。
- **RFC 状态:** Accepted(非规范性后续设计记录)。
- **替代 / 关闭:** none
- **交付成熟度:** 延后设计记录;不是新接受的运行时契约。
- **来源:** 保留 [Duang777 在 #5169 中提出的问题](https://github.com/loopx-project/loopx/pull/5169),评审时收窄其实现与证据宣称。
- **语言镜像:** [English](goal-immutability-coherence-defense-v0.md)。
- **语义镜像:** [English](goal-immutability-coherence-defense-v0.md)。
- **所属契约:** [Goal 实例身份与孤儿恢复](goal-instance-identity-and-orphan-recovery-v0.zh-CN.md)、[Goal 方向基线](goal-direction-baseline-v0.zh-CN.md)、[受治理的修改](shared-goal-alignment-and-governed-amendment-v0.md)、[语义交接](capable-manager-semantic-handoff-v0.zh-CN.md)、[共享权威](shared-goal-authority-state-provider-v0.md)。

这里保留原“Goal 不可变性作为一致性防御”草稿中的后续设计价值,不增加第二份
Expand Down
27 changes: 26 additions & 1 deletion examples/benchmark-native-goal-installed-profile-smoke.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import subprocess
import sys
import tempfile
from contextlib import ExitStack
from pathlib import Path

REPO_ROOT = Path(__file__).resolve().parents[1]
Expand Down Expand Up @@ -76,6 +77,26 @@ def _run_profile_cli(
return payload


def _stop_profile_runtime(profile: NativeCodexProfile) -> None:
# Stop only this disposable installed profile's runtime before removing
# files that its idle writer can still create.
payload = _run_profile_cli(
profile,
profile.root,
"--format",
"json",
"doctor",
"--installation-only",
"--restart-runtime",
)
restart = payload.get("effect_runtime_restart")
if not isinstance(restart, dict) or restart.get("status") not in {
"stopped",
"not_running",
}:
raise SystemExit("profile runtime shutdown did not complete")


def _profile_authority_contains_value(profile: NativeCodexProfile, value: str) -> bool:
marker = value.encode("utf-8")
for root in (profile.home, profile.codex_home):
Expand All @@ -93,12 +114,16 @@ def _profile_authority_contains_value(profile: NativeCodexProfile, value: str) -

def main() -> int:
args = _parser().parse_args()
with tempfile.TemporaryDirectory(prefix="loopx-native-goal-profile-smoke-") as raw:
with (
tempfile.TemporaryDirectory(prefix="loopx-native-goal-profile-smoke-") as raw,
ExitStack() as cleanup,
):
profile = install_native_codex_profile(
REPO_ROOT,
Path(raw) / "profile",
require_clean_source=not args.allow_dirty_source,
)
cleanup.callback(_stop_profile_runtime, profile)
profile_receipt = compact_native_codex_profile_receipt(profile)
provider_key = "ARK_OPENAI_API_KEY"
gateway_sentinel_key = "LOOPX_MODEL_PROVIDER_SENTINEL"
Expand Down
Loading