diff --git a/docs/product/release-readiness.md b/docs/product/release-readiness.md index f8bb8e099..dd080dd89 100644 --- a/docs/product/release-readiness.md +++ b/docs/product/release-readiness.md @@ -619,6 +619,14 @@ path, and canary route rather than as a user-facing release baseline. governance (#4433, #4453), and the Codex App autonomous goal guide (#4442). The published wheel, source distribution, checksum, and PyPI artifacts were verified against the exact release source before `stable` fast-forwarded. +- `v1.1.0` on 2026-09-20 01:04 +08:00: organization migration and governed + collaboration release at the matching `v1.1.0` tag (`607c11d75`). LoopX + moved its repository, Pages, installer, and update surfaces to + `loopx-project`; team plans gained an explicit confirmation-to-canonical-work + path, local delegation gained durable operation recovery and checked returns, + and Goal acceptance plus replan obligations retained their existing authority + owners. The published package, desktop artifacts, signed update feed, and + website were verified before `stable` fast-forwarded. When a new public release is promoted, add it here only after the matching tag, release note, stable ref, update path, and focused release canary agree. diff --git a/examples/codex-cli-native-mcp-materialization-smoke.py b/examples/codex-cli-native-mcp-materialization-smoke.py index 5b1165213..af67d7f14 100644 --- a/examples/codex-cli-native-mcp-materialization-smoke.py +++ b/examples/codex-cli-native-mcp-materialization-smoke.py @@ -85,7 +85,24 @@ def main() -> int: parser.add_argument("--model") parser.add_argument("--reasoning-effort", default="high") parser.add_argument("--timeout-seconds", type=float, default=180.0) + parser.add_argument( + "--real-codex-cli", + action="store_true", + help="Run the live Codex CLI check instead of recording a default skip.", + ) args = parser.parse_args() + if not args.real_codex_cli: + print( + json.dumps( + { + "ok": True, + "skipped": True, + "reason": "real Codex CLI execution requires --real-codex-cli", + }, + indent=2, + ) + ) + return 0 codex_bin = shutil.which(args.codex_bin) if codex_bin is None: parser.error(f"Codex CLI is unavailable: {args.codex_bin}") diff --git a/examples/control_plane/todo-projection-shared-helper-smoke.py b/examples/control_plane/todo-projection-shared-helper-smoke.py index eff241011..1f70c34dc 100644 --- a/examples/control_plane/todo-projection-shared-helper-smoke.py +++ b/examples/control_plane/todo-projection-shared-helper-smoke.py @@ -162,7 +162,7 @@ def assert_shared_ordering_parity(summary: dict) -> None: "text": "Keep this text with embedded P0 wording but no bracket prefix.", } assert todo_projection_sort_key(embedded_priority) == (50, 9), embedded_priority - assert quota_todo_projection_sort_key(embedded_priority) == (0, 9), embedded_priority + assert quota_todo_projection_sort_key(embedded_priority) == (50, 9), embedded_priority def assert_claimed_visibility_parity() -> None: diff --git a/examples/project/configure-goal-smoke.py b/examples/project/configure-goal-smoke.py index c151c5714..d18a34fbb 100644 --- a/examples/project/configure-goal-smoke.py +++ b/examples/project/configure-goal-smoke.py @@ -290,6 +290,7 @@ def main() -> int: assert set(features) == { "todo_replan_cadence", "local_authority_shadow", + "coordination_runtime_shadow", "multi_subagent", "peer_task_coordination", "explore_graph", diff --git a/examples/project/goal-vision-replan-contract-smoke.py b/examples/project/goal-vision-replan-contract-smoke.py index a69b1f023..a0552cc18 100644 --- a/examples/project/goal-vision-replan-contract-smoke.py +++ b/examples/project/goal-vision-replan-contract-smoke.py @@ -138,7 +138,7 @@ def main() -> int: "`done=true` is only valid", "explicit completion with authoritative evidence", "a completed todo is only evidence input", - "15 or more advancement todos", + "owns at least 15 open advancement Todos", "Write / Correction Mechanism", "Vision correction is a normal state-machine transition", "material `refresh-state` closeouts emit a per-agent `vision_checkpoint_v0`", @@ -159,7 +159,7 @@ def main() -> int: "required replan is evaluated before", "An acknowledgement without a vision, todo, acceptance, or no-follow-up", "`vision_checkpoint_missing`", - "about 15 advancement todos", + "owns 15 open advancement todos", "bounded public research when local evidence is insufficient", "goal-vision-replan-contract-v0.md", ], diff --git a/loopx/help_surface.py b/loopx/help_surface.py index 842cdba34..36e49013f 100644 --- a/loopx/help_surface.py +++ b/loopx/help_surface.py @@ -283,6 +283,10 @@ "command": "loopx connector", "purpose": "List, register, rank, and record usage for public connector providers.", }, + { + "command": "loopx external-evidence", + "purpose": "Plan, admit, and retire provenance-bound external evidence.", + }, {"command": "loopx issue-fix", "purpose": "Build public-safe issue or PR fix workflow packets."}, { "command": "loopx review-batch", diff --git a/man/loopx.1 b/man/loopx.1 index 6e8e05567..8c4bf6446 100644 --- a/man/loopx.1 +++ b/man/loopx.1 @@ -237,6 +237,9 @@ Inspect and manage doctor\-verified subprocess extension activations. \fBloopx connector\fR List, register, rank, and record usage for public connector providers. .TP +\fBloopx external\-evidence\fR +Plan, admit, and retire provenance\-bound external evidence. +.TP \fBloopx issue\-fix\fR Build public\-safe issue or PR fix workflow packets. .TP