fix: make HoloLake stage relay strictly serial

This commit is contained in:
冰朔 2026-08-11 22:01:18 +08:00
commit c6c578e494
10 changed files with 85 additions and 45 deletions

View file

@ -14,6 +14,12 @@ test("stage relay is registered through the lighthouse and formal Codex tools",
assert.equal(relay.host_adapter.create_tool, "codex_app.create_thread");
assert.equal(relay.host_adapter.script_or_chat_may_claim_thread_created, false);
assert.equal(relay.idempotency.maximum_successor_threads_per_source_completion, 1);
assert.equal(relay.serial_invariants.maximum_runnable_development_lanes, 1);
assert.equal(relay.serial_invariants.precreate_successor_before_source_end, false);
assert.equal(relay.serial_invariants.future_task_queue_allowed, false);
assert.equal(relay.serial_invariants.independent_relay_supervisor_allowed, false);
assert.equal(relay.serial_invariants.source_end_transaction_creates_successor, true);
assert.equal(relay.serial_invariants.source_completion_stopped_after_successor_ready, true);
const lighthouse = readJson("routing/lighthouse-path-registry.json");
assert.ok(lighthouse.paths.some((entry) => entry.id === relay.map_id));
@ -21,6 +27,7 @@ test("stage relay is registered through the lighthouse and formal Codex tools",
const intent = hosts.intents.find((entry) => entry.id === "INTENT-HOLOLAKE-STAGE-RELAY-001");
assert.equal(intent.target_id, relay.map_id);
assert.equal(intent.executor, relay.runtime_source);
assert.ok(intent.sequence.includes("delete_source_heartbeat_mark_completion_stopped_and_end_source_thread"));
const anchor = readJson("routing/public-navigation-anchor.json");
assert.equal(anchor.maps.hololake_stage_relay.id, relay.map_id);
});