From d7d5032a577d958b99c0fd22d42c1b9ab3187338 Mon Sep 17 00:00:00 2001 From: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> Date: Sat, 24 Oct 2026 03:54:54 +0800 Subject: [PATCH 1/2] fix(examples): initialize canonical authority for Turn E2E Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> --- examples/loopx-turn-codex-cli-e2e-smoke.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/examples/loopx-turn-codex-cli-e2e-smoke.py b/examples/loopx-turn-codex-cli-e2e-smoke.py index 7ad457881a..f792c75ec3 100755 --- a/examples/loopx-turn-codex-cli-e2e-smoke.py +++ b/examples/loopx-turn-codex-cli-e2e-smoke.py @@ -21,6 +21,9 @@ from loopx.control_plane.turn_driver import ( # noqa: E402 load_loopx_turn_plan_from_journal, ) +from tests.control_plane.canonical_authority_fixture import ( # noqa: E402 + initialize_canonical_source_fixture, +) from tests.control_plane.host_process_fixture import write_python_host_fixture # noqa: E402 @@ -119,6 +122,9 @@ def _write_fixture(root: Path, *, turn_count: int) -> tuple[Path, Path, Path, Pa + "\n", encoding="utf-8", ) + initialize_canonical_source_fixture( + runtime, GOAL_ID, state_path=state, provider="sqlite", + ) return project, runtime, workspace, registry From c0402b4cb82f04c6c071e9c1b33be1ef8ae0d66f Mon Sep 17 00:00:00 2001 From: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> Date: Sat, 24 Oct 2026 04:13:21 +0800 Subject: [PATCH 2/2] fix(examples): keep canonical setup at the E2E entrypoint Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> --- examples/loopx-turn-codex-cli-e2e-smoke.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/examples/loopx-turn-codex-cli-e2e-smoke.py b/examples/loopx-turn-codex-cli-e2e-smoke.py index f792c75ec3..d88318fc39 100755 --- a/examples/loopx-turn-codex-cli-e2e-smoke.py +++ b/examples/loopx-turn-codex-cli-e2e-smoke.py @@ -122,9 +122,6 @@ def _write_fixture(root: Path, *, turn_count: int) -> tuple[Path, Path, Path, Pa + "\n", encoding="utf-8", ) - initialize_canonical_source_fixture( - runtime, GOAL_ID, state_path=state, provider="sqlite", - ) return project, runtime, workspace, registry @@ -366,6 +363,12 @@ def main() -> int: root, turn_count=args.turn_count, ) + initialize_canonical_source_fixture( + runtime, + GOAL_ID, + state_path=project / ".codex" / "goals" / GOAL_ID / "ACTIVE_GOAL_STATE.md", + provider="sqlite", + ) if args.real_codex_cli: candidate = args.codex_bin or ( Path(found) if (found := shutil.which("codex")) else None